diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8acc52bac..d08d17237 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,18 +21,21 @@ ## String Localization -* [vscode-nls](https://github.com/microsoft/vscode-nls) is used to localize strings in TypeScript code. To use [vscode-nls](https://github.com/microsoft/vscode-nls), the source file must contain: +* VS Code's built-in [l10n](https://code.visualstudio.com/api/references/vscode-api#l10n) support is used to localize strings in TypeScript code. The English string itself is the key, so no separate setup or import is required beyond `vscode`: ```typescript -import * as nls from 'vscode-nls'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +import * as vscode from 'vscode'; +``` +* For each user-facing string, wrap the string in a call to `vscode.l10n.t`: +```typescript +const readmeMessage: string = vscode.l10n.t("Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues"); ``` -* For each user-facing string, wrap the string in a call to localize: +* The first parameter is the string to localize, and it must be a string literal. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters (these may be strings, numbers, or booleans). +* When a translator needs a hint about how to translate a string, use the object form, which takes a required `comment` and an optional `args` array: ```typescript -const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues"); +const message: string = vscode.l10n.t({ message: "Add '{0}'", args: [code], comment: ["{0} is C++ code to add, such as '#include '"] }); ``` -* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize(). +* At build time, [@vscode/l10n-dev](https://github.com/microsoft/vscode-l10n) scans the source for these calls and produces `./l10n/bundle.l10n.json` (and per-language `./l10n/bundle.l10n..json` files). The `"l10n": "./l10n"` field in [**package.json**](Extension/package.json) tells VS Code where to load them. VS Code loads the bundle for the active display language, so the strings are not read synchronously at extension startup. + ## Contributor License Agreement diff --git a/Extension/.gitignore b/Extension/.gitignore index 1965b6766..b3f6977cd 100644 --- a/Extension/.gitignore +++ b/Extension/.gitignore @@ -24,9 +24,10 @@ install.lock # ignore vscode test .vscode-test/ -# ignore generated localization file -**/nls.*.json +# ignore generated localization files **/*.nls.*.json +l10n/bundle.l10n.json +l10n/bundle.l10n.*.json # ignore generate native header localized_string_ids.h diff --git a/Extension/.scripts/common.ts b/Extension/.scripts/common.ts index c40e94398..72c8867bd 100644 --- a/Extension/.scripts/common.ts +++ b/Extension/.scripts/common.ts @@ -305,7 +305,7 @@ export async function checkPrep() { failing = !await assertAnyFolder('dist/walkthrough') && (quiet || warn(`The walkthrough files are not in place.`)) || failing; failing = !await assertAnyFolder('dist/html') && (quiet || warn(`The html files are not in place.`)) || failing; failing = !await assertAnyFolder('dist/schema') && (quiet || warn(`The schema files are not in place.`)) || failing; - failing = !await assertAnyFile('dist/nls.metadata.json') && (quiet || warn(`The extension translation file '${$root}/dist/nls.metadata.json is missing.`)) || failing; + failing = !await assertAnyFile('l10n/bundle.l10n.json') && (quiet || warn(`The extension localization bundle '${$root}/l10n/bundle.l10n.json' is missing.`)) || failing; failing = await checkDTS() || failing; if (!failing) { @@ -317,7 +317,7 @@ export async function checkPrep() { export async function checkCompiled() { let failing = false; failing = await checkDTS() || failing; - failing = !await assertAnyFile('dist/src/main.js') && (quiet || warn(`The extension entry point '${$root}/dist/src/main.js is missing.`)) || failing; + failing = !await assertAnyFile('dist/src/main.js') && (quiet || warn(`The extension entry point '${$root}/dist/src/main.js' is missing.`)) || failing; if (!failing) { verbose('Compiled files appear to be in place.'); @@ -327,8 +327,8 @@ export async function checkCompiled() { export async function checkDTS() { let failing = false; - failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing; - failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing; + failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts' is missing.`)) || failing; + failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts' is missing.`)) || failing; if (!failing) { verbose('VSCode d.ts files appear to be in place.'); diff --git a/Extension/.scripts/generateNativeStrings.ts b/Extension/.scripts/generateNativeStrings.ts index cb70d380d..b8129b3e0 100644 --- a/Extension/.scripts/generateNativeStrings.ts +++ b/Extension/.scripts/generateNativeStrings.ts @@ -47,23 +47,22 @@ export async function main() { } typeScriptSwitchContent += ` case ${stringIndex}:\n`; if (numArgs !== 0) { + const stringArgsList: string[] = []; + for (let i = 0; i < numArgs; i++) { + stringArgsList.push(`stringArgs[${i}]`); + } typeScriptSwitchContent += ` if (stringArgs) {\n`; if (hintValue) { - typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`; + typeScriptSwitchContent += ` message = l10n.t({ message: ${JSON.stringify(stringValue)}, args: [${stringArgsList.join(", ")}], comment: [${JSON.stringify(hintValue)}] });\n break;\n }\n`; } else { - typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`; + typeScriptSwitchContent += ` message = l10n.t(${JSON.stringify(stringValue)}, ${stringArgsList.join(", ")});\n break;\n }\n`; } - for (let i = 0; i < numArgs; i++) { - typeScriptSwitchContent += `, stringArgs[${i}]`; - } - typeScriptSwitchContent += `);\n break;\n }\n`; } if (hintValue) { - typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`; + typeScriptSwitchContent += ` message = l10n.t({ message: ${JSON.stringify(stringValue)}, comment: [${JSON.stringify(hintValue)}] });\n break;\n`; } else { - typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`; + typeScriptSwitchContent += ` message = l10n.t(${JSON.stringify(stringValue)});\n break;\n`; } - typeScriptSwitchContent += `);\n break;\n`; } ++stringIndex; } @@ -81,10 +80,7 @@ export async function main() { 'use strict'; -import * as nls from 'vscode-nls'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +import { l10n } from 'vscode'; export const localizedStringCount: number = ${stringIndex}; diff --git a/Extension/gulpfile.js b/Extension/gulpfile.js index 87a05dd09..840697bcc 100644 --- a/Extension/gulpfile.js +++ b/Extension/gulpfile.js @@ -8,15 +8,11 @@ const gulp = require('gulp'); const fs = require('fs'); -const nls = require('vscode-nls-dev'); +const { getL10nJson, getL10nXlf, getL10nFilesFromXlf } = require('@vscode/l10n-dev'); +const fastGlob = require('fast-glob'); const path = require('path'); const minimist = require('minimist'); const es = require('event-stream'); -const sourcemaps = require('gulp-sourcemaps'); -const ts = require('gulp-typescript'); -const typescript = require('typescript'); -const tsProject = ts.createProject('./tsconfig.json', { typescript }); -const filter = require('gulp-filter'); const vinyl = require('vinyl'); const parse5 = require('parse5'); const traverse = require('parse5-traverse'); @@ -123,47 +119,6 @@ const traverseHtml = (contents, nodeCallback, attributeCallback, isFragment) => return htmlTree; }; -// Traverses the HTML document looking for node and attributes containing data-loc-id, to localize -// Outputs *.nls.json files containing strings to localize. -const processHtmlFiles = () => { - return es.through(function (file) { - let localizationJsonContents = {}; - let localizationMetadataContents = { - messages: [], - keys: [], - filePath: removePathPrefix(file.path, file.cwd) - }; - let nodeCallback = (locId, locHint, node) => { - let subNodeCount = 0; - let text = ""; - node.childNodes.forEach((childNode) => { - if (childNode.nodeName == "#text") { - text += childNode.value; - } else { - text += `{${subNodeCount++}}`; - } - }); - localizationJsonContents[locId] = text; - localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId); - localizationMetadataContents.messages.push(text); - }; - let attributeCallback = (locId, locHint, attribute) => { - localizationJsonContents[locId] = attribute.value; - localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId); - localizationMetadataContents.messages.push(attribute.value); - }; - traverseHtml(file.contents.toString(), nodeCallback, attributeCallback, false); - this.queue(new vinyl({ - path: path.join(file.path + '.nls.json'), - contents: Buffer.from(JSON.stringify(localizationJsonContents, null, '\t'), 'utf8') - })); - this.queue(new vinyl({ - path: path.join(file.path + '.nls.metadata.json'), - contents: Buffer.from(JSON.stringify(localizationMetadataContents, null, '\t'), 'utf8') - })); - }); -}; - // descriptionCallback(path, value, parent) is invoked for attributes const traverseJson = (jsonTree, descriptionCallback, prefixPath) => { for (let fieldName in jsonTree) { @@ -181,74 +136,107 @@ const traverseJson = (jsonTree, descriptionCallback, prefixPath) => { } }; -// Traverses schema json files looking for "description" fields to localized. -// The path to the "description" field is used to create a localization key. -const processJsonSchemaFiles = () => { - return es.through(function (file) { - let jsonTree = JSON.parse(file.contents.toString()); - let localizationJsonContents = {}; - let filePath = removePathPrefix(file.path, file.cwd); - let localizationMetadataContents = { - messages: [], - keys: [], - filePath: filePath +// **************************** +// @vscode/l10n-dev helpers +// +// Localization is built around VS Code's l10n support (vscode.l10n.t at runtime and the +// "l10n" field in package.json). The helpers below collect the English strings from each +// source kind into the @vscode/l10n-dev "l10n JSON" format ({ key: string | { message, comment } }). +// The XLF round-trip (translations-export / translations-import) targets the same Microsoft +// localization (MLCP) pipeline that vscode-nls-dev previously fed. +// **************************** + +// Collect TS source strings (vscode.l10n.t call sites) as a single l10n JSON object. +const collectSourceL10n = async () => { + const files = await fastGlob('src/**/*.ts', { cwd: __dirname }); + const fileContents = files.map((relativePath) => ({ + extension: '.ts', + contents: fs.readFileSync(path.join(__dirname, relativePath)).toString() + })); + return getL10nJson(fileContents); +}; + +// Collect HTML strings (data-loc-id attributes) as one l10n JSON section per file. +// Returns [{ name, contents }] where name is the relative file path (used as the XLF unit name). +const collectHtmlL10n = () => { + const results = []; + const files = fastGlob.sync([...htmlFilesPatterns, ...walkthroughHtmlFilesPatterns], { cwd: __dirname }); + for (const relativePath of files) { + const fileContents = fs.readFileSync(path.join(__dirname, relativePath)).toString(); + const contents = {}; + const nodeCallback = (locId, locHint, node) => { + let subNodeCount = 0; + let text = ""; + node.childNodes.forEach((childNode) => { + if (childNode.nodeName == "#text") { + text += childNode.value; + } else { + text += `{${subNodeCount++}}`; + } + }); + contents[locId] = locHint ? { message: text, comment: [locHint] } : text; }; - let descriptionCallback = (path, value, parent) => { - let locId = filePath + "." + path; - let locHint = parent.descriptionHint; - localizationJsonContents[locId] = value; - localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId); - localizationMetadataContents.messages.push(value); + const attributeCallback = (locId, locHint, attribute) => { + contents[locId] = locHint ? { message: attribute.value, comment: [locHint] } : attribute.value; }; - traverseJson(jsonTree, descriptionCallback, ""); - this.queue(new vinyl({ - path: path.join(file.path + '.nls.json'), - contents: Buffer.from(JSON.stringify(localizationJsonContents, null, '\t'), 'utf8') - })); - this.queue(new vinyl({ - path: path.join(file.path + '.nls.metadata.json'), - contents: Buffer.from(JSON.stringify(localizationMetadataContents, null, '\t'), 'utf8') - })); - }); + traverseHtml(fileContents, nodeCallback, attributeCallback, false); + if (Object.keys(contents).length > 0) { + results.push({ name: relativePath.replace(/\\/g, '/'), contents }); + } + } + return results; }; -gulp.task("translations-export", (done) => { - - // Transpile the TS to JS, and let vscode-nls-dev scan the files for calls to localize. - let jsStream = tsProject.src() - .pipe(sourcemaps.init()) - .pipe(tsProject()).js - .pipe(nls.createMetaDataFiles()); - - // Scan html files for tags with the data-loc-id attribute - let htmlStream = gulp.src([...htmlFilesPatterns, ...walkthroughHtmlFilesPatterns]) - .pipe(processHtmlFiles()); - - let jsonSchemaStream = gulp.src(jsonSchemaFilesPatterns) - .pipe(processJsonSchemaFiles()); - - // Merge files from all source streams - es.merge(jsStream, htmlStream, jsonSchemaStream) - - // Filter down to only the files we need - .pipe(filter(['**/*.nls.json', '**/*.nls.metadata.json'])) - - // Consoldate them into nls.metadata.json, which the xlf is built from. - .pipe(nls.bundleMetaDataFiles('ms-vscode.cpptools', '.')) +// Collect JSON schema description strings as one l10n JSON section per file. +const collectJsonSchemaL10n = () => { + const results = []; + const files = fastGlob.sync(jsonSchemaFilesPatterns, { cwd: __dirname }); + for (const relativePath of files) { + const jsonTree = JSON.parse(fs.readFileSync(path.join(__dirname, relativePath)).toString()); + const filePath = relativePath.replace(/\\/g, '/'); + const contents = {}; + const descriptionCallback = (descPath, value, parent) => { + const locId = filePath + "." + descPath; + contents[locId] = parent.descriptionHint ? { message: value, comment: [parent.descriptionHint] } : value; + }; + traverseJson(jsonTree, descriptionCallback, ""); + if (Object.keys(contents).length > 0) { + results.push({ name: filePath, contents }); + } + } + return results; +}; - // filter down to just the resulting metadata files - .pipe(filter(['**/nls.metadata.header.json', '**/nls.metadata.json'])) +// Maps an imported XLF unit name back to the i18n file it should be written to. +const importedSectionToI18nPath = (folderName, name) => { + if (name === 'bundle') { + return path.join('i18n', folderName, 'bundle.l10n.json'); + } + if (name === 'package') { + return path.join('i18n', folderName, 'package.i18n.json'); + } + // HTML / JSON schema sections are keyed by their relative source path. + return path.join('i18n', folderName, name + '.i18n.json'); +}; - // Add package.nls.json, used to localized package.json - .pipe(gulp.src(["package.nls.json"])) +gulp.task("translations-export", async () => { + // Build a single XLF containing every English string: TS source, package.json, HTML, and JSON schema. + const l10nContents = new Map(); + l10nContents.set('bundle', await collectSourceL10n()); + l10nContents.set('package', JSON.parse(fs.readFileSync(path.join(__dirname, 'package.nls.json')).toString())); + for (const { name, contents } of collectHtmlL10n()) { + l10nContents.set(name, contents); + } + for (const { name, contents } of collectJsonSchemaL10n()) { + l10nContents.set(name, contents); + } - // package.nls.json and nls.metadata.json are used to generate the xlf file - // Does not re-queue any files to the stream. Outputs only the XLF file - .pipe(nls.createXlfFiles(translationProjectName, translationExtensionName)) - .pipe(gulp.dest(path.join("..", `${translationProjectName}-localization-export`))) - .pipe(es.wait(() => { - done(); - })); + const xlf = getL10nXlf(l10nContents); + // Match the layout the loc handoff/upload path expects (and that translations-import reads back): + // ../vscode-extensions-localization-export//.xlf + const exportDir = path.join(__dirname, "..", `${translationProjectName}-localization-export`, translationProjectName); + fs.mkdirSync(exportDir, { recursive: true }); + fs.writeFileSync(path.join(exportDir, `${translationExtensionName}.xlf`), xlf); }); @@ -259,23 +247,27 @@ gulp.task("translations-export", (done) => { // **************************** // Imports translations from raw localized MLCP strings to VS Code .i18n.json files -gulp.task("translations-import", (done) => { - let options = minimist(process.argv.slice(2), { +gulp.task("translations-import", async () => { + const options = minimist(process.argv.slice(2), { string: "location", default: { location: "../vscode-translations-import" } }); - es.merge(languages.map((language) => { - let id = language.transifexId || language.id; - return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`)) - .pipe(nls.prepareJsonFiles()) - .pipe(gulp.dest(path.join("./i18n", language.folderName))) - .pipe(es.wait()); // This is required or it gives `this.pipeTo.end is not a function`. - })) - .pipe(es.wait(() => { - done(); - })); + for (const language of languages) { + const id = language.transifexId || language.id; + const xlfPath = path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`); + if (!fs.existsSync(xlfPath)) { + continue; + } + const importedFiles = await getL10nFilesFromXlf(fs.readFileSync(xlfPath).toString()); + for (const importedFile of importedFiles) { + // importedFile.name is the XLF unit name we assigned during export. + const outputPath = path.join(__dirname, importedSectionToI18nPath(language.folderName, importedFile.name)); + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + fs.writeFileSync(outputPath, JSON.stringify(importedFile.messages, null, '\t')); + } + } }); // **************************** @@ -285,25 +277,37 @@ gulp.task("translations-import", (done) => { // Generate package.nls.*.json files from: ./i18n/*/package.i18n.json // Outputs to root path, as these nls files need to be along side package.json -const generateAdditionalLocFiles = () => { - return gulp.src(['package.nls.json']) - .pipe(nls.createAdditionalLanguageFiles(languages, 'i18n')) - .pipe(gulp.dest('.')); +const generateAdditionalLocFiles = async () => { + const englishPackage = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.nls.json')).toString()); + for (const language of languages) { + const i18nPackage = path.join(__dirname, 'i18n', language.folderName, 'package.i18n.json'); + if (!fs.existsSync(i18nPackage)) { + continue; + } + const translated = jsonc.parse(fs.readFileSync(i18nPackage).toString()); + // Start from the English strings so any untranslated keys fall back to English. + const merged = { ...englishPackage, ...translated }; + fs.writeFileSync(path.join(__dirname, `package.nls.${language.id}.json`), JSON.stringify(merged, null, '\t')); + } }; -// Generates ./dist/nls.bundle..json from files in ./i18n/** *///.i18n.json -// Localized strings are read from these files at runtime. -const generateSrcLocBundle = () => { - // Transpile the TS to JS, and let vscode-nls-dev scan the files for calls to localize. - return tsProject.src() - .pipe(sourcemaps.init()) - .pipe(tsProject()).js - .pipe(nls.createMetaDataFiles()) - .pipe(nls.createAdditionalLanguageFiles(languages, "i18n")) - .pipe(nls.bundleMetaDataFiles('ms-vscode.cpptools', 'dist')) - .pipe(nls.bundleLanguageFiles()) - .pipe(filter(['**/nls.bundle.*.json', '**/nls.metadata.header.json', '**/nls.metadata.json'])) - .pipe(gulp.dest('dist')); +// Generates ./l10n/bundle.l10n.json (English) and ./l10n/bundle.l10n..json. +// VS Code loads these at runtime based on the "l10n" field in package.json. +const generateSrcLocBundle = async () => { + const l10nDir = path.join(__dirname, 'l10n'); + fs.mkdirSync(l10nDir, { recursive: true }); + + // English bundle, extracted from the vscode.l10n.t call sites. + const englishBundle = await collectSourceL10n(); + fs.writeFileSync(path.join(l10nDir, 'bundle.l10n.json'), JSON.stringify(englishBundle, null, '\t')); + + // Per-language bundles, copied from the translated bundles produced by translations-import. + for (const language of languages) { + const translatedBundle = path.join(__dirname, 'i18n', language.folderName, 'bundle.l10n.json'); + if (fs.existsSync(translatedBundle)) { + fs.copyFileSync(translatedBundle, path.join(l10nDir, `bundle.l10n.${language.id}.json`)); + } + } }; const generateLocalizedHtmlFilesImpl = (file, relativePath, language, isFragment) => { diff --git a/Extension/i18n/chs/bundle.l10n.json b/Extension/i18n/chs/bundle.l10n.json new file mode 100644 index 000000000..67ee5d156 --- /dev/null +++ b/Extension/i18n/chs/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "未能分析 json 文件,可能是因注释或尾部逗号所致。", + "The C/C++ extension is still installing. See the output window for more information.": "C/C++ 扩展仍在安装。请查看输出窗口获取详细信息。", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "请参阅 {0} 了解疑难解答信息。可在 {1} 处创建问题", + "Process exited with code {0}": "已退出进程,代码为 {0}", + "Process executed successfully.": "已成功执行进程。", + "Killing process {0}": "正在终止进程 {0}", + "Warning: Expected file {0} is missing.": "警告: 缺少预期的文件 {0}。", + "Warning: Debugging has not been tested for this platform.": "警告: 尚未为此平台测试调试。", + "Reload the workspace for the settings change to take effect.": "重新加载工作区以使设置更改生效。", + "Reload": "重新加载", + "Custom configuration provider '{0}' registered": "已注册自定义配置提供程序“{0}”", + "Reached max string expansion recursion. Possible circular reference.": "已达到最大字符串扩展递归。可能存在循环引用。", + "Invalid variable reference {0} in string: {1}.": "字符串: {1} 中的变量引用 {0} 无效。", + "Environment variable {0} not found": "找不到环境变量 {0}", + "Commands are not supported for string: {0}.": "字符串: {0} 不支持命令。", + "Exception while executing command {0} for string: {1} {2}.": "执行字符串: {1} {2} 的命令 {0} 时出现异常。", + "C/C++ Diagnostics": "C/C++ 诊断", + "C/C++ Crash Call Stacks": "C/C++ 故障调用堆栈", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "C/C++ 扩展进程已崩溃。崩溃进程名称、日期/时间、信号和调用堆栈如下 - 将它包含在 {0} 处的 bug 报告中会很有帮助。", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "C/C++ 调试协议", + "C/C++ Configuration Warnings": "C/C++ 配置警告", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "C/C++ 扩展的版本比 {0} 更新的版本至少需要 macOS 版本 {1}。", + "intelliSenseEngine is disabled": "已禁用 intelliSenseEngine", + "More Info": "详细信息", + "Ignore": "忽略", + "The C/C++ extension installed does not match your system.": "已安装的 C/C++ 扩展与系统不匹配。", + "The C/C++ extension installed is compatible with but does not match your system.": "已安装的 C/C++ 扩展与系统兼容,但与系统不匹配。", + "Searching include path...": "正在搜索包含路径...", + "Include file not found in browse.path.": "在 browse.path 中未找到包含文件。", + "Edit \"browse.path\" setting": "编辑 \"browse.path\" 设置", + "Add to \"includePath\": {0}": "添加到 \"includePath\": {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "添加“{0}”", + "Edit \"includePath\" setting": "编辑 \"includePath\" 设置", + "Disable error squiggles": "禁用错误波形曲线", + "Enable all error squiggles": "启用所有错误波形曲线", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "检测到 #include 错误。请更新 includePath。已为此翻译单元({0})禁用波形曲线。", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "检测到 #include 错误。请更新 includePath。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "检测到 #include 错误。请考虑更新 compile_commands.json 或 includePath。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "无法分析“{0}”。将改用来自文件夹“{1}”中的 c_cpp_properties.json 的 \"includePath\"。", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "找不到“{0}”。将改用文件夹“{1}”中来自 c_cpp_properties.json 的 \"includePath\"。", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "在“{1}”中未找到“{0}”。此文件将改用文件夹“{2}”中来自 c_cpp_properties.json 的 \"includePath\"。", + "The IntelliSense database was successfully reset.": "已成功重置 IntelliSense 数据库。", + "Failed to send response to client: {0}": "未能将响应发送到客户端: {0}", + "Failed to read response from server: {0}": "未能从服务器读取响应: {0}", + "Failed to send request to server: {0}": "未能将请求发送到服务器: {0}", + "Unexpected error while waiting for requests: {0}": "等待请求时出现意外错误: {0}", + "{0} errored with: {1}": "{0} 出错: {1}", + "Failed to open the file {0}": "未能打开文件 {0}", + "Failed to query default include paths and defines for {0}.": "未能查询 {0} 的默认包含路径和定义。", + "Failed calling {0}": "未能调用 {0}", + "Quick info operation failed: {0}": "快速信息操作失败: {0}", + "Failed to create IntelliSense client: {0}": "未能创建 IntelliSense 客户端: {0}", + "Failed to spawn IntelliSense process: {0}": "未能生成 IntelliSense 进程: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "调用 browse_engine_update_thread.join() 时出错: {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "此文件({0})已在编辑器中打开,但大小写不同。将对此文件的副本禁用 IntelliSense 功能。", + "IntelliSense client has disconnected from the server - {0}": "IntelliSense 客户端已与服务器断开连接 - {0}", + "Formatting failed:": "格式化失败:", + "Unable to add file to database, error = {0}: {1}": "无法将文件添加到数据库,错误 = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "未能在中止期间重置时间戳,错误 = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "无法更新时间戳,错误 = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "无法完成文件的更新,错误 = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} 不是目录(st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "无法检索 {0} 的文件系统信息。错误 = {1}", + "{0} is not a directory": "{0} 不是目录", + "File discovery was aborted": "已中止文件发现", + "Aborting tag parse of {0} and dependencies": "正在中止 {0} 和依赖项的标记分析", + "Aborting tag parse at root": "正在终止根位置的标记分析", + "Unable to retrieve DB records to reset timestamps: error = {0}": "无法检索数据库记录以重置时间戳: 错误 = {0}", + "Failed to reset timestamp for {0}: error = {1}": "未能为 {0} 重置时间戳: 错误 = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "未找到合适的编译器。请在 c_cpp_properties.json 中设置 \"compilerPath\"。", + "Compiler include path not found: {0}": "未找到编译器包含路径: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "IntelliSense 引擎未响应。改为使用标记分析器。", + "Tag Parser will be used for IntelliSense operations in: {0}": "标记分析器将用于以下项中的 IntelliSense 操作: {0}", + "Error squiggles will be disabled in: {0}": "将在以下项中禁用错误波形曲线: {0}", + "Processing folder (non-recursive): {0}": "正在处理文件夹(非递归): {0}", + "Processing folder (recursive): {0}": "正在处理文件夹(递归): {0}", + "File exclude: {0}": "文件排除: {0}", + "Search exclude: {0}": "搜索排除: {0}", + "Discovering files: {0} file(s) processed": "正在发现文件: 已处理 {0} 个文件", + "{0} file(s) removed from database": "已从数据库中删除 {0} 个文件", + "Parsing: {0} files(s) processed": "正在分析: 已处理 {0} 个文件", + "Shutting down IntelliSense server: {0}": "正在关闭 IntelliSense 服务器: {0}", + "Resetting IntelliSense server: {0}": "正在重置 IntelliSense 服务器: {0}", + "Code browsing service initialized": "已初始化代码浏览服务", + "Folder: {0} will be indexed": "文件夹 {0} 将编入索引", + "Populate include completion cache.": "填充包含完成缓存。", + "Discovering files...": "正在发现文件...", + "Done discovering files.": "“发现文件”操作已完成。", + "Parsing open files...": "正在分析打开的文件...", + "Done parsing open files.": "“分析打开的文件”操作已完成。", + "Parsing remaining files...": "正在分析剩余的文件...", + "Done parsing remaining files.": "“分析剩余文件”操作已完成。", + "Using configuration: \"{0}\"": "使用配置:“{0}”", + "{0} include path suggestion(s) discovered.": "已发现 {0} 个包含路径建议。", + "Checking for syntax errors: {0}": "正在检查语法错误: {0}", + "IntelliSense Engine = {0}.": "IntelliSense 引擎 = {0}。", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "当 #includes 不解析时,扩展将为 IntelliSense 使用标记分析器。", + "Autocomplete is enabled.": "已启用自动完成。", + "Autocomplete is disabled.": "已禁用自动完成。", + "Hover is enabled.": "悬停已启用。", + "Hover is disabled.": "悬停已禁用。", + "Enhanced Colorization is enabled.": "已启用增强的着色。", + "Error squiggles are disabled.": "已禁用错误波形曲线。", + "Error squiggles are enabled.": "已启用错误波形曲线。", + "Error squiggles are enabled if all header dependencies are resolved.": "如果已解决所有标头依赖项,则启用错误波形曲线。", + "Replaced placeholder file record": "已替换占位符文件记录", + "tag parsing file: {0}": "标记分析文件: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "标记分析错误(除非找不到符号,否则可以忽略此错误):", + "Reset time stamp for {0}": "重置 {0} 的时间戳", + "Failed to remove file: {0}": "未能删除文件: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Regex 分析错误 - vscode 模式: {0},regex: {1},错误消息: {2}", + "terminating child process: {0}": "正在终止子进程: {0}", + "still alive, killing...": "仍处于活动状态,正在中止...", + "giving up": "放弃", + "not exited yet. Will sleep for {0} milliseconds and try again.": "尚未退出。将休眠 {0} 毫秒,然后重试。", + "Failed to spawn process. Error: {0} ({1})": "未能生成进程。错误: {0}({1})", + "Offering completion": "提供完成", + "Attempting to get defaults from compiler found on the machine: '{0}'": "正在尝试从计算机上找到的编译器获取默认值:“{0}”", + "Unable to resolve include path: {0}": "无法解析包含路径: {0}", + "Error searching for IntelliSense client: {0}": "搜索 IntelliSense 客户端时出错: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "IntelliSense 客户端不可用,请使用标记分析器获取快速信息。", + "using Tag Parser for quick info": "使用标记分析器获取快速信息", + "Closing the communication channel.": "正在关闭通信信道。", + "sending compilation args for {0}": "正在为 {0} 发送编译参数", + "include: {0}": "包括: {0}", + "framework: {0}": "框架: {0}", + "define: {0}": "定义: {0}", + "preinclude: {0}": "预包含: {0}", + "other: {0}": "其他: {0}", + "sending {0} changes to server": "正在向服务器发送 {0} 项更改", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "打开的文件实例无效。忽略文件 {0} 的 IntelliSense 消息。", + "idle loop: reparsing the active document": "空闲环路: 重新分析活动文档", + "IntelliSense client is currently disconnected": "IntelliSense 客户端当前已断开连接", + "Request canceled: {0}": "已取消请求: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "IntelliSense 客户端不可用,请使用标记分析器转到定义。", + "Error squiggle count: {0}": "错误波形曲线计数: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "正在为以下项的翻译单元中文件的 IntelliSense 更新进行排队: {0}", + "Formatting document: {0}": "正在格式化文档: {0}", + "Formatting input:": "正在格式化输入:", + "Formatting raw output:": "正在格式化原始输出:", + "Formatting diffed output before cursor:": "正在格式化游标前执行了 dif 操作的输出:", + "Formatting diffed output after cursor:": "正在格式化游标后执行了 dif 操作的输出:", + "Formatting diffed output:": "正在格式化执行了 dif 操作的输出:", + "Disable inactive region colorization": "禁用非活动区域着色", + "Error limit exceeded, {0} error(s) not reported.": "已超出错误限额,{0} 个错误未报告。", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "检测到 #include 错误。请考虑更新 compile_commands.json 或 includePath。已为此翻译单元({0})禁用波形曲线。", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "无法重置 IntelliSense 数据库。若要手动重置,请关闭所有 VS Code 实例,然后删除此文件: {0}", + "Formatting failed. See the output window for details.": "格式化失败。请查看输出窗口获取详细信息。", + "Populating include completion cache.": "正在填充包含完成缓存。", + "Discovering files: {0}": "正在发现文件: {0}", + "Parsing open files": "正在分析打开的文件", + "Tag parser initializing": "标记分析器正在初始化", + "Workspace parsing paused": "已暂停工作区分析", + "Parsing workspace files: {0}": "正在分析工作区文件: {0}", + "Discovering files: {0} / {1} ({2}%)": "正在发现文件: {0}/{1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "正在分析工作区文件: {0} / {1} ({2}%)", + "Can't find or run process_name": "找不到或无法运行 process_name", + "Child exec failed {0}": "子 exec 失败 {0}", + "Could not communicate with child process!": "无法与子进程通信!", + "{0} failed": "{0} 个操作失败", + "Failed to set {0} flag": "未能设置 {0} 标志", + "Unable to create {0}!": "无法创建 {0}!", + "Failed to set stdin {0} flag": "未能设置 stdin {0} 标志", + "Failed to set stdout {0} flag": "未能设置 stdout {0} 标记", + "Failed to set stderr {0} flag": "未能设置 stderr {0} 标志", + "Unable to start child process!": "无法启动子进程!", + "Timed out attempting to communicate with process!": "尝试与进程通信时超时!", + "Process has failed to run": "进程未能运行", + "Specified compiler was not found: {0}": "未找到指定的编译器: {0}", + "Config data invalid, {0}": "配置数据无效,{0}", + "CMake executable not found at {0}": "在 {0} 找不到 CMake 可执行文件", + "No args provider": "无参数提供程序", + "Invalid file path {0}": "文件路径 {0} 无效", + "Can't create IntelliSense client for {0}": "无法为 {0} 创建 IntelliSense 客户端", + "declaration": "声明", + "type alias": "类型别名", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "编译器不支持 64 位。正在回退到 32 位 intelliSenseMode。", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "编译器不支持 32 位。正在回退到 64 位 intelliSenseMode。", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "未能查询编译器。正在回退到 32 位 intelliSenseMode。", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "未能查询编译器。正在回退到 64 位 intelliSenseMode。", + "Failed to query compiler. Falling back to no bitness.": "未能查询编译器。正在回退到无位数。", + "IntelliSense client creation aborted: {0}": "已中止创建 IntelliSense 客户端: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "基于 configurationProvider 设置提供的信息检测到 #include 错误。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "基于 configurationProvider 设置提供的信息检测到 #include 错误。已针对此翻译单元({0})禁用波形曲线。", + "preprocessor keyword/Refers to C/C++ processor keywords": "预处理器关键字", + "C keyword": "C 关键字", + "C++ keyword": "C++ 关键字", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "还有 1 个重载", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "还有 %d 个重载", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "还有 1 个专业化", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "还有 %d 个专业化", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "注意: 未完全配置 IntelliSense。使用“选择 IntelliSense 配置”命令完成配置。", + "Select an IntelliSense configuration to locate system headers": "选择 IntelliSense 配置以查找系统标头", + "Expands to:": "扩展到:", + "Attention:": "注意:", + "Author:": "作者:", + "Authors:": "作者:", + "Bug:": "Bug:", + "Copyright:": "版权所有:", + "Deprecated:": "已弃用:", + "Date:": "日期:", + "Details:": "详细信息:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "异常:", + "Invariant:": "不变量:", + "File:": "文件:", + "Note:": "备注:", + "Parameters:": "参数:", + "Precondition:": "前置条件:", + "Postcondition:": "后置条件:", + "Remark:": "注解:", + "Remarks:": "注解:", + "Result:": "结果:", + "Return:": "返回:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "返回:", + "See also:": "另请参阅:", + "Since:": "开始日期:", + "Template Parameters:": "模板参数:", + "Test:": "测试:", + "TODO:": "TODO:", + "Version:": "版本:", + "Warning:": "警告:", + "Compiler query command line: {0}": "编译器查询命令行: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "正在尝试从 \"compilerPath\" 属性中的 C 编译器获取默认值:“{0}”", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "正在尝试从 \"compilerPath\" 属性中的 C++ 编译器获取默认值:“{0}”", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "正在尝试从 compile_commands.json 文件中的 C 编译器获取默认值:“{0}”", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "正在尝试从 compile_commands.json 文件中的 C++ 编译器获取默认值:“{0}”", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”。", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”。", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "对于 C 源文件,cStandard 已从“{0}”更改为“{1}”。", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "对于 C++ 源文件,cppStandard 已从“{0}”更改为“{1}”。", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cStandard 已从“{2}”更改为“{3}”。", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cppStandard 已从“{2}”更改为“{3}”。", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "对于 C 源文件,IntelliSenseMode 已根据编译器参数和查询 compilerPath 从“{0}”更改为“{1}”:“{2}”", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "对于 C++ 源文件,IntelliSenseMode 已根据编译器参数和查询 compilerPath 从“{0}”更改为“{1}”:“{2}”", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "对于 C 源文件,cStandard 已根据编译器参数和查询 compilerPath 从“{0}”更改为“{1}”:“{2}”", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "对于 C++ 源文件,cppStandard 已根据编译器参数和查询 compilerPath 从“{0}”更改为“{1}”:“{2}”", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cStandard 已根据编译器参数和查询 compilerPath 从“{2}”更改为“{3}”:“{4}”", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cppStandard 已根据编译器参数和查询 compilerPath 从“{2}”更改为“{3}”:“{4}”", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "无法使用 compilerPath“{0}”解析配置。 请改用“{1}”。", + "Unable to resolve configuration with compilerPath: \"{0}\"": "无法使用 compilerPath 解析配置:“{0}”", + "Skipping query of compiler due to explicitly empty compilerPath": "由于 compilerPath 明确为空,因此正在跳过对编译器的查询", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "已指定 MSVC intelliSenseMode。正在针对编译器 cl.exe 进行配置。", + "Unable to configure for compiler cl.exe.": "无法针对编译器 cl.exe 进行配置。", + "Querying compiler's default target using command line: \"{0}\" {1}": "正在使用命令行查询编译器的目标:“{0}”{1}", + "Compiler returned default target value: {0}": "编译器返回的默认目标值: {0}", + "Querying compiler for default C language standard using command line: {0}": "正在使用命令行查询默认 C 语言标准的编译器: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "正在使用命令行查询默认 C++ 语言标准的编译器: {0}", + "Detected language standard version: {0}": "检测到的语言标准版本: {0}", + "Unhandled default compiler target value detected: {0}": "检测到未处理的默认编译器目标值: {0}", + "Unhandled target argument value detected: {0}": "检测到未处理的目标参数值: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "正在关闭 IntelliSense 服务器: {0}。内存使用量为 {1} MB,已超过 {2} MB 的限制。", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "未能在路径 \"{0}\" 处查询编译器以获得默认标准版本。已对此编译器禁用编译器查询。", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "编译器查询返回了无法识别的语言标准版本。将改用受支持的最新版本。", + "IntelliSense process crash detected.": "检测到 IntelliSense 进程崩溃。", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "检测到 IntelliSense 进程崩溃: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "返回值:", + "Unable to locate nvcc compiler: {0}": "找不到 nvcc 编译器: {0}", + "Unable to locate nvcc host compiler: {0}": "找不到 nvcc 主机编译器: {0}", + "Invoking nvcc with command line: {0}": "正在使用命令行调用 nvcc: {0}", + "Unable to find host compile command in output of nvcc.": "在 nvcc 的输出中找不到主机编译命令。", + "Unable to locate forced include: {0}": "找不到 forced include: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "内联宏", + "Unable to access browse database. ({0})": "无法访问浏览数据库。({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode 已更改,因为它与检测到的编译器不匹配。请考虑改为设置 \"compilerPath\"。将 \"compilerPath\" 设为 \"\" 以禁用系统包含和定义的检测。", + "Remove all code analysis problems": "删除所有代码分析问题", + "(Multiple locations)": "(多个位置)", + "Folder": "文件夹", + "File": "文件", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "编译器返回默认语言标准版本:{0}。由于此版本是旧版本,因此将尝试使用较新版本 {1} 作为默认版本。", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "来自 clang-tidy 的意外输出:{0}。应为:{1}。", + "Generate Doxygen comment": "生成 Doxygen 注释", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "在 {1} 中创建“{0}”声明", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "在 {1} 中创建“{0}”定义", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "找不到“{0}”的函数定义。", + "Attributes/'Attributes' is a C++ specifier.": "属性", + "Bases/'Bases' are a C++ class type.": "基项", + "Classes": "类", + "CoClasses": "组件类", + "Delegates": "委托", + "Enums": "枚举", + "Events": "活动", + "Functions": "函数", + "Import directives": "Import 指令", + "ImportLib statements": "ImportLib 语句", + "Import statements": "导入语句", + "Include directives": "Include 指令", + "Interfaces": "接口", + "Libraries": "库", + "Macros": "宏", + "Maps": "地图", + "Map entries": "映射项", + "Miscellaneous": "杂项", + "Namespaces": "命名空间", + "Parameters": "参数", + "Properties": "属性", + "Structs": "结构", + "TODO: insert return statement here": "TODO: 在此处插入 return 语句", + "Typedefs": "Typedef", + "Unions": "联合", + "Using aliases": "Using 别名", + "Using directives": "Using 指令", + "Variables": "变量", + "Automatic add function": "自动添加函数", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "在与 vsCMFunctionComMethod 一起使用时,vsCMFunctionVirtual 是多余的,并且不可指定。", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod 不能是静态的。", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "无效的 C/C++ 文件: \"%s\"。", + "File name too long: '%s'./%s is the file that has a long name.": "文件名太长: \"%s\"。", + "Cannot create file '%s'./%s is the file that could not be created.": "无法创建文件 \"%s\"。", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "无法访问目录或文件 \"%s\" 以进行写入。", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "文件路径 \"%s\" 无效。", + "File '%s' was not found./%s is the file that was not found.": "找不到文件“%s”。", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "创建声明/定义失败: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "无法创建函数 \"%s\" 。不支持创建默认函数或已删除的函数。", + "Unable to create function '%s'./%s is the function that could not be created.": "无法创建函数'%s'。", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "无法找到函数“%s”的明确位置。", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "找不到类或命名空间'%s'。", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "此操作不支持“%s”。", + "Unknown error.": "未知错误。", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "请运行“选择 IntelliSense 配置...”命令以定位系统标头。", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "复制 '{0}' 的声明", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "复制 '{0}' 的定义", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "将声明/定义复制到剪贴板失败: %s", + "Extract to function": "提取到函数", + "Extract to free function": "提取到自由函数", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "提取到“{0}”中的成员函数", + "The selected text is not inside a function.": "所选文本不在函数内。", + "The selected text cannot span different functions.": "所选文本不能跨越不同的函数。", + "Variable '%s' is declared in the selected region and then used below it.": "变量\"%s\"在选中区域中声明,然后在它下方使用。", + "Preprocessor macro '%s' is used below the selected region.": "预处理器宏“%s”在所选区域的下方使用。", + "The selected region spans an inactive preprocessor block.": "所选的区域跨越不活动的预处理程序块。", + "The selected region does not contain any code that can be extracted.": "所选的区域不包含任何可以被提取的代码。", + "The selected region is not entirely within the function's body.": "所选区域不完全在函数的主体内。", + "The selection contains IntelliSense errors.": "所选内容包含 IntelliSense 错误。", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "“%s”未在所选代码内声明,但正在被修改。C 代码不能通过引用传递参数。", + "The function would have to return a value by reference. C code cannot return references.": "函数必须通过引用返回一个值。C 代码不能返回引用。", + "Jumps between the selected code and the surrounding code are present.": "所选代码和外层代码之间的存在跳跃。", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "在所选代码中,一些控制路径退出而没有设置返回值。这只受标量、数字、和指针返回类型支持。", + "Expand selection (to enable 'Extract to function')": "展开选择(以启用“提取到函数”)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "在 compile_commands.json 文件中找不到 \"{0}\"。此文件将改用文件夹“{1}”中的 c_cpp_properties.json 中包含的 \"includePath\"。", + "Generate Copilot summary": "生成 Copilot 摘要", + "Unable to index files from non-existent folder: {0}": "无法为不存在的文件夹 {0} 中的文件编制索引", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "C/C++ 扩展只能用于 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及后续的 Microsoft 产品和服务,以开发和测试您的应用程序。", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Microsoft C++ 语言服务器", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "使用情况: {0} [选项]", + "Options:": "选项:", + "Show this help message and exit.": "显示此帮助消息并退出。", + "Show version information and exit.": "显示版本信息并退出。", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "永久接受最终用户许可协议(EULA)。", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "不将 stderr 重定向到 /dev/null (对调试有用)。", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "启动交互式登录(需要 GitHub Copilot 订阅)。", + "Force the login process, even if already authenticated.": "即使已完成身份验证,也强制启动登录流程。", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "如果安全密钥链不可用,允许以明文存储凭据。", + "Specify the directory for log files (default: system temp directory).": "指定日志文件的目录(默认值: 系统临时目录)。", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "将日志详细级别从 0 (仅错误)设置为 9 (详细)。", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "将参数指定为绝对路径,或相对于工作区根目录或其 .github 文件夹的路径。", + "Disable sending telemetry data.": "禁用发送遥测数据。", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "若要通过 GitHub 进行身份验证,请复制代码 {0},然后访问 {1}。正在等待授权...", + "Timed out waiting for authorization.": "等待授权超时。", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "已成功通过 GitHub 身份验证。", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "GitHub 身份验证成功,但无法保存令牌。", + "Keyring error: {0}/{Locked=\"{0}\"}": "Keyring 错误: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "keyring 集合已锁定。请解锁或重启 gnome-keyring-daemon。", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "没有可用的 keyring 服务。安装并启动 gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "或通过传递 --login --allow-plaintext-secret-storage 允许明文存储。", + "The device code has expired. Please try again.": "设备代码已过期。请重试。", + "Authorization was denied by the user.": "用户拒绝了授权。", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "轮询期间发生意外错误: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "GitHub 登录失败。尝试从命令行使用 --login 运行以登录。", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "必须接受 EULA 才能继续。请使用 --accept-eula 运行。", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "已通过 GitHub 身份验证。使用 --force-login 重新进行身份验证。", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "初始化失败: 配置版本不受支持。仅支持版本 1。", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "初始化失败: 未找到配置文件“{0}”。", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初始化失败: 无法解析配置文件“{0}”。请验证 JSON 格式。错误: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "初始化失败: \"repositoryPath\" 未配置或无效。", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "初始化失败: 必须配置 \"compileCommands\" 或 \"cppProperties\"。", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "初始化失败: 不能同时配置 \"compileCommands\" 和 \"cppProperties\"。", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "初始化失败: 未找到 \"compileCommands\" 路径:“{0}”。", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "初始化失败: 未找到 \"cppProperties\" 路径:“{0}”。", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初始化失败: 无法解析 \"cppProperties\" 指定的文件:“{0}”。请验证 JSON 格式。错误: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "初始化失败: 无法从 \"cppProperties\" 文件读取配置:“{0}”。请验证架构。", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "初始化失败:“{0}”不包含有效的 \"configurations\" 数组。", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初始化失败: 在 \"cppProperties\" 文件中找不到配置“{0}”:“{1}”。", + "Initialization failed: LSP config paths cache is missing.": "初始化失败: 缺少 LSP 配置路径缓存。", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "未找到 libcurl ({0})。身份验证和遥测需要 libcurl。", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "macOS 默认应已提供 libcurl。如果缺失,请通过以下命令安装: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "安装 libcurl: sudo apt install libcurl4 (Debian/Ubuntu)或 sudo dnf install libcurl (Fedora/RHEL)。", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "已加载 libcurl,但缺少必需的符号。这可能表示 libcurl 版本太旧或不兼容。没有兼容的 libcurl,语言服务器无法运行。", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "未找到 libsecret-1.so.0 ({0})。安全凭据存储需要 libsecret。安装 libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu)或 sudo dnf install libsecret (Fedora/RHEL)。", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "已加载 libsecret,但缺少必需的符号。没有兼容的 libsecret,语言服务器无法运行。", + "Failed to disable telemetry.": "禁用遥测失败。", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "未找到方法: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "无法为与现有文件具有相同规范化路径的文件处理 IntelliSense。URI: {0},规范化路径: {1}", + "Initializing": "正在初始化", + "Initializing ({0} of {1})": "正在初始化({0}/{1})", + "Initializing ({0} of {1}): {2}": "正在初始化({0}/{1}): {2}", + "Initializing {0}": "正在初始化 {0}", + "Initializing projects": "正在初始化项目", + "Initializing projects ({0} of {1})": "正在初始化项目({0}/{1})", + "Initializing projects ({0} of {1}): {2}": "正在初始化项目({0}/{1}): {2}", + "Initializing projects {0}": "正在初始化项目 {0}", + "Checking for out of date files": "正在检查过期文件", + "Checking for out of date files ({0} of {1})": "正在检查过期文件({0}/{1})", + "Checking for out of date files ({0} of {1}): {2}": "正在检查过期文件({0}/{1}): {2}", + "Checking for out of date files {0}": "正在检查过期文件 {0}", + "Parsing files": "正在解析文件", + "Parsing files ({0} of {1})": "正在解析文件({0}/{1})", + "Parsing files ({0} of {1}): {2}": "正在解析文件({0}/{1}): {2}", + "Parsing files {0}": "正在解析文件 {0}", + "Parsing included files": "正在解析包含的文件", + "Parsing included files ({0} of {1})": "正在解析包含的文件({0}/{1})", + "Parsing included files ({0} of {1}): {2}": "正在解析包含的文件({0}/{1}): {2}", + "Parsing included files {0}": "正在解析包含的文件 {0}", + "Scanning #includes for more files": "正在扫描 #includes 以查找更多文件", + "Scanning #includes for more files ({0} of {1})": "正在扫描 #includes 以查找更多文件({0}/{1})", + "Scanning #includes for more files ({0} of {1}): {2}": "正在扫描 #includes 以查找更多文件({0}/{1}): {2}", + "Scanning #includes for more files {0} {1}": "正在扫描 #includes 以查找更多文件 {0} {1}", + "Ready (Updating external dependencies)": "就绪(正在更新外部依赖项)", + "Ready (Updating external dependencies) ({0} of {1})": "就绪(正在更新外部依赖项)({0}/{1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "就绪(正在更新外部依赖项)({0}/{1}): {2}", + "Ready (Updating external dependencies) {0}": "就绪(正在更新外部依赖项){0}", + "Ready (Optimizing database)": "就绪(正在优化数据库)", + "Ready (Optimizing database) ({0} of {1})": "就绪(正在优化数据库)({0}/{1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "就绪(正在优化数据库)({0}/{1}): {2}", + "Ready (Optimizing database) {0}": "就绪(正在优化数据库){0}", + "Creating Indexes": "正在创建索引", + "Creating Indexes ({0} of {1})": "正在创建索引({0}/{1})", + "Creating Indexes ({0} of {1}): {2}": "正在创建索引({0}/{1}): {2}", + "Creating Indexes {0}": "正在创建索引 {0}", + "Evaluating": "正在评估", + "Evaluating ({0} of {1})": "正在计算({0}/{1})", + "Evaluating ({0} of {1}): {2}": "正在计算({0}/{1}): {2}", + "Evaluating {0}": "正在计算 {0}", + "Indexing files": "正在为文件编制索引", + "Indexing files ({0} of {1})": "正在为文件编制索引({0} of {1})", + "Indexing files ({0} of {1}): {2}": "正在为文件编制索引({0}/{1}): {2}", + "Indexing files {0}": "正在为文件编制索引 {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "即使指定的 --lsp-config 文件不存在,也允许服务器启动。", + "Initialization failed during engine setup.": "引擎设置期间初始化失败。", + "Important:": "重要说明:", + "Unknown OS platform": "OS 平台未知", + "Could not get ProductVersion from SystemVersion.plist": "无法从 SystemVersion.plist 获取 ProductVersion", + "Failed to find SystemVersion.plist in {0}.": "未能在 {0} 中找到 SystemVersion.plist。", + "Refresh process list": "刷新进程列表", + "Attach to process": "附加到进程", + "Select the process to attach to": "选择要附加到的进程", + "Process not selected.": "未选择进程。", + "{0} in debug configuration requires {1} and {2}": "调试配置中的 {0} 需要 {1} 和 {2}", + "Chosen debug configuration does not contain {0} or {1}": "所选的调试配置不包含 {0} 或 {1}", + "Pipe transport failed to get OS and processes.": "管道传输未能获取 OS 和进程。", + "Transport attach could not obtain processes list.": "传输附加无法获取进程列表。", + "Failed to make GDB connection: \"{0}\".": "无法建立 GDB 连接:“{0}”。", + "Failed to parse processes: \"{0}\".": "无法分析进程:“{0}”。", + "Default Configuration": "默认配置", + "Select a configuration": "选择配置", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "类型为“{0}”的调试程序仅在 Windows 上可用。在当前 OS 平台上使用类型“{1}”。", + "The key '{0}' is deprecated. Please use '{1}' instead.": "密钥“{0}”已弃用。请改用“{1}”。", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "找不到用于 lldb-mi 的 \"LLDB.framework\"。请安装 XCode 或 XCode 命令行工具。", + "Launch configuration:": "启动配置:", + "'deploySteps' require VS Code 1.69+.": "\"deploySteps\" 需要 VS Code 1.69+。", + "Running deploy steps...": "正在运行部署步骤...", + "Unable to find {0}. {1} task is ignored.": "找不到 {0}。将忽略 {1} 任务。", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "找不到 {0} 调试器。将忽略 {1} 的调试配置。", + "build and debug active file": "构建和调试活动文件", + "Apply Developer Environment": "应用开发人员环境", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} 需要 Visual Studio 开发人员环境。", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "更新开发人员环境", + "Cancel": "取消", + "The source code could not be built because the Visual Studio developer environment was not applied.": "由于未应用 Visual Studio 开发人员环境,无法生成源代码。", + "The source code could not be built because the Visual C++ compiler could not be found.": "由于找不到 Visual C++ 编译器,无法生成源代码。", + "Missing dependency '{0}' for lldb-mi executable.": "缺少 lldb-mi 可执行文件的依赖项“{0}”。", + "Searched in:": "搜索范围:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "要解决此问题,请通过 Apple App Store 安装 XCode,或通过在终端窗口运行“{0}”来安装 XCode 命令行工具。", + "Failed to use {0}. Reason: {1}": "未能使用 {0}。原因: {1}", + "Replacing {0} '{1}' with '{2}'.": "正在将 {0}“{1}”替换为“{2}”。", + "Resolving variables in {0}...": "正在解析 {0} 中的变量...", + "Open {0}": "打开 {0}", + "Recently Used Task": "最近使用的任务", + "Configured Task": "已配置的任务", + "Detected Task": "检测到的任务", + "Cannot build and debug because the active file is not a C or C++ source file.": "无法生成和调试,因为活动文件不是 C 或 C++ 源文件。", + "No compiler found": "未找到编译程序", + "Select a debug configuration": "选择调试配置", + "\"args\" in command deploy step must be an array.": "命令部署步骤中的 \"args\" 必须为数组。", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "{0} 步骤中需要 \"host\"、\"files\" 和 \"targetDir\"。", + "\"files\" must be a string or an array of strings in {0} steps.": "“files” 必须为 {0} 步骤中的字符串或字符串数组。", + "\"host\" and \"command\" are required for ssh steps.": "SSH 步骤需要 \"host\" 和 \"command\"。", + "\"command\" is required for shell steps.": "shell 步骤需要 \"command\"。", + "Deploy step type {0} is not supported.": "不支持部署步骤类型 {0}。", + "Unexpected OS type": "意外的 OS 类型", + "full path to pipe program such as {0}": "管道程序的完整路径,如 {0}", + "Enable pretty-printing for {0}": "为 {0} 启用整齐打印", + "Set Disassembly Flavor to {0}": "将反汇编风格设置为 {0}", + "enter program name, for example {0}": "输入程序名称,例如 {0}", + "Launch": "启动", + "Launch with {0}.": "使用 {0} 启动。", + "Attach": "附加", + "Attach with {0}.": "使用 {0} 附加。", + "Pipe Launch": "管道启动", + "Pipe Launch with {0}.": "使用 {0} 进行管道启动。", + "Pipe Attach": "管道附加", + "Pipe Attach with {0}.": "使用 {0} 进行管道附加。", + "Launch with the Visual Studio C/C++ debugger.": "使用 Visual Studio C/C++ 调试程序启动。", + "Attach to a process with the Visual Studio C/C++ debugger.": "使用 Visual Studio C/C++ 调试程序附加到进程。", + "Bash on Windows Launch": "Windows 上的 Bash 启动", + "Launch in Bash on Windows using {0}.": "使用 {0} 在 Windows 上的 Bash 中启动。", + "Bash on Windows Attach": "Windows 上的 Bash 附加", + "Attach to a remote process running in Bash on Windows using {0}.": "使用 {0} 附加到在 Windows 上的 Bash 中运行的远程进程。", + "Debugger type '{0}' is not available for non-Windows machines.": "调试程序类型“{0}”不适用于非 Windows 计算机。", + "Run Without Debugging is only supported for launch configurations.": "仅启动配置支持“运行但不调试”。", + "Add debug configuration is not available for single file.": "添加调试配置不适用于单个文件。", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "由于分析失败“{0}”,无法修改 SSH 配置文件。", + "No valid SSH configuration file found.": "找不到有效的 SSH 配置文件。", + "Enter SSH Target Name": "输入 SSH 目标名称", + "Example: `mySSHTarget`": "示例: `mySSHTarget`", + "Enter SSH Connection Command": "输入 SSH 连接命令", + "Example: `ssh hello@microsoft.com -A`": "示例: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "选择 SSH 配置文件", + "Yes": "是", + "No": "否", + "Are you sure you want to permanently delete \"{0}\"?": "是否确定要永久删除“{0}”?", + "Operating system \"{0}\" not supported.": "不支持操作系统“{0}”。", + "\"{0}\" timed out after {1} seconds.": "“{0}”在 {1} 秒后超时。", + "\"{0}\" canceled.": "已取消“{0}”。", + "\"{0}\" exited with code: \"{1}\".": "“{0}”已退出,代码为“{1}”。", + "Failed to spawn \"{0}\".": "未能生成“{0}”。", + "Ignoring non-parsable lines in {0} {1}: ": "忽略 {0} {1} 中不可分析的行: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "找不到终端仿真器。请将 $TERMINAL 环境变量设置为你选择的终端仿真器,或安装以下程序之一: x-terminal-emulator、gnome-terminal、konsole、xterm。", + "Select a compiler to configure for IntelliSense": "选择要为 IntelliSense 配置的编译器", + "How would you like to configure IntelliSense for the '{0}' folder?": "你希望如何为“{0}”文件夹配置 IntelliSense?", + "How would you like to configure IntelliSense for this folder?": "你希望如何为此文件夹配置 IntelliSense?", + "Found at {0}": "在 {0} 找到", + "Use {0}": "使用 {0}", + "configuration providers": "配置提供程序", + "compilers": "编译器", + "Select IntelliSense Configuration...": "选择 IntelliSense 配置...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "未配置编译器。除非设置自己的配置,否则 IntelliSense 可能无法正常工作。", + "Select another compiler on my machine...": "在我的计算机上选择另一个编译器...", + "Help me install a compiler": "帮助我安装编译器", + "Install a compiler": "安装编译器", + "Do not configure with a compiler (not recommended)": "请勿适用编译器进行配置(不推荐)", + "EPERM: Check permissions for '{0}'": "EPERM: 检查“{0}”的权限", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}", + "The language server crashed. Restarting...": "语言服务器崩溃。正在重新启动...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "在过去 3 分钟内,语言服务器崩溃了 5 次。它不会重新启动。", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} 已更改为: {1}", + "Dismiss": "消除", + "Disable Warnings": "禁用警告", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} 无法为“{1}”提供 IntelliSense 配置信息。将改为使用“{2}”配置中的设置。", + "The requested configuration name is not found: {0}": "找不到请求的配置名称: {0}", + "Unsupported client": "不支持的客户端", + "Timed out in {0}ms.": "将在 {0} 毫秒后超时。", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "已枚举 {0} 个文件,检测到 {1} 个 C/C++ 源文件。你可能需要考虑排除某些文件以获得更好的性能。", + "Learn More": "了解详细信息", + "Don't Show Again": "不再显示", + "Update IntelliSense time (sec): {0}": "更新 IntelliSense 时间(秒): {0}", + "Custom configurations received:": "已收到自定义配置:", + "Custom browse configuration received: {0}": "已收到自定义浏览配置: {0}", + " Declaration/definition was copied.": "已复制声明/定义。", + "Name the extracted function": "为提取的函数命名", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "未能提取到函数: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "未能提取到函数。生成了无效的编辑:“{0}”", + "Fix all code analysis problems": "修复所有代码分析问题", + "Clear all code analysis problems": "清除所有代码分析问题", + "Fix all {0} problems": "修复所有 {0} 问题", + "Disable all {0} problems": "禁用所有 {0} 问题", + "Clear all {0} problems": "清除所有 {0} 问题", + "Clear this {0} problem": "清除此 {0} 问题", + "Fix this {0} problem": "修复此 {0} 问题", + "Show documentation for {0}": "显示 {0} 文档", + "IntelliSense mode {0} is incompatible with compiler path.": "IntelliSense 模式 {0} 与编译器路径不兼容。", + "Processed c_cpp_properties.json in {0}s": "已在 {0} 秒内中处理 c_cpp_properties.json", + "Failed to create \"{0}\"": "未能创建“{0}”", + "Invalid configuration file. There must be at least one configuration present in the array.": "配置文件无效。数组中须至少存在一个配置。", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "c_cpp_properties.json 中发现未知的版本号。某些功能可能无法按预期工作。", + "Attempt to update \"{0}\" failed (do you have write access?)": "尝试更新“{0}”失败(是否有写入权限?)", + "Failed to parse \"{0}\"": "未能分析“{0}”", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "找不到带有空格的编译器路径。如果这是为了包含编译器参数,请用双引号({0})括住编译器路径。", + "Cannot find: {0}": "无法找到: {0}", + "Path is not a file: {0}": "路径不是文件: {0}", + "The include path validation took {0}s to evaluate": "包含路径验证计算耗时 {0} 秒", + "Failed to resolve include path. Error: {0}": "未能解析包含路径。错误: {0}", + "Do not add extra quotes around paths.": "不要在路径周围添加额外的引号。", + "Path is not a directory: {0}": "路径不是目录: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} 重复。配置名称应是唯一的。", + "Path took {0}s to evaluate": "路径计算耗时 {0} 秒", + "Failed to resolve path {0}. Error: {1}": "未能解析路径 {0}。错误: {1}", + "Multiple paths are not allowed.": "不允许使用多个路径。", + "Multiple paths should be separate entries in an array.": "多个路径应是数组中的单独条目。", + "Paths are not directories: {0}": "路径不是目录: {0}", + "Error while retrieving result. Reason: {0}": "检索结果时出错。原因: {0}", + "build active file": "生成活动文件", + "compiler:": "编译器:", + "Task generated by Debugger.": "调试器生成的任务。", + "Starting build...": "正在启动生成...", + "Build run was terminated.": "生成运行已终止。", + "Build finished with error(s).": "生成已完成,但出现错误。", + "Build finished with warning(s).": "生成已完成,但收到警告。", + "Build finished successfully.": "生成已成功完成。", + "No context provided": "未提供上下文", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "“设置 Visual Studio 开发人员环境”命令仅在 Windows 上可用", + "A Visual Studio installation with the C++ compiler was not found": "找不到带有 C++ 编译器的 Visual Studio 安装项", + "The operation was cancelled": "已取消此操作", + "No hosts found": "找不到主机", + "Configuring developer environment...": "正在配置开发人员环境...", + "Select a Visual Studio installation": "选择 Visual Studio 安装", + "Advanced options...": "高级选项...", + "Select a specific host and target architecture, toolset version, etc.": "选择特定的主机和目标体系结构构、工具集版本等", + "Select a toolset version": "选择工具集版本", + "Select a host and target architecture": "选择主机和目标体系结构", + "Something went wrong: {0}": "出现问题: {0}", + "{0} developer environment for {1}": "{1} 的 {0} 开发人员环境", + "Default environment for {0}": "{0} 的默认环境", + "host = {0}, target = {1}": "主机 = {0},目标 = {1}", + "Learn how to install a library for this header with vcpkg": "了解如何使用 vcpkg 为此标头安装库", + "Copy vcpkg command to install '{0}' to the clipboard": "将用于安装“{0}”的 vcpkg 命令复制到剪贴板", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "当 `C_Cpp.intelliSenseEngine` 设置为 `disabled` 时,无法执行与 IntelliSense 相关的命令。", + "client not found": "未找到客户端", + "OK": "确定", + "The clang compiler will now be installed": "现在将安装 clang 编译器", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "系统可能会提示你在 VS Code 终端窗口中键入密码以授权安装。", + "The gcc compiler will now be installed": "现在将安装 gcc 编译器", + "Open a folder first to select a configuration.": "首先打开一个文件夹以选择配置。", + "Open a folder first to select a configuration provider.": "首先打开一个文件夹以选择配置提供程序。", + "Open a folder first to edit configurations": "首先打开一个文件夹以编辑配置", + "The code analysis fix could not be applied because the document has changed.": "无法应用代码分析修复程序,因为文档已更改。", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "C/C++ 扩展的预发行版本可用。是否要切换到它?", + "Copilot summary is not available.": "Copilot 摘要不可用。", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "包含此符号的定义或声明的文件已排除在 Copilot 的使用范围之外。", + "Copilot summary is not available for this symbol.": "Copilot 摘要不可用于此符号。", + "An error occurred while generating Copilot summary.": "生成 Copilot 摘要时出错。", + "Duplicate multiline comment patterns detected.": "检测到重复的多行注释模式。", + "Error while retrieving the project context. Reason: {0}": "检索项目上下文时出错。原因: {0}", + "Error while retrieving the #cpp context.": "检索 #cpp 上下文时出错。", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0},{1}", + "Find All References": "查找所有引用", + "Peek References": "速览引用", + "Rename": "重命名", + "Call Hierarchy": "调用层次结构", + "CONFIRMED REFERENCE": "已确认引用", + "CONFIRMATION IN PROGRESS": "正在进行确认", + "COMMENT REFERENCE": "注释引用", + "STRING REFERENCE": "字符串引用", + "INACTIVE REFERENCE": "非活动引用", + "CANNOT CONFIRM REFERENCE": "无法确认引用", + "NOT A REFERENCE": "不是引用", + "Confirmed reference": "已确认引用", + "Confirmation in progress": "正在进行确认", + "Comment reference": "注释引用", + "String reference": "字符串引用", + "Inactive reference": "非活动引用", + "Cannot confirm reference": "无法确认引用", + "Not a reference": "不是引用", + "CONFIRMATION CANCELED": "已取消确认", + "Confirmation canceled": "已取消确认", + "To preview results, click the search icon in the status bar.": "若要预览结果,请单击状态栏中的搜索图标。", + "Started.": "已启动。", + "Processing source.": "正在处理源。", + "Searching files.": "正在搜索文件。", + "{0}/{1} files searched.{2}": "已搜索 {0} 个文件,共 {1} 个文件。{2}", + "{0}/{1} files confirmed.{2}": "已确认 {0} 个文件,共 {1} 个文件。{2}", + "C/C++ Peek References": "C/C++ 速览引用", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[警告] 某些引用可能丢失,因为在 {0} 启动时,工作区分析不完整。", + "Go to reference": "转到引用", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "代码格式设置使用 .editorconfig 中的设置,而不是 .clang-format 中的设置。有关详细信息,请参阅文档以了解 'C_Cpp.formatting' 设置的 'default' 值。", + "C/C++ Configurations": "C/C++ 配置", + "IntelliSense: Updating": "IntelliSense: 正在更新", + "IntelliSense: Ready": "IntelliSense: 就绪", + "Initializing Workspace": "正在初始化工作区", + "Indexing Workspace": "正在索引工作区", + "Parsing Workspace": "分析工作区", + "Parsing Workspace: Paused": "分析工作区: 已暂停", + "Parsing Complete": "分析完毕", + "Rescan Workspace": "重新扫描工作区", + "Parsing Open Files": "正在分析打开的文件", + "Code Analysis: Running": "代码分析: 正在运行", + "Code Analysis: Paused": "代码分析: 已暂停", + "Code Analysis Mode: ": "代码分析模式:", + "click to preview results": "单击以预览结果", + "Configure IntelliSense": "配置 IntelliSense", + "C/C++ IntelliSense Status": "C/C++ IntelliSense 状态", + "Rescan": "重新扫描", + "Rescan IntelliSense": "重新扫描 IntelliSense", + "C/C++ Tag Parser Status": "C/C++ 标记分析器状态", + "Initializing...": "正在初始化...", + "Resume": "继续", + "Pause": "暂停", + "C/C++ Code Analysis Status": "C/C++ 代码分析状态", + "Run Now": "立即运行", + "Automatic": "自动", + "Manual": "手动", + "Options": "选项", + "Starting...": "正在启动...", + "Running: {0} / {1} ({2}%)": "正在运行: {0}/{1} ({2}%)", + "Select a code analysis command...": "选择代码分析命令...", + "Start Another...": "启动另一个...", + "Select a command...": "选择命令...", + "Run Code Analysis on Active File": "在活动文件上运行代码分析", + "Run Code Analysis on All Files": "在所有文件上运行代码分析", + "Run Code Analysis on Open Files": "在打开的文件上运行代码分析", + "C/C++ References Status": "C/C++ 引用状态", + "C/C++ Configuration": "C/C++ 配置", + "C/C++ Configure IntelliSense": "C/C++ 配置 IntelliSense", + "Select a Configuration...": "选择配置...", + "Edit Configurations (UI)": "编辑配置(UI)", + "Edit Configurations (JSON)": "编辑配置(JSON)", + "Select a Configuration Provider...": "选择配置提供程序...", + "active": "活动", + "none": "无", + "Disable the active configuration provider, if applicable.": "禁用活动配置提供程序(如果适用)。", + "Select a workspace folder...": "选择工作区文件夹…", + "Failed to connect to {0}": "未能连接到 {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "在 localForwards 中,不能同时使用 \"bindAddress\" 或 \"port\" 指定 \"localSocket\"", + "\"port\" or \"localSocket\" required in localForwards": "localForwards 中需要 \"port\" 或 \"localSocket\"", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "在 localForwards 中,不能同时使用 \"host\" 或 \"hostPort\" 指定 \"remoteSocket\"", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "localForwards 中需要 \"host\" 和 \"hostPort\" 或 \"remoteSocket\"", + "SSH command canceled": "已取消 SSH 命令", + "Enter passphrase for ssh key {0}": "输入 ssh 密钥的密码 {0}", + "Enter password for user \"{0}\"": "输入用户 \"{0}\" 的密码", + "Enter password": "输入密码", + "Are you sure you want to continue?": "您确定要继续吗?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\" 具有指纹 \"{1}\"。", + "Continue": "继续", + "\"{0}\" terminal command canceled.": "已取消 \"{0}\" 终端命令。", + "\"{0}\" terminal command done.": "已完成 \"{0}\" 终端命令。", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "已取消任务 \"{0}\",但基础命令可能不会终止。请手动进行检查。", + "\"{0}\" process failed: {1}": "\"{0}\" 进程失败: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" 已将数据写入终端: \"{1}\"。", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "找不到 SSH 的用户信息。这可能是由于使用 \"snap\" 安装 VS Code 导致的。如果计划使用 SSH 功能,请使用 \"deb\" 包重新安装 VS Code。", + "Failed to parse SSH configuration file {0}: {1}": "无法分析 SSH 配置文件 {0}: {1}", + "Failed to read file {0}.": "未能读取文件 {0}。", + "Failed to write to file {0}.": "无法写入文件 {0}。", + "Inline macro is not available at this location.": "内联宏在此位置不可用。", + "AI-generated content may be incorrect.": "AI 生成的内容可能不正确。", + "Invalid identifier provided for the Rename Symbol operation.": "为“重命名符号”操作提供的标识符无效。", + "A definition for the selected symbol could not be located.": "找不到所选符号的定义。", + "No SSH targets": "无 SSH 目标", + "Active SSH target selection cancelled.": "已取消活动 SSH 目标选择。", + "{0} Add New SSH Target...": "{0} 添加新的 SSH 目标...", + "Select an SSH target": "选择 SSH 目标", + "[Active]": "[活动]" +} diff --git a/Extension/i18n/cht/bundle.l10n.json b/Extension/i18n/cht/bundle.l10n.json new file mode 100644 index 000000000..371c94ee0 --- /dev/null +++ b/Extension/i18n/cht/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "無法剖析 json 檔案,這可能是因為註解或結尾逗號所致。", + "The C/C++ extension is still installing. See the output window for more information.": "C/C ++ 延伸模組仍在安裝。如需詳細資訊,請查看輸出視窗。", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "如需疑難排解資訊,請參閱 {0}。問題可在 {1} 建立", + "Process exited with code {0}": "處理序已結束,代碼為 {0}", + "Process executed successfully.": "程序已成功執行。", + "Killing process {0}": "終止程序 {0}", + "Warning: Expected file {0} is missing.": "警告: 缺少預期的檔案 {0}。", + "Warning: Debugging has not been tested for this platform.": "警告: 尚未針對此平台測試偵錯。", + "Reload the workspace for the settings change to take effect.": "請重新載入工作區以讓設定變更生效。", + "Reload": "重新載入", + "Custom configuration provider '{0}' registered": "已註冊自訂組態提供者 '{0}'", + "Reached max string expansion recursion. Possible circular reference.": "已達到字串展開遞迴的最大值。可能的循環參考。", + "Invalid variable reference {0} in string: {1}.": "字串中無效的變數參考 {0}: {1}。", + "Environment variable {0} not found": "找不到環境變數 {0}", + "Commands are not supported for string: {0}.": "字串不支援的命令: {0}。", + "Exception while executing command {0} for string: {1} {2}.": "執行字串的命令 {0} 時發生例外狀況: {1} {2}。", + "C/C++ Diagnostics": "C/C++ 診斷", + "C/C++ Crash Call Stacks": "C/C++ 損毀呼叫堆疊", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "C/C++ 延伸模組程序已損毀。損毀的程序名稱、日期/時間、訊號和呼叫堆疊如下 -- 在 {0} 的錯誤報告中包含該資訊會很有幫助。", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "C/C++ 偵錯通訊協定", + "C/C++ Configuration Warnings": "C/C++ 設定警告", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "比 {0} 更新的 C/C++ 延伸模組版本至少需要 macOS 版本 {1}。", + "intelliSenseEngine is disabled": "intelliSenseEngine 已停用", + "More Info": "更多資訊", + "Ignore": "略過", + "The C/C++ extension installed does not match your system.": "安裝的 C/C++ 延伸模組與您的系統不相符。", + "The C/C++ extension installed is compatible with but does not match your system.": "安裝的 C/C++ 延伸模組與您的系統相容,但不相符。", + "Searching include path...": "正在搜尋包含路徑...", + "Include file not found in browse.path.": "在 browse.path 中找不到包含檔案。", + "Edit \"browse.path\" setting": "編輯 \"browse.path\" 設定", + "Add to \"includePath\": {0}": "新增至 \"includePath\": {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "新增 '{0}'", + "Edit \"includePath\" setting": "編輯 \"includePath\" 設定", + "Disable error squiggles": "停用錯誤波浪線", + "Enable all error squiggles": "啟用所有錯誤波浪線", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "偵測到 #include 錯誤。請更新您的 includePath。此編譯單位 ({0}) 的波浪線已停用。", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "偵測到 #include 錯誤。請更新您的 includePath。此編譯單位 ({0}) 的 IntelliSense 功能將由標籤剖析器提供。", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "偵測到 #include 錯誤。請考慮更新 compile_commands.json 或 includePath。此編譯單位 ({0}) 的 IntelliSense 功能將由標籤剖析器提供。", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "無法剖析 \"{0}\"。將改用資料夾 '{1}' 中 c_cpp_properties.json 的 'includePath'。", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "找不到 \"{0}\"。將改用資料夾 '{1}' 中 c_cpp_properties.json 的 'includePath'。", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "在 \"{1}\" 中找不到 \"{0}\"。將對此檔案改用資料夾 '{2}' 中 c_cpp_properties.json 的 'includePath'。", + "The IntelliSense database was successfully reset.": "已成功重設 IntelliSense 資料庫。", + "Failed to send response to client: {0}": "無法傳送回應至用戶端: {0}", + "Failed to read response from server: {0}": "無法從伺服器讀取回應: {0}", + "Failed to send request to server: {0}": "無法傳送要求至伺服器: {0}", + "Unexpected error while waiting for requests: {0}": "等候要求時發生未預期的錯誤: {0}", + "{0} errored with: {1}": "{0} 錯誤: {1}", + "Failed to open the file {0}": "無法開啟檔案 {0}", + "Failed to query default include paths and defines for {0}.": "無法查詢 {0} 的預設 include 路徑和 define。", + "Failed calling {0}": "無法呼叫 {0}", + "Quick info operation failed: {0}": "快速資訊作業失敗: {0}", + "Failed to create IntelliSense client: {0}": "無法建立 IntelliSense 用戶端: {0}", + "Failed to spawn IntelliSense process: {0}": "無法產生 IntelliSense 處理序: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "呼叫 browse_engine_update_thread.join() 時發生錯誤: {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "這個檔案 ({0}) 已經在編輯器中開啟,但大小寫不同。此檔案複本上的 IntelliSense 功能將會停用。", + "IntelliSense client has disconnected from the server - {0}": "IntelliSense 用戶端已與伺服器中斷連線 - {0}", + "Formatting failed:": "格式化失敗:", + "Unable to add file to database, error = {0}: {1}": "無法將檔案新增至資料庫,錯誤 = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "無法在中止期間重設時間戳記,錯誤 = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "無法更新時間戳記,錯誤 = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "無法完成檔案的更新,錯誤 = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} 不是目錄 (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "無法擷取 {0} 的檔案系統資訊。錯誤 = {1}", + "{0} is not a directory": "{0} 不是目錄", + "File discovery was aborted": "檔案探索已中止", + "Aborting tag parse of {0} and dependencies": "正在中止 {0} 和相依性的標籤剖析", + "Aborting tag parse at root": "正在中止根目錄處的標籤剖析", + "Unable to retrieve DB records to reset timestamps: error = {0}": "無法取得 DB 記錄以重設時間戳記: 錯誤 = {0}", + "Failed to reset timestamp for {0}: error = {1}": "無法重設 {0} 的時間戳記: 錯誤 = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "找不到任何適合的編譯器。請設定 c_cpp_properties.json 中的 \"compilerPath\"。", + "Compiler include path not found: {0}": "找不到編譯器包含路徑: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "IntelliSense 引擎未回應。改為使用標籤剖析器。", + "Tag Parser will be used for IntelliSense operations in: {0}": "標籤剖析器將用於 {0} 中的 IntelliSense 作業", + "Error squiggles will be disabled in: {0}": "錯誤波浪線將在 {0} 停用", + "Processing folder (non-recursive): {0}": "正在處理資料夾 (非遞迴): {0}", + "Processing folder (recursive): {0}": "正在處理資料夾 (遞迴): {0}", + "File exclude: {0}": "檔案排除: {0}", + "Search exclude: {0}": "搜尋排除: {0}", + "Discovering files: {0} file(s) processed": "正在探索檔案: 已處理 {0} 個檔案", + "{0} file(s) removed from database": "已從資料庫移除 {0} 個檔案", + "Parsing: {0} files(s) processed": "正在剖析: 已處理 {0} 個檔案", + "Shutting down IntelliSense server: {0}": "正在關閉 IntelliSense 伺服器: {0}", + "Resetting IntelliSense server: {0}": "正在重設 IntelliSense 伺服器: {0}", + "Code browsing service initialized": "已將程式碼瀏覽服務初始化", + "Folder: {0} will be indexed": "資料夾: {0} 將會編制索引", + "Populate include completion cache.": "填入包含完成快取。", + "Discovering files...": "正在探索檔案...", + "Done discovering files.": "已完成探索檔案。", + "Parsing open files...": "正在剖析開啟的檔案...", + "Done parsing open files.": "已完成剖析開啟的檔案。", + "Parsing remaining files...": "正在剖析剩餘的檔案...", + "Done parsing remaining files.": "已完成剖析剩餘的檔案。", + "Using configuration: \"{0}\"": "使用設定: \"{0}\"", + "{0} include path suggestion(s) discovered.": "發現 {0} 個包含路徑建議。", + "Checking for syntax errors: {0}": "正在檢查語法錯誤: {0}", + "IntelliSense Engine = {0}.": "IntelliSense 引擎 = {0}。", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "當 #includes 未解析時,延伸模組會使用 IntelliSense 的標籤剖析器。", + "Autocomplete is enabled.": "已啟用自動完成。", + "Autocomplete is disabled.": "已停用自動完成。", + "Hover is enabled.": "暫留已啟用。", + "Hover is disabled.": "暫留已停用。", + "Enhanced Colorization is enabled.": "已啟用增強著色。", + "Error squiggles are disabled.": "已停用錯誤波浪線。", + "Error squiggles are enabled.": "已啟用錯誤波浪線。", + "Error squiggles are enabled if all header dependencies are resolved.": "如果所有標頭相依性皆已解決,就會啟用錯誤波浪線。", + "Replaced placeholder file record": "已取代預留位置檔案記錄", + "tag parsing file: {0}": "標籤剖析檔案: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "標籤剖析錯誤 (除非找不到符號,否則可以忽略):", + "Reset time stamp for {0}": "重設 {0} 的時間戳記", + "Failed to remove file: {0}": "無法移除檔案: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Regex 剖析錯誤 - vscode 模式: {0},RegEx: {1},錯誤訊息: {2}", + "terminating child process: {0}": "正在終止子處理序: {0}", + "still alive, killing...": "仍在執行,正在終止...", + "giving up": "正在放棄", + "not exited yet. Will sleep for {0} milliseconds and try again.": "尚未結束。將睡眠 {0} 毫秒並再試一次。", + "Failed to spawn process. Error: {0} ({1})": "無法產生處理序。錯誤: {0} ({1})", + "Offering completion": "正在提供完成", + "Attempting to get defaults from compiler found on the machine: '{0}'": "正在嘗試從電腦上找到的編譯器取得預設: '{0}'", + "Unable to resolve include path: {0}": "無法解析包含路徑: {0}", + "Error searching for IntelliSense client: {0}": "搜尋 IntelliSense 用戶端時發生錯誤: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "IntelliSense 用戶端無法使用,請使用標籤剖析器取得快速資訊。", + "using Tag Parser for quick info": "使用標籤剖析器取得快速資訊", + "Closing the communication channel.": "正在關閉通訊通道。", + "sending compilation args for {0}": "正在傳送 {0} 的編譯引數", + "include: {0}": "包含: {0}", + "framework: {0}": "架構: {0}", + "define: {0}": "定義: {0}", + "preinclude: {0}": "預先包含: {0}", + "other: {0}": "其他: {0}", + "sending {0} changes to server": "正在將 {0} 個變更傳送至伺服器", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "開啟的檔案執行個體無效。即將忽略檔案 {0} 的 IntelliSense 訊息。", + "idle loop: reparsing the active document": "閒置迴圈: 正在重新剖析使用中文件", + "IntelliSense client is currently disconnected": "IntelliSense 用戶端目前已中斷連線", + "Request canceled: {0}": "已取消要求: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "IntelliSense 用戶端無法使用,請使用標籤剖析器前往定義。", + "Error squiggle count: {0}": "錯誤波浪線計數: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "正在將編譯單位中檔案的 IntelliSense 更新排入佇列: {0}", + "Formatting document: {0}": "正在將文件格式化: {0}", + "Formatting input:": "格式化輸入:", + "Formatting raw output:": "正在將原始輸出格式化:", + "Formatting diffed output before cursor:": "正在將資料指標前的輸出差異化:", + "Formatting diffed output after cursor:": "正在將資料指標後的輸出差異化:", + "Formatting diffed output:": "正在將差異輸出格式化:", + "Disable inactive region colorization": "停用非作用中區域著色", + "Error limit exceeded, {0} error(s) not reported.": "超過錯誤限制,未回報 {0} 個錯誤。", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "偵測到 #include 錯誤。請考慮更新 compile_commands.json 或 includePath。此編譯單位 ({0}) 的波浪線已停用。", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "無法重設 IntelliSense 資料庫。若要手動重設,請關閉所有 VS Code 執行個體,然後刪除此檔案: {0}", + "Formatting failed. See the output window for details.": "格式化失敗。如需詳細資料,請查看輸出視窗。", + "Populating include completion cache.": "正在填入包含完成快取。", + "Discovering files: {0}": "正在探索檔案: {0}", + "Parsing open files": "正在剖析開啟的檔案", + "Tag parser initializing": "標籤剖析器正在初始化", + "Workspace parsing paused": "工作區剖析已暫停", + "Parsing workspace files: {0}": "正在剖析工作區檔案: {0}", + "Discovering files: {0} / {1} ({2}%)": "正在探索檔案: {0} / {1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "正在剖析工作區檔案: {0} / {1} ({2}%)", + "Can't find or run process_name": "找不到或無法執行 process_name", + "Child exec failed {0}": "子執行失敗 {0}", + "Could not communicate with child process!": "無法與子處理序通訊!", + "{0} failed": "{0} 失敗", + "Failed to set {0} flag": "無法設定 {0} 旗標", + "Unable to create {0}!": "無法建立 {0}!", + "Failed to set stdin {0} flag": "無法設定 stdin {0} 旗標", + "Failed to set stdout {0} flag": "無法設定 stdout {0} 旗標", + "Failed to set stderr {0} flag": "無法設定 stderr {0} 旗標", + "Unable to start child process!": "無法啟動子處理序!", + "Timed out attempting to communicate with process!": "嘗試與處理序通訊時發生逾時!", + "Process has failed to run": "處理序無法執行", + "Specified compiler was not found: {0}": "找不到指定的編譯器: {0}", + "Config data invalid, {0}": "組態資料無效,{0}", + "CMake executable not found at {0}": "在 {0} 找不到 CMake 可執行檔", + "No args provider": "沒有任何引數提供者", + "Invalid file path {0}": "檔案路徑 {0} 無效", + "Can't create IntelliSense client for {0}": "無法為 {0} 建立 IntelliSense 用戶端", + "declaration": "宣告", + "type alias": "類型別名", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "編譯器不支援 64 位元。請回復成 32 位元 intelliSenseMode。", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "編譯器不支援 32 位元。請回復成 64 位元 intelliSenseMode。", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "無法查詢編譯器。請回復成 32 位元 intelliSenseMode。", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "無法查詢編譯器。請回復成 64 位元 intelliSenseMode。", + "Failed to query compiler. Falling back to no bitness.": "無法查詢編譯器。請回復成沒有位元。", + "IntelliSense client creation aborted: {0}": "已中止建立 IntelliSense 用戶端: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "根據 configurationProvider 設定提供的資訊,偵測到 #include 錯誤。此編譯單位 ({0}) 的 IntelliSense 功能將由標籤剖析器提供。", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "根據 configurationProvider 設定提供的資訊,偵測到 #include 錯誤。已停用此編譯單位 ({0}) 的波浪線。", + "preprocessor keyword/Refers to C/C++ processor keywords": "前置處理器關鍵字", + "C keyword": "C 關鍵字", + "C++ keyword": "C++ 關鍵字", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "還有 1 次多載", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "還有 %d 次多載", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "還有 1 次特殊化", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "還有 %d 次特殊化", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "注意: 未完全設定 IntelliSense。使用 'Select IntelliSense Configuration...' 命令來完成設定。", + "Select an IntelliSense configuration to locate system headers": "選取 IntelliSense 設定以尋找系統標頭", + "Expands to:": "展開至:", + "Attention:": "注意:", + "Author:": "作者:", + "Authors:": "作者:", + "Bug:": "錯誤 (bug):", + "Copyright:": "著作權:", + "Deprecated:": "已淘汰:", + "Date:": "日期:", + "Details:": "詳細資料:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "例外狀況:", + "Invariant:": "不區分:", + "File:": "檔案:", + "Note:": "注意事項:", + "Parameters:": "參數:", + "Precondition:": "先決條件:", + "Postcondition:": "後置:", + "Remark:": "備註:", + "Remarks:": "備註:", + "Result:": "結果:", + "Return:": "傳回:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "傳回:", + "See also:": "另請參閱:", + "Since:": "自:", + "Template Parameters:": "範本參數:", + "Test:": "測試:", + "TODO:": "TODO:", + "Version:": "版本:", + "Warning:": "警告:", + "Compiler query command line: {0}": "編譯器查詢命令列: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "正在嘗試從 C 編譯器的 \"compilerPath\" 屬性中取得預設值: '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "正在嘗試從 C++ 編譯器的 \"compilerPath\" 屬性中取得預設值: '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "正在嘗試從 C 編譯器的 compile_commands.json 檔案中取得預設值: '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "正在嘗試從 C++ 編譯器的 compile_commands.json 檔案中取得預設值: '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "若為 C 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\"。", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "若為 C++ 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\"。", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "若為 C 原始程式檔,cStandard 已從 \"{0}\" 變更為 \"{1}\"。", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "若為 C 原始程式檔,cppStandard 已從 \"{0}\" 變更為 \"{1}\"。", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "若為 C 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cStandard 已從 \"{2}\" 變更為 \"{3}\"。", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "若為 C++ 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cppStandard 已從 \"{2}\" 變更為 \"{3}\"。", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "針對 C 來源檔案,依據編譯器引數與查詢 compilerPath: \"{2}\",IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "針對 C++ 來源檔案,依據編譯器引數與查詢 compilerPath: \"{2}\",IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "針對 C 來源檔案,依據編譯器引數與查詢 compilerPath: \"{2}\",cStandard 已從 \"{0}\" 變更為 \"{1}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "針對 C++ 來源檔案,依據編譯器引數與查詢 compilerPath: \"{2}\",cppStandard 已從 \"{0}\" 變更為 \"{1}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "針對 C 來源檔案,依據編譯器引數與查詢 compilerPath: \"{4}\",IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cStandard 已從 \"{2}\" 變更為 \"{3}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "針對 C++ 來源檔案,依據編譯器引數與查詢 compilerPath: \"{4}\",IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cppStandard 已從 \"{2}\" 變更為 \"{3}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "無法解析 compilerPath \"{0}\" 的設定。請改為使用 \"{1}\"。", + "Unable to resolve configuration with compilerPath: \"{0}\"": "無法解析 compilerPath 的設定: \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "因為明確的空白 compilerPath,所以跳過編譯器的查詢", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "已指定 MSVC intelliSenseMode。正在進行編譯器 cl.exe 的設定。", + "Unable to configure for compiler cl.exe.": "無法進行編譯器 cl.exe 的設定。", + "Querying compiler's default target using command line: \"{0}\" {1}": "使用命令列查詢編譯器的預設目標: \"{0}\" {1}", + "Compiler returned default target value: {0}": "編譯器傳回了預設目標值: {0}", + "Querying compiler for default C language standard using command line: {0}": "使用命令列查詢預設 C 語言標準的編譯器: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "使用命令列查詢預設 C++ 語言標準的編譯器: {0}", + "Detected language standard version: {0}": "已偵測到語言標準版本: {0}", + "Unhandled default compiler target value detected: {0}": "偵測到未處理的預設編譯器目標值: {0}", + "Unhandled target argument value detected: {0}": "偵測到未處理的目標引數值: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "IntelliSense 伺服器即將關機: {0}。記憶體使用量為 {1} MB,超過了 {2} MB 的限制。", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "無法查詢位於路徑 \"{0}\" 的編譯器預設標準版本。已停用此編譯器的編譯器查詢。", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "編譯器查詢傳回無法辨識的語言標準版本。將改用支援的最新版本。", + "IntelliSense process crash detected.": "偵測到 IntelliSense 流程損毀。", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "偵測到 IntelliSense 流程當機: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "傳回值:", + "Unable to locate nvcc compiler: {0}": "找不到 nvcc 編譯器: {0}", + "Unable to locate nvcc host compiler: {0}": "找不到 nvcc 主機編譯器: {0}", + "Invoking nvcc with command line: {0}": "正在使用命令列 {0} 叫用 nvcc", + "Unable to find host compile command in output of nvcc.": "在 nvcc 的輸出中找不到主機編譯命令。", + "Unable to locate forced include: {0}": "找不到強制的 include: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "內嵌巨集", + "Unable to access browse database. ({0})": "無法存取瀏覽資料庫。({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode 已變更,因為它不符合偵測到的編譯器。請考慮改為設定 \"compilerPath\"。 將 \"compilerPath\" 設定為 \"\" 以停用系統包含和定義的偵測。", + "Remove all code analysis problems": "移除所有程式碼分析問題", + "(Multiple locations)": "(多個位置)", + "Folder": "資料夾", + "File": "檔案", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "編譯器傳回預設語言標準版本: {0}。因為此版本為舊版本,將嘗試使用較新的版本 {1} 為預設版本。", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "來自 clang-tidy 的未預期輸出: {0}。預期是: {1}。", + "Generate Doxygen comment": "產生 Doxygen 註解", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "在 '{1}' 中建立 {0} 宣告", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "在 '{1}' 中建立 {0} 定義", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "找不到 '{0}' 的函式定義。", + "Attributes/'Attributes' is a C++ specifier.": "屬性", + "Bases/'Bases' are a C++ class type.": "基底", + "Classes": "類別", + "CoClasses": "CoClasses", + "Delegates": "委派", + "Enums": "列舉", + "Events": "活動", + "Functions": "函式", + "Import directives": "Import 指示詞", + "ImportLib statements": "ImportLib 陳述式", + "Import statements": "Import 陳述式", + "Include directives": "Include 指示詞", + "Interfaces": "介面", + "Libraries": "程式庫", + "Macros": "巨集", + "Maps": "地圖", + "Map entries": "對應項目", + "Miscellaneous": "其他", + "Namespaces": "命名空間", + "Parameters": "參數", + "Properties": "屬性", + "Structs": "結構", + "TODO: insert return statement here": "TODO: 於此處插入 return 陳述式", + "Typedefs": "Typedefs", + "Unions": "等位", + "Using aliases": "使用別名", + "Using directives": "Using 指示詞", + "Variables": "變數", + "Automatic add function": "自動新增函式", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual 是多餘的,而且當擁有 vsCMFunctionComMethod 時不需要指定。", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod 不可以是靜態。", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "無效的 C/C++ 檔案: '%s'。", + "File name too long: '%s'./%s is the file that has a long name.": "檔案名稱過長: '%s'。", + "Cannot create file '%s'./%s is the file that could not be created.": "無法建立檔案 '%s'。", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "無法存取要寫入的目錄或檔案 '%s'。", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "無效的檔案路徑: '%s'。", + "File '%s' was not found./%s is the file that was not found.": "找不到檔案 '%s'。", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "宣告/定義建立失敗: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "無法建立函數 '%s'。不支援建立已預設或已刪除的函數。", + "Unable to create function '%s'./%s is the function that could not be created.": "無法建立函式 '%s'。", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "找不到函式 '%s' 的明確位置。", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "找不到類別或命名空間 '%s'。", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "'%s' 不支援此作業。", + "Unknown error.": "未知的錯誤。", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "請執行 'Select IntelliSense Configuration...' 命令以尋找您的系統標頭。", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "複製 '{0}' 的宣告", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "複製 '{0}' 的定義", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "將宣告/定義複製到剪貼簿已失敗: %s", + "Extract to function": "擷取至函式", + "Extract to free function": "擷取至自由函式", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "擷取至 '{0}' 中的成員函數", + "The selected text is not inside a function.": "選取的文字不在函式中。", + "The selected text cannot span different functions.": "選取的文字不得跨越不同的函式。", + "Variable '%s' is declared in the selected region and then used below it.": "選取的區域中已宣告變數 '%s',且在宣告後已使用該變數。", + "Preprocessor macro '%s' is used below the selected region.": "前置處理器巨集 '%s' 已用於以下選取的區域。", + "The selected region spans an inactive preprocessor block.": "選取的區域跨越非現用前置處理器區塊。", + "The selected region does not contain any code that can be extracted.": "選取的區域未包含任何可擷取的程式碼。", + "The selected region is not entirely within the function's body.": "選取的區域不完全在函式的主體內。", + "The selection contains IntelliSense errors.": "選取範圍包含 IntelliSense 錯誤。", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "'%s' 未在所選取的程式碼中宣告,但已遭修改。C 程式碼無法藉傳址傳回引數。", + "The function would have to return a value by reference. C code cannot return references.": "函式必須藉傳址傳回值。C 程式碼無法傳回參考。", + "Jumps between the selected code and the surrounding code are present.": "所選程式碼與周圍的程式碼之間存在跳躍。", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "在選取的程式碼中,有一些控制項路徑未設定傳回值便結束。只有純量、數值與指標傳回類型支援此作法。", + "Expand selection (to enable 'Extract to function')": "展開選取範圍 (以啟用 [擷取至函式])", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "在 compile_commands.json 檔案中找不到 \"{0}\"。將對此檔案改用資料夾 '{1}' 中 c_cpp_properties.json 的 'includePath'。", + "Generate Copilot summary": "產生 Copilot 摘要", + "Unable to index files from non-existent folder: {0}": "無法為以下不存在的資料夾中的檔案編製索引:{0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "C/C++ 擴充功能僅能與 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 及後續的 Microsoft 產品與服務搭配使用,以開發和測試您的應用程式。", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Microsoft C++ 語言伺服器", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "使用方式: {0} [選項]", + "Options:": "選項:", + "Show this help message and exit.": "顯示此說明訊息並結束。", + "Show version information and exit.": "顯示版本資訊並結束。", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "永久接受終端使用者授權合約 (EULA)。", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "請勿將 stderr 重新導向至 /dev/null (對偵錯很有幫助)。", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "起始互動登入 (需要 GitHub Copilot 訂閱)。", + "Force the login process, even if already authenticated.": "即使已驗證,仍強制登入程序。", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "若無法使用安全 Keychain,允許以純文字儲存認證。", + "Specify the directory for log files (default: system temp directory).": "指定記錄檔的目錄 (預設: 系統暫存目錄)。", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "將記錄詳細程度設定為從 0 (僅錯誤) 到 9 (詳細資訊)。", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "請將參數指定為絕對路徑,或相對於工作區根目錄或其 .github 資料夾。", + "Disable sending telemetry data.": "停用傳送遙測資料。", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "若要使用 GitHub 驗證,請複製代碼 {0},然後前往 {1}。正在等候授權...", + "Timed out waiting for authorization.": "等候授權時逾時。", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "已成功使用 GitHub 驗證。", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "GitHub 驗證成功,但無法儲存權杖。", + "Keyring error: {0}/{Locked=\"{0}\"}": "Keyring 錯誤: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "Keyring 集合已鎖定。請將其解除鎖定,或重新啟動 gnome-keyring-daemon。", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "沒有可用的 Keyring 服務。請安裝並啟動 gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "或透過傳遞 --login --allow-plaintext-secret-storage 以允許純文字儲存。", + "The device code has expired. Please try again.": "裝置代碼已過期。請再試一次。", + "Authorization was denied by the user.": "使用者拒絕授權。", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "輪詢期間發生未預期的錯誤: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "GitHub 登入失敗。請嘗試使用命令列中的 --login 進行登入。", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "必須接受 EULA 才能繼續。請使用 --accept-eula 執行。", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "已使用 GitHub 驗證。使用 --force-login 重新驗證。", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "初始化失敗: 不支援的設定版本。僅支援版本 1。", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "初始化失敗: 找不到設定檔 '{0}'。", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初始化失敗: 無法剖析設定檔 '{0}'。請確認 JSON 格式。錯誤: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "初始化失敗: 未設定 'repositoryPath' 或其無效。", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "初始化失敗: 必須設定 'compileCommands' 或 'cppProperties'。", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "初始化失敗: 無法同時設定 'compileCommands' 與 'cppProperties'。", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "初始化失敗: 找不到 'compileCommands' 路徑: '{0}'。", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "初始化失敗: 找不到 'cppProperties' 路徑: '{0}'。", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初始化失敗: 無法剖析 'cppProperties' 所指定的檔案: '{0}'。請確認 JSON 格式。錯誤: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "初始化失敗: 無法從 'cppProperties' 檔案讀取設定: '{0}'。請驗證結構描述。", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "初始化失敗: '{0}' 未包含有效的 'configurations' 陣列。", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初始化失敗: 在 'cppProperties' 檔案中找不到設定 '{0}': '{1}'。", + "Initialization failed: LSP config paths cache is missing.": "初始化失敗: 缺少 LSP 設定路徑快取。", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "找不到 libcurl ({0})。驗證與遙測需要 libcurl。", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "macOS 預設應提供 libcurl。若缺少,請透過下列命令安裝: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "安裝 libcurl: sudo apt install libcurl4 (Debian/Ubuntu) 或 sudo dnf install libcurl (Fedora/RHEL)。", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "已載入 libcurl,但缺少必要符號。這可能表示 libcurl 版本非常舊或不相容。語言伺服器必須搭配相容的 libcurl 才能運作。", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "找不到 libsecret-1.so.0 ({0})。安全認證儲存需要 libsecret。安裝 libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) 或 sudo dnf install libsecret (Fedora/RHEL)。", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "已載入 libsecret,但缺少必要符號。語言伺服器必須搭配相容的 libsecret 才能運作。", + "Failed to disable telemetry.": "無法停用遙測。", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "找不到方法: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "無法處理 IntelliSense,因為檔案與現有檔案具有相同的規範化路徑。URI: {0},規範化路徑: {1}", + "Initializing": "正在初始化", + "Initializing ({0} of {1})": "正在初始化 ({0}/{1})", + "Initializing ({0} of {1}): {2}": "正在初始化 ({0}/{1}): {2}", + "Initializing {0}": "正在初始化 {0}", + "Initializing projects": "正在初始化專案", + "Initializing projects ({0} of {1})": "正在初始化專案 ({0}/{1})", + "Initializing projects ({0} of {1}): {2}": "正在初始化專案 ({0}/{1}): {2}", + "Initializing projects {0}": "正在初始化專案 {0}", + "Checking for out of date files": "正在檢查過期檔案", + "Checking for out of date files ({0} of {1})": "正在檢查過期檔案 ({0}/{1})", + "Checking for out of date files ({0} of {1}): {2}": "正在檢查過期檔案 ({0}/{1}): {2}", + "Checking for out of date files {0}": "正在檢查過期檔案 {0}", + "Parsing files": "正在剖析檔案", + "Parsing files ({0} of {1})": "正在剖析檔案 ({0}/{1})", + "Parsing files ({0} of {1}): {2}": "正在剖析檔案 ({0}/{1}): {2}", + "Parsing files {0}": "正在剖析檔案 {0}", + "Parsing included files": "正在剖析包含的檔案", + "Parsing included files ({0} of {1})": "正在剖析包含的檔案 ({0}/{1})", + "Parsing included files ({0} of {1}): {2}": "正在剖析包含的檔案 ({0}/{1}): {2}", + "Parsing included files {0}": "正在剖析包含的檔案 {0}", + "Scanning #includes for more files": "正在掃描 #includes 以尋找更多檔案", + "Scanning #includes for more files ({0} of {1})": "正在掃描 #includes 以尋找更多檔案 ({0}/{1})", + "Scanning #includes for more files ({0} of {1}): {2}": "正在掃描 #includes 以尋找更多檔案 ({0}/{1}): {2}", + "Scanning #includes for more files {0} {1}": "正在掃描 #includes 以尋找更多檔案 {0} {1}", + "Ready (Updating external dependencies)": "就緒 (更新外部相依性)", + "Ready (Updating external dependencies) ({0} of {1})": "就緒 (正在更新外部相依性) ({0}/{1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "就緒 (正在更新外部相依性) ({0}/{1}): {2}", + "Ready (Updating external dependencies) {0}": "就緒 (正在更新外部相依性) {0}", + "Ready (Optimizing database)": "就緒 (正在最佳化資料庫)", + "Ready (Optimizing database) ({0} of {1})": "就緒 (正在最佳化資料庫) ({0}/{1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "就緒 (正在最佳化資料庫) ({0}/{1}): {2}", + "Ready (Optimizing database) {0}": "就緒 (正在最佳化資料庫) {0}", + "Creating Indexes": "正在建立索引", + "Creating Indexes ({0} of {1})": "正在建立索引 ({0}/{1})", + "Creating Indexes ({0} of {1}): {2}": "正在建立索引 ({0}/{1}): {2}", + "Creating Indexes {0}": "正在建立索引 {0}", + "Evaluating": "正在評估", + "Evaluating ({0} of {1})": "正在評估 ({0}/{1})", + "Evaluating ({0} of {1}): {2}": "正在評估 ({0}/{1}): {2}", + "Evaluating {0}": "正在評估 {0}", + "Indexing files": "正在編製索引檔案", + "Indexing files ({0} of {1})": "正在編製索引檔案 ({0}/{1})", + "Indexing files ({0} of {1}): {2}": "正在編製索引檔案 ({0}/{1}): {2}", + "Indexing files {0}": "正在編製索引檔案 {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "即使指定的 --lsp-config 檔案不存在,仍允許伺服器啟動。", + "Initialization failed during engine setup.": "引擎設定期間初始化失敗。", + "Important:": "重要:", + "Unknown OS platform": "未知的 OS 平台", + "Could not get ProductVersion from SystemVersion.plist": "無法從 SystemVersion.plist 取得 ProductVersion", + "Failed to find SystemVersion.plist in {0}.": "在 {0} 中找不到 SystemVersion.plist。", + "Refresh process list": "重新整理處理序清單", + "Attach to process": "附加至處理序", + "Select the process to attach to": "選取要附加至的目標處理序", + "Process not selected.": "未選取處理序。", + "{0} in debug configuration requires {1} and {2}": "偵錯組態中的 {0} 需要 {1} 和 {2}", + "Chosen debug configuration does not contain {0} or {1}": "選擇的偵錯組態未包含 {0} 或 {1}", + "Pipe transport failed to get OS and processes.": "管道傳輸無法取得 OS 和處理序。", + "Transport attach could not obtain processes list.": "傳輸附加無法取得處理序清單。", + "Failed to make GDB connection: \"{0}\".": "無法建立 GDB 連線: \"{0}\"。", + "Failed to parse processes: \"{0}\".": "無法剖析處理式: \"{0}\"。", + "Default Configuration": "預設組態", + "Select a configuration": "選取組態", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "只能在 Windows 上使用類型為 '{0}' 的偵錯工具。在目前的 OS 平台上使用類型 '{1}'。", + "The key '{0}' is deprecated. Please use '{1}' instead.": "金鑰 '{0}' 已淘汰。請改用 '{1}'。", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "找不到 lldb-mi 的 'LLDB.framework'。請安裝 XCode 或 XCode 命令列工具。", + "Launch configuration:": "啟動設定:", + "'deploySteps' require VS Code 1.69+.": "'deploySteps' 需要 VS Code 1.69+。", + "Running deploy steps...": "正在執行部署步驟...", + "Unable to find {0}. {1} task is ignored.": "找不到 {0}。已略過 {1} 工作。", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "找不到 {0} 偵錯工具。已略過 {1} 的偵錯組態。", + "build and debug active file": "建置及偵錯使用中的檔案", + "Apply Developer Environment": "套用開發人員環境", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} 需要 Visual Studio 開發人員環境。", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "更新開發人員環境", + "Cancel": "取消", + "The source code could not be built because the Visual Studio developer environment was not applied.": "由於未套用 Visual Studio 開發人員環境,原始程式碼無法建置。", + "The source code could not be built because the Visual C++ compiler could not be found.": "由於找不到 Visual C++ 編譯器,原始程式碼無法建置。", + "Missing dependency '{0}' for lldb-mi executable.": "缺少 lldb-mi 可執行檔的相依性 '{0}'。", + "Searched in:": "已在下列位置中搜尋:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "若要解決此問題,請透過 Apple App Store 安裝 XCode,或在終端機視窗中執行 '{0}' 以安裝 XCode 命令列工具。", + "Failed to use {0}. Reason: {1}": "無法使用 {0}。原因: {1}", + "Replacing {0} '{1}' with '{2}'.": "正在以 '{2}' 取代 {0} '{1}'。", + "Resolving variables in {0}...": "正在解析 {0} 中的變數...", + "Open {0}": "開啟 {0}", + "Recently Used Task": "最近使用的工作", + "Configured Task": "已配置的工作", + "Detected Task": "偵測到的工作", + "Cannot build and debug because the active file is not a C or C++ source file.": "因為作用中的檔案不是 C 或 C++ 來源檔案,所以無法建立和偵錯。", + "No compiler found": "找不到任何編譯器", + "Select a debug configuration": "選取偵錯組態", + "\"args\" in command deploy step must be an array.": "命令部署步驟中的 \"args\" 必須是陣列。", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "{0} 步驟中需要 \"host\"、\"files\" 和 \"targetDir\"。", + "\"files\" must be a string or an array of strings in {0} steps.": "\"files\" 必須是 {0} 步驟中的字串或字串陣列。", + "\"host\" and \"command\" are required for ssh steps.": "ssh 步驟中需要 \"host\" 和 \"command\"。", + "\"command\" is required for shell steps.": "殼層步驟需要 \"command\"。", + "Deploy step type {0} is not supported.": "不支援部署步驟類型 {0}。", + "Unexpected OS type": "未預期的 OS 類型", + "full path to pipe program such as {0}": "管道程式的完整路徑,例如 {0}", + "Enable pretty-printing for {0}": "啟用 {0} 的美化顯示", + "Set Disassembly Flavor to {0}": "將反組譯碼變體設為 {0}", + "enter program name, for example {0}": "輸入程式名稱,例如 {0}", + "Launch": "Launch", + "Launch with {0}.": "使用 {0} 啟動。", + "Attach": "連接", + "Attach with {0}.": "附加 {0}。", + "Pipe Launch": "管道啟動", + "Pipe Launch with {0}.": "使用 {0} 的管道啟動。", + "Pipe Attach": "管道附加", + "Pipe Attach with {0}.": "使用 {0} 的管道附加。", + "Launch with the Visual Studio C/C++ debugger.": "使用 Visual Studio C/C++ 偵錯工具啟動。", + "Attach to a process with the Visual Studio C/C++ debugger.": "使用 Visual Studio C/C++ 偵錯工具附加至處理序。", + "Bash on Windows Launch": "Windows 啟動上的 Bash", + "Launch in Bash on Windows using {0}.": "使用 {0} 在 Windows 上的 Bash 中啟動。", + "Bash on Windows Attach": "Windows 附加上的 Bash", + "Attach to a remote process running in Bash on Windows using {0}.": "使用 {0} 附加至在 Windows 上於 Bash 中執行的遠端處理序。", + "Debugger type '{0}' is not available for non-Windows machines.": "非 Windows 電腦無法使用偵錯工具類型 '{0}'。", + "Run Without Debugging is only supported for launch configurations.": "僅啟動設定才支援「執行但不進行偵錯」。", + "Add debug configuration is not available for single file.": "新增偵錯組態無法用於單一檔案。", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "無法修改 SSH 設定檔,因為剖析失敗「{0}」。", + "No valid SSH configuration file found.": "找不到有效的 SSH 設定檔。", + "Enter SSH Target Name": "輸入 SSH 目標名稱", + "Example: `mySSHTarget`": "範例: `mySSHTarget`", + "Enter SSH Connection Command": "輸入 SSH 連線命令", + "Example: `ssh hello@microsoft.com -A`": "範例: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "選取 SSH 設定檔", + "Yes": "是", + "No": "否", + "Are you sure you want to permanently delete \"{0}\"?": "您確定要永久刪除 \"{0}\" 嗎?", + "Operating system \"{0}\" not supported.": "不支援作業系統 \"{0}\"。", + "\"{0}\" timed out after {1} seconds.": "\"{0}\" 在 {1} 秒後逾時。", + "\"{0}\" canceled.": "\"{0}\" 已取消。", + "\"{0}\" exited with code: \"{1}\".": "\"{0}\" 已結束,出現代碼: {1}。", + "Failed to spawn \"{0}\".": "無法繁衍 \"{0}\"。", + "Ignoring non-parsable lines in {0} {1}: ": "正在忽略 {0} {1} 中無法剖析的行: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "找不到終端機模擬器。請將 $TERMINAL 環境變數設定為您所選擇的終端機模擬器,或安裝下列其中一項: x-terminal-emulator、gnome-terminal、konsole、xterm。", + "Select a compiler to configure for IntelliSense": "選取要設定 IntelliSense 的編譯器", + "How would you like to configure IntelliSense for the '{0}' folder?": "想如何為 '{0}' 資料夾設定 IntelliSense。", + "How would you like to configure IntelliSense for this folder?": "要如何為此資料夾設定 IntelliSense?", + "Found at {0}": "在 {0} 找到", + "Use {0}": "使用 {0}", + "configuration providers": "設定提供者", + "compilers": "編譯器", + "Select IntelliSense Configuration...": "選取 IntelliSense 設定...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "您尚未設定 IntelliSense。除非您自行加以設定,否則 IntelliSense 可能無法運作。", + "Select another compiler on my machine...": "在我的機器上選取另一個編譯器...", + "Help me install a compiler": "協助我安裝編譯器", + "Install a compiler": "安裝編譯器", + "Do not configure with a compiler (not recommended)": "不要設定編譯器 (不建議)", + "EPERM: Check permissions for '{0}'": "EPERM: 檢查 '{0}' 的權限", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "無法啟動 C/C + + 語言伺服器。將停用 IntelliSense 功能。錯誤: {0}", + "The language server crashed. Restarting...": "語言伺服器當機。正在重新啟動...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "語言伺服器在過去 3 分鐘內發生 5 次故障。將不會重新啟動。", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} 已變更為: {1}", + "Dismiss": "關閉", + "Disable Warnings": "停用警告", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} 無法提供 '{1}' 的 IntelliSense 組態資訊。將改用來自 '{2}' 組態的設定。", + "The requested configuration name is not found: {0}": "找不到要求的組態名稱: {0}", + "Unsupported client": "不支援的用戶端", + "Timed out in {0}ms.": "逾時 ({0} 毫秒內)。", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "已列舉 {0} 個檔案,並偵測到 {1} 個 C/C++ 來源檔案。您可能需要考慮排除某些檔案,以提升效能。", + "Learn More": "深入了解", + "Don't Show Again": "不要再顯示", + "Update IntelliSense time (sec): {0}": "更新 IntelliSense 時間 (秒): {0}", + "Custom configurations received:": "收到的自訂組態:", + "Custom browse configuration received: {0}": "收到的自訂瀏覽組態: {0}", + " Declaration/definition was copied.": "已複製宣告/定義。", + "Name the extracted function": "為擷取的函式命名", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "無法擷取至函式: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "無法擷取至函式。產生了無效編輯: '{0}'", + "Fix all code analysis problems": "修正所有程式碼分析問題", + "Clear all code analysis problems": "清除所有程式碼分析問題", + "Fix all {0} problems": "修正所有 {0} 問題", + "Disable all {0} problems": "停用所有 {0} 問題", + "Clear all {0} problems": "清除所有 {0} 問題", + "Clear this {0} problem": "清除此 {0} 問題", + "Fix this {0} problem": "修正此 {0} 問題", + "Show documentation for {0}": "顯示 {0} 的文件", + "IntelliSense mode {0} is incompatible with compiler path.": "IntelliSense 模式 {0} 與編譯器路徑不相容。", + "Processed c_cpp_properties.json in {0}s": "已於 {0} 秒內處理 c_cpp_properties.json", + "Failed to create \"{0}\"": "無法建立 \"{0}\"", + "Invalid configuration file. There must be at least one configuration present in the array.": "組態檔。陣列中至少必須有一個組態。", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "在 c_cpp_properties.json 中找到未知的版本號碼。某些功能可能無法如期運作。", + "Attempt to update \"{0}\" failed (do you have write access?)": "嘗試更新 \"{0}\" 失敗 (您有寫入權限嗎?)", + "Failed to parse \"{0}\"": "無法剖析 \"{0}\"", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "找不到具有空格的編譯器路徑。如果這是為了要包含編譯器引數,請以雙引號 ({0}) 括住編譯器路徑。", + "Cannot find: {0}": "找不到: {0}", + "Path is not a file: {0}": "路徑不是檔案: {0}", + "The include path validation took {0}s to evaluate": "包含路徑驗證耗費 {0} 秒來評估", + "Failed to resolve include path. Error: {0}": "無法解析包含路徑。錯誤: {0}", + "Do not add extra quotes around paths.": "請勿在路徑周圍新增額外的引號。", + "Path is not a directory: {0}": "路徑不是目錄: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} 重複。組態名稱應該是唯一的。", + "Path took {0}s to evaluate": "路徑耗費 {0} 秒來評估", + "Failed to resolve path {0}. Error: {1}": "無法解析路徑 {0}。錯誤: {1}", + "Multiple paths are not allowed.": "不允許使用多個路徑。", + "Multiple paths should be separate entries in an array.": "數位列中的多個路徑應為個別專案。", + "Paths are not directories: {0}": "路徑不是目錄: {0}", + "Error while retrieving result. Reason: {0}": "擷取結果時發生錯誤。原因: {0}", + "build active file": "建置使用中檔案", + "compiler:": "編譯器:", + "Task generated by Debugger.": "偵錯工具產生的工作。", + "Starting build...": "正在開始建置...", + "Build run was terminated.": "已終止建置執行。", + "Build finished with error(s).": "建置已完成,但發生錯誤。", + "Build finished with warning(s).": "建置已完成,但出現警告。", + "Build finished successfully.": "已成功完成建置。", + "No context provided": "未提供內容", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "“設定 Visual Studio 開發人員環境”命令僅可在 Windows 使用", + "A Visual Studio installation with the C++ compiler was not found": "找不到包含 C++ 編譯器的 Visual Studio 安裝", + "The operation was cancelled": "作業已取消", + "No hosts found": "找不到主機", + "Configuring developer environment...": "正在設定開發人員環境...", + "Select a Visual Studio installation": "選取 Visual Studio 安裝", + "Advanced options...": "進階選項...", + "Select a specific host and target architecture, toolset version, etc.": "選取特定主機和目標結構、工具集版本等。", + "Select a toolset version": "選取工具集版本", + "Select a host and target architecture": "選取主機和目標結構", + "Something went wrong: {0}": "發生錯誤: {0}", + "{0} developer environment for {1}": "{1} 的 {0} 開發人員環境", + "Default environment for {0}": "{0} 的預設環境", + "host = {0}, target = {1}": "host = {0}, target = {1}", + "Learn how to install a library for this header with vcpkg": "了解如何使用 vcpkg 安裝此標頭的程式庫", + "Copy vcpkg command to install '{0}' to the clipboard": "將用於安裝 '{0}' 的 vcpkg 命令複製到剪貼簿", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "當 `C_Cpp.intelliSenseEngine` 設為 `disabled` 時,無法執行IntelliSense 的相關命令。", + "client not found": "找不到用戶端", + "OK": "確定", + "The clang compiler will now be installed": "現在將安裝 clang 編譯器", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "系統可能會提示您在 VS Code 終端機視窗中輸入密碼以授權安裝。", + "The gcc compiler will now be installed": "現在將安裝 GCC 編譯器", + "Open a folder first to select a configuration.": "先開啟資料夾以選取設定。", + "Open a folder first to select a configuration provider.": "先開啟資料夾以選取設定提供者。", + "Open a folder first to edit configurations": "先開啟資料夾以編輯組態", + "The code analysis fix could not be applied because the document has changed.": "無法套用程式碼分析修正,因為文件已變更。", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "已可使用 C/C++ 延伸模組的發行前版本。您要切換到此版本嗎?", + "Copilot summary is not available.": "Copilot 摘要無法使用。", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "包含此符號定義或宣告的檔案已排除,無法搭配 Copilot 使用。", + "Copilot summary is not available for this symbol.": "此符號無法使用 Copilot 摘要。", + "An error occurred while generating Copilot summary.": "產生 Copilot 摘要時發生錯誤。", + "Duplicate multiline comment patterns detected.": "偵測到重複的多行註解模式。", + "Error while retrieving the project context. Reason: {0}": "擷取項目內容時發生錯誤。原因: {0}", + "Error while retrieving the #cpp context.": "擷取 #cpp 內容時發生錯誤。", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0},{1}", + "Find All References": "尋找所有參考", + "Peek References": "瞄核參考", + "Rename": "重新命名", + "Call Hierarchy": "呼叫階層圖", + "CONFIRMED REFERENCE": "已確認參考", + "CONFIRMATION IN PROGRESS": "正在確認", + "COMMENT REFERENCE": "註解參考", + "STRING REFERENCE": "字串參考", + "INACTIVE REFERENCE": "非使用中的參考", + "CANNOT CONFIRM REFERENCE": "無法確認參考", + "NOT A REFERENCE": "不是參考", + "Confirmed reference": "已確認參考", + "Confirmation in progress": "正在確認", + "Comment reference": "註解參考", + "String reference": "字串參考", + "Inactive reference": "非使用中的參考", + "Cannot confirm reference": "無法確認參考", + "Not a reference": "不是參考", + "CONFIRMATION CANCELED": "已取消確認", + "Confirmation canceled": "已取消確認", + "To preview results, click the search icon in the status bar.": "若要預覽結果,請按一下狀態列中的搜尋圖示。", + "Started.": "已啟動。", + "Processing source.": "正在處理來源。", + "Searching files.": "正在搜尋檔案。", + "{0}/{1} files searched.{2}": "已搜尋 {0}/{1} 個檔案。{2}", + "{0}/{1} files confirmed.{2}": "已確認 {0}/{1} 個檔案。{2}", + "C/C++ Peek References": "C/C++ 瞄核參考", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[警告] 因為啟動 {0} 時工作區處於未完成狀態,所以可能缺少部分參考。", + "Go to reference": "移至參考", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "程式碼格式設定使用來自 .editorconfig 的設定,而不是 .clang-format 格式。如需詳細資訊,請參閱 'C_Cpp.formatting' 設定之 'default' 值的文件。", + "C/C++ Configurations": "C/C++ 設定", + "IntelliSense: Updating": "IntelliSense: 更新中", + "IntelliSense: Ready": "IntelliSense: 就緒", + "Initializing Workspace": "正在初始化工作區", + "Indexing Workspace": "索引工作區", + "Parsing Workspace": "剖析工作區", + "Parsing Workspace: Paused": "剖析工作區: 已暫停", + "Parsing Complete": "剖析完成", + "Rescan Workspace": "重新掃描工作區", + "Parsing Open Files": "剖析開啟的檔案", + "Code Analysis: Running": "程式碼分析: 執行中", + "Code Analysis: Paused": "程式碼分析: 已暫停", + "Code Analysis Mode: ": "程式碼分析模式: ", + "click to preview results": "按一下以預覽結果", + "Configure IntelliSense": "設定 IntelliSense", + "C/C++ IntelliSense Status": "C/C++ IntelliSense 狀態", + "Rescan": "重新掃描", + "Rescan IntelliSense": "重新掃描 IntelliSense", + "C/C++ Tag Parser Status": "C/C++ 標記剖析器狀態", + "Initializing...": "正在初始化...", + "Resume": "繼續", + "Pause": "暫停", + "C/C++ Code Analysis Status": "C/C++ 程式碼分析狀態", + "Run Now": "立即執行", + "Automatic": "自動", + "Manual": "手動", + "Options": "選項", + "Starting...": "正在啟動...", + "Running: {0} / {1} ({2}%)": "正在執行: {0} / {1} ({2}%)", + "Select a code analysis command...": "選取程式碼分析命令...", + "Start Another...": "啟動另一個...", + "Select a command...": "選取命令...", + "Run Code Analysis on Active File": "在使用中檔案上執行程式碼分析", + "Run Code Analysis on All Files": "在所有檔案上執行程式碼分析", + "Run Code Analysis on Open Files": "在開啟檔案上執行程式碼分析", + "C/C++ References Status": "C/C++ 參考狀態", + "C/C++ Configuration": "C/C++ 組態", + "C/C++ Configure IntelliSense": "C/C++ 設定 IntelliSense", + "Select a Configuration...": "選取組態...", + "Edit Configurations (UI)": "編輯組態 (UI)", + "Edit Configurations (JSON)": "編輯組態 (JSON)", + "Select a Configuration Provider...": "選取組態提供者...", + "active": "使用中", + "none": "無", + "Disable the active configuration provider, if applicable.": "如果適用,停用現有組態提供者。", + "Select a workspace folder...": "選取工作區資料夾...", + "Failed to connect to {0}": "無法連線至 {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "\"localSocket\" 不能同時與 \"bindAddress\" 或 \"port\" 在 localForwards 中指定", + "\"port\" or \"localSocket\" required in localForwards": "localForwards 中需要 \"port\" 或 \"localSocket\"", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "\"remoteSocket\" 不能同時與 \"host\" 或 \"hostPort\" 在 localForwards 中指定", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "localForwards 中需要 \"host\" 和 \"hostPort\" 或 \"remoteSocket\"", + "SSH command canceled": "SSH 命令已取消", + "Enter passphrase for ssh key {0}": "輸入 ssh 金鑰 {0} 的複雜密碼", + "Enter password for user \"{0}\"": "輸入使用者 \"{0}\" 的密碼", + "Enter password": "輸入密碼", + "Are you sure you want to continue?": "您確定要繼續嗎?", + "\"{0}\" has fingerprint \"{1}\".": "「{0}」具有指紋「{1}」。", + "Continue": "繼續", + "\"{0}\" terminal command canceled.": "\"{0}\" 終端命令已取消。", + "\"{0}\" terminal command done.": "\"{0}\" 終端命令完成。", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "工作 '{0}' 已取消,但可能無法終止基礎命令。請手動檢查。", + "\"{0}\" process failed: {1}": "\"{0}\" 程序已失敗: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" 將資料寫入終端: \"{1}\"。", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "找不到 SSH 的使用者資訊。這可能是因為使用 'snap' 安裝 VS Code 的關係。如果您計劃使用 SSH 功能,請使用 'deb' 套件重新安裝 VS Code。", + "Failed to parse SSH configuration file {0}: {1}": "無法剖析 SSH 設定檔 {0}: {1}", + "Failed to read file {0}.": "無法讀取檔案 {0}。", + "Failed to write to file {0}.": "無法寫入檔案 {0}。", + "Inline macro is not available at this location.": "無法在此位置使用內嵌巨集。", + "AI-generated content may be incorrect.": "AI 產生的內容可能不正確。", + "Invalid identifier provided for the Rename Symbol operation.": "為重新命名符號作業提供的識別碼無效。", + "A definition for the selected symbol could not be located.": "找不到所選符號的定義。", + "No SSH targets": "沒有 SSH 目標", + "Active SSH target selection cancelled.": "已取消選取使用中的 SSH 目標。", + "{0} Add New SSH Target...": "{0} 新增 SSH 目標...", + "Select an SSH target": "選取 SSH 目標", + "[Active]": "[使用中]" +} diff --git a/Extension/i18n/csy/bundle.l10n.json b/Extension/i18n/csy/bundle.l10n.json new file mode 100644 index 000000000..2c2822b46 --- /dev/null +++ b/Extension/i18n/csy/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Nepovedlo se parsovat soubor json, pravděpodobně kvůli komentářům nebo čárkám na konci.", + "The C/C++ extension is still installing. See the output window for more information.": "Rozšíření C/C++ se stále instaluje. Další informace najdete v okně výstupu.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Informace o řešení problémů najdete v {0}. Problémy se dají vytvořit v {1}.", + "Process exited with code {0}": "Proces byl ukončen s kódem {0}", + "Process executed successfully.": "Proces byl úspěšně proveden.", + "Killing process {0}": "Ukončuje se proces {0}", + "Warning: Expected file {0} is missing.": "Upozornění: Chybí očekávaný soubor {0}.", + "Warning: Debugging has not been tested for this platform.": "Upozornění: Ladění se pro tuto platformu netestovalo.", + "Reload the workspace for the settings change to take effect.": "Načtěte pracovní prostor znovu, aby se změna nastavení projevila.", + "Reload": "Načíst znovu", + "Custom configuration provider '{0}' registered": "Zaregistroval se vlastní poskytovatel konfigurací {0}.", + "Reached max string expansion recursion. Possible circular reference.": "Dosáhlo se maximální rekurze rozšiřování řetězce. Možná vznikl cyklický odkaz.", + "Invalid variable reference {0} in string: {1}.": "Neplatný odkaz na proměnnou {0} v řetězci: {1}", + "Environment variable {0} not found": "Proměnná prostředí {0} se nenašla", + "Commands are not supported for string: {0}.": "Pro řetězec se nepodporují příkazy: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Výjimka při provádění příkazu {0} pro řetězec: {1} {2}.", + "C/C++ Diagnostics": "Diagnostika C/C++", + "C/C++ Crash Call Stacks": "Zásobníky volání chyb C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Došlo k chybovému ukončení procesu rozšíření C/C++. Název chybového procesu, datum a čas, signál a zásobník volání jsou níže. Bylo by užitečné je zahrnout do zprávy o chybě na {0}.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "Protokol ladění C/C++", + "C/C++ Configuration Warnings": "Upozornění konfigurace C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Verze rozšíření C/C++ novější než {0} vyžadují alespoň verzi macOS {1}.", + "intelliSenseEngine is disabled": "IntelliSenseEngine je zakázané.", + "More Info": "Další informace", + "Ignore": "Ignorovat", + "The C/C++ extension installed does not match your system.": "Nainstalované rozšíření C/C++ neodpovídá vašemu systému.", + "The C/C++ extension installed is compatible with but does not match your system.": "Nainstalované rozšíření C/C++ je kompatibilní s vaším systémem, ale neodpovídá mu.", + "Searching include path...": "Prohledává se cesta pro vložené soubory...", + "Include file not found in browse.path.": "Soubor, který se má zahrnout, se nenašel v browse.path.", + "Edit \"browse.path\" setting": "Upravit nastavení browse.path", + "Add to \"includePath\": {0}": "Přidat do „includePath“: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Přidat: {0}", + "Edit \"includePath\" setting": "Upravit nastavení includePath", + "Disable error squiggles": "Zakázat podtržení chyb vlnovkou", + "Enable all error squiggles": "Povolit všechna podtržení chyb vlnovkou", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "Zjistily se chyby direktivy #include. Aktualizujte prosím includePath. Podtrhávání vlnovkou je pro tuto jednotku překladu ({0}) zakázané.", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Zjistily se chyby direktivy #include. Aktualizujte prosím includePath. Funkce IntelliSense pro tuto jednotku překladu ({0}) poskytne analyzátor značek.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Zjistily se chyby direktivy #include. Zvažte možnost aktualizovat soubor compile_commands.json nebo includePath. Funkce IntelliSense pro tuto jednotku překladu ({0}) poskytne analyzátor značek.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "{0} se nepovedlo parsovat. Použijí se místo toho includePath ze souboru c_cpp_properties.json ve složce {1}.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "{0} se nepovedlo najít. Použijí se místo toho includePath ze souboru c_cpp_properties.json ve složce {1}.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "{0} se v {1} nenašlo. Pro tento soubor se místo toho použije includePath ze souboru c_cpp_properties.json ve složce {2}.", + "The IntelliSense database was successfully reset.": "Databáze IntelliSense se úspěšně resetovala.", + "Failed to send response to client: {0}": "Nepovedlo se poslat odpověď klientovi: {0}", + "Failed to read response from server: {0}": "Nepovedlo se přečíst odpověď ze serveru: {0}", + "Failed to send request to server: {0}": "Nepovedlo se poslat požadavek serveru: {0}", + "Unexpected error while waiting for requests: {0}": "Při čekání na požadavky došlo k neočekávané chybě: {0}", + "{0} errored with: {1}": "V {0} došlo k chybě: {1}", + "Failed to open the file {0}": "Nepovedlo se otevřít soubor {0}.", + "Failed to query default include paths and defines for {0}.": "Nepovedlo se dotázat na výchozí cesty pro vložené soubory a direktivy define pro {0}.", + "Failed calling {0}": "Nepovedlo se zavolat {0}.", + "Quick info operation failed: {0}": "Operace Rychlé informace neproběhla úspěšně: {0}", + "Failed to create IntelliSense client: {0}": "Nepovedlo se vytvořit klienta IntelliSense: {0}", + "Failed to spawn IntelliSense process: {0}": "Nepovedlo se vygenerovat proces IntelliSense: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Při volání browse_engine_update_thread.join() došlo k chybě: {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Soubor ({0}) se v editoru už otevřel, ale s jinými velkými a malými písmeny. Funkce IntelliSense budou pro tuto kopii soubory zakázané.", + "IntelliSense client has disconnected from the server - {0}": "Klient IntelliSense se odpojil od serveru – {0}", + "Formatting failed:": "Formátování neproběhlo úspěšně:", + "Unable to add file to database, error = {0}: {1}": "Nepovedlo se přidat soubor do databáze, chyba = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Nepovedlo se resetovat časové razítko během přerušení, chyba = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Nepovedlo se aktualizovat časové razítko, chyba = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Nepovedlo se dokončit aktualizace pro soubor, chyba = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} není adresář (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "Nepovedlo se získat informace o souborovém systému pro {0}. chyba = {1}", + "{0} is not a directory": "{0} není adresář.", + "File discovery was aborted": "Zjišťování souborů se přerušilo.", + "Aborting tag parse of {0} and dependencies": "Přerušuje se parsování značek {0} a závislostí.", + "Aborting tag parse at root": "Parsování značek v kořenu se přerušuje.", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Nepovedlo se načíst záznamy databáze pro resetování časových razítek: chyba = {0}", + "Failed to reset timestamp for {0}: error = {1}": "Nepovedlo se resetovat časové razítko pro {0}: chyba = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Nenašel se žádný vhodný kompilátor. Nastavte prosím compilerPath v souboru c_cpp_properties.json.", + "Compiler include path not found: {0}": "Nenašla se cesta kompilátoru pro vložené soubory: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "Modul IntelliSense neodpovídá. Používá se místo něj analyzátor značek.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Analyzátor značek se bude používat pro operace IntelliSense v: {0}", + "Error squiggles will be disabled in: {0}": "Podtrhávání chyb vlnovkou se zakáže v: {0}", + "Processing folder (non-recursive): {0}": "Zpracovává se složka (bez rekurze): {0}", + "Processing folder (recursive): {0}": "Zpracovává se složka (s rekurzí): {0}", + "File exclude: {0}": "Vyloučení souboru: {0}", + "Search exclude: {0}": "Vyloučení z hledání: {0}", + "Discovering files: {0} file(s) processed": "Zjišťují se soubory: počet zpracovaných souborů: {0}", + "{0} file(s) removed from database": "Počet souborů odebraných z databáze: {0}", + "Parsing: {0} files(s) processed": "Parsování: počet zpracovaných souborů: {0}", + "Shutting down IntelliSense server: {0}": "Vypíná se server IntelliSense: {0}", + "Resetting IntelliSense server: {0}": "Resetuje se server IntelliSense: {0}", + "Code browsing service initialized": "Služba procházení kódu se inicializovala.", + "Folder: {0} will be indexed": "Složka {0} se bude indexovat.", + "Populate include completion cache.": "Vyplnit mezipaměť dokončování direktiv include", + "Discovering files...": "Zjišťují se soubory...", + "Done discovering files.": "Zjišťování souborů se dokončilo.", + "Parsing open files...": "Parsují se otevřené soubory...", + "Done parsing open files.": "Parsování otevřených souborů se dokončilo.", + "Parsing remaining files...": "Parsují se zbývající soubory...", + "Done parsing remaining files.": "Parsování zbývajících souborů se dokončilo.", + "Using configuration: \"{0}\"": "Používá se konfigurace: {0}", + "{0} include path suggestion(s) discovered.": "Počet zjištěných návrhů cest pro vložené soubory: {0}", + "Checking for syntax errors: {0}": "Kontrolují se chyby syntaxe: {0}", + "IntelliSense Engine = {0}.": "Modul IntelliSense = {0}", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "Když nebude možné přeložit direktivy #includes, rozšíření pro IntelliSense použije analyzátor značek.", + "Autocomplete is enabled.": "Automatické dokončování je povolené.", + "Autocomplete is disabled.": "Automatické dokončování je zakázané.", + "Hover is enabled.": "Najetí myší je povolené.", + "Hover is disabled.": "Najetí myší je zakázané.", + "Enhanced Colorization is enabled.": "Vylepšené barvení je povolené.", + "Error squiggles are disabled.": "Podtrhávání chyb vlnovkou je zakázané.", + "Error squiggles are enabled.": "Podtrhávání chyb vlnovkou je povolené.", + "Error squiggles are enabled if all header dependencies are resolved.": "Podtrhávání chyb vlnovkou se povolí, když se přeloží všechny závislosti hlaviček.", + "Replaced placeholder file record": "Nahradil se záznam souboru zástupného symbolu.", + "tag parsing file: {0}": "analyzují se značky v souboru: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "chyba analýzy značka (toto lze ignorovat, pokud se nedají najít symboly):", + "Reset time stamp for {0}": "Resetovat časové razítko pro {0}", + "Failed to remove file: {0}": "Nepovedlo se odebrat soubor: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Chyba parsování regulárního výrazu – vzor VS Code: {0}, regulární výraz: {1}, chybová zpráva: {2}", + "terminating child process: {0}": "ukončuje se podřízený proces: {0}", + "still alive, killing...": "stále běží, ukončuje se...", + "giving up": "ukončují se pokusy", + "not exited yet. Will sleep for {0} milliseconds and try again.": "Proces se ještě neukončil. Počká se {0} ms a proběhne nový pokus.", + "Failed to spawn process. Error: {0} ({1})": "Nepovedlo se vygenerovat proces. Chyba: {0} ({1})", + "Offering completion": "Nabízí se dokončení.", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Probíhá pokus získat výchozí hodnoty od kompilátoru nalezeného na počítači: {0}", + "Unable to resolve include path: {0}": "Nepovedlo se přeložit cestu pro vložené soubory: {0}", + "Error searching for IntelliSense client: {0}": "Při hledání klienta IntelliSense došlo k chybě: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "Klient IntelliSense není k dispozici, pro Rychlé informace se používá analyzátor značek.", + "using Tag Parser for quick info": "pro rychlé informace se používá Tag Parser", + "Closing the communication channel.": "Uzavírá se komunikační kanál.", + "sending compilation args for {0}": "posílají se argumenty kompilace pro {0}", + "include: {0}": "zahrnout: {0}", + "framework: {0}": "architektura: {0}", + "define: {0}": "definovat: {0}", + "preinclude: {0}": "zahrnout předem: {0}", + "other: {0}": "jiné: {0}", + "sending {0} changes to server": "následující počet změn se posílá na server: {0}", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Neplatná instance otevřeného souboru. Pro soubor {0} se ignoruje zpráva IntelliSense.", + "idle loop: reparsing the active document": "čekací cyklus: aktivní dokument se znovu parsuje", + "IntelliSense client is currently disconnected": "Klient IntelliSense je v tuto chvíli odpojený.", + "Request canceled: {0}": "Žádost se zrušila: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "Klient IntelliSense není k dispozici, pro přechod k definici se používá analyzátor značek.", + "Error squiggle count: {0}": "Počet podtržení chyb vlnovkou: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Do fronty se zařazuje aktualizace IntelliSense pro soubory v jednotce překladu: {0}", + "Formatting document: {0}": "Formátuje se dokument: {0}", + "Formatting input:": "Formátuje se vstup:", + "Formatting raw output:": "Formátuje se nezpracovaný výstup:", + "Formatting diffed output before cursor:": "Formátuje se rozdílový výstup před kurzorem:", + "Formatting diffed output after cursor:": "Formátuje se rozdílový výstup za kurzorem:", + "Formatting diffed output:": "Formátuje se rozdílový výstup:", + "Disable inactive region colorization": "Zakázat barvení neaktivních oblastí", + "Error limit exceeded, {0} error(s) not reported.": "Dosáhlo se limitu chyb, následující počet chyb se neohlásil: {0}", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "Zjistily se chyby direktivy #include. Zvažte možnost aktualizovat soubor compile_commands.json nebo includePath. Podtrhávání vlnovkou je pro tuto jednotku překladu ({0}) zakázané.", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "Databázi IntelliSense se nepovedlo resetovat. Pokud ji chcete resetovat ručně, zavřete všechny instance VS Code a pak odstraňte tento soubor: {0}", + "Formatting failed. See the output window for details.": "Formátování neproběhlo úspěšně. Podrobnosti najdete v okně výstupu.", + "Populating include completion cache.": "Vyplňuje se mezipaměť dokončování direktiv include", + "Discovering files: {0}": "Zjišťují se soubory: {0}", + "Parsing open files": "Parsují se otevřené soubory.", + "Tag parser initializing": "Inicializuje se analyzátor značek.", + "Workspace parsing paused": "Analýza pracovního prostoru se pozastavila.", + "Parsing workspace files: {0}": "Analýza souborů pracovního prostoru: {0}", + "Discovering files: {0} / {1} ({2}%)": "Zjišťují se soubory: {0}/{1} ({2} %)", + "Parsing workspace files: {0} / {1} ({2}%)": "Analýza souborů pracovního prostoru: {0} / {1} ({2} %)", + "Can't find or run process_name": "Nedá se najít nebo spustit process_name.", + "Child exec failed {0}": "Nepovedlo se spustit podřízený proces {0}.", + "Could not communicate with child process!": "Nepovedlo se komunikovat s podřízeným procesem!", + "{0} failed": "Neúspěšné: {0}", + "Failed to set {0} flag": "Nepovedlo se nastavit příznak {0}.", + "Unable to create {0}!": "Nejde vytvořit {0}!", + "Failed to set stdin {0} flag": "Nepovedlo se nastavit příznak stdin {0}.", + "Failed to set stdout {0} flag": "Nepovedlo se nastavit příznak stdout {0}.", + "Failed to set stderr {0} flag": "Nepovedlo se nastavit příznak stderr {0}.", + "Unable to start child process!": "Nejde spustit podřízený proces!", + "Timed out attempting to communicate with process!": "Při pokusu komunikovat s procesem vypršel časový limit!", + "Process has failed to run": "Proces se nepovedlo spustit.", + "Specified compiler was not found: {0}": "Zadaný kompilátor se nenašel: {0}", + "Config data invalid, {0}": "Neplatná data konfigurace, {0}", + "CMake executable not found at {0}": "Spustitelný soubor CMake se v místě {0} nenašel.", + "No args provider": "Žádný zprostředkovatel argumentů", + "Invalid file path {0}": "Neplatná cesta k souboru: {0}", + "Can't create IntelliSense client for {0}": "Nejde vytvořit klienta IntelliSense pro {0}.", + "declaration": "deklarace", + "type alias": "alias typu", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Kompilátor nepodporuje 64 bitů. Probíhá návrat k 32bitovému režimu intelliSenseMode.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Kompilátor nepodporuje 32 bitů. Probíhá návrat k 64bitovému režimu intelliSenseMode.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Nepovedlo se poslat dotaz na kompilátor. Probíhá návrat k 32bitovému režimu intelliSenseMode.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Nepovedlo se poslat dotaz na kompilátor. Probíhá návrat k 64bitovému režimu intelliSenseMode.", + "Failed to query compiler. Falling back to no bitness.": "Nepovedlo se poslat dotaz na kompilátor. Probíhá návrat k režimu bez bitové verze.", + "IntelliSense client creation aborted: {0}": "Vytváření klienta IntelliSense se přerušilo: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Na základě informací z nastavení configurationProvider se zjistily chyby direktivy #include. Funkce IntelliSense pro tuto jednotku překladu ({0}) bude poskytovat Tag Parser.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Na základě informací z nastavení configurationProvider se zjistily chyby direktivy #include. Pro tuto jednotku překladu ({0}) se zakázaly vlnovky.", + "preprocessor keyword/Refers to C/C++ processor keywords": "klíčové slovo preprocesoru", + "C keyword": "Klíčové slovo jazyka C", + "C++ keyword": "Klíčové slovo jazyka C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+1 přetížení", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "+%d přetížení", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+1 specializace", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "+tento počet specializací: %d", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Poznámka: IntelliSense není plně nakonfigurované. K dokončení konfigurace použijte možnost Vybrat konfiguraci IntelliSense.", + "Select an IntelliSense configuration to locate system headers": "Vyberte konfiguraci IntelliSense pro vyhledání systémových hlaviček.", + "Expands to:": "Rozšiřuje se na:", + "Attention:": "Upozornění:", + "Author:": "Autor:", + "Authors:": "Autoři:", + "Bug:": "Chyba:", + "Copyright:": "Autorská práva:", + "Deprecated:": "Zastaralé:", + "Date:": "Datum:", + "Details:": "Podrobnosti:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Výjimky:", + "Invariant:": "Invariantní:", + "File:": "Soubor:", + "Note:": "Poznámka:", + "Parameters:": "Parametry:", + "Precondition:": "Předpoklad:", + "Postcondition:": "Následná podmínka:", + "Remark:": "Komentář:", + "Remarks:": "Poznámky:", + "Result:": "Výsledek:", + "Return:": "Vrátit:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Vrací:", + "See also:": "Další informace:", + "Since:": "Od:", + "Template Parameters:": "Parametry šablony:", + "Test:": "Test:", + "TODO:": "TODO:", + "Version:": "Verze:", + "Warning:": "Upozornění:", + "Compiler query command line: {0}": "Příkazový řádek sondy kompilátoru: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C ve vlastnosti compilerPath: {0}", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C++ ve vlastnosti compilerPath: {0}", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C v souboru compile_commands.json: {0}", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C++ v souboru compile_commands.json: {0}", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1}.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1}.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Pro zdrojové soubory jazyka C se cStandard změnil z {0} na {1}.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Pro zdrojové soubory jazyka C++ se cppStandard změnil z {0} na {1}.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1} a cStandard se změnil z {2} na {3}.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1} a cppStandard se změnil z {2} na {3}.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pro zdrojové soubory jazyka C se cStandard změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pro zdrojové soubory jazyka C++ se cppStandard změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1} a cStandard se změnil z {2} na {3}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {4}", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1} a cppStandard se změnil z {2} na {3}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {4}", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Nepovedlo se přeložit konfiguraci s vlastností compilerPath {0}. Místo toho se použije {1}.", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Nepovedlo se přeložit konfiguraci s vlastností compilerPath: {0}", + "Skipping query of compiler due to explicitly empty compilerPath": "Vynechává se dotaz na kompilátor kvůli explicitně prázdné vlastnosti compilerPath.", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "Je zadaný režim intelliSenseMode MSVC. Probíhá konfigurace pro kompilátor cl.exe.", + "Unable to configure for compiler cl.exe.": "Konfigurace pro kompilátor cl.exe nebyla úspěšná.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Probíhá dotazování na výchozí cíl kompilátoru pomocí příkazového řádku: „{0}“ {1}", + "Compiler returned default target value: {0}": "Kompilátor vrátil výchozí hodnotu cíle: {0}", + "Querying compiler for default C language standard using command line: {0}": "Probíhá dotazování kompilátoru na výchozí standard jazyka C pomocí příkazového řádku: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Probíhá dotazování kompilátoru na výchozí standard jazyka C++ pomocí příkazového řádku: {0}", + "Detected language standard version: {0}": "Zjištěná verze standardu jazyka: {0}", + "Unhandled default compiler target value detected: {0}": "Zjistila se neošetřená výchozí hodnota cíle kompilátoru: {0}", + "Unhandled target argument value detected: {0}": "Zjistila se neošetřená hodnota cílového argumentu: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Vypíná se server technologie IntelliSense: {0}. Využití paměti je {1} MB a překročilo limit {2} MB.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Nepovedlo se dotázat kompilátor na cestě {0} na výchozí standardní verze. Dotazování je pro tento kompilátor zakázané.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "Dotaz na kompilátor vrátil nerozpoznanou standardní verzi jazyka. Místo ní se použije nejnovější podporovaná verze.", + "IntelliSense process crash detected.": "Zjistilo se chybové ukončení procesu IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "Zjistilo se chybové ukončení procesu IntelliSense: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Návratové hodnoty:", + "Unable to locate nvcc compiler: {0}": "Nepovedlo se najít kompilátor nvcc: {0}", + "Unable to locate nvcc host compiler: {0}": "Nepovedlo se najít kompilátor hostitele nvcc: {0}", + "Invoking nvcc with command line: {0}": "Volá se nvcc pomocí příkazového řádku: {0}", + "Unable to find host compile command in output of nvcc.": "Ve výstupu nástroje nvcc se nepovedlo najít příkaz pro kompilaci hostitele.", + "Unable to locate forced include: {0}": "Nepovedlo se najít vynuceně zahrnované soubory: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Vložit makro", + "Unable to access browse database. ({0})": "Nedá se získat přístup k procházení databáze. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "Režim IntelliSenseMode se změnil, protože neodpovídá zjištěnému kompilátoru. Zvažte místo toho nastavení \"compilerPath\". Nastavte \"compilerPath\" na \"\", aby byla zakázána detekce systémových parametrů include a define.", + "Remove all code analysis problems": "Odebrat všechny problémy s analýzou kódu", + "(Multiple locations)": "Víc umístění", + "Folder": "Složka", + "File": "Soubor", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Kompilátor vrátil standardní verzi výchozího jazyka: {0}. Protože je tato verze stará, pokusí se použít novější verzi {1} jako výchozí.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Neočekávaný výstup z clang-tidy: {0}. Očekáváno: {1}.", + "Generate Doxygen comment": "Vygenerovat komentář Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Vytvořit deklaraci funkce {0} v souboru {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Vytvořit definici {0} v souboru {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "Definice funkce {0} nebyla nalezena.", + "Attributes/'Attributes' is a C++ specifier.": "Atributy", + "Bases/'Bases' are a C++ class type.": "Základy", + "Classes": "Třídy", + "CoClasses": "CoClasses", + "Delegates": "Delegáti", + "Enums": "Výčty", + "Events": "Události", + "Functions": "Funkce", + "Import directives": "Direktivy import", + "ImportLib statements": "Příkazy ImportLib", + "Import statements": "Příkazy import", + "Include directives": "Direktivy include", + "Interfaces": "Rozhraní", + "Libraries": "Knihovny", + "Macros": "Makra", + "Maps": "Mapy", + "Map entries": "Položky mapování", + "Miscellaneous": "Různé", + "Namespaces": "Obory názvů", + "Parameters": "Parametry", + "Properties": "Vlastnosti", + "Structs": "Struktury", + "TODO: insert return statement here": "TODO: Sem vložte příkaz return.", + "Typedefs": "Definice Typedef", + "Unions": "Sjednocení", + "Using aliases": "Aliasy using", + "Using directives": "Direktivy using", + "Variables": "Proměnné", + "Automatic add function": "Automaticky přidat funkci", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual je redundantní a nesmí být zadána s vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod nemůže být statická.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Neplatný soubor C/C++: %s", + "File name too long: '%s'./%s is the file that has a long name.": "Název souboru je příliš dlouhý: %s", + "Cannot create file '%s'./%s is the file that could not be created.": "Soubor %s nejde vytvořit.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "K adresáři nebo souboru %s nejde získat přístup pro zapisování.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Neplatná cesta k souboru: %s", + "File '%s' was not found./%s is the file that was not found.": "Soubor '%s' nebyl nalezen.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Vytvoření deklarace nebo definice se nepovedlo: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Funkci %s nejde vytvořit. Vytváření výchozích nebo odstraněných funkcí se nepodporuje.", + "Unable to create function '%s'./%s is the function that could not be created.": "Funkce %s se nedá vytvořit.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Jednoznačné umístění funkce %s se nedá najít.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Nenašla se třída nebo obor názvů %s.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "Operace není pro: %s podporovaná.", + "Unknown error.": "Neznámá chyba.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Spusťte prosím příkaz Vybrat konfiguraci IntelliSense, abyste vyhledali systémové hlavičky.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Kopírovat deklaraci {0}", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Kopírovat definici {0}", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Kopírování deklarace nebo definice do schránky se nezdařilo: %s", + "Extract to function": "Extrahovat do funkce", + "Extract to free function": "Extrahovat do volné funkce", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Extrahovat do členské funkce v {0}", + "The selected text is not inside a function.": "Vybraný text není uvnitř funkce.", + "The selected text cannot span different functions.": "Vybraný text nemůže mít přesah přes různé funkce.", + "Variable '%s' is declared in the selected region and then used below it.": "Proměnná %s je deklarovaná ve vybrané oblasti a používá se pod ní.", + "Preprocessor macro '%s' is used below the selected region.": "Makro preprocesoru %s se používá pod vybranou oblastí.", + "The selected region spans an inactive preprocessor block.": "Do vybrané oblasti zasahuje neaktivní blok preprocesoru.", + "The selected region does not contain any code that can be extracted.": "Vybraná oblast neobsahuje žádný kód, který by se dal vyextrahovat.", + "The selected region is not entirely within the function's body.": "Vybraná oblast není zcela v textu funkce.", + "The selection contains IntelliSense errors.": "Výběr obsahuje chyby IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "%s nemá deklaraci ve vybraném kódu, ale modifikuje se. Kód C nemůže předávat argumenty pomocí odkazu.", + "The function would have to return a value by reference. C code cannot return references.": "Funkce by musela vracet hodnotu pomocí odkazu. Kód C nemůže vracet odkazy.", + "Jumps between the selected code and the surrounding code are present.": "Přecházení mezi vybraným kódem a okolním kódem jsou k dispozici.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "Ve vybraném kódu se některé cesty ovládacího prvku ukončují bez nastavení návratové hodnoty. To se podporuje jenom u skalárních, numerických a ukazovacích návratových typů.", + "Expand selection (to enable 'Extract to function')": "Rozbalit výběr (pro povolení možnosti Extrahovat do funkce)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "V souborech compile_commands.json se nepovedlo najít {0}. Pro tento soubor se místo toho použije includePath ze souboru c_cpp_properties.json ve složce {1}.", + "Generate Copilot summary": "Vygenerovat souhrn Copilotu", + "Unable to index files from non-existent folder: {0}": "Nelze indexovat soubory z neexistující složky: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "Rozšíření C/C++ lze používat pouze s těmito produkty a službami pro vývoj a testování aplikací a nástupci těchto produktů a služeb od Microsoftu: Microsoft Visual Studio, Visual Studio pro Mac, Visual Studio Code, Azure DevOps a Team Foundation Server.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Jazykový server Microsoft C++", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Použití: {0} [možnosti]", + "Options:": "Možnosti:", + "Show this help message and exit.": "Umožňuje zobrazit tuto zprávu nápovědy a ukončit zobrazení.", + "Show version information and exit.": "Zobrazí informace o verzi a ukončí se.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Trvale přijměte licenční smlouvu s koncovým uživatelem (EULA).", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "Nepřesměrovává stderr na /dev/null (užitečné pro ladění).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Inicializujte interaktivní přihlášení (vyžaduje se předplatné GitHub Copilota).", + "Force the login process, even if already authenticated.": "Vynuťte proces přihlášení, i když už proběhlo ověření.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Povolí ukládání přihlašovacích údajů ve formátu prostého textu, pokud není zabezpečená sada klíčů k dispozici.", + "Specify the directory for log files (default: system temp directory).": "Zadejte adresář pro soubory protokolu (výchozí: systémový dočasný adresář).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Nastavte úroveň podrobností protokolování z 0 (pouze chyby) na 9 (podrobné).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Zadejte parametr jako absolutní cestu nebo relativně ke kořenovému adresáři pracovního prostoru nebo jeho složce .github.", + "Disable sending telemetry data.": "Zakažte odesílání telemetrických dat.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Pokud se chcete ověřit pomocí GitHubu, zkopírujte prosím kód {0} a pak navštivte {1}. Čeká se na autorizaci...", + "Timed out waiting for authorization.": "Při čekání na autorizaci vypršel časový limit.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Ověření pomocí GitHubu proběhlo úspěšně.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "Ověřování u GitHubu proběhlo úspěšně, ale tokeny se nepodařilo uložit.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Chyba keyringu: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "Kolekce keyring je uzamčena. Odemkněte ji nebo restartujte daemon-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Není k dispozici žádná služba keyring. Instalace a spuštění keyringu: sudo apt install apt-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Nebo povolte úložiště prostého textu předáním --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "Platnost kódu zařízení vypršela. Zkuste to prosím znovu.", + "Authorization was denied by the user.": "Uživatel zamítl autorizaci.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Během dotazování došlo k neočekávané chybě: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Nepovedlo se přihlásit ke GitHubu. Zkuste se přihlásit spuštěním příkazu --login z příkazového řádku.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Aby bylo možné pokračovat, musí být přijata smlouva EULA. Spusťte příkaz --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Už ověřeno pomocí GitHubu. K opětovnému ověření použijte --force-login.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Inicializace se nezdařila: Nepodporovaná verze konfigurace. Podporuje se jenom verze 1.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Inicializace se nezdařila: Konfigurační soubor {0} nebyl nalezen.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inicializace se nezdařila: Nelze parsovat konfigurační soubor {0}. Ověřte formát JSON. Chyba: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Inicializace se nezdařila: vlastnost repositoryPath není nakonfigurována nebo je neplatná.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Inicializace se nezdařila: je nutné nakonfigurovat compileCommands nebo cppProperties.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Inicializace se nezdařila: parametry compileCommands a cppProperties nelze nakonfigurovat současně.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Inicializace se nezdařila: Cesta compileCommands nebyla nalezena: {0}.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Inicializace se nezdařila: Cesta cppProperties nebyla nalezena: {0}.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inicializace se nezdařila: Nelze parsovat soubor určený vlastností cppProperties: {0}. Ověřte formát JSON. Chyba: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Inicializace se nezdařila: Nelze číst konfiguraci ze souboru cppProperties: {0}. Ověřte schéma.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Inicializace se nezdařila: {0} neobsahuje platné pole „configurations“.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inicializace se nezdařila: Konfigurace {0} nebyla v souboru cppProperties nalezena: {1}.", + "Initialization failed: LSP config paths cache is missing.": "Inicializace se nezdařila: Chybí mezipaměť konfiguračních cest LSP.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl nebyl nalezen ({0}). libcurl se vyžaduje pro ověřování a telemetrii.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl by měl být ve výchozím nastavení dostupný v macOS. Pokud chybí, nainstalujte prostřednictvím: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Nainstalujte libcurl: sudo apt install libcurl4 (Debian/Ubuntu) nebo sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "Libcurl se načetl, ale chybí požadované symboly. To může znamenat velmi starou nebo nekompatibilní verzi knihovny. Jazykový server nemůže pracovat bez kompatibilní knihovny libcurl.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 nebyl nalezen ({0}). Pro zabezpečené úložiště přihlašovacích údajů se vyžaduje libsecret. Nainstalujte libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) nebo sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret se načetl, ale chybí požadované symboly. Jazykový server nemůže pracovat bez kompatibilního libsecret.", + "Failed to disable telemetry.": "Nepovedlo se zakázat telemetrii.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Metoda nebyla nalezena: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Nejde zpracovat IntelliSense pro soubor se stejnou kanonizovanou cestou jako existující soubor. Identifikátor URI: {0}, kanonizovaná cesta: {1}", + "Initializing": "Probíhá inicializace", + "Initializing ({0} of {1})": "Probíhá inicializace ({0} z(e) {1})", + "Initializing ({0} of {1}): {2}": "Probíhá inicializace ({0} z(e) {1}): {2}", + "Initializing {0}": "Inicializuje se {0}", + "Initializing projects": "Inicializace projektů", + "Initializing projects ({0} of {1})": "Inicializují se projekty ({0} z(e) {1})", + "Initializing projects ({0} of {1}): {2}": "Inicializují se projekty ({0} z(e) {1}): {2}", + "Initializing projects {0}": "Inicializace projektů {0}", + "Checking for out of date files": "Hledají se zastaralé soubory", + "Checking for out of date files ({0} of {1})": "Hledají se zastaralé soubory ({0} z(e) {1})", + "Checking for out of date files ({0} of {1}): {2}": "Hledají se zastaralé soubory ({0} z(e) {1}): {2}", + "Checking for out of date files {0}": "Hledají se zastaralé soubory {0}", + "Parsing files": "Parsují se soubory", + "Parsing files ({0} of {1})": "Parsují se soubory ({0} z(e) {1})", + "Parsing files ({0} of {1}): {2}": "Parsují se soubory ({0} z(e) {1}): {2}", + "Parsing files {0}": "Parsují se soubory {0}", + "Parsing included files": "Parsují se zahrnuté soubory", + "Parsing included files ({0} of {1})": "Parsují se zahrnuté soubory ({0} z(e) {1})", + "Parsing included files ({0} of {1}): {2}": "Parsují se zahrnuté soubory ({0} z(e) {1}): {2}", + "Parsing included files {0}": "Parsují se zahrnuté soubory {0}", + "Scanning #includes for more files": "V #includes se hledají další soubory", + "Scanning #includes for more files ({0} of {1})": "V #includes se hledají další soubory ({0} z(e) {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "V #includes se hledají další soubory ({0} z(e) {1}): {2}", + "Scanning #includes for more files {0} {1}": "V #includes se hledají další soubory {0} {1}", + "Ready (Updating external dependencies)": "Připraveno (aktualizování externích závislostí)", + "Ready (Updating external dependencies) ({0} of {1})": "Připraveno (aktualizování externích závislostí) ({0} z(e) {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Připraveno (aktualizování externích závislostí) ({0} z(e) {1}): {2}", + "Ready (Updating external dependencies) {0}": "Připraveno (aktualizování externích závislostí) {0}", + "Ready (Optimizing database)": "Připraveno (optimalizování databáze)", + "Ready (Optimizing database) ({0} of {1})": "Připraveno (optimalizování databáze) ({0} z(e) {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Připraveno (optimalizování databáze) ({0} z(e) {1}): {2}", + "Ready (Optimizing database) {0}": "Připraveno (optimalizování databáze) {0}", + "Creating Indexes": "Vytváření indexů", + "Creating Indexes ({0} of {1})": "Vytváření indexů ({0} z(e) {1})", + "Creating Indexes ({0} of {1}): {2}": "Vytváření indexů ({0} z(e) {1}): {2}", + "Creating Indexes {0}": "Vytváření indexů {0}", + "Evaluating": "Vyhodnocování", + "Evaluating ({0} of {1})": "Vyhodnocování ({0} z(e) {1})", + "Evaluating ({0} of {1}): {2}": "Vyhodnocování ({0} z(e) {1}): {2}", + "Evaluating {0}": "Vyhodnocuje se {0}", + "Indexing files": "Probíhá indexování souborů", + "Indexing files ({0} of {1})": "Probíhá indexování souborů ({0} z(e) {1})", + "Indexing files ({0} of {1}): {2}": "Probíhá indexování souborů ({0} z(e) {1}): {2}", + "Indexing files {0}": "Probíhá indexování souborů {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Povolit spuštění serveru i v případě, že zadaný soubor --lsp-config neexistuje.", + "Initialization failed during engine setup.": "Inicializace se během instalace modulu nezdařila.", + "Important:": "Důležité:", + "Unknown OS platform": "Neznámá platforma operačního systému", + "Could not get ProductVersion from SystemVersion.plist": "Nepovedlo se získat ProductVersion z SystemVersion.plist.", + "Failed to find SystemVersion.plist in {0}.": "Nepovedlo se najít SystemVersion.plist v {0}.", + "Refresh process list": "Aktualizovat seznam procesů", + "Attach to process": "Připojit k procesu", + "Select the process to attach to": "Vyberte proces, ke kterému se má program připojit.", + "Process not selected.": "Proces se nevybral.", + "{0} in debug configuration requires {1} and {2}": "{0} v konfiguraci ladění vyžaduje {1} a {2}", + "Chosen debug configuration does not contain {0} or {1}": "Zvolená konfigurace ladění neobsahuje {0} nebo {1}", + "Pipe transport failed to get OS and processes.": "Operaci přenosu přes kanál se nepovedlo získat operační systém a procesy.", + "Transport attach could not obtain processes list.": "Operaci připojení přenosu se nepovedlo získat seznam procesů.", + "Failed to make GDB connection: \"{0}\".": "Nepodařilo se vytvořit připojení GDB: {0}.", + "Failed to parse processes: \"{0}\".": "Nepodařilo se parsovat procesy: {0}.", + "Default Configuration": "Výchozí konfigurace", + "Select a configuration": "Vybrat konfiguraci", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Ladicí program typu {0} je k dispozici jen ve Windows. Na aktuální platformě operačního systému použijte typ {1}.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "Klíč {0} je zastaralý. Použijte prosím místo něj {1}.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "Nepovedlo se najít LLDB.framework pro lldb-mi. Nainstalujte prosím XCode nebo jeho nástroje příkazového řádku.", + "Launch configuration:": "Spustit konfiguraci:", + "'deploySteps' require VS Code 1.69+.": "DeploySteps vyžaduje VS Code 1.69+.", + "Running deploy steps...": "Spouští se kroky nasazení...", + "Unable to find {0}. {1} task is ignored.": "Nepovedlo se najít {0}. Úloha {1} se ignoruje.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Nepovedlo se najít ladicí program {0}. Konfigurace ladění pro {1} se ignoruje.", + "build and debug active file": "sestavit a ladit aktivní soubor", + "Apply Developer Environment": "Použít prostředí vývojáře", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} vyžaduje prostředí vývojáře ve Visual Studiu.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Aktualizovat prostředí vývojáře ve Visual Studiu", + "Cancel": "Zrušit", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Zdrojový kód nelze sestavit, protože nebylo použito prostředí vývojáře ve Visual Studiu.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Zdrojový kód nelze sestavit, protože nebyl nalezen kompilátor Visual C++.", + "Missing dependency '{0}' for lldb-mi executable.": "Chybí závislosti {0} pro spustitelný soubor lldb-mi.", + "Searched in:": "Prohledáno:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Pokud chcete tento problém vyřešit, buď nainstalujte XCode přes obchod Apple App Store, nebo v okně terminálu spusťte {0}, aby se nainstalovaly nástroje příkazového řádku XCode.", + "Failed to use {0}. Reason: {1}": "Nepovedlo se použít {0}. Příčina: {1}", + "Replacing {0} '{1}' with '{2}'.": "'{1}' v {0} se nahrazuje za '{2}'.", + "Resolving variables in {0}...": "Překládají se proměnné v {0}...", + "Open {0}": "Otevřít {0}", + "Recently Used Task": "Naposledy použitá úloha", + "Configured Task": "Nakonfigurovaná úloha", + "Detected Task": "Zjištěná úloha", + "Cannot build and debug because the active file is not a C or C++ source file.": "Sestavení a ladění není možné, protože aktivní soubor není zdrojový soubor jazyka C ani C++.", + "No compiler found": "Nenašel se žádný kompilátor.", + "Select a debug configuration": "Vyberte konfiguraci ladění", + "\"args\" in command deploy step must be an array.": "Argumenty v kroku nasazení příkazu musí být pole.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "V {0} krocích se vyžadují „host“, „files“ a „targetDir“.", + "\"files\" must be a string or an array of strings in {0} steps.": "„files“ musí být řetězec nebo pole řetězců v {0} krocích.", + "\"host\" and \"command\" are required for ssh steps.": "Pro kroky ssh se vyžadují \"host\" a \"command\".", + "\"command\" is required for shell steps.": "Pro kroky prostředí se vyžaduje příkaz command.", + "Deploy step type {0} is not supported.": "Typ kroku nasazení{0}se nepodporuje.", + "Unexpected OS type": "Neočekávaný typ operačního systému", + "full path to pipe program such as {0}": "úplná cesta k programu kanálu, třeba {0}", + "Enable pretty-printing for {0}": "Povolit přehledný výpis pro {0}", + "Set Disassembly Flavor to {0}": "Nastavte variantu zpětného překladu na {0}.", + "enter program name, for example {0}": "zadejte název programu, třeba {0}", + "Launch": "Spustit", + "Launch with {0}.": "Spustit pomocí {0}.", + "Attach": "Připojit", + "Attach with {0}.": "Připojit s {0}.", + "Pipe Launch": "Spustit kanál", + "Pipe Launch with {0}.": "Spustit kanál pomocí {0}.", + "Pipe Attach": "Připojit kanál", + "Pipe Attach with {0}.": "Připojit kanál pomocí {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Spustit pomocí ladicího programu Visual Studio C/C++", + "Attach to a process with the Visual Studio C/C++ debugger.": "Připojit k procesu s ladicím programem Visual Studio C/C++", + "Bash on Windows Launch": "Spuštění Bashe ve Windows", + "Launch in Bash on Windows using {0}.": "Spustit v Bashi ve Windows pomocí {0}.", + "Bash on Windows Attach": "Připojení Bashe ve Windows", + "Attach to a remote process running in Bash on Windows using {0}.": "Připojit ke vzdálenému procesu spuštěnému v Bashi ve Windows pomocí {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "Typ ladicího programu {0} není pro počítače, které nepoužívají Windows, k dispozici.", + "Run Without Debugging is only supported for launch configurations.": "Spuštění bez ladění je podporováno pouze pro konfigurace spuštění.", + "Add debug configuration is not available for single file.": "Přidání konfigurace ladění není k dispozici pro jeden soubor.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Konfigurační soubor SSH nelze změnit, protože došlo k chybě parsování {0}.", + "No valid SSH configuration file found.": "Nenašel se žádný platný konfigurační soubor SSH.", + "Enter SSH Target Name": "Zadejte název cíle SSH.", + "Example: `mySSHTarget`": "Příklad: `mySSHTarget`", + "Enter SSH Connection Command": "Zadejte příkaz připojení SSH.", + "Example: `ssh hello@microsoft.com -A`": "Příklad: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Vyberte konfigurační soubor SSH.", + "Yes": "Ano", + "No": "Ne", + "Are you sure you want to permanently delete \"{0}\"?": "Opravdu chcete trvale odstranit soubor {0}?", + "Operating system \"{0}\" not supported.": "Operační systém {0} se nepodporuje.", + "\"{0}\" timed out after {1} seconds.": "Procesu {0} po {1} sekundách vypršel časový limit.", + "\"{0}\" canceled.": "Proces {0} se zrušil.", + "\"{0}\" exited with code: \"{1}\".": "Proces {0} se ukončil s kódem {1}.", + "Failed to spawn \"{0}\".": "Nepovedlo se vytvořit podřízený proces {0}.", + "Ignoring non-parsable lines in {0} {1}: ": "Ignorují se řádky v {0} {1}, které se nedají parsovat: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Nenašel se žádný emulátor terminálu. Nastavte proměnnou prostředí $TERMINAL na vámi preferovaný emulátor terminálu nebo nainstalujte některý z následujících: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Vyberte kompilátor, který se má nakonfigurovat pro IntelliSense.", + "How would you like to configure IntelliSense for the '{0}' folder?": "Jak chcete nakonfigurovat IntelliSense pro složku {0}?", + "How would you like to configure IntelliSense for this folder?": "Jak chcete pro tuto složku nakonfigurovat IntelliSense?", + "Found at {0}": "Nalezeno v: {0}", + "Use {0}": "Použít {0}", + "configuration providers": "poskytovatelé konfigurace", + "compilers": "kompilátory", + "Select IntelliSense Configuration...": "Vybrat konfiguraci IntelliSense...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Nemáte nakonfigurovaný technologii IntelliSense. Pokud nenastavíte vlastní konfigurace, IntelliSense nemusí být funkční.", + "Select another compiler on my machine...": "Vybrat jiný kompilátor na mém počítači...", + "Help me install a compiler": "Pomoc s instalací kompilátoru", + "Install a compiler": "Instalace kompilátoru", + "Do not configure with a compiler (not recommended)": "Nekonfigurovat pomocí kompilátoru (nedoporučuje se)", + "EPERM: Check permissions for '{0}'": "EPERM: Zkontrolujte oprávnění pro {0}.", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Nepovedlo se spustit jazykový server C/C++. Funkce IntelliSense se zakážou. Chyba: {0}", + "The language server crashed. Restarting...": "Došlo k chybovému ukončení jazykového serveru. Restartuje se…", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "Jazykový server se 5krát za poslední 3 minuty chybově ukončil. Nebude se restartovat.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} se změnila na: {1}", + "Dismiss": "Zrušit", + "Disable Warnings": "Zakázat upozornění", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} nemůže poskytnout informace pro konfiguraci IntelliSense pro '{1}'. Místo nich se použijí nastavení z konfigurace '{2}'.", + "The requested configuration name is not found: {0}": "Požadovaný název konfigurace se nenašel: {0}", + "Unsupported client": "Nepodporovaný klient", + "Timed out in {0}ms.": "Po {0} ms vypršel časový limit.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "Byl zjištěn výčet {0} souborů s {1} zdrojovými soubory C/C++. Možná budete chtít zvážit vyloučení některých souborů pro zlepšení výkonu.", + "Learn More": "Další informace", + "Don't Show Again": "Příště už nezobrazovat", + "Update IntelliSense time (sec): {0}": "Čas aktualizace IntelliSense (sek.): {0}", + "Custom configurations received:": "Přijaly se vlastní konfigurace:", + "Custom browse configuration received: {0}": "Přijala se vlastní konfigurace procházení: {0}", + " Declaration/definition was copied.": " Deklarace nebo definice se zkopírovala.", + "Name the extracted function": "Pojmenujte extrahovanou funkci.", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "Extrakce do funkce se nezdařila: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "Extrakce do funkce se nezdařila. Byla vygenerována neplatná úprava: {0}", + "Fix all code analysis problems": "Opravit všechny problémy s analýzou kódu", + "Clear all code analysis problems": "Vymazat všechny problémy s analýzou kódu", + "Fix all {0} problems": "Opravit všechny problémy {0}", + "Disable all {0} problems": "Zakázat všechny problémy {0}", + "Clear all {0} problems": "Vymazat všechny problémy {0}", + "Clear this {0} problem": "Vymazat tento problém {0}", + "Fix this {0} problem": "Opravit tento problém {0}", + "Show documentation for {0}": "Zobrazit dokumentaci pro {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "Režim IntelliSense {0} není kompatibilní s cestou ke kompilátoru.", + "Processed c_cpp_properties.json in {0}s": "Soubor c_cpp_properties.json zpracován za {0} s", + "Failed to create \"{0}\"": "Nepovedlo se vytvořit {0}.", + "Invalid configuration file. There must be at least one configuration present in the array.": "Neplatný konfigurační soubor. V poli se musí nacházet alespoň jedna konfigurace.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "V souboru c_cpp_properties.json se našlo neplatné číslo verze. Některé funkce nemusí fungovat podle očekávání.", + "Attempt to update \"{0}\" failed (do you have write access?)": "Nepovedlo se aktualizovat {0} (máte oprávnění k zápisu?).", + "Failed to parse \"{0}\"": "Nepovedlo se parsovat {0}.", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Cestu ke kompilátoru s mezerami se nepovedlo najít. Pokud měly být zahrnuty argumenty kompilátoru, uzavřete cestu ke kompilátoru do dvojitých uvozovek ({0}).", + "Cannot find: {0}": "Nepovedlo se najít: {0}", + "Path is not a file: {0}": "Cesta není soubor: {0}", + "The include path validation took {0}s to evaluate": "Vyhodnocení ověření cesty k zahrnutí trvalo {0} s", + "Failed to resolve include path. Error: {0}": "Nepovedlo se přeložit cestu k zahrnutí. Chyba: {0}", + "Do not add extra quotes around paths.": "Nepřidávejte nadbytečné uvozovky kolem cest.", + "Path is not a directory: {0}": "Cesta není adresář: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} je duplicitní. Název konfigurace by měl být jedinečný.", + "Path took {0}s to evaluate": "Vyhodnocení cesty trvalo {0} s", + "Failed to resolve path {0}. Error: {1}": "Nepodařilo se přeložit cestu {0}. Chyba: {1}", + "Multiple paths are not allowed.": "Více cest není povoleno.", + "Multiple paths should be separate entries in an array.": "Více cest by mělo být samostatné položky v poli.", + "Paths are not directories: {0}": "Cesty nejsou adresáře: {0}", + "Error while retrieving result. Reason: {0}": "Při načítání výsledku došlo k chybě. Důvod: {0}", + "build active file": "sestavit aktivní soubor", + "compiler:": "kompilátor:", + "Task generated by Debugger.": "Úloha vygenerovaná ladicím programem", + "Starting build...": "Spouští se sestavování...", + "Build run was terminated.": "Spuštění sestavení se ukončilo.", + "Build finished with error(s).": "Sestavování se dokončilo s chybami.", + "Build finished with warning(s).": "Sestavování se dokončilo s upozorněními.", + "Build finished successfully.": "Sestavování se úspěšně dokončilo.", + "No context provided": "Nebyl zadán žádný kontext", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "Příkaz „Nastavit prostředí vývojáře ve Visual Studiu“ je dostupný jenom ve Windows", + "A Visual Studio installation with the C++ compiler was not found": "Instalace Visual Studia s kompilátorem C++ nebyla nalezena", + "The operation was cancelled": "Operace byla zrušena", + "No hosts found": "Nenašli se žádní hostitelé", + "Configuring developer environment...": "Konfiguruje se prostředí vývojáře...", + "Select a Visual Studio installation": "Vyberte instalaci Visual Studia", + "Advanced options...": "Pokročilé možnosti...", + "Select a specific host and target architecture, toolset version, etc.": "Vyberte konkrétního hostitele, cílovou architekturu, verzi sady nástrojů atd.", + "Select a toolset version": "Vyberte verzi sady nástrojů", + "Select a host and target architecture": "Vyberte hostitelskou a cílovou architekturu.", + "Something went wrong: {0}": "Něco neproběhlo, jak mělo: {0}", + "{0} developer environment for {1}": "Prostředí vývojáře {0} pro {1}", + "Default environment for {0}": "Výchozí prostředí pro {0}", + "host = {0}, target = {1}": "hostitel = {0}, cíl = {1}", + "Learn how to install a library for this header with vcpkg": "Jak nainstalovat knihovnu pro tuto hlavičku pomocí vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Zkopírovat příkaz vcpkg pro instalaci {0} do schránky", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Příkazy související s IntelliSense se nedají spustit, když je `C_Cpp.intelliSenseEngine` nastavené na `disabled`.", + "client not found": "klient se nenašel", + "OK": "OK", + "The clang compiler will now be installed": "Kompilátor clang se teď nainstaluje.", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Může se zobrazit výzva k zadání hesla do okna terminálu VS Code, abyste instalaci autorizovali.", + "The gcc compiler will now be installed": "Kompilátor gcc se teď nainstaluje", + "Open a folder first to select a configuration.": "Pokud chcete vybrat konfiguraci, otevřete nejdříve složku.", + "Open a folder first to select a configuration provider.": "Pokud chcete vybrat poskytovatele konfigurace, otevřete nejdříve složku.", + "Open a folder first to edit configurations": "Pokud chcete upravit konfigurace, otevřete nejdříve složku.", + "The code analysis fix could not be applied because the document has changed.": "Opravu analýzy kódu nelze použít, protože dokument byl změněn.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "K dispozici je předběžná verze rozšíření C/C++. Chcete na ni přepnout?", + "Copilot summary is not available.": "Souhrn Copilot není k dispozici.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Soubor obsahující definici nebo deklaraci tohoto symbolu se vyloučil z použití s Copilotem.", + "Copilot summary is not available for this symbol.": "Souhrn Copilot není pro tento symbol k dispozici.", + "An error occurred while generating Copilot summary.": "Při generování souhrnu Copilotu došlo k chybě.", + "Duplicate multiline comment patterns detected.": "Zjistily se duplicitní vzory víceřádkových komentářů.", + "Error while retrieving the project context. Reason: {0}": "Při načítání kontextu projektu došlo k chybě. Důvod: {0}", + "Error while retrieving the #cpp context.": "Při načítání kontextu #cpp došlo k chybě.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Najít všechny odkazy", + "Peek References": "Náhled na odkazy", + "Rename": "Přejmenovat", + "Call Hierarchy": "Hierarchie volání", + "CONFIRMED REFERENCE": "POTVRZENÝ ODKAZ", + "CONFIRMATION IN PROGRESS": "PROBÍHÁ POTVRZOVÁNÍ", + "COMMENT REFERENCE": "ODKAZ NA KOMENTÁŘ", + "STRING REFERENCE": "ODKAZ NA ŘETĚZEC", + "INACTIVE REFERENCE": "NEAKTIVNÍ ODKAZ", + "CANNOT CONFIRM REFERENCE": "NEJDE POTVRDIT ODKAZ", + "NOT A REFERENCE": "NENÍ ODKAZ", + "Confirmed reference": "Potvrzený odkaz", + "Confirmation in progress": "Potvrzování", + "Comment reference": "Odkaz na komentář", + "String reference": "Odkaz na řetězec", + "Inactive reference": "Neaktivní odkaz", + "Cannot confirm reference": "Nelze potvrdit odkaz", + "Not a reference": "Není odkaz", + "CONFIRMATION CANCELED": "POTVRZENÍ SE ZRUŠILO", + "Confirmation canceled": "Potvrzení se zrušilo.", + "To preview results, click the search icon in the status bar.": "Pokud chcete zobrazit náhled výsledků, klikněte na ikonu hledání ve stavovém řádku.", + "Started.": "Spuštěno", + "Processing source.": "Zpracovává se zdroj.", + "Searching files.": "Hledají se soubory.", + "{0}/{1} files searched.{2}": "Počet prohledaných souborů: {0}/{1}.{2}", + "{0}/{1} files confirmed.{2}": "Počet potvrzených souborů: {0}/{1}.{2}", + "C/C++ Peek References": "Náhled na reference v jazyce C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Upozornění] Některé odkazy můžou chybět, protože když se spustilo {0}, nebylo ještě hotové parsování pracovního prostoru.", + "Go to reference": "Přejít na odkaz", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Formátování kódu používá nastavení z .editorconfig namísto .clang-format. Další informace najdete v dokumentaci k hodnotě 'default' v nastavení 'C_Cpp.formatting'.", + "C/C++ Configurations": "Konfigurace C/C++", + "IntelliSense: Updating": "IntelliSense: Aktualizace", + "IntelliSense: Ready": "IntelliSense: Připraveno", + "Initializing Workspace": "Inicializuje se pracovní prostor", + "Indexing Workspace": "Pracovní prostor indexování", + "Parsing Workspace": "Parsování pracovního prostoru", + "Parsing Workspace: Paused": "Pracovní prostor analýzy: Pozastaveno", + "Parsing Complete": "Analýza byla dokončena.", + "Rescan Workspace": "Znovu prohledat pracovní prostor", + "Parsing Open Files": "Analýza otevřených souborů", + "Code Analysis: Running": "Analýza kódu: Spuštěno", + "Code Analysis: Paused": "Analýza kódu: Pozastaveno", + "Code Analysis Mode: ": "Režim analýzy kódu: ", + "click to preview results": "kliknutím si můžete zobrazit náhled výsledků", + "Configure IntelliSense": "Konfigurovat IntelliSense", + "C/C++ IntelliSense Status": "C/C++ IntelliSense Status", + "Rescan": "Prohledat znovu", + "Rescan IntelliSense": "Znovu prohledat IntelliSense", + "C/C++ Tag Parser Status": "Stav analyzátoru značky jazyka C/C++", + "Initializing...": "Probíhá inicializace...", + "Resume": "Pokračovat", + "Pause": "Pozastavit", + "C/C++ Code Analysis Status": "Stav analýzy kódu C/C++", + "Run Now": "Spustit", + "Automatic": "Automaticky", + "Manual": "Ručně", + "Options": "Možnosti", + "Starting...": "Spouštění...", + "Running: {0} / {1} ({2}%)": "Spuštěno: {0} / {1} ({2} %)", + "Select a code analysis command...": "Vyberte příkaz pro analýzu kódu…", + "Start Another...": "Spustit další…", + "Select a command...": "Vyberte příkaz…", + "Run Code Analysis on Active File": "Spustit analýzu kódu u aktivního souboru", + "Run Code Analysis on All Files": "Spustit analýzu kódu u všech souborů", + "Run Code Analysis on Open Files": "Spustit analýzu kódu při otevírání souborů", + "C/C++ References Status": "Stav odkazů jazyka C/C++", + "C/C++ Configuration": "Konfigurace C/C++", + "C/C++ Configure IntelliSense": "Konfigurovat IntelliSense v C/C++", + "Select a Configuration...": "Vybrat konfiguraci...", + "Edit Configurations (UI)": "Upravit konfigurace (uživatelské rozhraní)", + "Edit Configurations (JSON)": "Upravit konfigurace (JSON)", + "Select a Configuration Provider...": "Vyberte poskytovatele konfigurací...", + "active": "aktivní", + "none": "žádné", + "Disable the active configuration provider, if applicable.": "Zakažte aktivního poskytovatele konfigurací, pokud je to možné.", + "Select a workspace folder...": "Vyberte složku pracovního prostoru...", + "Failed to connect to {0}": "Nepovedlo se připojit k {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "LocalSocket se nedá současně specifikovat pomocí bindAddress nebo port v localForwards.", + "\"port\" or \"localSocket\" required in localForwards": "V localForwards se vyžaduje port nebo localSocket.", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "LocalSocket se nedá současně specifikovat pomocí host nebo hostPort v localForwards.", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "V localForwards se vyžaduje možnost host a hostPort nebo remoteSocket", + "SSH command canceled": "Příkaz SSH je zrušený", + "Enter passphrase for ssh key {0}": "Zadejte heslo pro klíč SSH {0}", + "Enter password for user \"{0}\"": "Zadejte heslo pro uživatele{0}", + "Enter password": "Zadejte heslo", + "Are you sure you want to continue?": "Opravdu chcete pokračovat?", + "\"{0}\" has fingerprint \"{1}\".": "{0} má otisk prstu {1}.", + "Continue": "Pokračovat", + "\"{0}\" terminal command canceled.": "Příkaz terminálu \"{0}\" byl zrušen.", + "\"{0}\" terminal command done.": "\"{0}\" příkaz terminálu je hotový.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "Úloha '{0}' je zrušená, ale podkladový příkaz nemusí být ukončen. Zkontrolujte to prosím ručně.", + "\"{0}\" process failed: {1}": "Proces{0}se nezdařil: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" zapsal data do terminálu: \"{1}\".", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Nepovedlo se najít informace o uživateli pro SSH. Příčinou může být VS Code instalace pomocí „snap“. Pokud se chystáte používat funkce SSH, přeinstalujte prosím VS Code pomocí balíčku „deb“.", + "Failed to parse SSH configuration file {0}: {1}": "Nepovedlo se parsovat konfigurační soubor SSH {0}: {1}", + "Failed to read file {0}.": "Čtení souboru {0} se nezdařilo.", + "Failed to write to file {0}.": "Zápis do {0} souboru se nezdařil.", + "Inline macro is not available at this location.": "Vložené makro není v tomto umístění k dispozici.", + "AI-generated content may be incorrect.": "Obsah vygenerovaný umělou inteligencí může být nesprávný.", + "Invalid identifier provided for the Rename Symbol operation.": "Pro operaci Přejmenovat symbol se zadal neplatný identifikátor.", + "A definition for the selected symbol could not be located.": "Definice pro vybraný symbol se nenašla.", + "No SSH targets": "Žádné cíle SSH", + "Active SSH target selection cancelled.": "Aktivní výběr cíle SSH byl zrušen.", + "{0} Add New SSH Target...": "{0} Přidat nový cíl SSH...", + "Select an SSH target": "Vyberte cíl SSH.", + "[Active]": "[Aktivní]" +} diff --git a/Extension/i18n/deu/bundle.l10n.json b/Extension/i18n/deu/bundle.l10n.json new file mode 100644 index 000000000..6e903741e --- /dev/null +++ b/Extension/i18n/deu/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Fehler beim Analysieren der JSON-Datei, möglicherweise aufgrund von Kommentaren oder nachgestellten Kommas.", + "The C/C++ extension is still installing. See the output window for more information.": "Die C/C++-Erweiterung wird noch installiert. Weitere Informationen finden Sie im Ausgabefenster.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Informationen zur Problembehandlung finden Sie hier: {0}. Issues können hier erstellt werden: {1}.", + "Process exited with code {0}": "Der Prozess wurde mit Code {0} beendet.", + "Process executed successfully.": "Der Prozess wurde erfolgreich ausgeführt.", + "Killing process {0}": "Der Prozess „{0}“ wird beendet.", + "Warning: Expected file {0} is missing.": "Warnung: Die erwartete Datei \"{0}\" fehlt.", + "Warning: Debugging has not been tested for this platform.": "Warnung: Das Debugging wurde für diese Plattform nicht getestet.", + "Reload the workspace for the settings change to take effect.": "Laden Sie den Arbeitsbereich neu, damit die Einstellungsänderung wirksam wird.", + "Reload": "Aktualisieren", + "Custom configuration provider '{0}' registered": "Benutzerdefinierter Konfigurationsanbieter \"{0}\" registriert", + "Reached max string expansion recursion. Possible circular reference.": "Die maximale Rekursion für die Zeichenfolgenerweiterung wurde erreicht. Möglicher Zirkelbezug.", + "Invalid variable reference {0} in string: {1}.": "Ungültiger Variablenverweis „{0}“ in der Zeichenfolge „{1}“.", + "Environment variable {0} not found": "Die Umgebungsvariable „{0}“ wurde nicht gefunden.", + "Commands are not supported for string: {0}.": "Befehle werden für die Zeichenfolge „{0}“ nicht unterstützt.", + "Exception while executing command {0} for string: {1} {2}.": "Ausnahme beim Ausführen des Befehls „{0}“ für die Zeichenfolge „{1} {2}“.", + "C/C++ Diagnostics": "C/C++-Diagnose", + "C/C++ Crash Call Stacks": "C/C++-Absturzaufruflisten", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Ein C/C++-Erweiterungsprozess ist abgestürzt. Der Name, das Datum/die Uhrzeit, das Signal und die Aufrufliste des abstürzenden Prozesses sind unten aufgeführt. Es wäre hilfreich, dies in einen Fehlerbericht unter {0} aufzunehmen.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "C/C++-Debugprotokoll", + "C/C++ Configuration Warnings": "C/C++-Konfigurationswarnungen", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Neuere Versionen der C/C++-Erweiterung {0} erfordern mindestens die macOS-Version {1}.", + "intelliSenseEngine is disabled": "IntelliSenseEngine ist deaktiviert.", + "More Info": "Weitere Informationen", + "Ignore": "Ignorieren", + "The C/C++ extension installed does not match your system.": "Die installierte C/C++-Erweiterung stimmt nicht mit Ihrem System überein.", + "The C/C++ extension installed is compatible with but does not match your system.": "Die installierte C/C++-Erweiterung ist mit Ihrem System kompatibel, stimmt jedoch nicht mit diesem überein.", + "Searching include path...": "Includepfad wird gesucht...", + "Include file not found in browse.path.": "Die Includedatei wurde in \"browse.path\" nicht gefunden.", + "Edit \"browse.path\" setting": "Einstellung \"browse.path\" bearbeiten", + "Add to \"includePath\": {0}": "Zu \"includePath\" hinzufügen: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "\"{0}\" hinzufügen", + "Edit \"includePath\" setting": "Einstellung für \"includePath\" bearbeiten", + "Disable error squiggles": "Fehlerwellenlinien deaktivieren", + "Enable all error squiggles": "Alle Fehlerwellenlinien aktivieren", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "#include-Fehler erkannt. Aktualisieren Sie Ihren includePath. Wellenlinien sind für diese Übersetzungseinheit ({0}) deaktiviert.", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include-Fehler erkannt. Aktualisieren Sie Ihren includePath. IntelliSense-Features für diese Übersetzungseinheit ({0}) werden vom Tagparser bereitgestellt.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include-Fehler erkannt. Erwägen Sie, Ihre compile_commands.json-Datei oder Ihren includePath zu aktualisieren. IntelliSense-Features für diese Übersetzungseinheit ({0}) werden vom Tagparser bereitgestellt.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" konnte nicht analysiert werden. Stattdessen wird \"includePath\" aus \"c_cpp_properties.json\" im Ordner \"{1}\" verwendet.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" wurde nicht gefunden. Stattdessen wird \"includePath\" aus \"c_cpp_properties.json\" im Ordner \"{1}\" verwendet.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{0}\" wurde in \"{1}\" nicht gefunden. Stattdessen wird \"includePath\" aus \"c_cpp_properties.json\" im Ordner \"{2}\" für diese Datei verwendet.", + "The IntelliSense database was successfully reset.": "Die IntelliSense-Datenbank wurde erfolgreich zurückgesetzt.", + "Failed to send response to client: {0}": "Fehler beim Senden der Antwort an den Client: {0}", + "Failed to read response from server: {0}": "Fehler beim Lesen der Antwort vom Server: {0}", + "Failed to send request to server: {0}": "Fehler beim Senden der Anforderung an den Server: {0}", + "Unexpected error while waiting for requests: {0}": "Unerwarteter Fehler beim Warten auf Anforderungen: {0}", + "{0} errored with: {1}": "Fehler bei \"{0}\": {1}", + "Failed to open the file {0}": "Fehler beim Öffnen der Datei \"{0}\".", + "Failed to query default include paths and defines for {0}.": "Fehler beim Abfragen von standardmäßigen Includepfaden und Define-Anweisungen für \"{0}\".", + "Failed calling {0}": "Fehler beim Aufrufen von \"{0}\".", + "Quick info operation failed: {0}": "Fehler beim QuickInfo-Vorgang: {0}", + "Failed to create IntelliSense client: {0}": "Fehler beim Erstellen des IntelliSense-Clients: {0}", + "Failed to spawn IntelliSense process: {0}": "Fehler beim Erzeugen des IntelliSense-Prozesses: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Fehler beim Aufrufen von \"browse_engine_update_thread.join()\": {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Diese Datei ({0}) ist bereits im Editor geöffnet, jedoch mit einer anderen Groß-/Kleinschreibung. IntelliSense-Features werden für diese Kopie der Datei deaktiviert.", + "IntelliSense client has disconnected from the server - {0}": "Der IntelliSense-Client hat die Verbindung mit dem Server getrennt: {0}", + "Formatting failed:": "Formatierungsfehler:", + "Unable to add file to database, error = {0}: {1}": "Die Datei kann nicht zur Datenbank hinzugefügt werden, Fehler = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Fehler beim Zurücksetzen des Zeitstempels beim Abbruch, Fehler = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Zeitstempel kann nicht aktualisiert werden, Fehler = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Die Updates für die Datei können nicht finalisiert werden, Fehler = {0}: {1}", + "{0} is not a directory (st_mode={1})": "\"{0}\" ist kein Verzeichnis (st_mode={1}).", + "Unable to retrieve file system information for {0}. error = {1}": "Dateisysteminformationen für \"{0}\" können nicht abgerufen werden. Fehler = {1}", + "{0} is not a directory": "\"{0}\" ist kein Verzeichnis.", + "File discovery was aborted": "Die Dateiermittlung wurde abgebrochen.", + "Aborting tag parse of {0} and dependencies": "Die Taganalyse von \"{0}\" und Abhängigkeiten wird abgebrochen.", + "Aborting tag parse at root": "Die Taganalyse wird am Stamm abgebrochen.", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Datenbankdatensätze können nicht abgerufen werden, um Zeitstempel zurückzusetzen: Fehler = {0}", + "Failed to reset timestamp for {0}: error = {1}": "Fehler beim Zurücksetzen des Zeitstempels für \"{0}\": Fehler = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Es wurde kein geeigneter Compiler gefunden. Legen Sie \"compilerPath\" in \"c_cpp_properties.json\" fest.", + "Compiler include path not found: {0}": "Compilerincludepfad nicht gefunden: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "Die IntelliSense-Engine reagiert nicht. Stattdessen wird der Tagparser verwendet.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Der Tagparser wird für IntelliSense-Vorgänge in \"{0}\" verwendet.", + "Error squiggles will be disabled in: {0}": "Fehlerwellenlinien werden deaktiviert in: {0}", + "Processing folder (non-recursive): {0}": "Ordner wird verarbeitet (nicht rekursiv): {0}", + "Processing folder (recursive): {0}": "Ordner wird verarbeitet (rekursiv): {0}", + "File exclude: {0}": "Dateiausschluss: {0}", + "Search exclude: {0}": "Suchausschluss: {0}", + "Discovering files: {0} file(s) processed": "Dateiermittlung: {0} Datei(en) verarbeitet", + "{0} file(s) removed from database": "{0} Datei(en) aus Datenbank entfernt", + "Parsing: {0} files(s) processed": "Analyse: {0} Datei(en) verarbeitet", + "Shutting down IntelliSense server: {0}": "IntelliSense-Server wird heruntergefahren: {0}", + "Resetting IntelliSense server: {0}": "IntelliSense-Server wird zurückgesetzt: {0}", + "Code browsing service initialized": "Codesuchdienst initialisiert.", + "Folder: {0} will be indexed": "Ordner: {0} werden indiziert.", + "Populate include completion cache.": "Füllen Sie den Cache für die Includevervollständigung auf.", + "Discovering files...": "Dateien werden ermittelt...", + "Done discovering files.": "Die Ermittlung von Dateien ist abgeschlossen.", + "Parsing open files...": "Offene Dateien werden analysiert...", + "Done parsing open files.": "Die Analyse geöffneter Dateien ist abgeschlossen.", + "Parsing remaining files...": "Verbleibende Dateien werden analysiert...", + "Done parsing remaining files.": "Die Analyse verbleibender Dateien ist abgeschlossen.", + "Using configuration: \"{0}\"": "Konfiguration wird verwendet: \"{0}\"", + "{0} include path suggestion(s) discovered.": "{0} Includepfadvorschläge ermittelt.", + "Checking for syntax errors: {0}": "Nach Syntaxfehlern wird gesucht: {0}", + "IntelliSense Engine = {0}.": "IntelliSense-Engine = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "Die Erweiterung verwendet den Tagparser für IntelliSense, wenn #includes nicht aufgelöst werden.", + "Autocomplete is enabled.": "AutoVervollständigen ist aktiviert.", + "Autocomplete is disabled.": "AutoVervollständigen ist deaktiviert.", + "Hover is enabled.": "Der Mauszeiger ist aktiviert.", + "Hover is disabled.": "Der Mauszeiger ist deaktiviert.", + "Enhanced Colorization is enabled.": "Die erweiterte Farbgebung ist aktiviert.", + "Error squiggles are disabled.": "Fehlerwellenlinien sind deaktiviert.", + "Error squiggles are enabled.": "Fehlerwellenlinien sind aktiviert.", + "Error squiggles are enabled if all header dependencies are resolved.": "Fehlerwellenlinien sind aktiviert, wenn alle Headerabhängigkeiten aufgelöst werden.", + "Replaced placeholder file record": "Datensatz für Platzhalterdatei ersetzt", + "tag parsing file: {0}": "Taganalysedatei: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "Taganalysefehler (dies kann ignoriert werden, es sei denn, Symbole können nicht gefunden werden):", + "Reset time stamp for {0}": "Zeitstempel für \"{0}\" zurücksetzen", + "Failed to remove file: {0}": "Fehler beim Entfernen der Datei: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "RegEx-Analysefehler – vscode-Muster: {0}, RegEx: {1}, Fehlermeldung: {2}", + "terminating child process: {0}": "Untergeordneter Prozess wird beendet: {0}", + "still alive, killing...": "Noch aktiv, wird beendet...", + "giving up": "Wird aufgegeben.", + "not exited yet. Will sleep for {0} milliseconds and try again.": "Der Prozess wurde noch nicht beendet. Ruhezustand für {0} Millisekunden, anschließend wird der Vorgang wiederholt.", + "Failed to spawn process. Error: {0} ({1})": "Fehler beim Erzeugen des Prozesses. Fehler: {0} ({1})", + "Offering completion": "Vervollständigung wird angeboten.", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Es wird versucht, Standardwerte vom Compiler abzurufen, die auf dem Computer gefunden wurden: {0}", + "Unable to resolve include path: {0}": "Der Includepfad \"{0}\" kann nicht aufgelöst werden.", + "Error searching for IntelliSense client: {0}": "Fehler beim Suchen nach dem IntelliSense-Client: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "Der IntelliSense-Client ist nicht verfügbar, für die QuickInfo wird der Tagparser verwendet.", + "using Tag Parser for quick info": "Tag Parser wird für QuickInfo verwendet.", + "Closing the communication channel.": "Der Kommunikationskanal wird geschlossen.", + "sending compilation args for {0}": "Kompilierungsargumente für \"{0}\" werden gesendet.", + "include: {0}": "Includes: {0}", + "framework: {0}": "Framework: {0}", + "define: {0}": "Define-Anweisung: {0}", + "preinclude: {0}": "Preinclude: {0}", + "other: {0}": "Sonstige: {0}", + "sending {0} changes to server": "{0} Änderungen werden an den Server gesendet.", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Ungültige geöffnete Dateiinstanz. IntelliSense-Meldung für Datei \"{0}\" wird ignoriert.", + "idle loop: reparsing the active document": "Leerlaufschleife: Das aktive Dokument wird erneut analysiert.", + "IntelliSense client is currently disconnected": "Der IntelliSense-Client ist derzeit getrennt.", + "Request canceled: {0}": "Anforderung abgebrochen: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "Der IntelliSense-Client ist nicht verfügbar, für \"Gehe zu Definition\" wird der Tagparser verwendet.", + "Error squiggle count: {0}": "Anzahl von Fehlerwellenlinien: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "IntelliSense-Update für Dateien in dieser Übersetzungseinheit wird in die Warteschlange eingereiht: {0}", + "Formatting document: {0}": "Dokument wird formatiert: {0}", + "Formatting input:": "Eingabe wird formatiert:", + "Formatting raw output:": "Unformatierte Ausgabe wird formatiert:", + "Formatting diffed output before cursor:": "Diff-Ausgabe vor Cursor wird formatiert:", + "Formatting diffed output after cursor:": "Diff-Ausgabe nach Cursor wird formatiert:", + "Formatting diffed output:": "Diff-Ausgabe wird formatiert:", + "Disable inactive region colorization": "Farbgebung für inaktive Regionen deaktivieren", + "Error limit exceeded, {0} error(s) not reported.": "Fehlerlimit überschritten, {0} Fehler nicht gemeldet.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "#include-Fehler erkannt. Erwägen Sie, Ihre compile_commands.json-Datei oder Ihren includePath zu aktualisieren. Wellenlinien sind für diese Übersetzungseinheit ({0}) deaktiviert.", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "Die IntelliSense-Datenbank konnte nicht zurückgesetzt werden. Um sie manuell zurückzusetzen, schließen Sie alle VS Code-Instanzen, und löschen Sie dann diese Datei: {0}", + "Formatting failed. See the output window for details.": "Fehler beim Formatieren. Weitere Informationen finden Sie im Ausgabefenster.", + "Populating include completion cache.": "Der Cache für die Includevervollständigung wird aufgefüllt.", + "Discovering files: {0}": "Dateien werden ermittelt: {0}", + "Parsing open files": "Offene Dateien werden analysiert", + "Tag parser initializing": "Tagparser wird initialisiert", + "Workspace parsing paused": "Arbeitsbereichsanalyse angehalten", + "Parsing workspace files: {0}": "Arbeitsbereichsdateien werden analysiert: {0}", + "Discovering files: {0} / {1} ({2}%)": "Dateien werden ermittelt: {0} / {1} ({2} %)", + "Parsing workspace files: {0} / {1} ({2}%)": "Arbeitsbereichsdateien werden analysiert: {0} / {1} ({2} %)", + "Can't find or run process_name": "process_name kann nicht gefunden oder ausgeführt werden.", + "Child exec failed {0}": "Fehler bei Ausführung von untergeordnetem Prozess: {0}", + "Could not communicate with child process!": "Mit dem untergeordneten Prozess war keine Kommunikation möglich.", + "{0} failed": "{0} fehlgeschlagen", + "Failed to set {0} flag": "Fehler beim Festlegen des Flags \"{0}\".", + "Unable to create {0}!": "\"{0}\" kann nicht erstellt werden.", + "Failed to set stdin {0} flag": "Fehler beim Festlegen des stdin-Flags \"{0}\".", + "Failed to set stdout {0} flag": "Fehler beim Festlegen des stdout-Flags \"{0}\".", + "Failed to set stderr {0} flag": "Fehler beim Festlegen des stderr-Flags \"{0}\".", + "Unable to start child process!": "Der untergeordnete Prozess kann nicht gestartet werden.", + "Timed out attempting to communicate with process!": "Timeout beim Versuch, mit dem Prozess zu kommunizieren.", + "Process has failed to run": "Fehler beim Ausführen des Prozesses.", + "Specified compiler was not found: {0}": "Der angegebene Compiler wurde nicht gefunden: {0}", + "Config data invalid, {0}": "Konfigurationsdaten ungültig, {0}", + "CMake executable not found at {0}": "Ausführbare CMake-Datei wurde unter \"{0}\" nicht gefunden.", + "No args provider": "Kein Anbieter für Argumente", + "Invalid file path {0}": "Ungültiger Dateipfad \"{0}\".", + "Can't create IntelliSense client for {0}": "Der IntelliSense-Client für \"{0}\" kann nicht erstellt werden.", + "declaration": "Deklaration", + "type alias": "Alias eingeben", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Der Compiler bietet keine 64-Bit-Unterstützung. Es wird ein Fallback auf den 32-Bit-intelliSenseMode durchgeführt.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Der Compiler bietet keine 32-Bit-Unterstützung. Es wird ein Fallback auf den 64-Bit-intelliSenseMode durchgeführt.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Fehler beim Abfragen des Compilers. Es wird ein Fallback auf den 32-Bit-intelliSenseMode durchgeführt.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Fehler beim Abfragen des Compilers. Es wird ein Fallback auf den 64-Bit-intelliSenseMode durchgeführt.", + "Failed to query compiler. Falling back to no bitness.": "Fehler beim Abfragen des Compilers. Es wird ein Fallback auf keine Bitanzahl durchgeführt.", + "IntelliSense client creation aborted: {0}": "IntelliSense-Clienterstellung abgebrochen: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Basierend auf den von der configurationProvider-Einstellung bereitgestellten Informationen wurden #include-Fehler festgestellt. IntelliSense-Features für diese Übersetzungseinheit ({0}) werden vom Tagparser bereitgestellt.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Basierend auf den von der configurationProvider-Einstellung bereitgestellten Informationen wurden #include-Fehler festgestellt. Wellenlinien sind für diese Übersetzungseinheit deaktiviert ({0}).", + "preprocessor keyword/Refers to C/C++ processor keywords": "Präprozessor-Schlüsselwort", + "C keyword": "C-Schlüsselwort", + "C++ keyword": "C++-Schlüsselwort", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+1 Überladung", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "+%d Überladungen", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+1 Spezialisierung", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "+%d Spezialisierungen", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Hinweis: IntelliSense ist nicht vollständig konfiguriert. Verwenden Sie den Befehl \"IntelliSense-Konfiguration auswählen...\", um die Konfiguration abzuschließen.", + "Select an IntelliSense configuration to locate system headers": "Wählen Sie eine IntelliSense-Konfiguration aus, um nach Systemheadern zu suchen.", + "Expands to:": "Wird erweitert auf:", + "Attention:": "Achtung:", + "Author:": "Autor:", + "Authors:": "Autoren:", + "Bug:": "Fehler:", + "Copyright:": "Copyright:", + "Deprecated:": "Veraltet:", + "Date:": "Datum:", + "Details:": "Details:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Ausnahmen:", + "Invariant:": "Invariant:", + "File:": "Datei:", + "Note:": "Hinweis:", + "Parameters:": "Parameter:", + "Precondition:": "Vorbedingung:", + "Postcondition:": "Nachbedingung:", + "Remark:": "Bemerkung:", + "Remarks:": "Bemerkungen:", + "Result:": "Ergebnis:", + "Return:": "Rückgabe:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Rückgabe:", + "See also:": "Siehe auch:", + "Since:": "Seit:", + "Template Parameters:": "Vorlagenparameter:", + "Test:": "Test:", + "TODO:": "TODO:", + "Version:": "Version:", + "Warning:": "Warnung:", + "Compiler query command line: {0}": "Befehlszeile der Compilerabfrage: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Es wird versucht, Standardwerte vom C-Compiler in der Eigenschaft \"compilerPath\" abzurufen: {0}", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Es wird versucht, Standardwerte vom C++-Compiler in der Eigenschaft \"compilerPath\" abzurufen: {0}", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Es wird versucht, Standardwerte vom C-Compiler in der Datei \"compile_commands.json\" abzurufen: {0}", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Es wird versucht, Standardwerte vom C++-Compiler in der Datei \"compile_commands.json\" abzurufen: {0}", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Für C-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" geändert.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Für C++-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" geändert.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Für C-Quelldateien wurde \"cStandard\" von \"{0}\" in \"{1}\" geändert.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Für C++-Quelldateien wurde \"cppStandard\" von \"{0}\" in \"{1}\" geändert.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Für C-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" und \"cStandard\" von \"{2}\" in \"{3}\" geändert.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Für C++-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" und \"cppStandard\" von \"{2}\" in \"{3}\" geändert.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Für C-Quelldateien wurde \"IntelliSenseMode\" basierend auf Compilerargumenten und Abfrage von compilerPath \"{2}\" von \"{0}\" in \"{1}\" geändert.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Für C++-Quelldateien wurde \"IntelliSenseMode\" basierend auf Compilerargumenten und Abfrage von compilerPath \"{2}\" von \"{0}\" in \"{1}\" geändert.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Für C-Quelldateien wurde der cStandard basierend auf Compilerargumenten und Abfrage von compilerPath \"{2}\" von \"{0}\" in \"{1}\" geändert.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Für C++-Quelldateien wurde der cppStandard basierend auf Compilerargumenten und Abfrage von compilerPath \"{2}\" von \"{0}\" in \"{1}\" geändert.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Für C-Quelldateien wurde basierend auf Compilerargumenten und Abfrage von compilerPath \"{4}\" der IntelliSenseMode-Wert von \"{0}\" in \"{1}\" und cStandard von \"{2}\" in \"{3}\" geändert.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Für C++-Quelldateien wurde basierend auf Compilerargumenten und Abfrage von compilerPath \"{4}\" der IntelliSenseMode-Wert von \"{0}\" in \"{1}\" und cppStandard von \"{2}\" in \"{3}\" geändert.", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Die Konfiguration mit compilerPath \"{0}\" kann nicht aufgelöst werden. Stattdessen wird \"{1}\" verwendet.", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Die Konfiguration mit compilerPath \"{0}\" kann nicht aufgelöst werden.", + "Skipping query of compiler due to explicitly empty compilerPath": "Die Compilerabfrage wird aufgrund eines explizit leeren compilerPath-Werts übersprungen.", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "Es wurde der MSVC-IntelliSenseMode angegeben. Der Compiler (cl.exe) wird konfiguriert.", + "Unable to configure for compiler cl.exe.": "Der Compiler (cl.exe) kann nicht konfiguriert werden.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Das Standardziel des Compilers wird über die Befehlszeile abgefragt: \"{0}\" {1}", + "Compiler returned default target value: {0}": "Der Compiler hat den Standardzielwert zurückgegeben: {0}", + "Querying compiler for default C language standard using command line: {0}": "Der Compiler für den Standard-C-Sprachstandard wird über die Befehlszeile abgefragt: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Der Compiler für den Standard-C++-Sprachstandard wird über die Befehlszeile abgefragt: {0}", + "Detected language standard version: {0}": "Erkannte Sprachstandardversion: {0}", + "Unhandled default compiler target value detected: {0}": "Unbehandelter Standardzielwert für Compiler erkannt: {0}", + "Unhandled target argument value detected: {0}": "Unbehandelter Zielargumentwert erkannt: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "IntelliSense-Server wird heruntergefahren: {0}. Die Arbeitsspeicherauslastung beträgt {1} MB und hat das Limit von {2} MB überschritten.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Der Compiler im Pfad \"{0}\" konnte nicht nach standardmäßigen Standardversionen abgefragt werden. Die Compilerabfrage ist für diesen Compiler deaktiviert.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "Die Compilerabfrage hat eine unbekannte Sprachstandardversion zurückgegeben. Stattdessen wird die neueste unterstützte Version verwendet.", + "IntelliSense process crash detected.": "IntelliSense-Prozessabsturz erkannt.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "IntelliSense-Prozessabsturz erkannt: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Rückgabewerte:", + "Unable to locate nvcc compiler: {0}": "Der nvcc-Compiler wurde nicht gefunden: {0}", + "Unable to locate nvcc host compiler: {0}": "Der nvcc-Hostcompiler wurde nicht gefunden: {0}", + "Invoking nvcc with command line: {0}": "nvcc wird über Befehlszeile aufgerufen: {0}", + "Unable to find host compile command in output of nvcc.": "Der Hostkompilierbefehl wurde in der Ausgabe von nvcc nicht gefunden.", + "Unable to locate forced include: {0}": "Erzwungene Includedatei wurde nicht gefunden: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Inlinemakro", + "Unable to access browse database. ({0})": "Auf die Suchdatenbank kann nicht zugegriffen werden. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode wurde geändert, weil es nicht mit dem erkannten Compiler übereinstimmte. Erwägen Sie stattdessen, \"compilerPath\" festzulegen. Legen Sie \"compilerPath\" auf \"\" fest, um die Erkennung von System-Includes und -Definitionen zu deaktivieren.", + "Remove all code analysis problems": "Alle Codeanalyseprobleme entfernen", + "(Multiple locations)": "(Mehrere Standorte)", + "Folder": "Ordner", + "File": "Datei", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Der Compiler hat die Standardversion der Standardsprache zurückgegeben: {0}. Da diese Version alt ist, wird versucht, eine neuere Version {1} als Standard zu verwenden.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Unerwartete Ausgabe von „clang-tidy“: {0}. Erwartet: {1}.", + "Generate Doxygen comment": "Doxygenkommentar generieren", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Deklaration von „{0}“ in {1} erstellen", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Definition von „{0}“ in {1} erstellen", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "Die Funktionsdefinition für „{0}“ wurde nicht gefunden.", + "Attributes/'Attributes' is a C++ specifier.": "Attribute", + "Bases/'Bases' are a C++ class type.": "Basen", + "Classes": "Klassen", + "CoClasses": "CoClasses", + "Delegates": "Delegaten", + "Enums": "Enumerationen", + "Events": "Ereignisse", + "Functions": "Funktionen", + "Import directives": "Import-Direktiven", + "ImportLib statements": "ImportLib-Ausdrücke", + "Import statements": "Import-Ausdrücke", + "Include directives": "Include-Direktiven", + "Interfaces": "Schnittstellen", + "Libraries": "Bibliotheken", + "Macros": "Makros", + "Maps": "Karten", + "Map entries": "Map-Eingaben", + "Miscellaneous": "Sonstiges", + "Namespaces": "Namespaces", + "Parameters": "Parameter", + "Properties": "Eigenschaften", + "Structs": "Strukturen", + "TODO: insert return statement here": "TODO: hier return-Anweisung eingeben", + "Typedefs": "TypeDefs", + "Unions": "Unions", + "Using aliases": "Using-Aliase", + "Using directives": "Using-Direktiven", + "Variables": "Variablen", + "Automatic add function": "Automatisches Hinzufügen der Funktion.", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual ist redundant und darf nicht mit vsCMFunctionComMethod angegeben werden.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod kann nicht statisch sein.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Ungültige C/C++-Datei: \"%s\"", + "File name too long: '%s'./%s is the file that has a long name.": "Dateiname zu lang: \"%s\".", + "Cannot create file '%s'./%s is the file that could not be created.": "Die Datei \"%s\" kann nicht erstellt werden.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "Auf das Verzeichnis oder die Datei \"%s\" kann nicht zum Schreiben zugegriffen werden.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Ungültiger Dateipfad \"%s\".", + "File '%s' was not found./%s is the file that was not found.": "Datei '%s' nicht gefunden", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Fehler beim Erstellen der Deklaration/Definition: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Die Funktion \"%s\" kann nicht erstellt werden. Das Erstellen standardmäßiger oder gelöschter Funktionen wird nicht unterstützt.", + "Unable to create function '%s'./%s is the function that could not be created.": "Erstellen der Funktion '%s' nicht möglich.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Es wurde kein eindeutiger Speicherort für Funktion '%s' gefunden.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Klasse oder Namespace '%s' wurde nicht gefunden.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "Der Vorgang wird für '%s' nicht unterstützt.", + "Unknown error.": "Unbekannter Fehler.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Führen Sie den Befehl „IntelliSense-Konfiguration auswählen...“ aus, um nach Ihren Systemheadern zu suchen.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Deklaration von \"{0}\" kopieren", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Definition von \"{0}\" kopieren", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Fehler beim Kopieren der Deklaration/Definition in die Zwischenablage: %s", + "Extract to function": "In Funktion extrahieren", + "Extract to free function": "In freie Funktion extrahieren", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "In Memberfunktion in „{0}“ extrahieren", + "The selected text is not inside a function.": "Ausgewählter Text ist nicht in der Funktion enthalten.", + "The selected text cannot span different functions.": "Der ausgewählte Text darf nicht unterschiedliche Funktionen umfassen.", + "Variable '%s' is declared in the selected region and then used below it.": "Variable '%s' wird in der ausgewählten Region deklariert und dann darunter verwendet.", + "Preprocessor macro '%s' is used below the selected region.": "Preprozessormakro '%s' wird unter der ausgewählten Region verwendet.", + "The selected region spans an inactive preprocessor block.": "Die ausgewählte Region umfasst einen inaktiven Preprozessorblock.", + "The selected region does not contain any code that can be extracted.": "Die ausgewählte Region enthält keinen Code, der extrahiert werden kann.", + "The selected region is not entirely within the function's body.": "Ausgewählter Bereich ist vollständig innerhalb des Texts der Funktion enthalten.", + "The selection contains IntelliSense errors.": "Die Auswahl enthält IntelliSense-Fehler.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "„%s“ ist nicht innerhalb des ausgewählten Codes deklariert, wird jedoch geändert. C-Code kann keine Argumente durch Verweis übergeben.", + "The function would have to return a value by reference. C code cannot return references.": "Die Funktion muss einen Wert durch Verweis zurückgeben. C-Code kann keine Verweise zurückgeben.", + "Jumps between the selected code and the surrounding code are present.": "Es sind Sprünge zwischen dem ausgewählten und dem umgebenden Code vorhanden.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "Im ausgewählten Code werden einige Steuerungspfade beendet, ohne den Rückgabewert festzulegen. Dies wird nur für skalare, numerische und Zeigerrückgabetypen unterstützt.", + "Expand selection (to enable 'Extract to function')": "Auswahl erweitern (um „In Funktion extrahieren“ zu aktivieren)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "„{0}“ wurde in compile_commands.json-Dateien nicht gefunden. Stattdessen wird „includePath“ aus „c_cpp_properties.json“ im Ordner „{1}“ für diese Datei verwendet.", + "Generate Copilot summary": "Copilot-Zusammenfassung generieren", + "Unable to index files from non-existent folder: {0}": "Dateien aus einem nicht vorhandenen Ordner können nicht indiziert werden: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "Die C/C++-Erweiterung darf nur mit Microsoft Visual Studio, Visual Studio für Mac, Visual Studio Code, Azure DevOps, Team Foundation Server und nachfolgenden Produkten und Diensten von Microsoft verwendet werden, um Ihre Anwendungen zu entwickeln und zu testen.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Microsoft C++ Language Server", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Syntax: {0} [Optionen]", + "Options:": "Optionen:", + "Show this help message and exit.": "Diese Hilfemeldung anzeigen und beenden.", + "Show version information and exit.": "Versionsinformationen anzeigen und beenden.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Akzeptieren Sie den Endbenutzer-Lizenzvertrag (EULA) dauerhaft.", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "stderr nicht an /dev/null umleiten (nützlich für das Debuggen).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Interaktive Anmeldung initiieren (GitHub Copilot-Abonnement erforderlich).", + "Force the login process, even if already authenticated.": "Anmeldevorgang erzwingen, auch wenn er bereits authentifiziert ist.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Speichern von Anmeldeinformationen im Klartext zulassen, wenn ein sicherer Schlüsselbund nicht verfügbar ist.", + "Specify the directory for log files (default: system temp directory).": "Geben Sie das Verzeichnis für Protokolldateien an (Standard: temporäres Systemverzeichnis).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Legen Sie die Ausführlichkeit der Protokollierung von 0 (nur Fehler) bis 9 (ausführlich) fest.", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Parameter als absoluten Pfad oder relativ zum Arbeitsbereichsstamm oder dem zugehörigen GitHub-Ordner angeben.", + "Disable sending telemetry data.": "Senden von Telemetriedaten deaktivieren.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Um sich bei GitHub zu authentifizieren, kopieren Sie den Code {0}, und besuchen Sie dann {1}. Auf Autorisierung warten …", + "Timed out waiting for authorization.": "Timeout beim Warten auf Autorisierung.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Die Authentifizierung bei GitHub war erfolgreich.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "Die GitHub-Authentifizierung war erfolgreich, Token konnten jedoch nicht gespeichert werden.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Schlüsselbundfehler: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "Die Schlüsselbundsammlung ist gesperrt. Entsperren Sie ihn, oder starten Sie „restart-keyring-daemon“ neu.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Es ist kein Schlüsselbunddienst verfügbar. „endpoint-keyring“ installieren und starten: sudo apt install endpoint-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Alternativ können Sie Klartextspeicher zulassen, indem Sie „--login --allow-plaintext-secret-storage“ übergeben.", + "The device code has expired. Please try again.": "Der Gerätecode ist abgelaufen. Versuchen Sie es noch einmal.", + "Authorization was denied by the user.": "Die Autorisierung wurde vom Benutzer verweigert.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Unerwarteter Fehler beim Abrufen: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Die GitHub-Anmeldung ist fehlgeschlagen. --login über die Befehlszeile ausführen, um sich anzumelden.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "EULA muss akzeptiert werden, um den Vorgang fortzusetzen. Mit --accept-eula ausführen.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Bereits bei GitHub authentifiziert. Verwenden Sie „--force-login“, um sich erneut zu authentifizieren.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Initialisierungsfehler: Nicht unterstützte Konfigurationsversion. Es wird nur Version 1 unterstützt.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Initialisierungsfehler: Die Konfigurationsdatei „{0}“ wurde nicht gefunden.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Fehler bei der Initialisierung: Die Konfigurationsdatei „{0}“ kann nicht analysiert werden. JSON-Format überprüfen. Fehler: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Fehler bei der Initialisierung: „repositoryPath“ ist nicht konfiguriert oder ungültig.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Initialisierungsfehler: „compileCommands“ oder „cppProperties“ müssen konfiguriert sein.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Fehler bei der Initialisierung: „compileCommands“ und „cppProperties“ können nicht beide konfiguriert werden.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Initialisierungsfehler: Der Pfad „compileCommands“ wurde nicht gefunden: „{0}“.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Initialisierungsfehler: Der Pfad „cppProperties“ wurde nicht gefunden: „{0}“.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Initialisierungsfehler: Die durch „cppProperties“ angegebene Datei kann nicht analysiert werden: „{0}“. JSON-Format überprüfen. Fehler: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Initialisierungsfehler: Die Konfiguration kann nicht aus der Datei „cppProperties“ gelesen werden: „{0}“. Überprüfen Sie das Schema.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Fehler bei der Initialisierung: „{0}“ enthält kein gültiges Array „configurations“.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Fehler bei der Initialisierung: Die Konfiguration „{0}“ wurde in der Datei „cppProperties“ nicht gefunden: „{1}“.", + "Initialization failed: LSP config paths cache is missing.": "Fehler bei der Initialisierung: Der Cache für LSP-Konfigurationspfade fehlt.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl nicht gefunden ({0}). libcurl ist für die Authentifizierung und Telemetrie erforderlich.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl sollte standardmäßig unter macOS verfügbar sein. Falls nicht vorhanden, installieren über: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "libcurl: sudo apt install libcurl4 (Debian/Ubuntu) oder sudo dnf install libcurl (Fedora/RHEL) installieren.", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl geladen, aber erforderliche Symbole fehlen. Dies kann auf eine sehr alte oder inkompatible libcurl-Version hinweisen. Der Sprachserver kann nicht ohne kompatible libcurl ausgeführt werden.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 wurde nicht gefunden ({0}). libsecret ist für die sichere Speicherung von Anmeldeinformationen erforderlich. libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) oder sudo dnf install libsecret (Fedora/RHEL) installieren.", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret geladen, aber erforderliche Symbole fehlen. Der Sprachserver kann nicht ohne kompatibles libsecret ausgeführt werden.", + "Failed to disable telemetry.": "Fehler beim Deaktivieren der Telemetrie.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Methode nicht gefunden: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "IntelliSense kann für eine Datei mit demselben kanonisierten Pfad wie eine vorhandene Datei nicht verarbeitet werden. URI: {0}, kanonischer Pfad: {1}", + "Initializing": "Initialisierung", + "Initializing ({0} of {1})": "Initialisierung ({0} von {1})", + "Initializing ({0} of {1}): {2}": "Initialisierung ({0} von {1}): {2}", + "Initializing {0}": "{0} wird initialisiert", + "Initializing projects": "Projekte werden initialisiert", + "Initializing projects ({0} of {1})": "Projekte werden initialisiert ({0} von {1})", + "Initializing projects ({0} of {1}): {2}": "Projekte werden initialisiert ({0} von {1}): {2}", + "Initializing projects {0}": "Projekte werden initialisiert {0}", + "Checking for out of date files": "Veraltete Dateien werden gesucht", + "Checking for out of date files ({0} of {1})": "Veraltete Dateien werden gesucht ({0} von {1})", + "Checking for out of date files ({0} of {1}): {2}": "Veraltete Dateien werden gesucht ({0} von {1}): {2}", + "Checking for out of date files {0}": "Veraltete Dateien werden gesucht {0}", + "Parsing files": "Dateien werden analysiert", + "Parsing files ({0} of {1})": "Dateien werden analysiert: ({0} von {1})", + "Parsing files ({0} of {1}): {2}": "Dateien werden analysiert: ({0} von {1}): {2}", + "Parsing files {0}": "Dateien werden analysiert {0}", + "Parsing included files": "Eingeschlossene Dateien werden analysiert", + "Parsing included files ({0} of {1})": "Eingeschlossene Dateien werden analysiert ({0} von {1})", + "Parsing included files ({0} of {1}): {2}": "Eingeschlossene Dateien werden analysiert ({0} von {1}): {2}", + "Parsing included files {0}": "Eingeschlossene Dateien werden analysiert {0}", + "Scanning #includes for more files": "#includes nach zusätzlichen Dateien durchsuchen", + "Scanning #includes for more files ({0} of {1})": "#includes nach zusätzlichen Dateien durchsuchen ({0} von {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "#includes nach zusätzlichen Dateien durchsuchen ({0} von {1}): {2}", + "Scanning #includes for more files {0} {1}": "#includes nach zusätzlichen Dateien durchsuchen {0} {1}", + "Ready (Updating external dependencies)": "Bereit (Externe Abhängigkeiten werden aktualisiert)", + "Ready (Updating external dependencies) ({0} of {1})": "Bereit (Externe Abhängigkeiten werden aktualisiert) ({0} von {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Bereit (Externe Abhängigkeiten werden aktualisiert) ({0} von {1}): {2}", + "Ready (Updating external dependencies) {0}": "Bereit (Externe Abhängigkeiten werden aktualisiert) {0}", + "Ready (Optimizing database)": "Bereit (Datenbank wird optimiert)", + "Ready (Optimizing database) ({0} of {1})": "Bereit (Datenbank wird optimiert) ({0} von {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Bereit (Datenbank wird optimiert) ({0} von {1}): {2}", + "Ready (Optimizing database) {0}": "Bereit (Datenbank wird optimiert) {0}", + "Creating Indexes": "Indizes werden erstellt", + "Creating Indexes ({0} of {1})": "Indizes werden erstellt ({0} von {1})", + "Creating Indexes ({0} of {1}): {2}": "Indizes werden erstellt ({0} von {1}): {2}", + "Creating Indexes {0}": "Indizes werden erstellt {0}", + "Evaluating": "Wird ausgewertet", + "Evaluating ({0} of {1})": "Wird ausgewertet ({0} von {1})", + "Evaluating ({0} of {1}): {2}": "Wird ausgewertet ({0} von {1}): {2}", + "Evaluating {0}": "{0} wird ausgewertet", + "Indexing files": "Indizieren von Dateien", + "Indexing files ({0} of {1})": "Indizieren von Dateien ({0} von {1})", + "Indexing files ({0} of {1}): {2}": "Indizieren von Dateien ({0} von {1}): {2}", + "Indexing files {0}": "Indizieren von Dateien {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Zulassen, dass der Server gestartet wird, auch wenn die angegebene --lsp-config-Datei nicht vorhanden ist.", + "Initialization failed during engine setup.": "Fehler bei der Initialisierung während der Engine-Einrichtung.", + "Important:": "Wichtig:", + "Unknown OS platform": "Unbekannte Betriebssystemplattform", + "Could not get ProductVersion from SystemVersion.plist": "ProductVersion konnte nicht aus \"SystemVersion.plist\" abgerufen werden.", + "Failed to find SystemVersion.plist in {0}.": "Fehler beim Suchen von \"SystemVersion.plist\" in \"{0}\".", + "Refresh process list": "Prozessliste aktualisieren", + "Attach to process": "An Prozess anhängen", + "Select the process to attach to": "Prozess auswählen, an den angefügt werden soll", + "Process not selected.": "Der Prozess wurde nicht ausgewählt.", + "{0} in debug configuration requires {1} and {2}": "{0} in der Debugkonfiguration erfordert {1} und {2}.", + "Chosen debug configuration does not contain {0} or {1}": "{0} oder {1} ist in der ausgewählten Debugkonfiguration nicht enthalten.", + "Pipe transport failed to get OS and processes.": "Der Pipetransport konnte das Betriebssystem und die Prozesse nicht abrufen.", + "Transport attach could not obtain processes list.": "Beim Anhängen an den Transport konnte die Prozessliste nicht abgerufen werden.", + "Failed to make GDB connection: \"{0}\".": "Fehler beim Herstellen einer GDB-Verbindung: „{0}“.", + "Failed to parse processes: \"{0}\".": "Fehler beim Analysieren von Prozessen: „{0}“.", + "Default Configuration": "Standardkonfiguration", + "Select a configuration": "Konfiguration auswählen", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Der Debugger vom Typ \"{0}\" ist nur unter Windows verfügbar. Verwenden Sie auf der aktuellen Betriebssystemplattform den Typ \"{1}\".", + "The key '{0}' is deprecated. Please use '{1}' instead.": "Der Schlüssel \"{0}\" ist veraltet. Verwenden Sie stattdessen \"{1}\".", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "\"LLDB.framework\" wurde für LLDB-Mi nicht gefunden. Installieren Sie XCode oder die XCode-Befehlszeilentools.", + "Launch configuration:": "Startkonfiguration:", + "'deploySteps' require VS Code 1.69+.": "„deploySteps“ erfordert VS Code 1.69 oder höher.", + "Running deploy steps...": "Bereitstellungsschritte werden ausgeführt...", + "Unable to find {0}. {1} task is ignored.": "{0} wurde nicht gefunden. {1} Aufgabe wird ignoriert.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Der {0}-Debugger wurde nicht gefunden. Die Debugkonfiguration für {1} wird ignoriert.", + "build and debug active file": "Aktive Datei erstellen und debuggen", + "Apply Developer Environment": "Entwicklungsumgebung anwenden", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} erfordert die Visual Studio-Entwicklungsumgebung.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Entwicklungsumgebung aktualisieren", + "Cancel": "Abbrechen", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Der Quellcode konnte nicht erstellt werden, da die Visual Studio-Entwicklungsumgebung nicht angewendet wurde.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Der Quellcode konnte nicht erstellt werden, da der Visual C++-Compiler nicht gefunden wurde.", + "Missing dependency '{0}' for lldb-mi executable.": "Fehlende Abhängigkeit \"{0}\" für ausführbare LLDB-MI-Datei.", + "Searched in:": "Gesucht in:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Um dieses Problem zu beheben, installieren Sie entweder XCode über den Apple App Store, oder installieren Sie die XCode-Befehlszeilentools, indem Sie \"{0}\" in einem Terminalfenster ausführen.", + "Failed to use {0}. Reason: {1}": "Fehler beim Verwenden von “{0}”. Grund: {1}", + "Replacing {0} '{1}' with '{2}'.": "{0} \"{1}\" wird durch \"{2}\" ersetzt.", + "Resolving variables in {0}...": "Variablen in \"{0}\" werden aufgelöst...", + "Open {0}": "{0} öffnen", + "Recently Used Task": "Kürzlich verwendete Aufgabe", + "Configured Task": "Konfigurierte Aufgabe", + "Detected Task": "Erkannte Aufgabe", + "Cannot build and debug because the active file is not a C or C++ source file.": "Erstellen und Debuggen nicht möglich, da die aktive Datei keine C- oder C++-Quelldatei ist.", + "No compiler found": "Kein Compiler gefunden.", + "Select a debug configuration": "Debugkonfiguration auswählen", + "\"args\" in command deploy step must be an array.": "„Args“ im Befehlsbereitstellungsschritt muss ein Array sein.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "„host“, „files“ und „targetDir“ sind in {0}-Schritten erforderlich.", + "\"files\" must be a string or an array of strings in {0} steps.": "„files“ muss eine Zeichenfolge oder ein Array von Zeichenfolgen in {0}-Schritten sein.", + "\"host\" and \"command\" are required for ssh steps.": "„Host“ und „Befehl“ sind für SSH-Schritte erforderlich.", + "\"command\" is required for shell steps.": "„Befehl“ ist für Shellschritte erforderlich.", + "Deploy step type {0} is not supported.": "Der Bereitstellungsschritttyp „{0}“ wird nicht unterstützt.", + "Unexpected OS type": "Unerwarteter Betriebssystemtyp", + "full path to pipe program such as {0}": "Vollständiger Pfad zum Pipeprogramm wie z. B. \"{0}\"", + "Enable pretty-printing for {0}": "Automatische Strukturierung und Einrückung für \"{0}\" aktivieren", + "Set Disassembly Flavor to {0}": "Disassemblierungsvariante auf {0} festlegen", + "enter program name, for example {0}": "Programmnamen eingeben, z. B. \"{0}\"", + "Launch": "Starten", + "Launch with {0}.": "Starten Sie mit \"{0}\".", + "Attach": "Anfügen", + "Attach with {0}.": "Fügen Sie mit \"{0}\" an.", + "Pipe Launch": "Pipe starten", + "Pipe Launch with {0}.": "Starten Sie eine Pipe mit \"{0}\".", + "Pipe Attach": "An Pipe anfügen", + "Pipe Attach with {0}.": "Fügen Sie mit \"{0}\" an eine Pipe an.", + "Launch with the Visual Studio C/C++ debugger.": "Starten Sie mit dem Visual Studio C/C++-Debugger.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Fügen Sie an einen Prozess mit dem Visual Studio C/C++-Debugger an.", + "Bash on Windows Launch": "Bash unter Windows – starten", + "Launch in Bash on Windows using {0}.": "Starten Sie in Bash unter Windows mit \"{0}\".", + "Bash on Windows Attach": "Bash unter Windows – anfügen", + "Attach to a remote process running in Bash on Windows using {0}.": "Fügen Sie mithilfe von \"{0}\" an einen Remoteprozess an, der in Bash unter Windows ausgeführt wird.", + "Debugger type '{0}' is not available for non-Windows machines.": "Der Debuggertyp \"{0}\" ist für Nicht-Windows-Computer nicht verfügbar.", + "Run Without Debugging is only supported for launch configurations.": "„Ausführen ohne Debuggen“ wird nur für Startkonfigurationen unterstützt.", + "Add debug configuration is not available for single file.": "Das Hinzufügen der Debugkonfiguration ist für eine einzelne Datei nicht verfügbar.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Die SSH-Konfigurationsdatei kann aufgrund eines Analysefehlers „{0}“ nicht geändert werden.", + "No valid SSH configuration file found.": "Es wurde keine gültige SSH-Konfigurationsdatei gefunden.", + "Enter SSH Target Name": "SSH-Zielnamen eingeben", + "Example: `mySSHTarget`": "Beispiel: `mySSHTarget`", + "Enter SSH Connection Command": "SSH-Verbindungsbefehl eingeben", + "Example: `ssh hello@microsoft.com -A`": "Beispiel: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Wählen Sie eine SSH-Konfigurationsdatei aus", + "Yes": "Ja", + "No": "Nein", + "Are you sure you want to permanently delete \"{0}\"?": "Möchten Sie „{0}“ endgültig löschen?", + "Operating system \"{0}\" not supported.": "Das Betriebssystem \"{0}\" wird nicht unterstützt.", + "\"{0}\" timed out after {1} seconds.": "\"{0}\" ist nach {1} Sekunden ein Timeout aufgetreten.", + "\"{0}\" canceled.": "\"{0}\" abgebrochen.", + "\"{0}\" exited with code: \"{1}\".": "\"{0}\" mit Code \"{1}\" beendet.", + "Failed to spawn \"{0}\".": "Fehler beim Erzeugen \"{0}\".", + "Ignoring non-parsable lines in {0} {1}: ": "Nicht analysierbare Zeilen in {0} {1} werden ignoriert: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Kein Terminalemulator gefunden. Legen Sie die Umgebungsvariable $TERMINAL auf den Terminalemulator Ihrer Wahl fest, oder installieren Sie eine der folgenden Komponenten: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Wählen Sie einen Compiler aus, der für IntelliSense konfiguriert werden soll.", + "How would you like to configure IntelliSense for the '{0}' folder?": "Wie möchten Sie IntelliSense für den Ordner \"{0}\" konfigurieren?", + "How would you like to configure IntelliSense for this folder?": "Wie möchten Sie IntelliSense für diesen Ordner konfigurieren?", + "Found at {0}": "Gefunden unter {0}", + "Use {0}": "{0} verwenden", + "configuration providers": "Konfigurationsanbieter", + "compilers": "Compiler", + "Select IntelliSense Configuration...": "IntelliSense-Konfiguration auswählen...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "IntelliSense ist nicht konfiguriert. Wenn Sie keine eigenen Konfigurationen festlegen, ist IntelliSense möglicherweise nicht funktionsfähig.", + "Select another compiler on my machine...": "Anderen Compiler auf meinem Computer auswählen...", + "Help me install a compiler": "Hilfe bei der Installation eines Compilers", + "Install a compiler": "Installieren eines Compilers", + "Do not configure with a compiler (not recommended)": "Nicht mit einem Compiler konfigurieren (nicht empfohlen)", + "EPERM: Check permissions for '{0}'": "EPERM: Berechtigungen für \"{0}\" überprüfen", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Der C/C++-Sprachserver kann nicht gestartet werden. IntelliSense-Features werden deaktiviert. Fehler: {0}", + "The language server crashed. Restarting...": "Der Sprach-Server ist abgestürzt. Neustart wird ausgeführt ...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "Der Sprachserver ist in den letzten 3 Minuten 5-mal abgestürzt. Er wird nicht neu gestartet.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} wurde geändert in {1}", + "Dismiss": "Schließen", + "Disable Warnings": "Warnungen deaktivieren", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} kann keine IntelliSense-Konfigurationsinformationen für \"{1}\" bereitstellen. Stattdessen werden Einstellungen aus der Konfiguration \"{2}\" verwendet.", + "The requested configuration name is not found: {0}": "Der angeforderte Konfigurationsname wurde nicht gefunden: {0}", + "Unsupported client": "Nicht unterstützter Client", + "Timed out in {0}ms.": "Timeout nach {0} ms.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "Aufgezählte {0}-Dateien mit {1} C/C++-Quelldateien erkannt. Sie sollten in Betracht ziehen, einige Dateien auszuschließen, um die Leistung zu optimieren.", + "Learn More": "Weitere Informationen", + "Don't Show Again": "Nicht mehr anzeigen", + "Update IntelliSense time (sec): {0}": "IntelliSense-Zeit aktualisieren (Sek.): {0}", + "Custom configurations received:": "Benutzerdefinierte Konfigurationen empfangen:", + "Custom browse configuration received: {0}": "Benutzerdefinierte Suchkonfiguration empfangen: {0}", + " Declaration/definition was copied.": " Die Deklaration/Definition wurde kopiert.", + "Name the extracted function": "Benennen der extrahierten Funktion", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "Fehler beim Extrahieren in die Funktion: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "Fehler beim Extrahieren in die Funktion. Es wurde eine ungültige Bearbeitung generiert: „{0}“", + "Fix all code analysis problems": "Beheben aller Codeanalyseprobleme", + "Clear all code analysis problems": "Alle Codeanalyseprobleme löschen", + "Fix all {0} problems": "Alle {0}-Probleme beheben", + "Disable all {0} problems": "Alle {0}-Probleme deaktivieren", + "Clear all {0} problems": "Alle {0}-Probleme löschen", + "Clear this {0} problem": "Dieses {0}-Problem löschen", + "Fix this {0} problem": "Dieses {0}-Problem beheben", + "Show documentation for {0}": "Dokumentation für {0} anzeigen", + "IntelliSense mode {0} is incompatible with compiler path.": "Der IntelliSense-Modus \"{0}\" ist inkompatibel mit dem Compilerpfad.", + "Processed c_cpp_properties.json in {0}s": "Verarbeitete c_cpp_properties.json-Datei in {0} s", + "Failed to create \"{0}\"": "\"{0}\" konnte nicht erstellt werden.", + "Invalid configuration file. There must be at least one configuration present in the array.": "Ungültige Konfigurationsdatei. Im Array muss mindestens eine Konfiguration vorhanden sein.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "In \"c_cpp_properties.json\" wurde eine unbekannte Versionsnummer gefunden. Einige Features funktionieren möglicherweise nicht wie erwartet.", + "Attempt to update \"{0}\" failed (do you have write access?)": "Fehler beim Aktualisieren von \"{0}\". (Besitzen Sie Schreibzugriff?)", + "Failed to parse \"{0}\"": "Fehler beim Analysieren von \"{0}\".", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Der Compilerpfad mit Leerzeichen konnte nicht gefunden werden. Wenn dies auch Compilerargumente einschließen soll, setzen Sie den Compilerpfad in doppelte Anführungszeichen ({0}).", + "Cannot find: {0}": "Nicht gefunden: {0}", + "Path is not a file: {0}": "Der Pfad ist keine Datei: {0}", + "The include path validation took {0}s to evaluate": "Der Validierung des Inlcude-Pfads hat {0} s für die Auswertung benötigt", + "Failed to resolve include path. Error: {0}": "Fehler beim Auflösen des Include-Pfads. Fehler: {0}", + "Do not add extra quotes around paths.": "Fügen Sie keine zusätzlichen Anführungszeichen um Pfade hinzu.", + "Path is not a directory: {0}": "Der Pfad ist kein Verzeichnis: {0}", + "{0} is a duplicate. The configuration name should be unique.": "\"{0}\" ist ein Duplikat. Der Konfigurationsname muss eindeutig sein.", + "Path took {0}s to evaluate": "Der Pfad hat {0} s für die Auswertung benötigt", + "Failed to resolve path {0}. Error: {1}": "Fehler beim Auflösen des Pfads {0}. Fehler: {1}", + "Multiple paths are not allowed.": "Mehrere Pfade sind nicht zulässig.", + "Multiple paths should be separate entries in an array.": "Mehrere Pfade müssen separate Einträge in einem Array sein.", + "Paths are not directories: {0}": "Pfade sind keine Verzeichnisse: {0}", + "Error while retrieving result. Reason: {0}": "Fehler beim Abrufen des Ergebnisses. Grund: {0}", + "build active file": "Aktive Datei kompilieren", + "compiler:": "Compiler:", + "Task generated by Debugger.": "Vom Debugger generierte Aufgabe.", + "Starting build...": "Kompilierung wird gestartet...", + "Build run was terminated.": "Die Build-Ausführung wurde beendet.", + "Build finished with error(s).": "Der Build wurde mit Fehlern abgeschlossen.", + "Build finished with warning(s).": "Der Build wurde mit Warnungen abgeschlossen.", + "Build finished successfully.": "Die Kompilierung wurde erfolgreich abgeschlossen.", + "No context provided": "Es wurde kein Kontext angegeben", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "Der Befehl „Visual Studio-Entwicklungsumgebung festlegen“ ist nur unter Windows verfügbar", + "A Visual Studio installation with the C++ compiler was not found": "Es wurde keine Visual Studio-Installation mit dem C++-Compiler gefunden", + "The operation was cancelled": "Der Vorgang wurde abgebrochen", + "No hosts found": "Keine Hosts gefunden", + "Configuring developer environment...": "Entwicklungsumgebung wird konfiguriert...", + "Select a Visual Studio installation": "Visual Studio-Installation auswählen", + "Advanced options...": "Erweiterte Optionen...", + "Select a specific host and target architecture, toolset version, etc.": "Wählen Sie eine bestimmte Host- und Zielarchitektur, Toolsetversion usw. aus.", + "Select a toolset version": "Toolsetversion auswählen", + "Select a host and target architecture": "Host- und Zielarchitektur auswählen", + "Something went wrong: {0}": "Es ist ein Problem aufgetreten: {0}", + "{0} developer environment for {1}": "{0}-Entwicklungsumgebung für {1}", + "Default environment for {0}": "Standardumgebung für {0}", + "host = {0}, target = {1}": "Host = {0}, Ziel = {1}", + "Learn how to install a library for this header with vcpkg": "Erfahren Sie, wie Sie mit vcpkg eine Bibliothek für diesen Header installieren.", + "Copy vcpkg command to install '{0}' to the clipboard": "vcpkg-Befehl zum Installieren von \"{0}\" in die Zwischenablage kopieren", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "IntelliSense-bezogene Befehle können nicht ausgeführt werden, wenn `C_Cpp.intelliSenseEngine` auf `disabled` festgelegt ist.", + "client not found": "Client nicht gefunden.", + "OK": "OK", + "The clang compiler will now be installed": "Der Clang-Compiler wird jetzt installiert.", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Möglicherweise werden Sie aufgefordert, Ihr Kennwort im VS Code-Terminalfenster einzugeben, um die Installation zu autorisieren.", + "The gcc compiler will now be installed": "Der GCC-Compiler wird jetzt installiert.", + "Open a folder first to select a configuration.": "Öffnen Sie zum Auswählen einer Konfiguration zuerst einen Ordner.", + "Open a folder first to select a configuration provider.": "Öffnen Sie zum Auswählen eines Konfigurationsanbieters zuerst einen Ordner.", + "Open a folder first to edit configurations": "Zum Bearbeiten von Konfigurationen zuerst einen Ordner öffnen", + "The code analysis fix could not be applied because the document has changed.": "Der Codeanalysepatch konnte nicht angewendet werden, da sich das Dokument geändert hat.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "Eine Vorabversion der C/C++-Erweiterung ist verfügbar. Möchten Sie zu ihr wechseln?", + "Copilot summary is not available.": "Die Copilot-Zusammenfassung ist nicht verfügbar.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Die Datei, die die Definition oder Deklaration dieses Symbols enthält, wurde von der Verwendung mit Copilot ausgeschlossen.", + "Copilot summary is not available for this symbol.": "Die Copilot-Zusammenfassung ist für dieses Symbol nicht verfügbar.", + "An error occurred while generating Copilot summary.": "Fehler beim Generieren der Copilot-Zusammenfassung.", + "Duplicate multiline comment patterns detected.": "Doppelte mehrzeilige Kommentarmuster erkannt.", + "Error while retrieving the project context. Reason: {0}": "Fehler beim Abrufen des Projektkontexts. Grund: {0}", + "Error while retrieving the #cpp context.": "Fehler beim Abrufen des #cpp Kontexts.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Alle Verweise suchen", + "Peek References": "Verweisvorschau", + "Rename": "Umbenennen", + "Call Hierarchy": "Aufrufhierarchie", + "CONFIRMED REFERENCE": "BESTÄTIGTER VERWEIS", + "CONFIRMATION IN PROGRESS": "BESTÄTIGUNG WIRD AUSGEFÜHRT", + "COMMENT REFERENCE": "KOMMENTARVERWEIS", + "STRING REFERENCE": "ZEICHENFOLGENVERWEIS", + "INACTIVE REFERENCE": "INAKTIVER VERWEIS", + "CANNOT CONFIRM REFERENCE": "VERWEIS KANN NICHT BESTÄTIGT WERDEN", + "NOT A REFERENCE": "KEIN VERWEIS", + "Confirmed reference": "Bestätigter Verweis", + "Confirmation in progress": "Bestätigung wird ausgeführt", + "Comment reference": "Kommentarverweis", + "String reference": "Zeichenfolgenverweis", + "Inactive reference": "Inaktiver Verweis", + "Cannot confirm reference": "Der Verweis kann nicht bestätigt werden.", + "Not a reference": "Kein Verweis", + "CONFIRMATION CANCELED": "BESTÄTIGUNG ABGEBROCHEN", + "Confirmation canceled": "Bestätigung abgebrochen", + "To preview results, click the search icon in the status bar.": "Klicken Sie auf das Suchsymbol in der Statusleiste, um eine Vorschau der Ergebnisse anzuzeigen.", + "Started.": "Gestartet.", + "Processing source.": "Die Quelle wird verarbeitet.", + "Searching files.": "Dateien werden gesucht.", + "{0}/{1} files searched.{2}": "{0}/{1} Dateien durchsucht.{2}", + "{0}/{1} files confirmed.{2}": "{0}/{1} Dateien bestätigt.{2}", + "C/C++ Peek References": "C/C++-Verweisvorschau", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Warnung] Einige Verweise fehlen möglicherweise, da die Arbeitsbereichsanalyse beim Starten von {0} unvollständig war.", + "Go to reference": "Zu Verweis wechseln", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Die Codeformatierung verwendet die Einstellungen von .editorconfig anstelle von .clang-format. Weitere Informationen finden Sie in der Dokumentation zum Wert \"default\" der Einstellung \"C_Cpp.formatting\".", + "C/C++ Configurations": "C/C++-Konfigurationen", + "IntelliSense: Updating": "IntelliSense: Aktualisieren", + "IntelliSense: Ready": "IntelliSense: Bereit", + "Initializing Workspace": "Arbeitsbereich wird initialisiert", + "Indexing Workspace": "Arbeitsbereich für die Indizierung", + "Parsing Workspace": "Parsing-Arbeitsbereich", + "Parsing Workspace: Paused": "Parsing-Arbeitsbereich: Angehalten", + "Parsing Complete": "Parsing abgeschlossen", + "Rescan Workspace": "Arbeitsbereich neu einlesen", + "Parsing Open Files": "Offene Dateien werden geparst", + "Code Analysis: Running": "Codeanalyse: Wird ausgeführt", + "Code Analysis: Paused": "Codeanalyse: Angehalten", + "Code Analysis Mode: ": "Codeanalyse-Modus: ", + "click to preview results": "Klicken Sie, um eine Vorschau der Ergebnisse anzuzeigen.", + "Configure IntelliSense": "IntelliSense konfigurieren", + "C/C++ IntelliSense Status": "Status von C/C++-IntelliSense", + "Rescan": "Neu einlesen", + "Rescan IntelliSense": "IntelliSense neu einlesen", + "C/C++ Tag Parser Status": "Status des C/C++-Tagparsers", + "Initializing...": "Wird initialisiert...", + "Resume": "Fortsetzen", + "Pause": "Anhalten", + "C/C++ Code Analysis Status": "Status der C/C++-Codeanalyse", + "Run Now": "Jetzt ausführen", + "Automatic": "Automatisch", + "Manual": "Manuell", + "Options": "Optionen", + "Starting...": "Wird gestartet...", + "Running: {0} / {1} ({2}%)": "Wird ausgeführt: {0} / {1} ({2}%)", + "Select a code analysis command...": "Codeanalysebefehl auswählen...", + "Start Another...": "Starten Sie eine weitere...", + "Select a command...": "Befehl auswählen...", + "Run Code Analysis on Active File": "Codeanalyse für aktive Dateien ausführen", + "Run Code Analysis on All Files": "Codeanalyse für alle Dateien ausführen", + "Run Code Analysis on Open Files": "Codeanalyse für geöffnete Dateien ausführen", + "C/C++ References Status": "C/C++-Verweisstatus", + "C/C++ Configuration": "C/C++-Konfiguration", + "C/C++ Configure IntelliSense": "IntelliSense in C/C++ konfigurieren", + "Select a Configuration...": "Konfiguration auswählen...", + "Edit Configurations (UI)": "Konfigurationen bearbeiten (Benutzeroberfläche)", + "Edit Configurations (JSON)": "Konfigurationen bearbeiten (JSON)", + "Select a Configuration Provider...": "Konfigurationsanbieter auswählen...", + "active": "aktiv", + "none": "Keine", + "Disable the active configuration provider, if applicable.": "Deaktivieren Sie den aktiven Konfigurationsanbieter, falls zutreffend.", + "Select a workspace folder...": "Arbeitsbereichsordner auswählen...", + "Failed to connect to {0}": "Fehler bei der Verbindungsherstellung mit „{0}“.", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "„localSocket“ kann nicht gleichzeitig mit „bindAddress“ oder“\"Port“ in localForwards angegeben werden", + "\"port\" or \"localSocket\" required in localForwards": "„Port“ oder „localSocket“ in localForwards erforderlich", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "„remoteSocket“ kann nicht gleichzeitig mit „host“ oder „hostPort“ in localForwards angegeben werden", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "„Host“ und „hostPort“ oder „remoteSocket“ sind in localForwards erforderlich.", + "SSH command canceled": "Der SSH-Befehl wurde abgebrochen.", + "Enter passphrase for ssh key {0}": "Passphrase für SSH-Schlüssel eingeben {0}", + "Enter password for user \"{0}\"": "Geben Sie das Kennwort für Benutzer „{0}“ ein.", + "Enter password": "Kennwort eingeben", + "Are you sure you want to continue?": "Möchten Sie wirklich fortfahren?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\" hat Fingerabdruck \"{1}\".", + "Continue": "Weiter", + "\"{0}\" terminal command canceled.": "Der Terminalbefehl „{0}“ wurde abgebrochen.", + "\"{0}\" terminal command done.": "Der Terminalbefehl „{0}“ wurde abgeschlossen.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "Die Aufgabe „{0}“ wurde abgebrochen, aber der zugrunde liegende Befehl wird möglicherweise nicht beendet. Überprüfen Sie dies manuell.", + "\"{0}\" process failed: {1}": "Fehler beim Prozess „{0}“: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "„{0}“ hat Daten in das Terminal „{1}“ geschrieben.", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Fehler beim Suchen von Benutzerinformationen für SSH. Dies kann darauf zurückzuführen sein, dass VS Code mithilfe von \"snap\" installiert wird. Installieren Sie VS Code mit dem Paket \"dhcp\" neu, wenn Sie planen, SSH-Funktionen zu verwenden.", + "Failed to parse SSH configuration file {0}: {1}": "Fehler beim Analysieren der Konfigurationsdatei {0}: {1}", + "Failed to read file {0}.": "Fehler beim Lesen der Datei {0}.", + "Failed to write to file {0}.": "Fehler beim Schreiben in Datei {0}.", + "Inline macro is not available at this location.": "Das Inlinemakro ist an diesem Ort nicht verfügbar.", + "AI-generated content may be incorrect.": "KI-generierte Inhalte können falsch sein.", + "Invalid identifier provided for the Rename Symbol operation.": "Für den Vorgang zum Umbenennen eines Symbols wurde ein ungültiger Bezeichner angegeben.", + "A definition for the selected symbol could not be located.": "Eine Definition für das ausgewählte Symbol wurde nicht gefunden.", + "No SSH targets": "Keine SSH-Ziele", + "Active SSH target selection cancelled.": "Die Auswahl des aktiven SSH-Ziels wurde abgebrochen.", + "{0} Add New SSH Target...": "{0} Neues SSH-Ziel hinzufügen...", + "Select an SSH target": "Wählen Sie ein SSH-Ziel aus", + "[Active]": "[Aktiv]" +} diff --git a/Extension/i18n/esn/bundle.l10n.json b/Extension/i18n/esn/bundle.l10n.json new file mode 100644 index 000000000..88e4775c9 --- /dev/null +++ b/Extension/i18n/esn/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "No se pudo analizar el archivo json, posiblemente debido a comentarios o a comas finales.", + "The C/C++ extension is still installing. See the output window for more information.": "La extensión de C/C++ aún se está instalando. Vea la ventana de salida para obtener más información.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Consulte {0} para obtener información de solución de problemas. Puede crear incidencias en {1}", + "Process exited with code {0}": "Proceso cerrado con el código {0}", + "Process executed successfully.": "El proceso se ejecutó correctamente.", + "Killing process {0}": "{0} de proceso de terminación", + "Warning: Expected file {0} is missing.": "Advertencia: Falta el archivo {0} que se esperaba.", + "Warning: Debugging has not been tested for this platform.": "Advertencia: La depuración no se ha probado para esta plataforma.", + "Reload the workspace for the settings change to take effect.": "Recargue el área de trabajo para que el cambio de configuración surta efecto.", + "Reload": "Volver a cargar", + "Custom configuration provider '{0}' registered": "Se ha registrado el proveedor de configuración personalizado \"{0}\"", + "Reached max string expansion recursion. Possible circular reference.": "Se ha alcanzado la recursividad de expansión de cadena máxima. Posible referencia circular.", + "Invalid variable reference {0} in string: {1}.": "{0} de referencia de variable no válida en la cadena: {1}.", + "Environment variable {0} not found": "No se encuentra la variable de entorno {0}", + "Commands are not supported for string: {0}.": "No se admiten comandos para la cadena: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Excepción al ejecutar {0} de comandos para la cadena: {1} {2}.", + "C/C++ Diagnostics": "Diagnósticos de C/C++", + "C/C++ Crash Call Stacks": "Pilas de llamadas de bloqueo de C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Se ha bloqueado un proceso de extensión de C/C++. A continuación se muestran el nombre del proceso de bloqueo, la fecha y hora, la señal y la pila de llamadas; sería útil incluirlo en un informe de errores en {0}.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "Protocolo de depuración de C/C++", + "C/C++ Configuration Warnings": "Advertencias de configuración de C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Las versiones de la extensión de C/C++ más recientes que {0} requieren al menos macOS versión {1}.", + "intelliSenseEngine is disabled": "IntelliSenseEngine está deshabilitado", + "More Info": "Más información", + "Ignore": "Omitir", + "The C/C++ extension installed does not match your system.": "La extensión C/C++ instalada no coincide con el sistema.", + "The C/C++ extension installed is compatible with but does not match your system.": "La extensión C/C++ instalada es compatible con el sistema, pero no coincide con el sistema.", + "Searching include path...": "Buscando la ruta de acceso de inclusión...", + "Include file not found in browse.path.": "No se ha encontrado el archivo de inclusiones en browse.path.", + "Edit \"browse.path\" setting": "Editar la configuración de \"browse.path\"", + "Add to \"includePath\": {0}": "Agregue esto a “includePath”: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Agregar \"{0}\"", + "Edit \"includePath\" setting": "Editar la configuración de \"includePath\"", + "Disable error squiggles": "Deshabilitar el subrayado ondulado de errores", + "Enable all error squiggles": "Habilitar el subrayado ondulado de errores", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "Se han detectado errores de #include. Actualice el valor de includePath. El subrayado ondulado está deshabilitado para esta unidad de traducción ({0}).", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Se han detectado errores de #include. Actualice el valor de includePath. El analizador de etiquetas proporcionará las características de IntelliSense para esta unidad de traducción ({0}).", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Se han detectado errores de #include. Considere la posibilidad de actualizar compile_commands.json o includePath. El analizador de etiquetas proporcionará las características de IntelliSense para esta unidad de traducción ({0}).", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "No se puede analizar \"{0}\". En su lugar, se usará el valor de \"includePath\" del archivo c_cpp_properties.json en la carpeta \"{1}\".", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "No se encuentra \"{0}\". En su lugar, se usará el valor de \"includePath\" del archivo c_cpp_properties.json en la carpeta \"{1}\".", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "No se encuentra \"{0}\" en \"{1}\". En su lugar, se usará el valor de \"includePath\" del archivo c_cpp_properties.json en la carpeta \"{2}\" para este archivo.", + "The IntelliSense database was successfully reset.": "La base de datos de IntelliSense se restableció correctamente.", + "Failed to send response to client: {0}": "No se pudo enviar la respuesta al cliente: {0}", + "Failed to read response from server: {0}": "No se pudo leer la respuesta del servidor: {0}", + "Failed to send request to server: {0}": "No se pudo enviar la solicitud al servidor {0}", + "Unexpected error while waiting for requests: {0}": "Error inesperado mientras se esperaban solicitudes: {0}", + "{0} errored with: {1}": "Error de {0} con {1}", + "Failed to open the file {0}": "No se pudo abrir el archivo {0}", + "Failed to query default include paths and defines for {0}.": "No se pudieron consultar las definiciones y rutas de acceso de inclusión predeterminadas de {0}.", + "Failed calling {0}": "No se pudo llamar a {0}", + "Quick info operation failed: {0}": "No se pudo ejecutar la operación de información rápida: {0}", + "Failed to create IntelliSense client: {0}": "No se pudo crear el cliente de IntelliSense. {0}", + "Failed to spawn IntelliSense process: {0}": "No se pudo generar el proceso de IntelliSense: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Error al llamar a browse_engine_update_thread.join(): {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Este archivo ({0}) ya está abierto en el editor, pero con un uso diferente de mayúsculas y minúsculas. Las características de IntelliSense se deshabilitarán en esta copia del archivo.", + "IntelliSense client has disconnected from the server - {0}": "El cliente de IntelliSense se desconectó del servidor: {0}", + "Formatting failed:": "No se pudo dar formato:", + "Unable to add file to database, error = {0}: {1}": "No se puede agregar el archivo a la base de datos. Error = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "No se pudo restablecer la marca de tiempo durante la anulación. Error = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "No se puede actualizar la marca de tiempo. Error = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "No se pueden finalizar las actualizaciones del archivo. Error = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} no es un directorio (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "No se puede recuperar la información del sistema de archivos para {0}. Error = {1}", + "{0} is not a directory": "{0} no es un directorio", + "File discovery was aborted": "Se anuló la detección de archivos", + "Aborting tag parse of {0} and dependencies": "Anulando el análisis de etiquetas de {0} y las dependencias", + "Aborting tag parse at root": "Anulando el análisis de etiquetas en el directorio raíz", + "Unable to retrieve DB records to reset timestamps: error = {0}": "No se pueden recuperar los registros de la base de datos para restablecer las marcas de tiempo. Error = {0}", + "Failed to reset timestamp for {0}: error = {1}": "No se pudo restablecer la marca de tiempo de {0}. Error = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "No se encontró ningún compilador adecuado. Establezca \"compilerPath\" en c_cpp_properties.json.", + "Compiler include path not found: {0}": "No se encontró la ruta de acceso de inclusión del compilador: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "El motor de IntelliSense no responde. Se usará el analizador de etiquetas en su lugar.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Se usará el analizador de etiquetas para las operaciones de IntelliSense en {0}", + "Error squiggles will be disabled in: {0}": "El subrayado ondulado de errores se deshabilitará en {0}", + "Processing folder (non-recursive): {0}": "Procesando la carpeta (modo no recursivo): {0}", + "Processing folder (recursive): {0}": "Procesando la carpeta (modo recursivo): {0}", + "File exclude: {0}": "Exclusión de archivos: {0}", + "Search exclude: {0}": "Excluir de la búsqueda: {0}", + "Discovering files: {0} file(s) processed": "Detectando archivos. Archivos procesados: {0}", + "{0} file(s) removed from database": "Se han quitado {0} archivos de la base de datos", + "Parsing: {0} files(s) processed": "Analizando: {0} archivos procesados", + "Shutting down IntelliSense server: {0}": "Apagando el servidor de IntelliSense: {0}", + "Resetting IntelliSense server: {0}": "Restableciendo el servidor de IntelliSense {0}", + "Code browsing service initialized": "Se ha inicializado el servicio de exploración de código", + "Folder: {0} will be indexed": "La carpeta {0} se indexará", + "Populate include completion cache.": "Rellenar la memoria caché de finalización de instrucciones include.", + "Discovering files...": "Detectando archivos...", + "Done discovering files.": "Ha finalizado la detección de archivos.", + "Parsing open files...": "Analizando archivos abiertos...", + "Done parsing open files.": "Ha finalizado el análisis de archivos abiertos.", + "Parsing remaining files...": "Analizando los archivos restantes...", + "Done parsing remaining files.": "Ha finalizado el análisis de los archivos restantes.", + "Using configuration: \"{0}\"": "Usando la configuración \"{0}\"", + "{0} include path suggestion(s) discovered.": "Se han detectado las siguientes sugerencias de ruta de acceso de inclusión: {0}.", + "Checking for syntax errors: {0}": "Comprobando si hay errores de sintaxis: {0}", + "IntelliSense Engine = {0}.": "Motor de IntelliSense = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "La extensión usará el analizador de etiquetas para IntelliSense cuando no se resuelvan #includes.", + "Autocomplete is enabled.": "La característica Autocompletar está habilitada.", + "Autocomplete is disabled.": "La característica Autocompletar está deshabilitada.", + "Hover is enabled.": "La característica de mantener el puntero está habilitada.", + "Hover is disabled.": "La característica de mantener el puntero está deshabilitada.", + "Enhanced Colorization is enabled.": "El coloreado mejorado está habilitado.", + "Error squiggles are disabled.": "El subrayado ondulado de errores está deshabilitado.", + "Error squiggles are enabled.": "El subrayado ondulado de errores está habilitado.", + "Error squiggles are enabled if all header dependencies are resolved.": "El subrayado ondulado de errores se habilita si se resuelven todas las dependencias de encabezado.", + "Replaced placeholder file record": "Se ha reemplazado el registro del archivo de marcadores de posición", + "tag parsing file: {0}": "Archivo de análisis de etiquetas: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "error de análisis de etiquetas (se puede omitir a menos que no se encuentren símbolos):", + "Reset time stamp for {0}": "Restablecer la marca de tiempo para {0}", + "Failed to remove file: {0}": "No se pudo quitar el archivo {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Error de análisis de Regex: patrón de vscode: {0}, regex: {1}, mensaje de error: {2}", + "terminating child process: {0}": "Terminando el proceso secundario {0}.", + "still alive, killing...": "Aún activo; se está terminando...", + "giving up": "Abandonando", + "not exited yet. Will sleep for {0} milliseconds and try again.": "Aún no se ha salido del proceso. Se suspenderá durante {0} milisegundos y se volverá a intentar.", + "Failed to spawn process. Error: {0} ({1})": "No se pudo generar el proceso. Error: {0} ({1})", + "Offering completion": "Oferta de finalización", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Intentando obtener los valores predeterminados del compilador encontrado en la máquina: \"{0}\"", + "Unable to resolve include path: {0}": "No se puede resolver la ruta de acceso de inclusión {0}", + "Error searching for IntelliSense client: {0}": "Error al buscar el cliente de IntelliSense: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "El cliente de IntelliSense no está disponible. Se usará el analizador de etiquetas para obtener información rápida.", + "using Tag Parser for quick info": "Se usará Tag Parser para obtener información rápida", + "Closing the communication channel.": "Cerrando el canal de comunicación.", + "sending compilation args for {0}": "Enviando argumentos de compilación para {0}", + "include: {0}": "elementos include: {0}", + "framework: {0}": "Marco: {0}", + "define: {0}": "elementos define: {0}", + "preinclude: {0}": "preinclude: {0}", + "other: {0}": "otros: {0}", + "sending {0} changes to server": "Enviando {0} cambios al servidor", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Instancia de archivo abierta no válida. Se omitirá el mensaje de IntelliSense para el archivo {0}.", + "idle loop: reparsing the active document": "Bucle inactivo: reanalizando el documento activo", + "IntelliSense client is currently disconnected": "El cliente de IntelliSense está desconectado en este momento", + "Request canceled: {0}": "Solicitud cancelada: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "El cliente de IntelliSense no está disponible. Se usará el analizador de etiquetas para ir a la definición.", + "Error squiggle count: {0}": "Número de subrayados ondulados de errores: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Poniendo en cola la actualización de IntelliSense para los archivos de la unidad de traducción de {0}", + "Formatting document: {0}": "Dando formato al documento {0}", + "Formatting input:": "Dando formato a la entrada:", + "Formatting raw output:": "Dando formato a la salida:", + "Formatting diffed output before cursor:": "Formato del resultado diferenciado antes del cursor:", + "Formatting diffed output after cursor:": "Formato del resultado diferenciado después del cursor:", + "Formatting diffed output:": "Formato de la salida diferenciada:", + "Disable inactive region colorization": "Deshabilitar el coloreado en regiones inactivas", + "Error limit exceeded, {0} error(s) not reported.": "Se superó el límite de errores, no se han notificado {0} errores.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "Se han detectado errores de #include. Considere la posibilidad de actualizar el archivo compile_commands.json o el valor de includePath. El subrayado ondulado de errores está deshabilitado para esta unidad de traducción ({0}).", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "No se pudo restablecer la base de datos de IntelliSense. Para restablecerla manualmente, cierre todas las instancias de VS Code y, después, elimine este archivo: {0}", + "Formatting failed. See the output window for details.": "No se pudo dar formato. Vea la ventana de salida para obtener más detalles.", + "Populating include completion cache.": "Rellenando la memoria caché de finalización de instrucciones include.", + "Discovering files: {0}": "Detectando archivos: {0}", + "Parsing open files": "Analizando archivos abiertos", + "Tag parser initializing": "Inicialización del analizador de etiquetas", + "Workspace parsing paused": "Análisis de área de trabajo en pausa", + "Parsing workspace files: {0}": "Análisis de archivos de área de trabajo: {0}", + "Discovering files: {0} / {1} ({2}%)": "Detectando archivos: {0}/{1} ({2} %)", + "Parsing workspace files: {0} / {1} ({2}%)": "Análisis de archivos de área de trabajo: {0} / {1} ({2} %)", + "Can't find or run process_name": "No se encuentra o no se puede ejecutar process_name.", + "Child exec failed {0}": "Error al ejecutar el elemento secundario {0}.", + "Could not communicate with child process!": "No se puede establecer la comunicación con el proceso secundario.", + "{0} failed": "{0} operaciones con errores", + "Failed to set {0} flag": "No se pudo establecer la marca {0}.", + "Unable to create {0}!": "No se puede crear “{0}”.", + "Failed to set stdin {0} flag": "No se pudo establecer la marca {0} de stdin.", + "Failed to set stdout {0} flag": "No se pudo establecer la marca {0} de stdout.", + "Failed to set stderr {0} flag": "No se pudo establecer la marca {0} de stderr.", + "Unable to start child process!": "No se puede iniciar el proceso secundario.", + "Timed out attempting to communicate with process!": "Se ha agotado el tiempo de espera al intentar establecer la comunicación con el proceso.", + "Process has failed to run": "No se puede ejecutar el proceso.", + "Specified compiler was not found: {0}": "No se encontró el compilador especificado: {0}", + "Config data invalid, {0}": "Datos de configuración no válidos, {0}", + "CMake executable not found at {0}": "No se encontró el ejecutable de CMake en {0}.", + "No args provider": "No hay ningún proveedor de argumentos.", + "Invalid file path {0}": "Ruta de acceso al archivo {0} no válida", + "Can't create IntelliSense client for {0}": "No se puede crear el cliente de IntelliSense para {0}", + "declaration": "declaración", + "type alias": "alias de tipo", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "El compilador no admite 64 bits. Revirtiendo a intelliSenseMode de 32 bits.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "El compilador no admite 32 bits. Revirtiendo a intelliSenseMode de 64 bits.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "No se pudo consultar el compilador. Revirtiendo a intelliSenseMode de 32 bits.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "No se pudo consultar el compilador. Revirtiendo a intelliSenseMode de 64 bits.", + "Failed to query compiler. Falling back to no bitness.": "No se pudo consultar el compilador. Revirtiendo para no establecer ningún valor de bits.", + "IntelliSense client creation aborted: {0}": "Se anuló la creación del cliente de IntelliSense: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Se han detectado errores de #include basados en la información proporcionada por configurationProvider. El analizador de etiquetas proporcionará las características de IntelliSense para esta unidad de traducción ({0}).", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Se han detectado errores de #include basados en la información proporcionada por configurationProvider. El subrayado ondulado está deshabilitado para esta unidad de traducción ({0}).", + "preprocessor keyword/Refers to C/C++ processor keywords": "palabra clave del preprocesador", + "C keyword": "Palabra clave de C", + "C++ keyword": "Palabra clave de C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "1 sobrecarga más", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "%d sobrecargas más", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "1 especialización más", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "%d especializaciones más", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Nota: IntelliSense no está completamente configurado. Use la opción \"Seleccionar configuración de IntelliSense...\" para finalizar la configuración.", + "Select an IntelliSense configuration to locate system headers": "Seleccionar una configuración de IntelliSense para buscar encabezados del sistema", + "Expands to:": "Se expande a:", + "Attention:": "Atención:", + "Author:": "Autor:", + "Authors:": "Autores:", + "Bug:": "Error:", + "Copyright:": "Copyright:", + "Deprecated:": "En desuso:", + "Date:": "Fecha:", + "Details:": "Detalles:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Excepciones:", + "Invariant:": "Invariante:", + "File:": "Archivo:", + "Note:": "Nota:", + "Parameters:": "Parámetros:", + "Precondition:": "Condición previa:", + "Postcondition:": "Condición posterior:", + "Remark:": "Comentario:", + "Remarks:": "Comentarios:", + "Result:": "Resultado:", + "Return:": "Devolución:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Devuelve:", + "See also:": "Vea también:", + "Since:": "Desde:", + "Template Parameters:": "Parámetros de plantilla:", + "Test:": "Prueba:", + "TODO:": "TODO:", + "Version:": "Versión:", + "Warning:": "Advertencia:", + "Compiler query command line: {0}": "Línea de comandos de consulta del compilador: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Intentando obtener los valores predeterminados del compilador de C en la propiedad \"compilerPath\": \"{0}\"", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Intentando obtener los valores predeterminados del compilador de C++ en la propiedad \"compilerPath\": \"{0}\"", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Intentando obtener los valores predeterminados del compilador de C en el archivo compile_commands.json: \"{0}\"", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Intentando obtener los valores predeterminados del compilador de C++ en el archivo compile_commands.json: \"{0}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\".", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Para los archivos de código fuente de C, cStandard se ha cambiado de \"{0}\" a \"{1}\".", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Para los archivos de código fuente de C++, cppStandard se ha cambiado de \"{0}\" a \"{1}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cStandard de \"{2}\" a \"{3}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cppStandard de \"{2}\" a \"{3}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y de la consulta de compilerPath: \"{2}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y de la consulta de compilerPath: \"{2}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para los archivos de código fuente de C, cStandard se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y de la consulta de compilerPath: \"{2}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para los archivos de código fuente de C++, cppStandard se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y de la consulta de compilerPath: \"{2}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cStandard de \"{2}\" a \"{3}\", en función de los argumentos del compilador y de la consulta de compilerPath: \"{4}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cppStandard de \"{2}\" a \"{3}\", en función de los argumentos del compilador y de la consulta de compilerPath: \"{4}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "No se puede resolver la configuración con compilerPath \"{0}\". Se usará \"{1}\".", + "Unable to resolve configuration with compilerPath: \"{0}\"": "No se puede resolver la configuración con compilerPath: \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "Omitiendo la consulta del compilador debido a que la ruta compilerPath está explícitamente vacía.", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "IntelliSenseMode MSVC especificado. Configurando para el compilador cl.exe.", + "Unable to configure for compiler cl.exe.": "No se puede configurar para el compilador cl.exe.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Consulta del destino predeterminado del compilador mediante la línea de comandos: \"{0}\" {1}", + "Compiler returned default target value: {0}": "El compilador devolvió el valor de destino predeterminado: {0}", + "Querying compiler for default C language standard using command line: {0}": "Consulta del compilador para el estándar de lenguaje C predeterminado con la línea de comandos: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Consulta del compilador para el estándar de lenguaje C++ predeterminado con la línea de comandos: {0}", + "Detected language standard version: {0}": "Versión estándar del lenguaje detectada: {0}", + "Unhandled default compiler target value detected: {0}": "Se detectó un valor de destino del compilador predeterminado no controlado: {0}", + "Unhandled target argument value detected: {0}": "Se detectó un valor del argumento de destino no controlado: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Cerrando el servidor de IntelliSense: {0}. El uso de la memoria es de {1} MB y ha superado el límite de {2} MB.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "No se pudo consultar el compilador en la ruta de acceso \"{0}\" para las versiones estándar predeterminadas. La consulta del compilador está deshabilitada para este.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "La consulta del compilador devolvió una versión estándar del lenguaje no reconocida. En su lugar se usará la última versión admitida.", + "IntelliSense process crash detected.": "Se ha detectado un bloqueo del proceso de IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "Se detectó un error en el proceso IntelliSense: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Devuelve los valores:", + "Unable to locate nvcc compiler: {0}": "No se encuentra el compilador de nvcc: {0}", + "Unable to locate nvcc host compiler: {0}": "No se encuentra el compilador host nvcc: {0}", + "Invoking nvcc with command line: {0}": "Invocando nvcc con la línea de comandos: {0}", + "Unable to find host compile command in output of nvcc.": "No se encuentra el comando de compilación del host en la salida de nvcc.", + "Unable to locate forced include: {0}": "No se encuentra la inclusión forzada: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Insertar macro", + "Unable to access browse database. ({0})": "No se puede acceder a la base de datos de exploración. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "Se ha cambiado IntelliSenseMode porque no coincidía con el compilador detectado. Considere la posibilidad de establecer \"compilerPath\" en su lugar. Establezca \"compilerPath\" en \"\" para deshabilitar la detección de las inclusión y definiciones del sistema.", + "Remove all code analysis problems": "Quitar todos los problemas de análisis de código", + "(Multiple locations)": "(Varias ubicaciones)", + "Folder": "Carpeta", + "File": "Archivo", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "El compilador devolvió la versión estándar del lenguaje predeterminado: {0}. Dado que esta versión es antigua, se intentará usar la versión {1}, más reciente, como predeterminada.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Salida inesperada de Clang-Tidy: {0}. Se esperaba: {1}.", + "Generate Doxygen comment": "Generar comentario de Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Crear declaración de “{0}” en {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Crear definición de “{0}” en {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "No se encuentra la definición de función para “{0}”.", + "Attributes/'Attributes' is a C++ specifier.": "Atributos", + "Bases/'Bases' are a C++ class type.": "Bases", + "Classes": "Clases", + "CoClasses": "CoClasses", + "Delegates": "Delegados", + "Enums": "Enumeraciones", + "Events": "Eventos", + "Functions": "Funciones", + "Import directives": "Directivas Import", + "ImportLib statements": "Instrucciones ImportLib", + "Import statements": "Instrucciones Import", + "Include directives": "Directivas Include", + "Interfaces": "Interfaces", + "Libraries": "Bibliotecas", + "Macros": "Macros", + "Maps": "Maps", + "Map entries": "Asignar entradas", + "Miscellaneous": "Varios", + "Namespaces": "Espacios de nombres", + "Parameters": "Parámetros", + "Properties": "Propiedades", + "Structs": "Structs", + "TODO: insert return statement here": "TODO: Insertar una instrucción \"return\" aquí", + "Typedefs": "Definiciones de tipo", + "Unions": "Uniones", + "Using aliases": "Alias Using", + "Using directives": "Directivas Using", + "Variables": "Variables", + "Automatic add function": "Operación automática para agregar función", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual es redundante y no se debe especificar con vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod no puede ser static.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Archivo C/C++ no válido: \"%s\".", + "File name too long: '%s'./%s is the file that has a long name.": "Nombre de archivo demasiado largo: \"%s\"", + "Cannot create file '%s'./%s is the file that could not be created.": "No se puede crear el archivo \"%s\".", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "No se puede tener acceso al directorio o archivo \"%s\" para la escritura.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Ruta de acceso de archivo no válida: \"%s\".", + "File '%s' was not found./%s is the file that was not found.": "No se encontró el archivo '%s'.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Error al crear la declaración o definición: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "No se puede crear la función \"%s\". No se admite la creación de funciones predeterminadas o eliminadas.", + "Unable to create function '%s'./%s is the function that could not be created.": "No se pudo crear la función '%s'.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "No se encuentra una ubicación ambigua para la función '%s'.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "No se encuentra la clase o el espacio de nombres '%s'.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "La operación no se admite para '%s'.", + "Unknown error.": "Error desconocido.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Ejecute la opción \"Seleccionar configuración de IntelliSense...\". para buscar los encabezados del sistema.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Copiar la declaración de “{0}”", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Copiar la definición de “{0}”", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Error al copiar la declaración o definición en el Portapapeles: %s", + "Extract to function": "Extraer a una función", + "Extract to free function": "Extraer a función libre", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Extraer a función miembro en '{0}'", + "The selected text is not inside a function.": "El texto seleccionado no está dentro de una función.", + "The selected text cannot span different functions.": "El texto seleccionado no puede abarcar funciones diferentes.", + "Variable '%s' is declared in the selected region and then used below it.": "La variable '%s' se declara en la región seleccionada y luego se utiliza debajo.", + "Preprocessor macro '%s' is used below the selected region.": "La macro de preprocesador '%s' se usa debajo de la región seleccionada.", + "The selected region spans an inactive preprocessor block.": "La región seleccionada abarca un bloque del preprocesador inactivo.", + "The selected region does not contain any code that can be extracted.": "La región seleccionada no contiene código que se pueda extraer.", + "The selected region is not entirely within the function's body.": "La región seleccionada no está completamente dentro del cuerpo de la función.", + "The selection contains IntelliSense errors.": "La selección contiene errores de IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "'%s' no está declarado en el código seleccionado, pero se está modificando. El código C no puede pasar argumentos por referencia.", + "The function would have to return a value by reference. C code cannot return references.": "La función debería devolver un valor por referencia. El código C no puede devolver referencias.", + "Jumps between the selected code and the surrounding code are present.": "Hay saltos entre el código seleccionado y el código que lo rodea.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "En el código seleccionado, algunas rutas de control salen sin establecer el valor devuelto. Esto se admite solo para tipos de valor devuelto escalar, numérico y puntero.", + "Expand selection (to enable 'Extract to function')": "Expandir selección (para habilitar 'Extraer a función')", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "\"{0}\" no se encuentra en compile_commands.json archivos. ''includePath'' de c_cpp_properties.json de la carpeta ''{1}'' se usará en su lugar para este archivo.", + "Generate Copilot summary": "Generar resumen de Copilot", + "Unable to index files from non-existent folder: {0}": "No se pueden indexar archivos de una carpeta inexistente: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "La extensión de C/C++ solo se puede utilizar con Microsoft Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps, Team Foundation Server y productos y servicios sucesores de Microsoft para desarrollar y probar sus aplicaciones.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Servidor de lenguaje Microsoft C++", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Uso: {0} [opciones]", + "Options:": "Opciones:", + "Show this help message and exit.": "Mostrar este mensaje de ayuda y salir.", + "Show version information and exit.": "Mostrar información de versión y salir.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Aceptar permanentemente el Contrato de licencia para el usuario final (EULA).", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "No redirigir stderr a /dev/null (útil para la depuración).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Inicie el inicio de sesión interactivo (se requiere una suscripción de GitHub Copilot).", + "Force the login process, even if already authenticated.": "Fuerce el proceso de inicio de sesión, incluso si ya se ha autenticado.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Permitir almacenar credenciales en texto sin formato si no hay un llavero seguro disponible.", + "Specify the directory for log files (default: system temp directory).": "Especifique el directorio para los archivos de registro (valor predeterminado: directorio temporal del sistema).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Establezca el nivel de detalle del registro de 0 (solo errores) en 9 (detallado).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Especifique el parámetro como una ruta de acceso absoluta o relativa a la raíz del área de trabajo o su carpeta .github.", + "Disable sending telemetry data.": "Deshabilite el envío de datos de telemetría.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Para autenticarse con GitHub, copie el código {0} y visite {1}. Esperando autorización...", + "Timed out waiting for authorization.": "Se agotó el tiempo de espera para la autorización.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Se ha autenticado correctamente con GitHub.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "La autenticación de GitHub se realizó correctamente, pero no se pudieron guardar los tokens.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Error de conjunto de claves: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "La colección de teclados está bloqueada. Desbloquee o reinicie gnome-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "No hay ningún servicio de conjunto de claves disponible. Instalación e inicio de gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "O bien, permita el almacenamiento de texto sin formato pasando --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "El código de dispositivo ha expirado. Inténtelo de nuevo.", + "Authorization was denied by the user.": "El usuario denegó la autorización.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Error inesperado durante el sondeo: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Error de inicio de sesión de GitHub. Intente ejecutar con --login desde la línea de comandos para iniciar sesión.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Se debe aceptar el EULA para continuar. Se ejecuta con --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Ya se ha autenticado con GitHub. Use --force-login para volver a autenticarse.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Error de inicialización: versión de configuración no admitida. Solo se admite la versión 1.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Error de inicialización: no se encontró el archivo de configuración ''{0}\".", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Error de inicialización: no se puede analizar el archivo de configuración ''{0}\". Compruebe el formato JSON. Error: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Error de inicialización: \"repositoryPath\" no está configurado o no es válido.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Error de inicialización: se debe configurar \"compileCommands\" o \"cppProperties\".", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Error de inicialización: no se pueden configurar a la vez \"compileCommands\" y \"cppProperties\".", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Error de inicialización: no se encontró la ruta de acceso \"compileCommands\": \"{0}\".", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Error de inicialización: no se encontró la ruta de acceso \"cppProperties\": \"{0}\".", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Error de inicialización: no se puede analizar el archivo especificado por \"cppProperties\": \"{0}\". Compruebe el formato JSON. Error: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Error de inicialización: no se puede leer la configuración del archivo \"cppProperties\": \"{0}\". Compruebe el esquema.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Error de inicialización: \"{0}\" no contiene una matriz \"configurations\" válida.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Error de inicialización: no se encontró la configuración \"{0}\" en el archivo 'cppProperties': \"{1}\".", + "Initialization failed: LSP config paths cache is missing.": "Error de inicialización: falta la caché de rutas de acceso de configuración LSP.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "No se encontró libcurl ({0}). libcurl es necesario para la autenticación y la telemetría.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl debe estar disponible en macOS de forma predeterminada. Si falta, instálelo a través de: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Instale libcurl: sudo apt install libcurl4 (Debian/Ubuntu) o sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl se cargó, pero faltan los símbolos necesarios. Esto puede indicar una versión de libcurl muy antigua o incompatible. El servidor de lenguaje no puede funcionar sin un libcurl compatible.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 no se encuentra ({0}). libsecret es necesario para el almacenamiento seguro de credenciales. Instale libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) o sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret se ha cargado, pero faltan los símbolos necesarios. El servidor de lenguaje no puede funcionar sin una versión compatible de libsecret.", + "Failed to disable telemetry.": "No se pudo deshabilitar la telemetría.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Método no encontrado: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "No se puede procesar IntelliSense para un archivo con la misma ruta de acceso canónica que un archivo existente. URI: {0}, ruta de acceso canónica: {1}", + "Initializing": "Inicializando", + "Initializing ({0} of {1})": "Inicializando ({0} de {1})", + "Initializing ({0} of {1}): {2}": "Inicializando ({0} de {1}): {2}", + "Initializing {0}": "Inicializando {0}", + "Initializing projects": "Inicializando proyectos", + "Initializing projects ({0} of {1})": "Inicializando proyectos ({0} de {1})", + "Initializing projects ({0} of {1}): {2}": "Inicializando proyectos ({0} de {1}): {2}", + "Initializing projects {0}": "Iniciando el proyecto {0}", + "Checking for out of date files": "Comprobando si hay archivos obsoletos", + "Checking for out of date files ({0} of {1})": "Comprobando si hay archivos obsoletos ({0} de {1})", + "Checking for out of date files ({0} of {1}): {2}": "Comprobando si hay archivos obsoletos ({0} de {1}): {2}", + "Checking for out of date files {0}": "Comprobando si hay archivos no actualizados {0}", + "Parsing files": "Análisis de archivos", + "Parsing files ({0} of {1})": "Analizar archivos ({0} de {1})", + "Parsing files ({0} of {1}): {2}": "Análisis de archivos ({0} de {1}): {2}", + "Parsing files {0}": "Análisis de archivos {0}", + "Parsing included files": "Análisis de archivos incluidos", + "Parsing included files ({0} of {1})": "Análisis de archivos incluidos ({0} de {1})", + "Parsing included files ({0} of {1}): {2}": "Análisis de archivos incluidos ({0} de {1}): {2}", + "Parsing included files {0}": "Análisis de archivos incluidos {0}", + "Scanning #includes for more files": "Examinando #includes en busca de más archivos", + "Scanning #includes for more files ({0} of {1})": "Examinando #includes en busca de más archivos ({0} de {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Examinando #includes en busca de más archivos ({0} de {1}): {2}", + "Scanning #includes for more files {0} {1}": "Examinando #includes en busca de más archivos {0} {1}", + "Ready (Updating external dependencies)": "Listo (actualizando dependencias externas)", + "Ready (Updating external dependencies) ({0} of {1})": "Listo (actualizando dependencias externas) ({0} de {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Listo (actualizando dependencias externas) ({0} de {1}): {2}", + "Ready (Updating external dependencies) {0}": "Listo (actualizando dependencias externas) {0}", + "Ready (Optimizing database)": "Listo (optimizando la base de datos)", + "Ready (Optimizing database) ({0} of {1})": "Listo (optimización de la base de datos) ({0} de {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Listo (optimización de la base de datos) ({0} de {1}): {2}", + "Ready (Optimizing database) {0}": "Listo (optimizando la base de datos) {0}", + "Creating Indexes": "Creando índices", + "Creating Indexes ({0} of {1})": "Creación de índices ({0} de {1})", + "Creating Indexes ({0} of {1}): {2}": "Creando índices ({0} de {1}): {2}", + "Creating Indexes {0}": "Creación de índices {0}", + "Evaluating": "Evaluando", + "Evaluating ({0} of {1})": "Evaluación ({0} de {1})", + "Evaluating ({0} of {1}): {2}": "Evaluando ({0} de {1}): {2}", + "Evaluating {0}": "Evaluación {0}", + "Indexing files": "Indexación de archivos", + "Indexing files ({0} of {1})": "Indexación de archivos ({0} de {1})", + "Indexing files ({0} of {1}): {2}": "Indexación de archivos ({0} de {1}): {2}", + "Indexing files {0}": "Indexación de archivos {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Permita que el servidor se inicie incluso si el archivo --lsp-config especificado no existe.", + "Initialization failed during engine setup.": "Error de inicialización durante la configuración del motor.", + "Important:": "Importante:", + "Unknown OS platform": "Plataforma de sistema operativo desconocida", + "Could not get ProductVersion from SystemVersion.plist": "No se pudo obtener ProductVersion de SystemVersion.plist", + "Failed to find SystemVersion.plist in {0}.": "No se encontró SystemVersion.plist en {0}.", + "Refresh process list": "Actualizar la lista de procesos", + "Attach to process": "Asociar al proceso", + "Select the process to attach to": "Seleccione el proceso al que debe asociarse", + "Process not selected.": "No se ha seleccionado el proceso.", + "{0} in debug configuration requires {1} and {2}": "{0} en la configuración de depuración requiere {1} y {2}", + "Chosen debug configuration does not contain {0} or {1}": "La configuración de depuración elegida no contiene {0} ni {1}", + "Pipe transport failed to get OS and processes.": "El transporte de canalización no pudo obtener el sistema operativo y los procesos.", + "Transport attach could not obtain processes list.": "La asociación de transporte no puede obtener la lista de procesos.", + "Failed to make GDB connection: \"{0}\".": "No se pudo establecer la conexión GDB: \"{0}\".", + "Failed to parse processes: \"{0}\".": "No se pudieron analizar los procesos: \"{0}\".", + "Default Configuration": "Configuración predeterminada", + "Select a configuration": "Seleccionar una configuración", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "El depurador de tipo \"{0}\" solo está disponible en Windows. Use el tipo \"{1}\" en la plataforma de sistema operativo actual.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "La clave \"{0}\" está en desuso. En su lugar, use \"{1}\".", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "No se encuentra \"LLDB.framework\" para lldb-mi. Instale XCode o las herramientas de línea de comandos de XCode.", + "Launch configuration:": "Configuración de inicio:", + "'deploySteps' require VS Code 1.69+.": "\"deploySteps\" requiere VS Code 1.69 ó posterior.", + "Running deploy steps...": "Ejecutando pasos de implementación...", + "Unable to find {0}. {1} task is ignored.": "No se encuentra {0}. Se ha omitido la tarea de {1}.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "No se encuentra el depurador {0}. Se ha omitido la configuración de depuración de {1}.", + "build and debug active file": "Compilar y depurar el archivo activo", + "Apply Developer Environment": "Aplicar entorno de desarrollador", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} requiere el entorno de desarrollado Visual Studio.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Actualizar entorno de desarrollador", + "Cancel": "Cancelar", + "The source code could not be built because the Visual Studio developer environment was not applied.": "No se pudo compilar el código fuente porque no se aplicó el entorno de desarrollo Visual Studio.", + "The source code could not be built because the Visual C++ compiler could not be found.": "No se pudo compilar el código fuente porque no se encontró el compilador Visual C++.", + "Missing dependency '{0}' for lldb-mi executable.": "Falta la dependencia \"{0}\" para el ejecutable lldb-mi.", + "Searched in:": "Buscado en:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Para resolver este problema, instale XCode mediante App Store de Apple o instale las herramientas de línea de comandos de XCode ejecutando \"{0}\" en una ventana de terminal.", + "Failed to use {0}. Reason: {1}": "No se pudo usar {0}. Motivo: {1}", + "Replacing {0} '{1}' with '{2}'.": "Reemplazando {0} \"{1}\" por \"{2}\".", + "Resolving variables in {0}...": "Resolviendo las variables de {0}...", + "Open {0}": "Abrir {0}", + "Recently Used Task": "Tarea usada recientemente", + "Configured Task": "Tarea configurada", + "Detected Task": "Tarea detectada", + "Cannot build and debug because the active file is not a C or C++ source file.": "No se puede compilar y depurar código porque el archivo activo no es un archivo de código fuente de C o C++.", + "No compiler found": "No se encontró ningún compilador", + "Select a debug configuration": "Seleccione una configuración de depuración", + "\"args\" in command deploy step must be an array.": "\"args\" en el paso de implementación de comandos debe ser una matriz.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "\"host\", \"files\" y \"targetDir\" son necesarios en los pasos de {0}.", + "\"files\" must be a string or an array of strings in {0} steps.": "\"files\" debe ser una cadena o una matriz de cadenas en los pasos de {0}.", + "\"host\" and \"command\" are required for ssh steps.": "Se requieren \"host\" y \"command\" para los pasos ssh.", + "\"command\" is required for shell steps.": "Se requiere \"command\" para los pasos del shell.", + "Deploy step type {0} is not supported.": "No se admite el tipo de paso de implementación {0}.", + "Unexpected OS type": "Tipo de sistema operativo no esperado", + "full path to pipe program such as {0}": "Ruta de acceso completa al programa de canalización, como {0}.", + "Enable pretty-printing for {0}": "Habilitar la impresión con sangría para {0}", + "Set Disassembly Flavor to {0}": "Establecer tipo de desensamblado en {0}", + "enter program name, for example {0}": "Escriba el nombre del programa; por ejemplo, {0}.", + "Launch": "Iniciar", + "Launch with {0}.": "Iniciar con {0}.", + "Attach": "Adjuntar", + "Attach with {0}.": "Asociar con {0}.", + "Pipe Launch": "Inicio de canalización", + "Pipe Launch with {0}.": "Inicio de canalización con {0}.", + "Pipe Attach": "Asociación de canalización", + "Pipe Attach with {0}.": "Asociación de canalización con {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Iniciar con el depurador de Visual Studio C/C++.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Asociar a un proceso con el depurador de Visual Studio C/C++.", + "Bash on Windows Launch": "Bash en Windows: iniciar", + "Launch in Bash on Windows using {0}.": "Iniciar en Bash en Windows con {0}.", + "Bash on Windows Attach": "Bash en Windows: asociar", + "Attach to a remote process running in Bash on Windows using {0}.": "Asociar a un proceso remoto que se ejecute en Bash en Windows con {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "El tipo de depurador '{0}' no está disponible para equipos que no son de Windows.", + "Run Without Debugging is only supported for launch configurations.": "Ejecutar sin depuración solo se admite para las configuraciones de inicio.", + "Add debug configuration is not available for single file.": "Agregar configuración de depuración no está disponible para un solo archivo.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "No se puede modificar el archivo de configuración SSH debido al error de análisis \"{0}\".", + "No valid SSH configuration file found.": "No se encontró ningún archivo de configuración SSH válido.", + "Enter SSH Target Name": "Escriba el nombre de destino SSH", + "Example: `mySSHTarget`": "Ejemplo: `mySSHTarget`", + "Enter SSH Connection Command": "Escriba el comando de conexión SSH", + "Example: `ssh hello@microsoft.com -A`": "Ejemplo: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Selección de un archivo de configuración SSH", + "Yes": "Sí", + "No": "No", + "Are you sure you want to permanently delete \"{0}\"?": "¿Está seguro de que desea eliminar permanentemente \"{0}\"?", + "Operating system \"{0}\" not supported.": "No se admite el sistema operativo \"{0}\".", + "\"{0}\" timed out after {1} seconds.": "“{0}” agotó el tiempo de espera después de {1} segundos.", + "\"{0}\" canceled.": "“{0}” cancelado.", + "\"{0}\" exited with code: \"{1}\".": "“{0}” salió con el código “{1}”.", + "Failed to spawn \"{0}\".": "No se pudo generar “{0}”.", + "Ignoring non-parsable lines in {0} {1}: ": "Omitiendo líneas no analizables en {0} {1}: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "No se encontró ningún emulador de terminal. Establezca la variable de entorno $TERMINAL en el emulador de terminal que prefiera o instale una de las siguientes opciones: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Selecciona un compilador para configurarlo para IntelliSense", + "How would you like to configure IntelliSense for the '{0}' folder?": "¿Cómo deseas configurar IntelliSense para la carpeta \"{0}\"?", + "How would you like to configure IntelliSense for this folder?": "¿Cómo desea configurar IntelliSense para esta carpeta?", + "Found at {0}": "Encontrado en {0}", + "Use {0}": "Uso {0}", + "configuration providers": "proveedores de configuración", + "compilers": "Compiladores", + "Select IntelliSense Configuration...": "Seleccionar configuración de IntelliSense...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "No tiene configurado IntelliSense. A menos que establezca sus propias configuraciones, puede que IntelliSense no funcione.", + "Select another compiler on my machine...": "Seleccionar otro compilador en mi máquina...", + "Help me install a compiler": "Ayuda para instalar un compilador", + "Install a compiler": "Instalar un compilador", + "Do not configure with a compiler (not recommended)": "No configurar con un compilador (no recomendado)", + "EPERM: Check permissions for '{0}'": "EPERM: Compruebe los permisos de \"{0}\"", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "No se puede iniciar el servidor de lenguaje de C/C++. Las características de IntelliSense se deshabilitarán. Error: {0}", + "The language server crashed. Restarting...": "El servidor de lenguaje se bloqueó. Se está reiniciando...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "El servidor de lenguaje se ha bloqueado cinco veces en los tres últimos minutos. No se reiniciará.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} se cambió a: {1}", + "Dismiss": "Descartar", + "Disable Warnings": "Deshabilitar advertencias", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} no puede proporcionar información de configuración de IntelliSense para \"{1}\". Se utilizará la configuración de \"{2}\" en su lugar.", + "The requested configuration name is not found: {0}": "No se encuentra el nombre de la configuración que se ha solicitado: {0}", + "Unsupported client": "Cliente no admitido", + "Timed out in {0}ms.": "Se agotó el tiempo de espera a los {0} ms.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "{0} archivos enumerados con {1} archivos de origen de C/C++ detectados. Puede que desee considerar la exclusión de algunos archivos para mejorar el rendimiento.", + "Learn More": "Obtener más información", + "Don't Show Again": "No volver a mostrar", + "Update IntelliSense time (sec): {0}": "Tiempo de actualización de IntelliSense (s): {0}", + "Custom configurations received:": "Configuraciones personalizadas recibidas:", + "Custom browse configuration received: {0}": "Configuración de exploración personalizada recibida: {0}", + " Declaration/definition was copied.": " Se copió la declaración o definición.", + "Name the extracted function": "Nombre de la función extraída", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "Ha ocurrido error de extracción a la función: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "Error al extraer a una función Se generó una edición no válida: '{0}'", + "Fix all code analysis problems": "Corregir todos los problemas de análisis de código", + "Clear all code analysis problems": "Borrar todos los problemas de análisis de código", + "Fix all {0} problems": "Corregir todos los problemas de {0}", + "Disable all {0} problems": "Deshabilitar todos los problemas de {0}", + "Clear all {0} problems": "Borrar todos los problemas de {0}", + "Clear this {0} problem": "Borrar este problema de {0}", + "Fix this {0} problem": "Corregir este problema de {0}", + "Show documentation for {0}": "Mostrar documentación de {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "El modo {0} de IntelliSense no es compatible con la ruta de acceso del compilador.", + "Processed c_cpp_properties.json in {0}s": "c_cpp_properties.json procesado en {0}s", + "Failed to create \"{0}\"": "No se pudo crear \"{0}\"", + "Invalid configuration file. There must be at least one configuration present in the array.": "Archivo de configuración no válido. Debe haber al menos una configuración en la matriz.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "Se encontró un número de versión desconocido en el archivo c_cpp_properties.json. Es posible que algunas características no funcionen correctamente.", + "Attempt to update \"{0}\" failed (do you have write access?)": "No se pudo actualizar \"{0}\". ¿Tiene acceso de escritura?", + "Failed to parse \"{0}\"": "No se pudo analizar \"{0}\"", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "No se encontró la ruta de acceso del compilador con espacios. Si la intención era incluir argumentos del compilador, escriba la ruta del compilador entre comillas dobles ({0}).", + "Cannot find: {0}": "No se encuentra {0}", + "Path is not a file: {0}": "La ruta de acceso no es un archivo: {0}", + "The include path validation took {0}s to evaluate": "La validación de la ruta de acceso de inclusión tardó {0} s en evaluarse", + "Failed to resolve include path. Error: {0}": "No se pudo resolver la ruta de acceso de inclusión. Error: {0}", + "Do not add extra quotes around paths.": "No agregue comillas adicionales alrededor de las rutas de acceso.", + "Path is not a directory: {0}": "La ruta de acceso no es un directorio: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} es un duplicado. El nombre de la configuración debe ser único.", + "Path took {0}s to evaluate": "La ruta de acceso tardó {0}s en evaluarse", + "Failed to resolve path {0}. Error: {1}": "No se pudo resolver la ruta de acceso {0}. Error: {1}", + "Multiple paths are not allowed.": "No se permiten varias rutas de acceso.", + "Multiple paths should be separate entries in an array.": "Varias rutas de acceso deben ser entradas separadas en una matriz.", + "Paths are not directories: {0}": "Las rutas de acceso no son directorios: {0}", + "Error while retrieving result. Reason: {0}": "Error al recuperar el resultado. Motivo: {0}", + "build active file": "compilar archivo activo", + "compiler:": "compilador:", + "Task generated by Debugger.": "Tarea generada por el depurador.", + "Starting build...": "Iniciando la compilación...", + "Build run was terminated.": "La ejecución de la compilación ha finalizado.", + "Build finished with error(s).": "La compilación ha finalizado con errores.", + "Build finished with warning(s).": "La compilación ha finalizado con advertencias.", + "Build finished successfully.": "La compilación finalizó correctamente.", + "No context provided": "No se proporcionó ningún contexto", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "El comando \"Configurar el entorno de desarrollador de Visual Studio\" solo está disponible en Windows", + "A Visual Studio installation with the C++ compiler was not found": "No se encontró una instalación de Visual Studio con el compilador C++", + "The operation was cancelled": "Se canceló la operación", + "No hosts found": "No se han encontrado hosts", + "Configuring developer environment...": "Configurando el entorno de desarrollador...", + "Select a Visual Studio installation": "Seleccione una instalación de Visual Studio", + "Advanced options...": "Opciones avanzadas...", + "Select a specific host and target architecture, toolset version, etc.": "Seleccione un host específico y la arquitectura de destino, la versión del conjunto de herramientas, etc.", + "Select a toolset version": "Seleccionar una versión del conjunto de herramientas", + "Select a host and target architecture": "Seleccione un host y una arquitectura de destino", + "Something went wrong: {0}": "Algo ha ido mal: {0}", + "{0} developer environment for {1}": "{0} entorno de desarrollador para {1}", + "Default environment for {0}": "Entorno predeterminado para {0}", + "host = {0}, target = {1}": "host = {0}, destino = {1}", + "Learn how to install a library for this header with vcpkg": "Más información sobre el modo de instalar una biblioteca para este encabezado con vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Copie el comando vcpkg para instalar \"{0}\" en el Portapapeles", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Los comandos relacionados con IntelliSense no se pueden ejecutar cuando `C_Cpp.intelliSenseEngine` está establecido en `disabled`.", + "client not found": "No se encuentra el cliente", + "OK": "Aceptar", + "The clang compiler will now be installed": "El compilador Clang se instalará ahora", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Se le pedirá que escriba su contraseña en la ventana del terminal VS Code para autorizar la instalación.", + "The gcc compiler will now be installed": "El compilador GCC se instalará ahora", + "Open a folder first to select a configuration.": "Abre primero una carpeta para seleccionar una configuración.", + "Open a folder first to select a configuration provider.": "Abre primero una carpeta para seleccionar un proveedor de configuración.", + "Open a folder first to edit configurations": "Abra una carpeta primero para editar las configuraciones", + "The code analysis fix could not be applied because the document has changed.": "No se pudo aplicar la corrección de análisis de código porque el documento ha cambiado.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "Hay disponible una versión preliminar de la extensión de C/C++. ¿Desea cambiar a ella?", + "Copilot summary is not available.": "El resumen de Copilot no está disponible.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "El archivo que contiene la definición o declaración de este símbolo se ha excluido del uso con Copilot.", + "Copilot summary is not available for this symbol.": "El resumen de Copilot no está disponible para este símbolo.", + "An error occurred while generating Copilot summary.": "Error al generar el resumen de Copilot.", + "Duplicate multiline comment patterns detected.": "Se han detectado patrones de comentarios multilínea duplicados.", + "Error while retrieving the project context. Reason: {0}": "Error al recuperar el contexto del proyecto. Motivo: {0}", + "Error while retrieving the #cpp context.": "Error al recuperar el contexto de #cpp.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Buscar todas las referencias", + "Peek References": "Inspeccionar referencias", + "Rename": "Cambiar nombre", + "Call Hierarchy": "Jerarquía de llamadas", + "CONFIRMED REFERENCE": "REFERENCIA CONFIRMADA", + "CONFIRMATION IN PROGRESS": "CONFIRMACIÓN EN CURSO", + "COMMENT REFERENCE": "REFERENCIA DE COMENTARIO", + "STRING REFERENCE": "REFERENCIA DE CADENA", + "INACTIVE REFERENCE": "REFERENCIA INACTIVA", + "CANNOT CONFIRM REFERENCE": "NO SE PUEDE CONFIRMAR LA REFERENCIA", + "NOT A REFERENCE": "NO ES UNA REFERENCIA", + "Confirmed reference": "Referencia confirmada", + "Confirmation in progress": "Confirmación en curso", + "Comment reference": "Referencia de comentario", + "String reference": "Referencia de cadena", + "Inactive reference": "Referencia inactiva", + "Cannot confirm reference": "No se puede confirmar la referencia", + "Not a reference": "No es una referencia", + "CONFIRMATION CANCELED": "CONFIRMACIÓN CANCELADA", + "Confirmation canceled": "Confirmación cancelada", + "To preview results, click the search icon in the status bar.": "Para obtener una vista previa de los resultados, haga clic en el icono de búsqueda de la barra de estado.", + "Started.": "Iniciado.", + "Processing source.": "Procesando el origen.", + "Searching files.": "Buscando en los archivos.", + "{0}/{1} files searched.{2}": "{0}/{1} archivos buscados. {2}", + "{0}/{1} files confirmed.{2}": "{0}/{1} archivos confirmados. {2}", + "C/C++ Peek References": "Referencias interactivas de C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Advertencia] Puede que falten algunas referencias, porque el análisis del área de trabajo estaba incompleto cuando se inició {0}.", + "Go to reference": "Ir a referencia", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "El formato de código está usando la configuración de .editorconfig en lugar de .clang-format. Para obtener más información, consulte la documentación para el valor “default” de la configuración “C_Cpp.formatting”.", + "C/C++ Configurations": "Configuración de C/C++", + "IntelliSense: Updating": "IntelliSense: actualización", + "IntelliSense: Ready": "IntelliSense: listo", + "Initializing Workspace": "Inicializando área de trabajo", + "Indexing Workspace": "Área de trabajo de indexación", + "Parsing Workspace": "Analizar área de trabajo", + "Parsing Workspace: Paused": "Área de trabajo de análisis: en pausa", + "Parsing Complete": "Análisis finalizado", + "Rescan Workspace": "Volver a examinar el área de trabajo", + "Parsing Open Files": "Analizando archivos abiertos", + "Code Analysis: Running": "Análisis de código: en ejecución", + "Code Analysis: Paused": "Análisis de código: en pausa", + "Code Analysis Mode: ": "Modo de análisis de código: ", + "click to preview results": "hacer clic para obtener una vista previa de los resultados", + "Configure IntelliSense": "Configurar IntelliSense", + "C/C++ IntelliSense Status": "Estado de IntelliSense de C/C++", + "Rescan": "Volver a examinar", + "Rescan IntelliSense": "Volver a examinar IntelliSense", + "C/C++ Tag Parser Status": "Estado del analizador de etiquetas de C/C++", + "Initializing...": "Inicializando...", + "Resume": "Reanudar", + "Pause": "Pausa", + "C/C++ Code Analysis Status": "Estado de análisis de código de C/C++", + "Run Now": "Ejecutar ahora", + "Automatic": "Automático", + "Manual": "Manual", + "Options": "Opciones", + "Starting...": "Iniciando...", + "Running: {0} / {1} ({2}%)": "En ejecución: {0} / {1} ({2}%)", + "Select a code analysis command...": "Seleccione un comando de análisis de código...", + "Start Another...": "Iniciar otro...", + "Select a command...": "Seleccione un comando...", + "Run Code Analysis on Active File": "Ejecutar análisis de código en el archivo activo", + "Run Code Analysis on All Files": "Ejecutar análisis de código en todos los archivos", + "Run Code Analysis on Open Files": "Ejecutar análisis de código en archivos abiertos", + "C/C++ References Status": "Estado de referencias de C/C++", + "C/C++ Configuration": "Configuración de C/C++", + "C/C++ Configure IntelliSense": "Configuración de IntelliSense en C/C++", + "Select a Configuration...": "Seleccione una configuración...", + "Edit Configurations (UI)": "Editar configuraciones (interfaz de usuario)", + "Edit Configurations (JSON)": "Editar configuraciones (JSON)", + "Select a Configuration Provider...": "Seleccione un proveedor de configuración...", + "active": "activar", + "none": "ninguno", + "Disable the active configuration provider, if applicable.": "Deshabilite el proveedor de configuración activo, si procede.", + "Select a workspace folder...": "Seleccione una carpeta del área de trabajo...", + "Failed to connect to {0}": "No se pudo conectar a {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "\"localSocket\" no se puede especificar al mismo tiempo con \"bindAddress\" o \"port\" en localForwards", + "\"port\" or \"localSocket\" required in localForwards": "Se requiere \"port\" o \"localSocket\" en localForwards", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "No se puede especificar \"remoteSocket\" al mismo tiempo con \"host\" o \"hostPort\" en localForwards", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "Se requiere \"host\" y \"hostPort\" o \"remoteSocket\" en localForwards", + "SSH command canceled": "Comando SSH cancelado", + "Enter passphrase for ssh key {0}": "Escriba la frase de contraseña para la clave SSH {0}", + "Enter password for user \"{0}\"": "Escriba la contraseña del usuario \"{0}\"", + "Enter password": "Escribir contraseña", + "Are you sure you want to continue?": "¿Está seguro de que desea continuar?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\" tiene la huella digital \"{1}\".", + "Continue": "Continuar", + "\"{0}\" terminal command canceled.": "se canceló \"{0}\" comando de terminal.", + "\"{0}\" terminal command done.": "\"{0}\" comando de terminal realizado.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "Se canceló la tarea '{0}', pero es posible que el comando subyacente no se termine. Compruébelo manualmente.", + "\"{0}\" process failed: {1}": "Error en el proceso de \"{0}\": {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" escribió datos en el terminal: \"{1}\".", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "No se pudo encontrar la información de usuario para SSH. Esto puede deberse a que VS Code se está instalando con \"snap\". Reinstale VS Code con el paquete \"deb\" si tiene previsto usar las características de SSH.", + "Failed to parse SSH configuration file {0}: {1}": "No se pudo analizar el archivo de configuración SSH {0}: {1}", + "Failed to read file {0}.": "No se pudo leer el archivo {0}.", + "Failed to write to file {0}.": "No se pudo escribir en el archivo {0}.", + "Inline macro is not available at this location.": "La macro insertada no está disponible en esta ubicación.", + "AI-generated content may be incorrect.": "El contenido generado por inteligencia artificial puede ser incorrecto.", + "Invalid identifier provided for the Rename Symbol operation.": "Se ha proporcionado un identificador no válido para la operación Cambiar el nombre del símbolo.", + "A definition for the selected symbol could not be located.": "No se encontró una definición para el símbolo seleccionado.", + "No SSH targets": "No hay destinos SSH", + "Active SSH target selection cancelled.": "Selección de destino SSH activa cancelada.", + "{0} Add New SSH Target...": "{0} Agregar nuevo destino SSH...", + "Select an SSH target": "Selección de un destino SSH", + "[Active]": "[Activo]" +} diff --git a/Extension/i18n/fra/bundle.l10n.json b/Extension/i18n/fra/bundle.l10n.json new file mode 100644 index 000000000..1412f04a1 --- /dev/null +++ b/Extension/i18n/fra/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Échec de l'analyse du fichier json, probablement en raison de commentaires ou de virgules de fin.", + "The C/C++ extension is still installing. See the output window for more information.": "L'extension C/C++ est toujours en cours d'installation. Pour plus d'informations, consultez la fenêtre Sortie.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Pour plus d'informations sur la résolution des problèmes, consultez {0}. Des demandes peuvent être créées sur {1}", + "Process exited with code {0}": "Le processus s'est arrêté avec le code {0}", + "Process executed successfully.": "Le processus a été exécuté avec succès.", + "Killing process {0}": "Processus de suppression {0}", + "Warning: Expected file {0} is missing.": "Avertissement : Le fichier attendu {0} est manquant.", + "Warning: Debugging has not been tested for this platform.": "Avertissement : Le débogage n'a pas été testé pour cette plateforme.", + "Reload the workspace for the settings change to take effect.": "Rechargez l'espace de travail pour appliquer les changements des paramètres.", + "Reload": "Recharger", + "Custom configuration provider '{0}' registered": "Fournisseur de configuration personnalisée '{0}' inscrit", + "Reached max string expansion recursion. Possible circular reference.": "La récursivité d’expansion de chaîne maximale a été atteinte. Référence circulaire possible.", + "Invalid variable reference {0} in string: {1}.": "Référence de variable non valide {0} dans la chaîne : {1}.", + "Environment variable {0} not found": "Variable d’environnement introuvable {0}", + "Commands are not supported for string: {0}.": "Les commandes ne sont pas prises en charge pour la chaîne : {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Exception lors de l’exécution de {0} commande pour la chaîne : {1} {2}.", + "C/C++ Diagnostics": "Diagnostics C/C++", + "C/C++ Crash Call Stacks": "Piles d’appels sur incident C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Un processus d’extension C/C++ s’est arrêté. Le nom du processus de blocage, la date/l’heure, le signal et la pile des appels sont ci-dessous : il serait utile de l’inclure dans un rapport de bogues à {0}.", + "{0}: SSH": "{0} : SSH", + "C/C++ Debug Protocol": "Protocole de débogage C/C++", + "C/C++ Configuration Warnings": "Avertissements de configuration C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Les versions de l’extension C/C++ plus récentes que {0} nécessitent au moins macOS version {1}.", + "intelliSenseEngine is disabled": "IntelliSenseEngine est désactivé", + "More Info": "En savoir plus", + "Ignore": "Ignorer", + "The C/C++ extension installed does not match your system.": "L’extension C/C++ installée ne correspond pas à votre système.", + "The C/C++ extension installed is compatible with but does not match your system.": "L’extension C/C++ installée est compatible avec mais ne correspond pas à votre système.", + "Searching include path...": "Recherche dans le chemin d'inclusion...", + "Include file not found in browse.path.": "Fichier d'inclusion introuvable dans browse.path.", + "Edit \"browse.path\" setting": "Modifier le paramètre \"browse.path\"", + "Add to \"includePath\": {0}": "Ajouter à \"includePath\" : {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Ajouter '{0}'", + "Edit \"includePath\" setting": "Modifier le paramètre \"includePath\"", + "Disable error squiggles": "Désactiver les tildes d'erreur", + "Enable all error squiggles": "Activer tous les tildes d'erreur", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "Erreurs #include détectées. Mettez à jour includePath. Les tildes sont désactivés pour cette unité de traduction ({0}).", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Erreurs #include détectées. Mettez à jour includePath. Les fonctionnalités IntelliSense de cette unité de traduction ({0}) sont fournies par l'analyseur de balises.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Erreurs #include détectées. Mettez à jour compile_commands.json ou includePath. Les fonctionnalités IntelliSense de cette unité de traduction ({0}) sont fournies par l'analyseur de balises.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Impossible d'analyser \"{0}\". 'includePath' dans c_cpp_properties.json dans le dossier '{1}' sera utilisé à la place.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" est introuvable. 'includePath' dans c_cpp_properties.json dans le dossier '{1}' sera utilisé à la place.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{0}\" introuvable dans \"{1}\". 'includePath' dans c_cpp_properties.json dans le dossier '{2}' sera utilisé à la place pour ce fichier.", + "The IntelliSense database was successfully reset.": "La base de données IntelliSense a été réinitialisée.", + "Failed to send response to client: {0}": "L'envoi de la réponse au client a échoué : {0}", + "Failed to read response from server: {0}": "La lecture de la réponse du serveur a échoué : {0}", + "Failed to send request to server: {0}": "L'envoi de la demande au serveur a échoué : {0}", + "Unexpected error while waiting for requests: {0}": "Erreur inattendue en attendant les demandes : {0}", + "{0} errored with: {1}": "{0} a rencontré une erreur avec {1}", + "Failed to open the file {0}": "L'ouverture du fichier {0} a échoué", + "Failed to query default include paths and defines for {0}.": "L'interrogation des chemins d'inclusion et des définitions par défaut pour {0} a échoué.", + "Failed calling {0}": "Échec de l'appel de {0}", + "Quick info operation failed: {0}": "L'opération Info express a échoué : {0}", + "Failed to create IntelliSense client: {0}": "Échec de la création du client IntelliSense : {0}", + "Failed to spawn IntelliSense process: {0}": "Échec de la génération du processus IntelliSense : {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Erreur de l'appel de browse_engine_update_thread.join() : {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Ce fichier ({0}) est déjà ouvert dans l'éditeur, mais avec une casse différente. Les fonctionnalités IntelliSense sont désactivées sur cette copie du fichier.", + "IntelliSense client has disconnected from the server - {0}": "Le client IntelliSense s'est déconnecté du serveur - {0}", + "Formatting failed:": "La mise en forme a échoué :", + "Unable to add file to database, error = {0}: {1}": "Impossible d'ajouter le fichier à la base de données, erreur = {0} : {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "La réinitialisation de l'horodatage a échoué pendant l'abandon, erreur = {0} : {1}", + "Unable to update timestamp, error = {0}: {1}": "Impossible de mettre à jour l'horodatage, erreur = {0} : {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Impossible de finaliser les mises à jour du fichier, erreur = {0} : {1}", + "{0} is not a directory (st_mode={1})": "{0} n'est pas un répertoire (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "Impossible de récupérer les informations du système de fichiers pour {0}. Erreur = {1}", + "{0} is not a directory": "{0} n'est pas un répertoire", + "File discovery was aborted": "La découverte de fichiers a été abandonnée", + "Aborting tag parse of {0} and dependencies": "Annulation de l'analyse des balises de {0} et des dépendances", + "Aborting tag parse at root": "Annulation de l'analyse des balises à la racine", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Impossible de récupérer les enregistrements de base de données pour réinitialiser les horodatages : erreur = {0}", + "Failed to reset timestamp for {0}: error = {1}": "La réinitialisation de l'horodatage a échoué pour {0} : erreur = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Aucun compilateur approprié. Définissez \"compilerPath\" dans c_cpp_properties.json.", + "Compiler include path not found: {0}": "Le chemin d'inclusion du compilateur est introuvable : {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "Le moteur IntelliSense ne répond pas. Utilisation de l'analyseur de balises à la place.", + "Tag Parser will be used for IntelliSense operations in: {0}": "L'analyseur de balises est utilisé pour les opérations IntelliSense dans {0}", + "Error squiggles will be disabled in: {0}": "Les tildes d'erreur seront désactivés dans : {0}", + "Processing folder (non-recursive): {0}": "Traitement du dossier (non récursif) : {0}", + "Processing folder (recursive): {0}": "Traitement du dossier (récursif) : {0}", + "File exclude: {0}": "Exclusion de fichier : {0}", + "Search exclude: {0}": "Rechercher dans l'exclusion : {0}", + "Discovering files: {0} file(s) processed": "Découverte de fichiers : {0} fichier(s) traité(s)", + "{0} file(s) removed from database": "{0} fichier(s) supprimé(s) dans la base de données", + "Parsing: {0} files(s) processed": "Analyse : {0} fichier(s) traité(s)", + "Shutting down IntelliSense server: {0}": "Arrêt du serveur IntelliSense : {0}", + "Resetting IntelliSense server: {0}": "Réinitialisation du serveur IntelliSense : {0}", + "Code browsing service initialized": "Service de navigation du code initialisé", + "Folder: {0} will be indexed": "Le dossier {0} va être indexé", + "Populate include completion cache.": "Remplissez le cache de fin d'inclusion.", + "Discovering files...": "Découverte de fichiers...", + "Done discovering files.": "Découverte de fichiers terminée.", + "Parsing open files...": "Analyse des fichiers ouverts...", + "Done parsing open files.": "Analyse des fichiers ouverts terminée.", + "Parsing remaining files...": "Analyse des fichiers restants...", + "Done parsing remaining files.": "Analyse des fichiers restants terminée.", + "Using configuration: \"{0}\"": "Utilisation de la configuration : \"{0}\"", + "{0} include path suggestion(s) discovered.": "{0} suggestion(s) de chemin Include découverte(s).", + "Checking for syntax errors: {0}": "Recherche des erreurs de syntaxe : {0}", + "IntelliSense Engine = {0}.": "Moteur IntelliSense = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "L'extension utilise l'analyseur de balises pour IntelliSense quand les #includes ne sont pas résolus.", + "Autocomplete is enabled.": "L'autocomplétion est activée.", + "Autocomplete is disabled.": "L'autocomplétion est désactivée.", + "Hover is enabled.": "Le pointage est activé.", + "Hover is disabled.": "Le pointage est désactivé.", + "Enhanced Colorization is enabled.": "La colorisation améliorée est activée.", + "Error squiggles are disabled.": "Les tildes d'erreur sont désactivés.", + "Error squiggles are enabled.": "Les tildes d'erreur sont activés.", + "Error squiggles are enabled if all header dependencies are resolved.": "Les tildes d'erreur sont activés si toutes les dépendances d'en-tête sont résolues.", + "Replaced placeholder file record": "Enregistrement du fichier d'espace réservé remplacé", + "tag parsing file: {0}": "fichier d'analyse de balises : {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "erreur d’analyse des balises (elle peut être ignorée, sauf si les symboles sont introuvables) :", + "Reset time stamp for {0}": "Réinitialiser l'horodatage pour {0}", + "Failed to remove file: {0}": "La suppression du fichier a échoué : {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Erreur d'analyse de regex - Modèle vscode : {0}, regex : {1}, message d'erreur : {2}", + "terminating child process: {0}": "arrêt du processus enfant : {0}", + "still alive, killing...": "toujours actif, suppression...", + "giving up": "abandon", + "not exited yet. Will sleep for {0} milliseconds and try again.": "pas encore fermé. Va se mettre en veille pendant {0} millisecondes avant de réessayer.", + "Failed to spawn process. Error: {0} ({1})": "La génération du processus a échoué. Erreur : {0} ({1})", + "Offering completion": "Complétion proposée", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Tentative d'obtention des valeurs par défaut du compilateur sur la machine : '{0}'", + "Unable to resolve include path: {0}": "Impossible de résoudre le chemin d'inclusion {0}", + "Error searching for IntelliSense client: {0}": "Erreur de recherche du client IntelliSense : {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "Client IntelliSense non disponible, utilisation de l'analyseur de balises pour Info express.", + "using Tag Parser for quick info": "utilisation de Tag Parser pour Info express", + "Closing the communication channel.": "Fermeture du canal de communication.", + "sending compilation args for {0}": "envoi des arguments de compilation pour {0}", + "include: {0}": "inclusion : {0}", + "framework: {0}": "framework : {0}", + "define: {0}": "définition : {0}", + "preinclude: {0}": "préinclusion : {0}", + "other: {0}": "autre : {0}", + "sending {0} changes to server": "envoi de {0} changements au serveur", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Instance de fichier ouvert non valide. Message IntelliSense ignoré pour le fichier {0}.", + "idle loop: reparsing the active document": "boucle inactive : réanalyse du document actif", + "IntelliSense client is currently disconnected": "Le client IntelliSense est actuellement déconnecté", + "Request canceled: {0}": "Demande annulée : {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "Client IntelliSense non disponible, utilisation de l'analyseur de balises pour accéder à la définition.", + "Error squiggle count: {0}": "Nombre de tildes d'erreur : {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Mise en file d'attente de la mise à jour IntelliSense pour les fichiers dans l'unité de traduction de : {0}", + "Formatting document: {0}": "Mise en forme du document : {0}", + "Formatting input:": "Mise en forme de l'entrée :", + "Formatting raw output:": "Mise en forme de la sortie brute :", + "Formatting diffed output before cursor:": "Mise en forme de la sortie comparée avant le curseur :", + "Formatting diffed output after cursor:": "Mise en forme de la sortie comparée après le curseur :", + "Formatting diffed output:": "Mise en forme de la sortie comparée :", + "Disable inactive region colorization": "Désactiver la colorisation de la région inactive", + "Error limit exceeded, {0} error(s) not reported.": "Limite d'erreurs dépassée, {0} erreur(s) non signalée(s).", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "Erreurs #include détectées. Mettez à jour compile_commands.json ou includePath. Les tildes sont désactivés pour cette unité de traduction ({0}).", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "Impossible de réinitialiser la base de données IntelliSense. Pour effectuer une réinitialisation manuelle, fermez toutes les instances de VS Code, puis supprimez ce fichier : {0}", + "Formatting failed. See the output window for details.": "La mise en forme a échoué. Pour plus d'informations, consultez la fenêtre sortie.", + "Populating include completion cache.": "Remplissage du cache de fin d'inclusion.", + "Discovering files: {0}": "Découverte de fichiers : {0}", + "Parsing open files": "Analyse des fichiers ouverts", + "Tag parser initializing": "Initialisation de l'analyseur de balises", + "Workspace parsing paused": "Analyse de l’espace de travail suspendue", + "Parsing workspace files: {0}": "Analyse des fichiers d’espace de travail : {0}", + "Discovering files: {0} / {1} ({2}%)": "Découverte de fichiers : {0}/{1} ({2} %)", + "Parsing workspace files: {0} / {1} ({2}%)": "Analyse des fichiers d’espace de travail : {0} / {1} ({2}%)", + "Can't find or run process_name": "process_name est introuvable ou ne peut pas être exécuté", + "Child exec failed {0}": "Échec de l'exécution enfant {0}", + "Could not communicate with child process!": "Impossible de communiquer avec le processus enfant !", + "{0} failed": "{0} : échec", + "Failed to set {0} flag": "La définition de l'indicateur {0} a échoué", + "Unable to create {0}!": "Impossible de créer {0} !", + "Failed to set stdin {0} flag": "La définition de l'indicateur stdin {0} a échoué", + "Failed to set stdout {0} flag": "La définition de l'indicateur stdout {0} a échoué", + "Failed to set stderr {0} flag": "La définition de l'indicateur stderr {0} a échoué", + "Unable to start child process!": "Impossible de démarrer le processus enfant !", + "Timed out attempting to communicate with process!": "Expiration du délai d'attente pendant la tentative de communication avec le processus !", + "Process has failed to run": "L'exécution du processus a échoué", + "Specified compiler was not found: {0}": "Le compilateur spécifié est introuvable : {0}", + "Config data invalid, {0}": "Données de configuration non valides, {0}", + "CMake executable not found at {0}": "Exécutable CMake introuvable sur {0}", + "No args provider": "Aucun fournisseur d'arguments", + "Invalid file path {0}": "Chemin de fichier {0} non valide", + "Can't create IntelliSense client for {0}": "Impossible de créer le client IntelliSense pour {0}", + "declaration": "déclaration", + "type alias": "alias de type", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Le compilateur ne prend pas en charge le mode 64 bits. Retour au intelliSenseMode 32 bits.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Le compilateur ne prend pas en charge le mode 32 bits. Retour au intelliSenseMode 64 bits.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Échec de l'interrogation du compilateur. Retour au intelliSenseMode 32 bits.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Échec de l'interrogation du compilateur. Retour au intelliSenseMode 64 bits.", + "Failed to query compiler. Falling back to no bitness.": "Échec de l'interrogation du compilateur. Retour au mode sans nombre de bits.", + "IntelliSense client creation aborted: {0}": "Abandon de la création du client IntelliSense : {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Erreurs #include détectées d'après les informations fournies par le paramètre configurationProvider. Les fonctionnalités IntelliSense de cette unité de traduction ({0}) sont fournies par l'analyseur de balises.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Erreurs #include détectées d'après les informations fournies par le paramètre configurationProvider. Les tildes sont désactivés pour cette unité de traduction ({0}).", + "preprocessor keyword/Refers to C/C++ processor keywords": "mot clé de préprocesseur", + "C keyword": "Mot clé C", + "C++ keyword": "Mot clé C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+1 surcharge", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "+%d surcharges", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+1 spécialisation", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "+%d spécialisations", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Note : IntelliSense n’est pas entièrement configuré. Utilisez la commande « Sélectionner la configuration IntelliSense… » pour terminer la configuration.", + "Select an IntelliSense configuration to locate system headers": "Sélectionner une configuration IntelliSense pour localiser les en-têtes système", + "Expands to:": "Se développe sur :", + "Attention:": "Attention :", + "Author:": "Auteur :", + "Authors:": "Auteurs :", + "Bug:": "Bogue :", + "Copyright:": "Droits d'auteur :", + "Deprecated:": "Déprécié :", + "Date:": "Date :", + "Details:": "Détails :", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Exceptions :", + "Invariant:": "Indifférente :", + "File:": "Fichier :", + "Note:": "Remarque :", + "Parameters:": "Paramètres :", + "Precondition:": "Condition préalable :", + "Postcondition:": "Post-condition :", + "Remark:": "Remarque :", + "Remarks:": "Notes :", + "Result:": "Résultat :", + "Return:": "Retour :", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Retourne :", + "See also:": "Afficher aussi :", + "Since:": "Depuis :", + "Template Parameters:": "Paramètres du modèle :", + "Test:": "Tester :", + "TODO:": "TODO:", + "Version:": "Version :", + "Warning:": "Avertissement :", + "Compiler query command line: {0}": "Ligne de commande d'interrogation du compilateur : {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Tentative d'obtention des valeurs par défaut du compilateur C dans la propriété \"compilerPath\" : '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Tentative d'obtention des valeurs par défaut du compilateur C++ dans la propriété \"compilerPath\" : '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Tentative d'obtention des valeurs par défaut du compilateur C dans le fichier compile_commands.json : '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Tentative d'obtention des valeurs par défaut du compilateur C++ dans le fichier compile_commands.json : '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Pour les fichiers sources C, IntelliSenseMode est passé de \"{0}\" à \"{1}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Pour les fichiers sources C++, IntelliSenseMode est passé de \"{0}\" à \"{1}\".", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Pour les fichiers sources C, cStandard est passé de \"{0}\" à \"{1}\".", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Pour les fichiers sources C++, cppStandard est passé de \"{0}\" à \"{1}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Pour les fichiers sources C, IntelliSenseMode est passé de \"{0}\" à \"{1}\" et cStandard est passé de \"{2}\" à \"{3}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Pour les fichiers sources C++, IntelliSenseMode est passé de \"{0}\" à \"{1}\" et cppStandard est passé de \"{2}\" à \"{3}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pour les fichiers sources C, IntelliSenseMode est passé de \"{0}\" à \"{1}\" en fonction des arguments du compilateur et de l'interrogation de compilerPath : \"{2}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pour les fichiers sources C++, IntelliSenseMode est passé de \"{0}\" à \"{1}\" en fonction des arguments du compilateur et de l'interrogation de compilerPath : \"{2}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pour les fichiers sources C, cStandard est passé de \"{0}\" à \"{1}\" en fonction des arguments du compilateur et de l'interrogation de compilerPath : \"{2}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Pour les fichiers sources C++, cppStandard est passé de \"{0}\" à \"{1}\" en fonction des arguments du compilateur et de l'interrogation de compilerPath : \"{2}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Pour les fichiers sources C, IntelliSenseMode est passé de \"{0}\" à \"{1}\" et cStandard est passé de \"{2}\" à \"{3}\" en fonction des arguments du compilateur et de l'interrogation de compilerPath : \"{4}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Pour les fichiers sources C++, IntelliSenseMode est passé de \"{0}\" à \"{1}\" et cppStandard est passé de \"{2}\" à \"{3}\" en fonction des arguments du compilateur et de l'interrogation de compilerPath : \"{4}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Impossible de résoudre la configuration avec le compilerPath \"{0}\". Utilisation de \"{1}\" à la place.", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Impossible de résoudre la configuration avec le compilerPath \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "Interrogation du compilateur ignorée en raison d'un compilerPath explicitement vide", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "Paramètre MSVC intelliSenseMode spécifié. Configuration pour le compilateur cl.exe.", + "Unable to configure for compiler cl.exe.": "Impossible d'effectuer la configuration pour le compilateur cl.exe.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Interrogation de la cible par défaut du compilateur via la ligne de commande : \"{0}\" {1}", + "Compiler returned default target value: {0}": "Le compilateur a retourné la valeur cible par défaut : {0}", + "Querying compiler for default C language standard using command line: {0}": "Interrogation du compilateur pour déterminer la norme de langage C par défaut via la ligne de commande : {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Interrogation du compilateur pour déterminer la norme de langage C++ par défaut via la ligne de commande : {0}", + "Detected language standard version: {0}": "Version de la norme de langage détectée : {0}", + "Unhandled default compiler target value detected: {0}": "Détection d'une valeur cible par défaut du compilateur non prise en charge : {0}", + "Unhandled target argument value detected: {0}": "Détection d'une valeur d'argument cible non prise en charge : {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Arrêt du serveur IntelliSense : {0}. L'utilisation de la mémoire est de {1} Mo et a dépassé la limite fixée à {2} Mo.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Échec de l'interrogation du compilateur sur le chemin \"{0}\" pour les versions normalisées par défaut. L'interrogation du compilateur est désactivée pour ce compilateur.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "L'interrogation du compilateur a retourné une version de norme de langage non reconnue. La toute dernière version prise en charge va être utilisée à la place.", + "IntelliSense process crash detected.": "Détection d'un plantage du processus IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "Détection d'un plantage du processus IntelliSense :{0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Valeurs de retour :", + "Unable to locate nvcc compiler: {0}": "Impossible de localiser le compilateur nvcc : {0}", + "Unable to locate nvcc host compiler: {0}": "Impossible de localiser le compilateur hôte pour nvcc : {0}", + "Invoking nvcc with command line: {0}": "Appel de nvcc avec la ligne de commande : {0}", + "Unable to find host compile command in output of nvcc.": "La commande de compilation hôte est introuvable dans la sortie de nvcc.", + "Unable to locate forced include: {0}": "Impossible de localiser le fichier include forcé : {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Inline macro", + "Unable to access browse database. ({0})": "Impossible d’accéder à la base de données Browse. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode a été modifié car il ne correspondait pas au compilateur détecté. Envisagez de définir \"compilerPath\" à la place. Définissez \"compilerPath\" à \"\" pour désactiver la détection des includes et defines du système.", + "Remove all code analysis problems": "Supprimer tous les problèmes d’analyse du code", + "(Multiple locations)": "(Plusieurs emplacements)", + "Folder": "Dossier", + "File": "Fichier", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Le compilateur a retourné la version standard du langage par défaut : {0}. Étant donné que cette version est ancienne, essaiera d’utiliser une version plus récente {1} par défaut.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Sortie inattendue de clang-tidy : {0}. Attendu : {1}.", + "Generate Doxygen comment": "Générer un commentaire Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Créer une déclaration de « {0} » dans {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Créer une définition de « {0} » dans {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "Définition de la fonction pour « {0} » introuvable.", + "Attributes/'Attributes' is a C++ specifier.": "Attributs", + "Bases/'Bases' are a C++ class type.": "Bases", + "Classes": "Classes", + "CoClasses": "CoClasses", + "Delegates": "Délégués", + "Enums": "Enums", + "Events": "Événements", + "Functions": "Fonctions", + "Import directives": "Importer des directives", + "ImportLib statements": "Instructions ImportLib", + "Import statements": "Importer des instructions", + "Include directives": "Inclure des directives", + "Interfaces": "Interfaces", + "Libraries": "Bibliothèques", + "Macros": "Macros", + "Maps": "Cartes", + "Map entries": "Entrées de la table", + "Miscellaneous": "Divers", + "Namespaces": "Espaces de noms", + "Parameters": "Paramètres", + "Properties": "Propriétés", + "Structs": "Structures", + "TODO: insert return statement here": "TODO: insérer une instruction return ici", + "Typedefs": "Typedefs", + "Unions": "Unions", + "Using aliases": "Alias using", + "Using directives": "Directives Using", + "Variables": "Variables", + "Automatic add function": "Ajouter automatiquement une fonction", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual est redondant et ne doit pas être spécifié conjointement à vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod ne peut pas être static.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Fichier C/C++ non valide : '%s'.", + "File name too long: '%s'./%s is the file that has a long name.": "Nom de fichier trop long : '%s'.", + "Cannot create file '%s'./%s is the file that could not be created.": "Impossible de créer le fichier '%s'.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "Impossible d'accéder en écriture au répertoire ou au fichier '%s'.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Chemin de fichier non valide : '%s'.", + "File '%s' was not found./%s is the file that was not found.": "Le fichier '%s' est introuvable.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Échec de la création de la déclaration/définition : %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Impossible de créer la fonction '%s'. La création de fonctions par défaut ou supprimées n’est pas prise en charge.", + "Unable to create function '%s'./%s is the function that could not be created.": "Impossible de créer la fonction '%s'.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Impossible de trouver un emplacement non ambigu pour la fonction '%s'.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "La classe ou l'espace de noms '%s' est introuvable.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "L'opération n'est pas prise en charge pour '%s'.", + "Unknown error.": "Erreur inconnue.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Veuillez exécuter la commande « Sélectionner la configuration IntelliSense… » pour localiser vos en-têtes système.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Copier la déclaration de '{0}'", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Copier la définition de '{0}'", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Échec de la copie de la déclaration/définition dans le presse-papiers : %s", + "Extract to function": "Extraire en fonction", + "Extract to free function": "Extraire pour libérer la fonction", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Extraire dans la fonction membre dans '{0}'", + "The selected text is not inside a function.": "Le texte sélectionné ne se trouve pas dans une fonction.", + "The selected text cannot span different functions.": "Le texte sélectionné ne peut pas s’étendre sur différentes fonctions.", + "Variable '%s' is declared in the selected region and then used below it.": "La variable '%s' est déclarée dans la région sélectionnée, puis utilisée sous celle-ci.", + "Preprocessor macro '%s' is used below the selected region.": "La macro de préprocesseur '%s' est utilisée sous la région sélectionnée.", + "The selected region spans an inactive preprocessor block.": "La région sélectionnée comprend un bloc de pré-processeur inactif.", + "The selected region does not contain any code that can be extracted.": "La région sélectionnée ne contient aucun code pouvant être extrait.", + "The selected region is not entirely within the function's body.": "La région sélectionnée ne se trouve pas entièrement dans le corps de la fonction.", + "The selection contains IntelliSense errors.": "La sélection contient des erreurs IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "« %s » n’est pas déclaré au sein du code sélectionné, mais est en cours de modification. Le code C ne peut pas transmettre d’arguments par référence.", + "The function would have to return a value by reference. C code cannot return references.": "La fonction doit renvoyer une valeur par référence. Le code C ne peut pas renvoyer de référence.", + "Jumps between the selected code and the surrounding code are present.": "Des sauts entre le code sélectionné et le code environnant sont présents.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "Dans le code sélectionné, certains chemins de contrôle s'arrêtent sans définir la valeur renvoyée. Cela n'est pris en charge que pour les types de retour scalaire, numérique et pointeur.", + "Expand selection (to enable 'Extract to function')": "Développer la sélection (pour activer ' Extraire vers la fonction')", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "« {0} » n'a pas été trouvé dans les fichiers compile_commands.json. « includePath » from c_cpp_properties.json in folder « {1} » sera utilisé pour ce fichier à la place.", + "Generate Copilot summary": "Générer un résumé de Copilot", + "Unable to index files from non-existent folder: {0}": "Impossible d’indexer des fichiers à partir d’un dossier inexistant : {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "Vous ne pouvez utiliser l’extension C/C++ qu’avec Microsoft Visual Studio, Visual Studio pour Mac, Visual Studio Code, Azure DevOps, Team Foundation Server et les produits et services Microsoft qui leur succèdent pour développer et tester vos applications.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Serveur de langage Microsoft C++", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Utilisation : {0} [options]", + "Options:": "Options :", + "Show this help message and exit.": "Afficher ce message d’aide et quitter.", + "Show version information and exit.": "Afficher les informations de version et quitter.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Acceptez définitivement le Contrat de licence utilisateur final (CLUF).", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "Ne redirigez pas stderr vers /dev/null (utile pour le débogage).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Lancez une connexion interactive (abonnement à GitHub Copilot requis).", + "Force the login process, even if already authenticated.": "Forcer le processus de connexion, même si vous êtes déjà authentifié(e).", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Autoriser le stockage des informations d’identification en texte clair si un trousseau sécurisé n’est pas disponible.", + "Specify the directory for log files (default: system temp directory).": "Spécifiez le répertoire des fichiers journaux (par défaut : répertoire temporaire système).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Définissez le niveau de détail de la journalisation de 0 (erreurs uniquement) à 9 (très détaillé).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Spécifiez le paramètre sous forme de chemin absolu, ou relatif à la racine de l’espace de travail ou à son dossier .github.", + "Disable sending telemetry data.": "Désactivez l’envoi de données de télémétrie.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Pour vous authentifier auprès de GitHub, copiez le code {0}, puis rendez-vous sur {1}. En attente de l’autorisation...", + "Timed out waiting for authorization.": "Le délai d’attente pour l’autorisation a expiré.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Authentification réussie auprès de GitHub.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "L’authentification GitHub a réussi, mais les jetons n’ont pas pu être enregistrés.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Erreur de trousseau : {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "La collection de trousseaux de clés est verrouillée. Déverrouillez-la ou redémarrez gnome-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Aucun service de trousseau n’est disponible. Installez et démarrez gnome-keyring : sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Ou autorisez le stockage en texte clair en passant --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "Le code de l’appareil a expiré. Veuillez réessayer.", + "Authorization was denied by the user.": "L’autorisation a été refusée par l’utilisateur(-trice).", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Erreur inattendue lors de l’interrogation : {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Nous n’avons pas pu effectuer la connexion à GitHub. Essayez d’exécuter la commande avec --login depuis la ligne de commande pour vous connecter.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Le CLUF doit être accepté pour continuer. Exécutez avec --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Déjà authentifié auprès de GitHub. Utilisez --force-login pour vous réauthentifier.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Échec de l’initialisation : version de configuration non prise en charge. Seule la version 1 est prise en charge.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Échec de l’initialisation : le fichier de configuration « {0} » est introuvable.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Échec de l’initialisation : impossible d’analyser le fichier de configuration « {0} ». Vérifiez le format JSON. Erreur : {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Échec de l’initialisation : « repositoryPath » n’est pas configuré ou n’est pas valide.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Échec de l’initialisation : « compileCommands » ou « cppProperties » doit être configuré.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Échec de l’initialisation : « compileCommands » et « cppProperties » ne peuvent pas être configurés simultanément.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Échec de l’initialisation : chemin « compileCommands » introuvable : « {0} ».", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Échec de l’initialisation : chemin « cppProperties » introuvable : « {0} ».", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Échec de l’initialisation : nous ne pouvons pas analyser le fichier spécifié par « cppProperties » : « {0} ». Vérifiez le format JSON. Erreur : {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Échec de l’initialisation : impossible de lire la configuration à partir du fichier « cppProperties » : « {0} ». Vérifiez le schéma.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Échec de l’initialisation : « {0} » ne contient pas de tableau « configurations » valide.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Échec de l’initialisation : la configuration « {0} » est introuvable dans le fichier « cppProperties » : « {1} ».", + "Initialization failed: LSP config paths cache is missing.": "Échec de l’initialisation : le cache des chemins de configuration LSP est manquant.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl introuvable ({0}). libcurl est requis pour l’authentification et la télémétrie.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl doit être disponible par défaut sur macOS. S’il est manquant, installez-le avec : brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Installez libcurl : sudo apt install libcurl4 (Debian/Ubuntu) ou sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl chargé, mais les symboles requis sont manquants. Cela peut indiquer une version très ancienne ou incompatible de libcurl. Le serveur de langage ne peut pas fonctionner sans une version compatible de libcurl.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 introuvable ({0}). libsecret est requis pour le stockage sécurisé des informations d’identification. Installez libsecret : sudo apt install libsecret-1-0 (Debian/Ubuntu) ou sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret chargé, mais les symboles requis sont manquants. Le serveur de langage ne peut pas fonctionner sans une version compatible de libsecret.", + "Failed to disable telemetry.": "Échec de la désactivation de la télémétrie.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Méthode introuvable : {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Nous ne pouvons pas traiter IntelliSense pour un fichier ayant le même chemin canonique qu’un fichier existant. URI : {0}, chemin canonique : {1}", + "Initializing": "Initialisation en cours", + "Initializing ({0} of {1})": "Initialisation en cours ({0} sur {1})", + "Initializing ({0} of {1}): {2}": "Initialisation en cours ({0} sur {1}) : {2}", + "Initializing {0}": "Initialisation de {0}", + "Initializing projects": "Initialisation des projets", + "Initializing projects ({0} of {1})": "Initialisation des projets ({0} sur {1})", + "Initializing projects ({0} of {1}): {2}": "Initialisation des projets ({0} sur {1}) : {2}", + "Initializing projects {0}": "Initialisation des projets {0}", + "Checking for out of date files": "Recherche de fichiers obsolètes", + "Checking for out of date files ({0} of {1})": "Recherche de fichiers obsolètes ({0} sur {1})", + "Checking for out of date files ({0} of {1}): {2}": "Recherche de fichiers obsolètes ({0} sur {1}) : {2}", + "Checking for out of date files {0}": "Recherche de fichiers obsolètes {0}", + "Parsing files": "Analyse des fichiers", + "Parsing files ({0} of {1})": "Analyse des fichiers ({0} sur {1})", + "Parsing files ({0} of {1}): {2}": "Analyse des fichiers ({0} sur {1}) : {2}", + "Parsing files {0}": "Analyse des fichiers {0}", + "Parsing included files": "Analyse des fichiers inclus", + "Parsing included files ({0} of {1})": "Analyse des fichiers inclus ({0} sur {1})", + "Parsing included files ({0} of {1}): {2}": "Analyse des fichiers inclus ({0} sur {1}) : {2}", + "Parsing included files {0}": "Analyse des fichiers incluse {0}", + "Scanning #includes for more files": "Analyse des #includes pour des fichiers supplémentaires", + "Scanning #includes for more files ({0} of {1})": "Analyse des #includes pour des fichiers supplémentaires ({0} sur {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Analyse des #includes pour des fichiers supplémentaires ({0} sur {1}) : {2}", + "Scanning #includes for more files {0} {1}": "Analyse des #includes pour des fichiers supplémentaires {0} {1}", + "Ready (Updating external dependencies)": "Prêt (mise à jour des dépendances externes)", + "Ready (Updating external dependencies) ({0} of {1})": "Prêt(e) (mise à jour des dépendances externes) ({0} sur {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Prêt(e) (mise à jour des dépendances externes) ({0} sur {1}) : {2}", + "Ready (Updating external dependencies) {0}": "Prêt(e) (mise à jour des dépendances externes) {0}", + "Ready (Optimizing database)": "Prêt (optimisation de la base de données)", + "Ready (Optimizing database) ({0} of {1})": "Prêt (optimisation de la base de données) ({0} sur {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Prêt (optimisation de la base de données) ({0} sur {1}) : {2}", + "Ready (Optimizing database) {0}": "Prêt (optimisation de la base de données) {0}", + "Creating Indexes": "Création d’index", + "Creating Indexes ({0} of {1})": "Création d’index ({0} sur {1})", + "Creating Indexes ({0} of {1}): {2}": "Création d’index ({0} sur {1}) : {2}", + "Creating Indexes {0}": "Création d’index {0}", + "Evaluating": "Évaluation", + "Evaluating ({0} of {1})": "Évaluation ({0} sur {1})", + "Evaluating ({0} of {1}): {2}": "Évaluation ({0} sur {1}) : {2}", + "Evaluating {0}": "Évaluation de {0} en cours...", + "Indexing files": "Indexation des fichiers", + "Indexing files ({0} of {1})": "Indexation des fichiers ({0} sur {1})", + "Indexing files ({0} of {1}): {2}": "Indexation des fichiers ({0} sur {1}) : {2}", + "Indexing files {0}": "Indexation des fichiers {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Autorisez le serveur à démarrer même si le fichier --lsp-config spécifié n’existe pas.", + "Initialization failed during engine setup.": "Échec de l’initialisation lors de la configuration du moteur.", + "Important:": "Important :", + "Unknown OS platform": "Plateforme d'OS inconnue", + "Could not get ProductVersion from SystemVersion.plist": "Impossible d'obtenir ProductVersion dans SystemVersion.plist", + "Failed to find SystemVersion.plist in {0}.": "La recherche de SystemVersion.plist dans {0} a échoué.", + "Refresh process list": "Actualiser la liste des processus", + "Attach to process": "Attacher au processus", + "Select the process to attach to": "Sélectionner le processus à attacher", + "Process not selected.": "Processus non sélectionné.", + "{0} in debug configuration requires {1} and {2}": "{0} dans la configuration de débogage requiert {1} et {2}", + "Chosen debug configuration does not contain {0} or {1}": "La configuration de débogage choisie ne contient ni {0} ni {1}", + "Pipe transport failed to get OS and processes.": "Le transport de canal n'a pas pu obtenir le système d'exploitation et les processus.", + "Transport attach could not obtain processes list.": "L'attachement de transport n'a pas pu obtenir la liste des processus.", + "Failed to make GDB connection: \"{0}\".": "Échec de la connexion GDB : «{0}».", + "Failed to parse processes: \"{0}\".": "Échec de l’analyse des processus : «{0}».", + "Default Configuration": "Configuration par défaut", + "Select a configuration": "Sélectionner une configuration", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Le débogueur de type '{0}' est disponible seulement sur Windows. Utilisez le type '{1}' sur la plateforme OS actuelle.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "La clé '{0}' est dépréciée. Utilisez '{1}' à la place.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "Impossible de localiser 'LLDB.framework' pour lldb-mi. Installez XCode ou les outils en ligne de commande XCode.", + "Launch configuration:": "Lancer la configuration :", + "'deploySteps' require VS Code 1.69+.": "'deploySteps' nécessite VS Code 1.69+.", + "Running deploy steps...": "Exécution des étapes de déploiement...", + "Unable to find {0}. {1} task is ignored.": "Impossible de trouver {0}. La tâche {1} est ignorée.", + "preLaunchTask: {0}": "tâche de prélancement : {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Impossible de trouver le débogueur {0}. La configuration de débogage pour {1} est ignorée.", + "build and debug active file": "Générer et déboguer le fichier actif", + "Apply Developer Environment": "Appliquer l’environnement de développeur", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} nécessite l’environnement de développeur Visual Studio.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Mettre à jour l’environnement de développeur", + "Cancel": "Annuler", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Impossible de générer le code source, car l’environnement de développeur Visual Studio n’a pas été appliqué.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Impossible de générer le code source, car le compilateur Visual C++ est introuvable.", + "Missing dependency '{0}' for lldb-mi executable.": "La dépendance '{0}' est manquante pour l'exécutable lldb-mi.", + "Searched in:": "Recherche effectuée dans :", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Pour résoudre ce problème, installez XCode via l'Apple App Store ou installez les outils en ligne de commande XCode en exécutant '{0}' dans une fenêtre de terminal.", + "Failed to use {0}. Reason: {1}": "L'utilisation de {0} a échoué. Motif : {1}", + "Replacing {0} '{1}' with '{2}'.": "Remplacement de {0} '{1}' par '{2}'.", + "Resolving variables in {0}...": "Résolution des variables dans {0}...", + "Open {0}": "Ouvrir {0}", + "Recently Used Task": "Tâche récemment utilisée", + "Configured Task": "Tâche configurée", + "Detected Task": "Tâche détectée", + "Cannot build and debug because the active file is not a C or C++ source file.": "Génération et débogage impossibles, car le fichier actif n'est pas un fichier source C ou C++.", + "No compiler found": "Aucun compilateur", + "Select a debug configuration": "Sélectionnez une configuration de débogage", + "\"args\" in command deploy step must be an array.": "« args » dans l’étape de déploiement de commande doit être un tableau.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "\"hôte\", \"fichiers\", et \"targetDir\" sont obligatoires dans les {0} étapes.", + "\"files\" must be a string or an array of strings in {0} steps.": "\"fichiers\" doit être une chaîne de caractères ou un tableau de chaînes de caractères en {0} étapes.", + "\"host\" and \"command\" are required for ssh steps.": "« host » et « command » sont obligatoires pour les étapes ssh.", + "\"command\" is required for shell steps.": "« commande » est obligatoire pour les étapes de l’interpréteur de commandes.", + "Deploy step type {0} is not supported.": "Le type d’étape de déploiement {0} n’est pas pris en charge.", + "Unexpected OS type": "Type de système d'exploitation inattendu", + "full path to pipe program such as {0}": "chemin complet du programme de canal, par exemple {0}", + "Enable pretty-printing for {0}": "Activer l'impression en mode Pretty pour {0}", + "Set Disassembly Flavor to {0}": "Définir la version désassemblage sur {0}", + "enter program name, for example {0}": "entrer le nom du programme, par exemple {0}", + "Launch": "Lancer", + "Launch with {0}.": "Lancez avec {0}.", + "Attach": "Joindre", + "Attach with {0}.": "Attachez avec {0}.", + "Pipe Launch": "Lancement de canal", + "Pipe Launch with {0}.": "Lancement de canal avec {0}.", + "Pipe Attach": "Attachement de canal", + "Pipe Attach with {0}.": "Attachement de canal avec {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Lancez avec le débogueur Visual Studio C/C++.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Attachez un processus avec le débogueur Visual Studio C/C++.", + "Bash on Windows Launch": "Lancement de Bash sur Windows", + "Launch in Bash on Windows using {0}.": "Lancez dans Bash sur Windows à l'aide de {0}.", + "Bash on Windows Attach": "Attachement de Bash sur Windows", + "Attach to a remote process running in Bash on Windows using {0}.": "Attachez un processus distant s'exécutant dans Bash sur Windows à l'aide de {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "Le type de débogueur '{0}' n’est pas disponible pour les machines non Windows.", + "Run Without Debugging is only supported for launch configurations.": "L’exécution sans débogage n’est prise en charge que pour les configurations de lancement.", + "Add debug configuration is not available for single file.": "L’ajout d’une configuration de débogage n’est pas disponible pour un seul fichier.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Impossible de modifier le fichier de configuration SSH en raison de l’échec de l’analyse «{0}».", + "No valid SSH configuration file found.": "Fichier de configuration SSH valide introuvable.", + "Enter SSH Target Name": "Entrez le nom de la cible SSH.", + "Example: `mySSHTarget`": "Exemple : `mySSHTarget`", + "Enter SSH Connection Command": "Entrer la commande de connexion SSH", + "Example: `ssh hello@microsoft.com -A`": "Exemple : `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Sélectionner le fichier de configuration SSH...", + "Yes": "Oui", + "No": "Non", + "Are you sure you want to permanently delete \"{0}\"?": "Voulez-vous vraiment supprimer définitivement «{0}» ?", + "Operating system \"{0}\" not supported.": "Système d'exploitation \"{0}\" non pris en charge.", + "\"{0}\" timed out after {1} seconds.": "«{0}» a expiré après {1} secondes.", + "\"{0}\" canceled.": "« {0} » annulé", + "\"{0}\" exited with code: \"{1}\".": "« {0} » s’est arrêté avec le code : « {1} ».", + "Failed to spawn \"{0}\".": "Échec de la génération dynamique des \"{0}\"", + "Ignoring non-parsable lines in {0} {1}: ": "Lignes non analysables ignorées dans {0} {1}: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Émulateur de terminal introuvable. Veuillez définir la variable d’environnement $TERMINAL sur l’émulateur de terminal de votre choix, ou installez l’un des éléments suivants : x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Sélectionner un compilateur à configurer pour IntelliSense", + "How would you like to configure IntelliSense for the '{0}' folder?": "Comment voulez-vous configurer IntelliSense pour le dossier «{0}» ?", + "How would you like to configure IntelliSense for this folder?": "Comment voulez-vous configurer IntelliSense pour ce dossier ?", + "Found at {0}": "Trouvé sur {0}", + "Use {0}": "Utiliser {0}", + "configuration providers": "fournisseurs de configuration", + "compilers": "compilateurs", + "Select IntelliSense Configuration...": "Sélectionner la configuration IntelliSense…", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Vous n’avez aucun IntelliSense configuré. À moins que vous ne définissiez vos propres configurations, IntelliSense risque de ne pas être fonctionnel.", + "Select another compiler on my machine...": "Sélectionner un autre compilateur sur ma machine…", + "Help me install a compiler": "M’aider à installer un compilateur", + "Install a compiler": "Installer un compilateur", + "Do not configure with a compiler (not recommended)": "Ne pas configurer avec un compilateur (non recommandé)", + "EPERM: Check permissions for '{0}'": "EPERM : Vérifier les autorisations de '{0}'", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Impossible de démarrer le serveur de langage C/C++. Les fonctionnalités IntelliSense sont désactivées. Erreur : {0}", + "The language server crashed. Restarting...": "Le serveur de langue s’est arrêté. Redémarrage...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "Le serveur de langage s'est bloqué 5 fois au cours des 3 dernières minutes. Il n'est pas redémarré.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} a été changé en : {1}", + "Dismiss": "Ignorer", + "Disable Warnings": "Désactiver les avertissements", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} ne peut pas fournir les informations de configuration IntelliSense de '{1}'. Les paramètres de la configuration de '{2}' sont utilisés à la place.", + "The requested configuration name is not found: {0}": "Le nom de configuration demandé est introuvable : {0}", + "Unsupported client": "Client non pris en charge", + "Timed out in {0}ms.": "Expiration du délai d'attente dans {0} ms.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "{0} fichiers listés avec {1} fichiers sources C/C++ détectés. Vous pourriez envisager d’exclure certains fichiers pour un meilleur niveau de performance.", + "Learn More": "En savoir plus", + "Don't Show Again": "Ne plus afficher", + "Update IntelliSense time (sec): {0}": "Durée de mise à jour d'IntelliSense (s) : {0}", + "Custom configurations received:": "Configurations personnalisées reçues :", + "Custom browse configuration received: {0}": "Configuration de navigation personnalisée reçue : {0}", + " Declaration/definition was copied.": " La déclaration/définition a été copiée.", + "Name the extracted function": "Nommez la fonction extraite", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "L'extraction vers la fonction a échoué : {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "Échec de l’extraction vers la fonction. Une modification non valide a été générée : «{0}»", + "Fix all code analysis problems": "Résoudre tous les problèmes d’analyse du code", + "Clear all code analysis problems": "Effacer tous les problèmes d’analyse du code", + "Fix all {0} problems": "Résoudre tous les problèmes de {0}", + "Disable all {0} problems": "Désactiver tous les problèmes de {0}", + "Clear all {0} problems": "Effacer tous les problèmes de {0}", + "Clear this {0} problem": "Effacer ce problème de {0}", + "Fix this {0} problem": "Résoudre ce problème de {0}", + "Show documentation for {0}": "Afficher la documentation pour {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "Le mode IntelliSense {0} est incompatible avec le chemin du compilateur.", + "Processed c_cpp_properties.json in {0}s": "Fichier c_cpp_properties.json traité en {0} s", + "Failed to create \"{0}\"": "La création de \"{0}\" a échoué", + "Invalid configuration file. There must be at least one configuration present in the array.": "Fichier de configuration non valide. Au moins une configuration doit être présente dans le tableau.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "Numéro de version inconnu dans c_cpp_properties.json. Certaines fonctionnalités peuvent ne pas fonctionner comme prévu.", + "Attempt to update \"{0}\" failed (do you have write access?)": "La tentative de mise à jour de \"{0}\" a échoué (avez-vous un accès en écriture ?)", + "Failed to parse \"{0}\"": "L'analyse de \"{0}\" a échoué", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Le chemin d’accès du compilateur contenant des espaces est introuvable. S’il devait inclure des arguments du compilateur, entourez le chemin d’accès du compilateur de guillemets doubles ({0}).", + "Cannot find: {0}": "{0} introuvable", + "Path is not a file: {0}": "Le chemin n'est pas un fichier : {0}", + "The include path validation took {0}s to evaluate": "L’évaluation de la validation du chemin d’accès d’inclusion a pris {0} s", + "Failed to resolve include path. Error: {0}": "Échec de la résolution du chemin d’accès d’inclusion. Erreur : {0}", + "Do not add extra quotes around paths.": "N’ajoutez pas de guillemets supplémentaires autour des chemins.", + "Path is not a directory: {0}": "Le chemin n'est pas un répertoire : {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} est dupliqué. Le nom de configuration doit être unique.", + "Path took {0}s to evaluate": "L’évaluation du chemin a pris {0} s", + "Failed to resolve path {0}. Error: {1}": "Échec de la résolution du chemin d’accès {0}. Erreur : {1}", + "Multiple paths are not allowed.": "Il est interdit d’utiliser plusieurs chemin d’accès.", + "Multiple paths should be separate entries in an array.": "Plusieurs chemins d’accès doivent être des entrées distinctes dans un tableau.", + "Paths are not directories: {0}": "Les chemins d’accès ne sont pas des répertoires : {0}", + "Error while retrieving result. Reason: {0}": "Erreur lors de la récupération du résultat. Raison : {0}", + "build active file": "générer le fichier actif", + "compiler:": "compilateur :", + "Task generated by Debugger.": "Tâche générée par le débogueur.", + "Starting build...": "Démarrage de la génération...", + "Build run was terminated.": "Exécution est terminée.", + "Build finished with error(s).": "La génération s'est achevée avec une ou plusieurs erreurs.", + "Build finished with warning(s).": "La génération s'est achevée avec un ou plusieurs avertissements.", + "Build finished successfully.": "La génération s'est achevée correctement.", + "No context provided": "Aucun contexte fourni", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "La commande « Définir l’environnement de développeur Visual Studio » est disponible uniquement sur Windows", + "A Visual Studio installation with the C++ compiler was not found": "Aucune installation Visual Studio avec le compilateur C++ n’a été trouvée", + "The operation was cancelled": "L’opération a été annulée", + "No hosts found": "Aucun hôte trouvé", + "Configuring developer environment...": "Configuration de l’environnement de développeur...", + "Select a Visual Studio installation": "Sélectionnez une installation de Visual Studio", + "Advanced options...": "Options avancées...", + "Select a specific host and target architecture, toolset version, etc.": "Sélectionnez une architecture hôte et cible spécifique, une version de l’ensemble d’outils, etc.", + "Select a toolset version": "Sélectionnez une version d’ensemble d’outils", + "Select a host and target architecture": "Sélectionnez une architecture hôte et cible", + "Something went wrong: {0}": "Une erreur s'est produite : {0}", + "{0} developer environment for {1}": "Environnement de développeur {0} pour {1}", + "Default environment for {0}": "Environnement par défaut pour {0}", + "host = {0}, target = {1}": "hôte = {0}, cible = {1}", + "Learn how to install a library for this header with vcpkg": "Découvrir comment installer une bibliothèque pour cet en-tête avec vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Copier la commande vcpkg pour installer '{0}' dans le Presse-papiers", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Les commandes liées à IntelliSense ne peuvent pas être exécutées quand `C_Cpp.intelliSenseEngine` a la valeur `disabled`.", + "client not found": "client introuvable", + "OK": "OK", + "The clang compiler will now be installed": "Le compilateur clang va maintenant être installé", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Vous serez peut-être invité à taper votre mot de passe dans la fenêtre VS Code terminal pour autoriser l’installation.", + "The gcc compiler will now be installed": "Le compilateur gcc va maintenant être installé", + "Open a folder first to select a configuration.": "Commencer par ouvrir un dossier pour sélectionner une configuration", + "Open a folder first to select a configuration provider.": "Commencer par ouvrir un dossier pour sélectionner un fournisseur de configuration", + "Open a folder first to edit configurations": "Commencer par ouvrir un dossier pour modifier des configurations", + "The code analysis fix could not be applied because the document has changed.": "Impossible d’appliquer le correctif d’analyse du code, car le document a changé.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "Une version préliminaire de l’extension C/C++ est disponible. Voulez-vous basculer vers celui-ci ?", + "Copilot summary is not available.": "Le résumé de Copilot n’est pas disponible.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Le fichier contenant la définition ou la déclaration de ce symbole a été exclu de l’utilisation avec Copilot.", + "Copilot summary is not available for this symbol.": "Le résumé Copilot n’est pas disponible pour ce symbole.", + "An error occurred while generating Copilot summary.": "Une erreur s’est produite lors de la génération du résumé Copilot.", + "Duplicate multiline comment patterns detected.": "Modèles de commentaire multiligne dupliqués détectés.", + "Error while retrieving the project context. Reason: {0}": "Erreur lors de la récupération du contexte du projet. Raison : {0}", + "Error while retrieving the #cpp context.": "Erreur lors de la récupération du contexte de #cpp.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Rechercher toutes les références", + "Peek References": "Références d'aperçu", + "Rename": "Renommer", + "Call Hierarchy": "Hiérarchie des appels", + "CONFIRMED REFERENCE": "RÉFÉRENCE CONFIRMÉE", + "CONFIRMATION IN PROGRESS": "CONFIRMATION EN COURS", + "COMMENT REFERENCE": "RÉFÉRENCE DE COMMENTAIRE", + "STRING REFERENCE": "RÉFÉRENCE DE CHAÎNE", + "INACTIVE REFERENCE": "RÉFÉRENCE INACTIVE", + "CANNOT CONFIRM REFERENCE": "IMPOSSIBLE DE CONFIRMER LA RÉFÉRENCE", + "NOT A REFERENCE": "N'EST PAS UNE RÉFÉRENCE", + "Confirmed reference": "Référence confirmée", + "Confirmation in progress": "Confirmation en cours", + "Comment reference": "Référence de commentaire", + "String reference": "Référence de chaîne", + "Inactive reference": "Référence inactive", + "Cannot confirm reference": "Impossible de confirmer la référence", + "Not a reference": "N'est pas une référence", + "CONFIRMATION CANCELED": "CONFIRMATION ANNULÉE", + "Confirmation canceled": "Confirmation annulée", + "To preview results, click the search icon in the status bar.": "Pour afficher un aperçu des résultats, cliquez dans la barre d'état sur l'icône Rechercher.", + "Started.": "Démarré.", + "Processing source.": "Traitement de la source.", + "Searching files.": "Recherche dans les fichiers.", + "{0}/{1} files searched.{2}": "{0}/{1} fichiers recherchés.{2}", + "{0}/{1} files confirmed.{2}": "{0}/{1} fichiers confirmés.{2}", + "C/C++ Peek References": "Références d'aperçu C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Avertissement] Des références sont peut-être manquantes, car l'analyse d'espace de travail était incomplète au démarrage de {0}.", + "Go to reference": "Atteindre la référence", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Le formatage du code utilise les paramètres de .editorconfig au lieu de .clang-format. Pour plus d'informations, consultez la documentation pour la valeur 'default' du paramètre 'C_Cpp.formatting'.", + "C/C++ Configurations": "Configurations C/C++", + "IntelliSense: Updating": "IntelliSense : mise à jour", + "IntelliSense: Ready": "IntelliSense : prêt", + "Initializing Workspace": "Initialisation de l’espace de travail", + "Indexing Workspace": "Indexation de l’espace de travail", + "Parsing Workspace": "Analyse de l’espace de travail", + "Parsing Workspace: Paused": "Analyse de l’espace de travail : suspendu", + "Parsing Complete": "Analyse terminée", + "Rescan Workspace": "Réanalyser l'espace de travail", + "Parsing Open Files": "Analyse des fichiers ouverts", + "Code Analysis: Running": "Analyse de code : en cours d’exécution", + "Code Analysis: Paused": "Analyse de code : suspendu", + "Code Analysis Mode: ": "Mode Analyse de code : ", + "click to preview results": "cliquez pour voir un aperçu des résultats", + "Configure IntelliSense": "Configurer IntelliSense", + "C/C++ IntelliSense Status": "État IntelliSense C/C++", + "Rescan": "Relancer l'analyse", + "Rescan IntelliSense": "Relancer l'analyse IntelliSense", + "C/C++ Tag Parser Status": "État de l’analyseur de balises C/C++", + "Initializing...": "Initialisation en cours...", + "Resume": "Reprendre", + "Pause": "Suspendre", + "C/C++ Code Analysis Status": "État de l’analyse de code C/C++", + "Run Now": "Exécuter maintenant", + "Automatic": "Automatique", + "Manual": "Manuel", + "Options": "Options", + "Starting...": "Démarrage en cours...", + "Running: {0} / {1} ({2}%)": "En cours d’exécution : {0}/{1} ({2} %)", + "Select a code analysis command...": "Sélectionner une commande d’analyse du code...", + "Start Another...": "Démarrer une autre...", + "Select a command...": "Sélectionner une commande...", + "Run Code Analysis on Active File": "Exécuter l’analyse de code sur le fichier actif", + "Run Code Analysis on All Files": "Exécuter une analyse de code sur Tous les fichiers", + "Run Code Analysis on Open Files": "Exécuter une analyse de code sur Ouvrir les fichiers", + "C/C++ References Status": "État des références C/C++", + "C/C++ Configuration": "Configuration C/C++", + "C/C++ Configure IntelliSense": "Configuration d’IntelliSense en C/C++", + "Select a Configuration...": "Sélectionner une configuration...", + "Edit Configurations (UI)": "Modifier les configurations (IU)", + "Edit Configurations (JSON)": "Modifier les configurations (JSON)", + "Select a Configuration Provider...": "Sélectionner un fournisseur de configuration...", + "active": "active", + "none": "aucun", + "Disable the active configuration provider, if applicable.": "Désactivez le fournisseur de configuration actif, le cas échéant.", + "Select a workspace folder...": "Sélectionner un dossier d'espace de travail...", + "Failed to connect to {0}": "Échec de la connexion à {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "Impossible de spécifier « localSocket » en même temps avec « bindAddress » ou « port » dans localForwards", + "\"port\" or \"localSocket\" required in localForwards": "« port » ou « localSocket » requis dans localForwards", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "Impossible de spécifier « remoteSocket » en même temps que « host » ou « hostPort » dans localForwards", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "« host » et « hostPort » ou « remoteSocket » requis dans localForwards", + "SSH command canceled": "Commande SSH annulée", + "Enter passphrase for ssh key {0}": "Entrer la phrase secrète pour la clé SSH {0}", + "Enter password for user \"{0}\"": "Entrez le mot de passe de l’utilisateur «{0}»", + "Enter password": "Entrez le mot de passe", + "Are you sure you want to continue?": "Êtes-vous sûr de vouloir continuer ?", + "\"{0}\" has fingerprint \"{1}\".": "« {0} » a une empreinte digitale « {1} ».", + "Continue": "Continuer", + "\"{0}\" terminal command canceled.": "Commande de terminal «{0}» annulée.", + "\"{0}\" terminal command done.": "\"{0}\" commande de terminal terminée.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "La tâche '{0}' est annulée, mais la commande sous-jacente ne peut pas être arrêtée. Vérifiez manuellement.", + "\"{0}\" process failed: {1}": "Échec du processus «{0}» : {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "«{0}» a écrit des données sur le terminal : «{1}» .", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Désolé... Nous n’avons pas pu trouver les informations utilisateur pour SSH. Cela peut être dû à l’installation en cours de VS Code en utilisant « snap ». Veuillez réinstaller VS Code en utilisant le package « deb » si vous prévoyez d’utiliser les fonctionnalités SSH.", + "Failed to parse SSH configuration file {0}: {1}": "Échec de l’analyse du fichier de configuration SSH {0}: {1}", + "Failed to read file {0}.": "Nous n’avons pas pu lire le fichier {0}.", + "Failed to write to file {0}.": "Impossible d'écrire dans le fichier {0}.", + "Inline macro is not available at this location.": "La macro incluse n’est pas disponible à cet emplacement.", + "AI-generated content may be incorrect.": "Il est possible que le contenu généré par IA soit incorrect.", + "Invalid identifier provided for the Rename Symbol operation.": "Identificateur non valide fourni pour l'opération Renommer le symbole.", + "A definition for the selected symbol could not be located.": "La définition du symbole sélectionné est introuvable.", + "No SSH targets": "Aucune cible SSH", + "Active SSH target selection cancelled.": "La sélection de la cible SSH active a été annulée.", + "{0} Add New SSH Target...": "{0} Ajouter un nouvel hôte SSH...", + "Select an SSH target": "Sélectionner une cible SSH", + "[Active]": "[Active]" +} diff --git a/Extension/i18n/ita/bundle.l10n.json b/Extension/i18n/ita/bundle.l10n.json new file mode 100644 index 000000000..ca60decb1 --- /dev/null +++ b/Extension/i18n/ita/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Non è stato possibile analizzare il file JSON probabilmente a causa di commenti o virgole finali.", + "The C/C++ extension is still installing. See the output window for more information.": "L'estensione C/C++ è ancora in fase di installazione. Per altre informazioni, vedere la finestra di output.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Vedere {0} per informazioni sulla risoluzione dei problemi. È possibile creare problemi in {1}", + "Process exited with code {0}": "Processo terminato con codice {0}", + "Process executed successfully.": "Il processo è stato eseguito correttamente.", + "Killing process {0}": "Arresto del processo {0}", + "Warning: Expected file {0} is missing.": "Avviso: manca il file previsto {0}.", + "Warning: Debugging has not been tested for this platform.": "Avviso: il debug non è stato testato per questa piattaforma.", + "Reload the workspace for the settings change to take effect.": "Ricaricare l'area di lavoro per rendere effettive le modifiche apportate alle impostazioni.", + "Reload": "Ricarica", + "Custom configuration provider '{0}' registered": "Il provider di configurazione personalizzato '{0}' è stato registrato", + "Reached max string expansion recursion. Possible circular reference.": "Ha raggiunto la ricorsione di espansione massima delle stringhe. Possibile riferimento circolare.", + "Invalid variable reference {0} in string: {1}.": "Riferimento a variabile {0} non valido nella stringa: {1}.", + "Environment variable {0} not found": "La variabile di ambiente {0} non è stata trovata", + "Commands are not supported for string: {0}.": "I comandi non sono supportati per la stringa: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Si è verificata un'eccezione durante l'esecuzione del comando {0} per la stringa: {1} {2}.", + "C/C++ Diagnostics": "Diagnostica C/C++", + "C/C++ Crash Call Stacks": "Stack di chiamate di arresto anomalo del sistema in C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Un processo di estensione C/C++ si è arrestato in modo anomalo. Il nome del processo di arresto anomalo, la data/ora, il segnale e lo stack delle chiamate sono riportati di seguito. Sarebbe utile includerli in un report sui bug in {0}.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "Protocollo di debug C/C++", + "C/C++ Configuration Warnings": "Avvisi di configurazione C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Le versioni dell'estensione C/C++ più recenti di {0} richiedono almeno la versione di macOS {1}.", + "intelliSenseEngine is disabled": "intelliSenseEngine è disabilitato", + "More Info": "Altre informazioni", + "Ignore": "Ignora", + "The C/C++ extension installed does not match your system.": "L'estensione C/C++ installata non corrisponde al sistema.", + "The C/C++ extension installed is compatible with but does not match your system.": "L'estensione C/C++ installata è compatibile con il sistema, ma non corrisponde allo stesso.", + "Searching include path...": "Ricerca nel percorso di inclusione...", + "Include file not found in browse.path.": "Il file di inclusione non è stato trovato in browse.path.", + "Edit \"browse.path\" setting": "Modifica l'impostazione \"browse.path\"", + "Add to \"includePath\": {0}": "Aggiungi a \"includePath\": {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Aggiungi '{0}'", + "Edit \"includePath\" setting": "Modifica l'impostazione \"includePath\"", + "Disable error squiggles": "Disabilita i segni di revisione per gli errori", + "Enable all error squiggles": "Abilita i segni di revisione per gli errori", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "Sono stati rilevati errori #include. Aggiornare includePath. I segni di revisione sono disabilitati per questa unità di conversione ({0}).", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Sono stati rilevati errori #include. Aggiornare includePath. Le funzionalità IntelliSense per questa unità di conversione ({0}) verranno fornite dal parser di tag.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Sono stati rilevati errori #include. Provare ad aggiornare il file compile_commands.json o includePath. Le funzionalità IntelliSense per questa unità di conversione ({0}) verranno fornite dal parser di tag.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Non è stato possibile analizzare \"{0}\". In alternativa, verrà usato 'includePath' del file c_cpp_properties.json nella cartella '{1}'.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Non è stato possibile trovare \"{0}\". In alternativa, verrà usato 'includePath' del file c_cpp_properties.json nella cartella '{1}'.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{0}\" non è stato trovato in \"{1}\". In alternativa per questo file verrà usato 'includePath' del file c_cpp_properties.json nella cartella '{2}'.", + "The IntelliSense database was successfully reset.": "Il database IntelliSense è stato reimpostato.", + "Failed to send response to client: {0}": "Non è stato possibile inviare la risposta al client: {0}", + "Failed to read response from server: {0}": "Non è stato possibile leggere la risposta dal server: {0}", + "Failed to send request to server: {0}": "Non è stato possibile inviare la richiesta al server: {0}", + "Unexpected error while waiting for requests: {0}": "Si è verificato un errore imprevisto in attesa delle richieste: {0}", + "{0} errored with: {1}": "{0} in errore con: {1}", + "Failed to open the file {0}": "Non è stato possibile aprire il file {0}", + "Failed to query default include paths and defines for {0}.": "Non è stato possibile eseguire una query su direttive define e percorsi di inclusione predefiniti per {0}.", + "Failed calling {0}": "Non è stato possibile chiamare {0}", + "Quick info operation failed: {0}": "L'operazione relativa alle informazioni rapide non è riuscita: {0}", + "Failed to create IntelliSense client: {0}": "Non è stato possibile creare il client IntelliSense: {0}", + "Failed to spawn IntelliSense process: {0}": "Non è stato possibile generare il processo IntelliSense: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Si è verificato un errore durante la chiamata di browse_engine_update_thread.join(): {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Questo file ({0}) è già aperto nell'editor ma con una diversa combinazione maiuscole/minuscole. Le funzionalità IntelliSense verranno disabilitate in questa copia del file.", + "IntelliSense client has disconnected from the server - {0}": "Il client IntelliSense è stato disconnesso dal server - {0}", + "Formatting failed:": "Formattazione non riuscita:", + "Unable to add file to database, error = {0}: {1}": "Non è possibile aggiungere il file al database. Errore = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Non è stato possibile reimpostare il timestamp durante l'interruzione. Errore = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Non è possibile aggiornare il timestamp. Errore = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Non è possibile finalizzare gli aggiornamenti per il file. Errore = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} non è una directory (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "Non è possibile recuperare le informazioni del file system per {0}. Errore = {1}", + "{0} is not a directory": "{0} non è una directory", + "File discovery was aborted": "L'individuazione dei file è stata interrotta", + "Aborting tag parse of {0} and dependencies": "Interruzione dell'analisi dei tag di {0} e delle dipendenze", + "Aborting tag parse at root": "Interruzione dell'analisi dei tag in corrispondenza della radice", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Non è possibile recuperare i record del database per reimpostare i timestamp. Errore = {0}", + "Failed to reset timestamp for {0}: error = {1}": "Non è stato possibile reimpostare il timestamp per {0}. Errore = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Non sono stati trovati compilatore appropriati. Impostare \"compilerPath\" in c_cpp_properties.json.", + "Compiler include path not found: {0}": "Il percorso di inclusione del compilatore non è stato trovato: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "Il motore IntelliSense non risponde. Verrà usato il parser di tag.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Il parser di tag verrà usato per le operazioni IntelliSense in: {0}", + "Error squiggles will be disabled in: {0}": "I segni di revisione per gli errori verranno disabilitati in: {0}", + "Processing folder (non-recursive): {0}": "Elaborazione della cartella (non ricorsiva): {0}", + "Processing folder (recursive): {0}": "Elaborazione della cartella (ricorsiva): {0}", + "File exclude: {0}": "Esclusione file: {0}", + "Search exclude: {0}": "Esclusione ricerca: {0}", + "Discovering files: {0} file(s) processed": "Individuazione dei file: {0} file elaborato/i", + "{0} file(s) removed from database": "{0} file rimosso/i dal database", + "Parsing: {0} files(s) processed": "Analisi: {0} file elaborato/i", + "Shutting down IntelliSense server: {0}": "Arresto del server IntelliSense: {0}", + "Resetting IntelliSense server: {0}": "Reimpostazione del server IntelliSense: {0}", + "Code browsing service initialized": "Servizio di esplorazione del codice inizializzato", + "Folder: {0} will be indexed": "La cartella {0} verrà indicizzata", + "Populate include completion cache.": "Popolare la cache di completamento di inclusione.", + "Discovering files...": "Individuazione dei file...", + "Done discovering files.": "L'individuazione dei file è stata completata.", + "Parsing open files...": "Analisi dei file aperti...", + "Done parsing open files.": "L'analisi dei file aperti è stata completata.", + "Parsing remaining files...": "Analisi dei file rimanenti...", + "Done parsing remaining files.": "L'analisi dei file rimanenti è stata completata.", + "Using configuration: \"{0}\"": "Uso della configurazione: \"{0}\"", + "{0} include path suggestion(s) discovered.": "Sono stati individuati {0} suggerimenti del percorso di inclusione.", + "Checking for syntax errors: {0}": "Verifica della presenza di errori di sintassi: {0}", + "IntelliSense Engine = {0}.": "Motore IntelliSense = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "L'estensione userà il parser di tag per IntelliSense quando la direttiva #includes non viene risolta.", + "Autocomplete is enabled.": "Il completamento automatico è abilitato.", + "Autocomplete is disabled.": "Il completamento automatico è disabilitato.", + "Hover is enabled.": "Passaggio del mouse abilitato.", + "Hover is disabled.": "Passaggio del mouse disabilitato.", + "Enhanced Colorization is enabled.": "La colorazione avanzata è abilitata.", + "Error squiggles are disabled.": "I segni di revisione per gli errori sono disabilitati.", + "Error squiggles are enabled.": "I segni di revisione per gli errori sono abilitati.", + "Error squiggles are enabled if all header dependencies are resolved.": "I segni di revisione per gli errori sono abilitati se vengono risolte tutte le dipendenze dell'intestazione.", + "Replaced placeholder file record": "Record del file segnaposto sostituito", + "tag parsing file: {0}": "analisi dei tag del file: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "errore di analisi dei tag (questa operazione può essere ignorata a meno che non vengano trovati simboli):", + "Reset time stamp for {0}": "Reimposta il timestamp per {0}", + "Failed to remove file: {0}": "Non è stato possibile rimuovere il file {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Errore di analisi regex. Criterio vscode: {0}. Regex: {1}. Messaggio di errore: {2}", + "terminating child process: {0}": "terminazione del processo figlio: {0}", + "still alive, killing...": "ancora attivo. Verrà terminato...", + "giving up": "rinuncia", + "not exited yet. Will sleep for {0} milliseconds and try again.": "non ancora terminato. Verrà sospeso per {0} millisecondi prima di riprovare.", + "Failed to spawn process. Error: {0} ({1})": "Non è stato possibile generare il processo. Errore: {0} ({1})", + "Offering completion": "Offerta di completamento", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Tentativo di recuperare le impostazioni predefinite dal compilatore trovato nel computer: '{0}'", + "Unable to resolve include path: {0}": "Non è possibile risolvere il percorso di inclusione: {0}", + "Error searching for IntelliSense client: {0}": "Si è verificato un errore durante la ricerca del client IntelliSense: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "Il client IntelliSense non è disponibile. Verrà usato il parser di tag per accedere alle informazioni rapide.", + "using Tag Parser for quick info": "utilizzo del parser di tag per accedere alle informazioni rapide", + "Closing the communication channel.": "Chiusura del canale di comunicazione.", + "sending compilation args for {0}": "invio degli argomenti di compilazione per {0}", + "include: {0}": "inclusione: {0}", + "framework: {0}": "framework: {0}", + "define: {0}": "definizione: {0}", + "preinclude: {0}": "preinclusione: {0}", + "other: {0}": "altro: {0}", + "sending {0} changes to server": "invio di {0} modifiche al server", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "L'istanza di file aperta non è valida. Il messaggio IntelliSense per il file {0} verrà ignorato.", + "idle loop: reparsing the active document": "ciclo inattivo: rianalisi del documento attivo", + "IntelliSense client is currently disconnected": "Il client IntelliSense è attualmente disconnesso", + "Request canceled: {0}": "Richiesta annullata: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "Il client IntelliSense non è disponibile. Verrà usato il parser di tag per passare alla definizione.", + "Error squiggle count: {0}": "Errore nel conteggio dei segni di revisione per gli errori: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Accodamento dell'aggiornamento IntelliSense per i file nell'unità di conversione di {0}", + "Formatting document: {0}": "Formattazione del documento: {0}", + "Formatting input:": "Formattazione dell'input:", + "Formatting raw output:": "Formattazione dell'output non elaborato:", + "Formatting diffed output before cursor:": "Formattazione dell'output con indicazione delle differenze prima del cursore:", + "Formatting diffed output after cursor:": "Formattazione dell'output con indicazione delle differenze dopo il cursore:", + "Formatting diffed output:": "Formattazione dell'output con indicazione delle differenze:", + "Disable inactive region colorization": "Disabilita la colorazione delle aree inattive", + "Error limit exceeded, {0} error(s) not reported.": "È stato superato il limite di errori. {0} errore/i non è/sono stato/i segnalato/i.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "Sono stati rilevati errori #include. Provare ad aggiornare il file compile_commands.json o includePath. I segni di revisione sono disabilitati per questa unità di conversione ({0}).", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "Non è stato possibile reimpostare il database IntelliSense. Per reimpostare manualmente, chiudere tutte le istanze di VS Code, quindi eliminare questo file: {0}", + "Formatting failed. See the output window for details.": "Formattazione non riuscita. Per informazioni dettagliate, vedere la finestra di output.", + "Populating include completion cache.": "Popolamento della cache di completamento di inclusione.", + "Discovering files: {0}": "Individuazione dei file: {0}", + "Parsing open files": "Analisi dei file aperti", + "Tag parser initializing": "Inizializzazione del parser di tag", + "Workspace parsing paused": "Analisi dell'area di lavoro sospesa", + "Parsing workspace files: {0}": "Analisi dei file dell'area di lavoro: {0}", + "Discovering files: {0} / {1} ({2}%)": "Individuazione dei file: {0} / {1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "Analisi dei file dell'area di lavoro: {0} / {1} ({2}%)", + "Can't find or run process_name": "Non è possibile trovare o eseguire process_name", + "Child exec failed {0}": "L'esecuzione del processo figlio non è riuscita: {0}", + "Could not communicate with child process!": "Non è stato possibile comunicare con il processo figlio.", + "{0} failed": "{0} non riuscita/e", + "Failed to set {0} flag": "Non è stato possibile impostare il flag {0}", + "Unable to create {0}!": "Non è possibile creare {0}.", + "Failed to set stdin {0} flag": "Non è stato possibile impostare il flag {0} di stdin", + "Failed to set stdout {0} flag": "Non è stato possibile impostare il flag {0} di stdout", + "Failed to set stderr {0} flag": "Non è stato possibile impostare il flag {0} di stderr", + "Unable to start child process!": "Non è possibile avviare il processo figlio.", + "Timed out attempting to communicate with process!": "Timeout raggiunto durante il tentativo di comunicare con il processo.", + "Process has failed to run": "L'esecuzione del processo non è riuscita", + "Specified compiler was not found: {0}": "Il compilatore specificato non è stato trovato: {0}", + "Config data invalid, {0}": "I dati di configurazione non sono validi: {0}", + "CMake executable not found at {0}": "L'eseguibile di CMake non è stato trovato in {0}", + "No args provider": "Provider di argomenti non presente", + "Invalid file path {0}": "Il percorso file {0} non è valido", + "Can't create IntelliSense client for {0}": "Non è possibile creare il client IntelliSense per {0}", + "declaration": "dichiarazione", + "type alias": "alias di tipo", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Il compilatore non supporta la modalità a 64 bit. Verrà eseguito il fallback a intelliSenseMode a 32 bit.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Il compilatore non supporta la modalità a 32 bit. Verrà eseguito il fallback a intelliSenseMode a 64 bit.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Non è stato possibile eseguire una query sul compilatore. Verrà eseguito il fallback a intelliSenseMode a 32 bit.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Non è stato possibile eseguire una query sul compilatore. Verrà eseguito il fallback a intelliSenseMode a 64 bit.", + "Failed to query compiler. Falling back to no bitness.": "Non è stato possibile eseguire una query sul compilatore. Verrà eseguito il fallback alla modalità senza numero di bit.", + "IntelliSense client creation aborted: {0}": "La creazione del client IntelliSense è stata interrotta: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Sono stati rilevati errori #include sulla base delle informazioni fornite dall'impostazione configurationProvider. Le funzionalità IntelliSense per questa unità di conversione ({0}) verranno fornite dal parser di tag.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Sono stati rilevati errori #include sulla base delle informazioni fornite dall'impostazione configurationProvider. I segni di revisione sono disabilitati per questa unità di conversione ({0}).", + "preprocessor keyword/Refers to C/C++ processor keywords": "parola chiave del preprocessore", + "C keyword": "parola chiave C", + "C++ keyword": "parola chiave C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+ 1 overload", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "+ %d overload", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+ 1 specializzazione", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "+ %d specializzazioni", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Nota: IntelliSense non è completamente configurato. Usare il comando 'Seleziona configurazione IntelliSense' per completare la configurazione.", + "Select an IntelliSense configuration to locate system headers": "Selezionare una configurazione IntelliSense per individuare le intestazioni di sistema", + "Expands to:": "Si espande in:", + "Attention:": "Attenzione:", + "Author:": "Autore:", + "Authors:": "Autori:", + "Bug:": "Bug:", + "Copyright:": "Copyright:", + "Deprecated:": "Deprecato:", + "Date:": "Data:", + "Details:": "Dettagli:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Eccezioni:", + "Invariant:": "Invariabile:", + "File:": "File:", + "Note:": "Nota:", + "Parameters:": "Parametri:", + "Precondition:": "Condizione preliminare:", + "Postcondition:": "Postcondizione:", + "Remark:": "Osservazione:", + "Remarks:": "Note:", + "Result:": "Risultati:", + "Return:": "Restituisci:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Restituisce:", + "See also:": "Vedere anche:", + "Since:": "Da:", + "Template Parameters:": "Parametri del modello:", + "Test:": "Test:", + "TODO:": "TODO:", + "Version:": "Versione:", + "Warning:": "Avviso:", + "Compiler query command line: {0}": "Riga di comando della query del compilatore: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Tentativo di recuperare le impostazioni predefinite dal compilatore C nella proprietà \"compilerPath\": '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Tentativo di recuperare le impostazioni predefinite dal compilatore C++ nella proprietà \"compilerPath\": '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Tentativo di recuperare le impostazioni predefinite dal compilatore C nel file compile_commands.json: '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Tentativo di recuperare le impostazioni predefinite dal compilatore C++ nel file compile_commands.json: '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Per i file di origine C, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Per i file di origine C++, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\".", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Per il file di origine C, il valore di cStandard è stato modificato da \"{0}\" a \"{1}\".", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Per il file di origine C++, il valore di cppStandard è stato modificato da \"{0}\" a \"{1}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Per i file di origine C, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\" e quello di cStandard è stato modificato da \"{2}\" a \"{3}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Per i file di origine C++, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\" e quello di cppStandard è stato modificato da \"{2}\" a \"{3}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Per i file di origine C, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\" in base agli argomenti del compilatore e all'esecuzione di query su compilerPath: \"{2}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Per i file di origine C++, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\" in base agli argomenti del compilatore e all'esecuzione di query su compilerPath: \"{2}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Per i file di origine C, il valore di cStandard è stato modificato da \"{0}\" a \"{1}\" in base agli argomenti del compilatore e all'esecuzione di query su compilerPath: \"{2}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Per i file di origine C++, il valore di cppStandard è stato modificato da \"{0}\" a \"{1}\" in base agli argomenti del compilatore e all'esecuzione di query su compilerPath: \"{2}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Per i file di origine C, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\" e quello di cStandard è stato modificato da \"{2}\" a \"{3}\" in base agli argomenti del compilatore e all'esecuzione di query su compilerPath: \"{4}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Per i file di origine C++, il valore di IntelliSenseMode è stato modificato da \"{0}\" a \"{1}\" e quello di cppStandard è stato modificato da \"{2}\" a \"{3}\" in base agli argomenti del compilatore e all'esecuzione di query su compilerPath: \"{4}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Non è possibile risolvere la configurazione con compilerPath \"{0}\". In alternativa, verrà usato \"{1}\".", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Non è possibile risolvere la configurazione con compilerPath: \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "La query del compilatore verrà ignorata perché compilerPath è esplicitamente vuoto", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "È stato specificato intelliSenseMode MSVC. Verrà eseguita la configurazione per il compilatore cl.exe.", + "Unable to configure for compiler cl.exe.": "Non è possibile eseguire la configurazione per il compilatore cl.exe.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Esecuzione di query sulla destinazione predefinita del compilatore con la riga di comando: \"{0}\" {1}", + "Compiler returned default target value: {0}": "Il compilatore ha restituito il valore target predefinito: {0}", + "Querying compiler for default C language standard using command line: {0}": "Esecuzione di query sul compilatore per lo standard del linguaggio C predefinito con la riga di comando: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Esecuzione di query sul compilatore per lo standard del linguaggio C++ predefinito con la riga di comando: {0}", + "Detected language standard version: {0}": "Versione standard del linguaggio rilevata: {0}", + "Unhandled default compiler target value detected: {0}": "È stato rilevato un valore di destinazione del compilatore predefinito non gestito: {0}", + "Unhandled target argument value detected: {0}": "È stato rilevato un valore dell'argomento di destinazione non gestito: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Il server IntelliSense verrà arrestato: {0}. La memoria utilizzata è {1} MB e ha superato il limite di {2} MB.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Non è stato possibile eseguire una query sul compilatore nel percorso \"{0}\" per le versioni standard predefinite. L'esecuzione di query del compilatore è disabilitata per questo compilatore.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "La query del compilatore ha restituito una versione standard del linguaggio non riconosciuta. In alternativa, verrà usata la versione più recente supportata.", + "IntelliSense process crash detected.": "È stato rilevato un arresto anomalo del processo IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "È stato rilevato un arresto anomalo del processo IntelliSense: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Valori restituiti:", + "Unable to locate nvcc compiler: {0}": "Non è possibile individuare il compilatore nvcc: {0}", + "Unable to locate nvcc host compiler: {0}": "Non è possibile individuare il compilatore host nvcc: {0}", + "Invoking nvcc with command line: {0}": "Chiamata di nvcc con la riga di comando: {0}", + "Unable to find host compile command in output of nvcc.": "Non è possibile trovare il comando di compilazione host nell'output di nvcc.", + "Unable to locate forced include: {0}": "Non è possibile individuare la direttiva include forzata: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Macro inline", + "Unable to access browse database. ({0})": "Impossibile accedere al database di esplorazione. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode è stato modificato perché non corrisponde al compilatore rilevato. Provare a impostare \"compilerPath\". Impostare \"compilerPath\" su \"\" per disabilitare il rilevamento delle inclusioni e delle definizioni del sistema.", + "Remove all code analysis problems": "Rimuovere tutti i problemi analisi codice", + "(Multiple locations)": "(Più località)", + "Folder": "Cartella", + "File": "File", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Il compilatore ha restituito la versione standard del linguaggio predefinito: {0}. Poiché questa versione è obsoleta, verrà eseguito un tentativo di utilizzare la versione più recente {1} come predefinita.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Output imprevisto da clang-tidy: {0}. Previsto: {1}.", + "Generate Doxygen comment": "Generare commento Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Creare una dichiarazione di '{0}' in {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Creare la definizione di '{0}' in {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "La definizione della funzione per '{0}' non è stata trovata.", + "Attributes/'Attributes' is a C++ specifier.": "Attributi", + "Bases/'Bases' are a C++ class type.": "Basi", + "Classes": "Classi", + "CoClasses": "CoClasses", + "Delegates": "Delegati", + "Enums": "Enumerazioni", + "Events": "Eventi", + "Functions": "Funzioni", + "Import directives": "Direttive import", + "ImportLib statements": "Istruzioni ImportLib", + "Import statements": "Istruzioni import", + "Include directives": "Direttive include", + "Interfaces": "Interfacce", + "Libraries": "Librerie", + "Macros": "Macro", + "Maps": "Mappe", + "Map entries": "Voci mapping", + "Miscellaneous": "Varie", + "Namespaces": "Spazi dei nomi", + "Parameters": "Parametri", + "Properties": "Proprietà", + "Structs": "Struct", + "TODO: insert return statement here": "TODO: inserire l'istruzione return qui", + "Typedefs": "Typedef", + "Unions": "Unioni", + "Using aliases": "Using Alias", + "Using directives": "Direttive using", + "Variables": "Variabili", + "Automatic add function": "Aggiungi funzione automaticamente", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual è ridondante e non deve essere specificato in concomitanza con vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod non può essere static.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "File C/C++ non valido: '%s'.", + "File name too long: '%s'./%s is the file that has a long name.": "Nome del file troppo lungo: '%s'.", + "Cannot create file '%s'./%s is the file that could not be created.": "Impossibile creare il file '%s'.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "Impossibile accedere alla directory o al file '%s' per la scrittura.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Percorso file non valido:'%s'.", + "File '%s' was not found./%s is the file that was not found.": "Impossibile trovare il file \"%s\".", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "La creazione della dichiarazione/definizione non è stata completata: %", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Impossibile creare la funzione '%s'. La creazione di funzioni eliminate o predefinite non è supportata.", + "Unable to create function '%s'./%s is the function that could not be created.": "Non è possibile creare la funzione '%s'.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Non è possibile trovare una posizione non ambigua per la funzione '%s'.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Non è stato possibile trovare la classe o lo spazio dei nomi '%s'.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "L'operazione non è supportata per '%s'.", + "Unknown error.": "Errore sconosciuto.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Eseguire il comando 'Seleziona configurazione IntelliSense' per individuare le intestazioni di sistema.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Copia dichiarazione di '{0}'", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Copia definizione di '{0}'", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Copia della dichiarazione/definizione negli Appunti non riuscita: %s", + "Extract to function": "Estrai in funzione", + "Extract to free function": "Estrai in funzione libera", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Estrai nella funzione membro in '{0}'", + "The selected text is not inside a function.": "Il testo selezionato non si trova all'interno di una funzione.", + "The selected text cannot span different functions.": "Il testo selezionato non può estendersi in diversi funzioni.", + "Variable '%s' is declared in the selected region and then used below it.": "La variabile '%s' è dichiarata nell'area selezionata e viene usata sotto di essa.", + "Preprocessor macro '%s' is used below the selected region.": "La macro del preprocessore '%s' viene usata sotto l'area selezionata.", + "The selected region spans an inactive preprocessor block.": "L'area selezionata occupa un blocco del preprocessore non attivo.", + "The selected region does not contain any code that can be extracted.": "L'area selezionata non contiene codice che può essere estratto.", + "The selected region is not entirely within the function's body.": "L'area selezionata non si trova interamente nel corpo della funzione.", + "The selection contains IntelliSense errors.": "La selezione contiene errori di IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "'%s' non è dichiarato nel codice selezionato, ma verrà modificato. Il codice C non consente di passare argomenti per riferimento.", + "The function would have to return a value by reference. C code cannot return references.": "La funzione deve restituire un valore per riferimento. Il codice C non è in grado di restituire riferimenti.", + "Jumps between the selected code and the surrounding code are present.": "Sono presenti collegamenti tra il codice selezionato e quello circostante.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "Nel codice selezionato alcuni percorsi di controllo terminano senza impostare il valore restituito. Questo comportamento è supportato solo per tipi restituiti scalari, numerici e puntatore.", + "Expand selection (to enable 'Extract to function')": "Espandi selezione (per abilitare 'Estrai in funzione')", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "\"{0}\" non è stato trovato nei file compile_commands.json. In alternativa per questo file verrà usato ''includePath'' del file c_cpp_properties.json nella cartella ''{1}''.", + "Generate Copilot summary": "Genera riepilogo Copilot", + "Unable to index files from non-existent folder: {0}": "Non è possibile indicizzare i file da una cartella non esistente: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "L'estensione C/C++ può essere utilizzata solo con Microsoft Visual Studio, Visual Studio per Mac, Visual Studio Code, Azure DevOps, Team Foundation Server e i successori dei prodotti e servizi Microsoft per sviluppare e testare le tue applicazioni.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Server di linguaggio Microsoft C++", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Sintassi: {0} [opzioni]", + "Options:": "Opzioni:", + "Show this help message and exit.": "Visualizza questo messaggio della Guida ed esce.", + "Show version information and exit.": "Visualizza le informazioni sulla versione ed esce.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Accettare definitivamente il Contratto di licenza con l'utente finale (EULA).", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "Non reindirizzare stderr a /dev/null (utile per il debug).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Avviare l'accesso interattivo (è necessaria la sottoscrizione a GitHub Copilot).", + "Force the login process, even if already authenticated.": "Forzare il processo di accesso, anche se l'autenticazione è già stata eseguita.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Consentire l'archiviazione delle credenziali in testo non crittografato se non è disponibile un keychain sicuro.", + "Specify the directory for log files (default: system temp directory).": "Specificare la directory per i file di lg (impostazione predefinita: directory temporanea di sistema).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Impostare il livello di dettaglio dei log da 0 (solo errori) a 9 (dettagliato).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Specificare il parametro come percorso assoluto o rispetto alla radice dell'area di lavoro o alla relativa cartella .github.", + "Disable sending telemetry data.": "Disabilitare l'invio dei dati di telemetria.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Per autenticarsi con GitHub, copiare il codice {0} e quindi visitare {1}. In attesa dell'autorizzazione...", + "Timed out waiting for authorization.": "Timeout durante l'attesa di autorizzazione.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Autenticazione con GitHub riuscita.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "L'autenticazione con GitHub è riuscita, ma non è stato possibile salvare i token.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Errore keyring: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "La raccolta keyring è bloccata. Sbloccarla o riavviare gnome-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Nessun servizio keyring disponibile. Installare e avviare gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "In alternativa, consentire l'archiviazione di testo non crittografato passando --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "Il codice del dispositivo è scaduto. Riprovare.", + "Authorization was denied by the user.": "Autorizzazione negata dall'utente.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Errore imprevisto durante il polling: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Accesso a GitHub non riuscito. Per eseguire l'accesso, provare a eseguire --login dalla riga di comando.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Per continuare, è necessario accettare il contratto di licenza con l'utente finale. Eseguire con --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Autenticazione con GitHub già eseguita. Usare --force-login per ripetere l'autenticazione.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Inizializzazione non riuscita: versione di configurazione non supportata. È supportata solo la versione 1.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Inizializzazione non riuscita: file di configurazione '{0}' non trovato.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inizializzazione non riuscita:non è possibile analizzare il file di configurazione '{0}'. Verificare il formato JSON. Errore: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Inizializzazione non riuscita: 'repositoryPath' non è configurato o non è valido.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Inizializzazione non riuscita: è necessario configurare 'compileCommands' o 'cppProperties'.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Inizializzazione non riuscita: non è possibile configurare sia 'compileCommands' sia 'cppProperties'.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Inizializzazione non riuscita: percorso di 'compileCommands' non trovato: '{0}'.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Inizializzazione non riuscita: percorso 'cppProperties' non trovato: '{0}'.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inizializzazione non riuscita: non è possibile analizzare il file specificato da 'cppProperties': '{0}'. Verificare il formato JSON. Errore: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Inizializzazione non riuscita: non è possibile leggere la configurazione dal file 'cppProperties': '{0}'. Verificare lo schema.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Inizializzazione non riuscita: '{0}' non contiene una matrice 'configurations' valida.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inizializzazione non riuscita: la configurazione '{0}' non è stata trovata nel file 'cppProperties': '{1}'.", + "Initialization failed: LSP config paths cache is missing.": "Inizializzazione non riuscita: manca la cache dei percorsi di configurazione LSP.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl non trovato ({0}). libcurl è necessario per l'autenticazione e la telemetria.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "Per impostazione predefinita libcurl dovrebbe essere disponibile in macOS. Se non è presente, installarlo con: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Installare libcurl: sudo apt install libcurl4 (Debian/Ubuntu) o sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl è stato scaricato ma mancano i simboli necessari. Ciò potrebbe indicare una versione di libcurl molto obsoleta o incompatibile. Il server di linguaggio non può funzionare senza una versione compatibile di libcurl.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 non trovato ({0}). libsecret è necessario per l'archiviazione sicura delle credenziali. Installare libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) o sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret è stato caricato, ma mancano i simboli necessari. Il server di linguaggio non può funzionare senza una versione compatibile di libsecret.", + "Failed to disable telemetry.": "Disabilitazione della telemetria non riuscita.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Metodo non trovato: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Non è possibile elaborare IntelliSense per un file con lo stesso percorso canonico di un file esistente. URI: {0}, percorso canonico: {1}", + "Initializing": "Inizializzazione", + "Initializing ({0} of {1})": "Inizializzazione ({0} di {1})", + "Initializing ({0} of {1}): {2}": "Inizializzazione ({0} di {1}): {2}", + "Initializing {0}": "Inizializzazione di {0}", + "Initializing projects": "Inizializzazione dei progetti", + "Initializing projects ({0} of {1})": "Inizializzazione dei progetti ({0} di {1})", + "Initializing projects ({0} of {1}): {2}": "Inizializzazione dei progetti ({0} di {1}): {2}", + "Initializing projects {0}": "Inizializzazione dei progetti {0}", + "Checking for out of date files": "Verifica della presenza di file non aggiornati", + "Checking for out of date files ({0} of {1})": "Verifica della presenza di file non aggiornati ({0} di {1})", + "Checking for out of date files ({0} of {1}): {2}": "Verifica della presenza di file non aggiornati ({0} di {1}): {2}", + "Checking for out of date files {0}": "Verifica della presenza di file non aggiornati {0}", + "Parsing files": "Analisi dei file", + "Parsing files ({0} of {1})": "Analisi dei file ({0} di {1})", + "Parsing files ({0} of {1}): {2}": "Analisi dei file ({0} di {1}): {2}", + "Parsing files {0}": "Analisi dei file {0}", + "Parsing included files": "Analisi dei file inclusi", + "Parsing included files ({0} of {1})": "Analisi dei file inclusi ({0} di {1})", + "Parsing included files ({0} of {1}): {2}": "Analisi dei file inclusi ({0} di {1}): {2}", + "Parsing included files {0}": "Analisi dei file inclusi {0}", + "Scanning #includes for more files": "Analisi di #includes per la verifica di altri file", + "Scanning #includes for more files ({0} of {1})": "Analisi di #includes per la verifica di altri file ({0} di {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Analisi di #includes per la verifica di altri file ({0} di {1}): {2}", + "Scanning #includes for more files {0} {1}": "Analisi di #includes per la verifica di altri file {0} {1}", + "Ready (Updating external dependencies)": "Abilitato (aggiornamento dipendenze esterne)", + "Ready (Updating external dependencies) ({0} of {1})": "Pronto (Aggiornamento delle dipendenze esterne) ({0} di {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Pronto (Aggiornamento delle dipendenze esterne) ({0} di {1}): {2}", + "Ready (Updating external dependencies) {0}": "Pronto (Aggiornamento delle dipendenze esterne) {0}", + "Ready (Optimizing database)": "Pronto (Ottimizzazione del database)", + "Ready (Optimizing database) ({0} of {1})": "Pronto (Ottimizzazione del database) ({0} di {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Pronto (Ottimizzazione del database) ({0} di {1}): {2}", + "Ready (Optimizing database) {0}": "Pronto (Ottimizzazione del database) {0}", + "Creating Indexes": "Creazione di indici", + "Creating Indexes ({0} of {1})": "Creazione degli indici ({0} di {1})", + "Creating Indexes ({0} of {1}): {2}": "Creazione degli indici ({0} di {1}): {2}", + "Creating Indexes {0}": "Creazione di indici {0}", + "Evaluating": "Valutazione", + "Evaluating ({0} of {1})": "Valutazione ({0} di {1})", + "Evaluating ({0} of {1}): {2}": "Valutazione ({0} di {1}): {2}", + "Evaluating {0}": "Valutazione di {0}", + "Indexing files": "Indicizzazione dei file", + "Indexing files ({0} of {1})": "Indicizzazione dei file ({0} di {1})", + "Indexing files ({0} of {1}): {2}": "Indicizzazione dei file ({0} di {1}): {2}", + "Indexing files {0}": "Indicizzazione dei file {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Consentire l'avvio del server anche se il file --lsp-config specificato non esiste.", + "Initialization failed during engine setup.": "Inizializzazione non riuscita durante la configurazione del motore.", + "Important:": "Importante:", + "Unknown OS platform": "Piattaforma del sistema operativo sconosciuta", + "Could not get ProductVersion from SystemVersion.plist": "Non è stato possibile ottenere ProductVersion da SystemVersion.plist", + "Failed to find SystemVersion.plist in {0}.": "Non è stato possibile trovare SystemVersion.plist in {0}.", + "Refresh process list": "Aggiorna l'elenco dei processi", + "Attach to process": "Collega a processo", + "Select the process to attach to": "Selezionare il processo a cui collegarsi", + "Process not selected.": "Processo non selezionato.", + "{0} in debug configuration requires {1} and {2}": "{0} nella configurazione di debug richiede {1} e {2}", + "Chosen debug configuration does not contain {0} or {1}": "La configurazione di debug scelta non contiene {0} o {1}", + "Pipe transport failed to get OS and processes.": "Il trasporto pipe non è riuscito a ottenere il sistema operativo e i processi.", + "Transport attach could not obtain processes list.": "Il collegamento del trasporto non è riuscito a ottenere l'elenco dei processi.", + "Failed to make GDB connection: \"{0}\".": "Non è stato possibile creare la connessione GDB: \"{0}\".", + "Failed to parse processes: \"{0}\".": "Non è stato possibile analizzare i processi: \"{0}\".", + "Default Configuration": "Configurazione predefinita", + "Select a configuration": "Seleziona una configurazione", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Il debugger di tipo '{0}' è disponibile solo in Windows. Usare il tipo '{1}' nella piattaforma corrente del sistema operativo.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "La chiave '{0}' è deprecata. In alternativa, usare '{1}'.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "Non è possibile trovare 'LLDB.framework' per lldb-mi. Installare Xcode o gli strumenti da riga di comando Xcode.", + "Launch configuration:": "Configurazione di avvio:", + "'deploySteps' require VS Code 1.69+.": "'deploySteps' richiede VS Code 1.69+.", + "Running deploy steps...": "Esecuzione dei passaggi di distribuzione in corso...", + "Unable to find {0}. {1} task is ignored.": "Impossibile trovare {0}. L'attività {1} viene ignorata.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Impossibile trovare il debugger {0}. La configurazione di debug per {1} viene ignorata.", + "build and debug active file": "compilare ed eseguire il debug del file attivo", + "Apply Developer Environment": "Applicare l'ambiente di sviluppo", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} richiede l'ambiente di sviluppo Visual Studio.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Aggiornare l'ambiente di sviluppo", + "Cancel": "Annulla", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Non è possibile compilare il codice sorgente perché non è stato applicato l'ambiente di sviluppo Visual Studio.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Non è possibile compilare il codice sorgente perché non è stato trovato il compilatore Visual C++.", + "Missing dependency '{0}' for lldb-mi executable.": "Manca la dipendenza '{0}' per l'eseguibile lldb-mi.", + "Searched in:": "Ricerca effettuata in:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Per risolvere questo problema, installare Xcode tramite Apple App Store oppure installare gli strumenti da riga di comando di Xcode eseguendo '{0}' in una finestra di terminale.", + "Failed to use {0}. Reason: {1}": "Non è stato possibile usare {0}. Motivo: {1}", + "Replacing {0} '{1}' with '{2}'.": "Sostituzione di {0} '{1}' con '{2}'.", + "Resolving variables in {0}...": "Risoluzione delle variabili in {0}...", + "Open {0}": "Apri {0}", + "Recently Used Task": "Attività usata di recente", + "Configured Task": "Attività configurata", + "Detected Task": "Attività rilevata", + "Cannot build and debug because the active file is not a C or C++ source file.": "Non è possibile compilare ed eseguire il debug perché il file attivo non è un file di origine C o C++.", + "No compiler found": "Non è stato trovato alcun compilatore", + "Select a debug configuration": "Selezionare una configurazione di debug", + "\"args\" in command deploy step must be an array.": "\"args\" nel passaggio di distribuzione del comando deve essere una matrice.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "\"host\", \"files\" e \"targetDir\" sono necessari nei passaggi {0}.", + "\"files\" must be a string or an array of strings in {0} steps.": "\"files\" deve essere una stringa o una matrice di stringhe nei passaggi {0}.", + "\"host\" and \"command\" are required for ssh steps.": "Per i passaggi SSH sono necessari \"host\" e \"command\".", + "\"command\" is required for shell steps.": "\"command\" è obbligatorio per i passaggi della shell.", + "Deploy step type {0} is not supported.": "Il tipo di passaggio di distribuzione {0} non è supportato.", + "Unexpected OS type": "Tipo di sistema operativo imprevisto", + "full path to pipe program such as {0}": "percorso completo del programma pipe, ad esempio {0}", + "Enable pretty-printing for {0}": "Abilita la riformattazione per {0}", + "Set Disassembly Flavor to {0}": "Imposta Versione Disassembly su {0}", + "enter program name, for example {0}": "immissione del nome del programma, ad esempio {0}", + "Launch": "Launch", + "Launch with {0}.": "Avvia con {0}.", + "Attach": "Associa", + "Attach with {0}.": "Collega con {0}.", + "Pipe Launch": "Avvio pipe", + "Pipe Launch with {0}.": "Avvio pipe con {0}.", + "Pipe Attach": "Collegamento pipe", + "Pipe Attach with {0}.": "Collegamento pipe con {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Avvia con il debugger Visual Studio C/C++.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Si collega a un processo con il debugger Visual Studio C/C++.", + "Bash on Windows Launch": "Avvio Bash in Windows", + "Launch in Bash on Windows using {0}.": "Avvia in Bash su Windows con {0}.", + "Bash on Windows Attach": "Collegamento Bash in Windows", + "Attach to a remote process running in Bash on Windows using {0}.": "Collega a un processo remoto in esecuzione in Bash su Windows con {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "Il tipo di debugger '{0}' non è disponibile per computer non Windows.", + "Run Without Debugging is only supported for launch configurations.": "L'opzione Esegui senza debug è supportata solo per le configurazioni di avvio.", + "Add debug configuration is not available for single file.": "L'aggiunta di configurazione di debug non è disponibile per un singolo file.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Non è possibile modificare il file di configurazione SSH a causa di un errore di analisi \"{0}\".", + "No valid SSH configuration file found.": "Nessun file di configurazione SSH valido trovato.", + "Enter SSH Target Name": "Immettere il nome della destinazione SSH", + "Example: `mySSHTarget`": "Esempio: `mySSHTarget`", + "Enter SSH Connection Command": "Immettere il comando di connessione SSH", + "Example: `ssh hello@microsoft.com -A`": "Esempio: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Selezionare un file di configurazione SSH", + "Yes": "Sì", + "No": "No", + "Are you sure you want to permanently delete \"{0}\"?": "Sei sicuro di voler eliminare definitivamente “{0}”?", + "Operating system \"{0}\" not supported.": "Il sistema operativo \"{0}\" non è supportato.", + "\"{0}\" timed out after {1} seconds.": "Timeout di \"{0}\" dopo {1} secondi.", + "\"{0}\" canceled.": "\"{0}\" azione/i annullata/e.", + "\"{0}\" exited with code: \"{1}\".": "\"{0}\" è stato chiuso con il codice: \"{1}\".", + "Failed to spawn \"{0}\".": "Il salvataggio non è riuscito \"{0}\".", + "Ignoring non-parsable lines in {0} {1}: ": "Le righe non analizzabili in {0} {1} saranno ignorate: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Nessun emulatore di terminale trovato. Impostare la variabile d'ambiente $TERMINAL sull'emulatore del terminale preferito, oppure installarne uno dei seguenti: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Seleziona un compilatore da configurare per IntelliSense", + "How would you like to configure IntelliSense for the '{0}' folder?": "Come si desidera configurare IntelliSense per la cartella '{0}'?", + "How would you like to configure IntelliSense for this folder?": "Come desideri configurare IntelliSense per questa cartella?", + "Found at {0}": "Trovato in {0}", + "Use {0}": "Usa {0}", + "configuration providers": "Provider di configurazione", + "compilers": "compilatori", + "Select IntelliSense Configuration...": "Seleziona configurazione IntelliSense...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Compilatore IntelliSense non configurato. A meno che non si impostino configurazioni personalizzate, IntelliSense potrebbe non funzionare.", + "Select another compiler on my machine...": "Seleziona un altro compilatore nel computer...", + "Help me install a compiler": "Aiutami a installare un compilatore", + "Install a compiler": "Installare un compilatore", + "Do not configure with a compiler (not recommended)": "Non configurare un compilatore (scelta non consigliata)", + "EPERM: Check permissions for '{0}'": "EPERM: verificare le autorizzazioni per '{0}'", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Non è possibile avviare il server di linguaggio C/C++. Le funzionalità IntelliSense verranno disabilitate. Errore: {0}", + "The language server crashed. Restarting...": "Si è verificato un arresto anomalo del server di linguaggio. Riavvio...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "Si sono verificati cinque arresti anomali del server di linguaggio negli ultimi tre minuti. Non verrà riavviato.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} è stato modificato in: {1}", + "Dismiss": "Ignora", + "Disable Warnings": "Disabilita avvisi", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} non riesce a fornire le informazioni di configurazione IntelliSense per '{1}'. Verranno usate le impostazioni della configurazione di '{2}'.", + "The requested configuration name is not found: {0}": "Il nome di configurazione richiesto non è stato trovato: {0}", + "Unsupported client": "Client non supportato", + "Timed out in {0}ms.": "Timeout raggiunto in {0} ms.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "Sono stati enumerati {0} file con {1} file di origine C/C++ rilevati. Per ottenere prestazioni migliori, è possibile scegliere di escludere alcuni file.", + "Learn More": "Altre informazioni", + "Don't Show Again": "Non visualizzare più questo messaggio", + "Update IntelliSense time (sec): {0}": "Aggiorna ora di IntelliSense (sec): {0}", + "Custom configurations received:": "Configurazioni personalizzate ricevute:", + "Custom browse configuration received: {0}": "La configurazione di esplorazione personalizzata è stata ricevuta: {0}", + " Declaration/definition was copied.": " Dichiarazione/definizione copiata.", + "Name the extracted function": "Assegna un nome alla funzione estratta", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "L'estrazione nella funzione non è riuscita: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "L'estrazione nella funzione non è riuscita. È stata generata una modifica non valida: '{0}'", + "Fix all code analysis problems": "Correggere tutti i problemi analisi codice", + "Clear all code analysis problems": "Cancellare tutti i problemi di analisi codice", + "Fix all {0} problems": "Correggere tutti i problemi {0}", + "Disable all {0} problems": "Disabilitare tutti i problemi {0}", + "Clear all {0} problems": "Cancellare tutti i problemi {0}", + "Clear this {0} problem": "Cancellare questo problema {0}", + "Fix this {0} problem": "Correggere questo problema {0}", + "Show documentation for {0}": "Mostrare documentazione per {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "La modalità IntelliSense {0} non è compatibile con il percorso del compilatore.", + "Processed c_cpp_properties.json in {0}s": "C_cpp_properties.json elaborato in {0} s", + "Failed to create \"{0}\"": "Non è stato possibile creare \"{0}\"", + "Invalid configuration file. There must be at least one configuration present in the array.": "File di configurazione non valido. Nella matrice deve essere presente almeno una configurazione.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "È stato trovato un numero di versione sconosciuto in c_cpp_properties.json. Alcune funzionalità potrebbero non funzionare come previsto.", + "Attempt to update \"{0}\" failed (do you have write access?)": "Il tentativo di aggiornamento di \"{0}\" non è riuscito. L'accesso in scrittura è disponibile?", + "Failed to parse \"{0}\"": "Non è stato possibile analizzare \"{0}\"", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Non è possibile trovare il percorso del compilatore contenente spazi. Se l'intenzione era includere argomenti del compilatore, racchiudi il percorso del compilatore tra doppie virgolette ({0}).", + "Cannot find: {0}": "Non è possibile trovare: {0}", + "Path is not a file: {0}": "Il percorso non è un file: {0}", + "The include path validation took {0}s to evaluate": "La valutazione della convalida del percorso di inclusione ha richiesto {0} s", + "Failed to resolve include path. Error: {0}": "Non è possibile risolvere il percorso di inclusione. Errore: {0}", + "Do not add extra quotes around paths.": "Non aggiungere virgolette aggiuntive intorno ai percorsi.", + "Path is not a directory: {0}": "Il percorso non è una directory: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} è duplicato. Il nome della configurazione deve essere univoco.", + "Path took {0}s to evaluate": "La valutazione del percorso ha richiesto {0} s", + "Failed to resolve path {0}. Error: {1}": "Non è possibile risolvere il percorso {0}. Errore: {1}", + "Multiple paths are not allowed.": "Più percorsi non sono consentiti.", + "Multiple paths should be separate entries in an array.": "Più percorsi devono essere voci separate in una matrice.", + "Paths are not directories: {0}": "I percorsi non sono directory: {0}", + "Error while retrieving result. Reason: {0}": "Errore durante il recupero del risultato. Motivo: {0}", + "build active file": "compila il file attivo", + "compiler:": "compilatore:", + "Task generated by Debugger.": "Attività generata dal debugger.", + "Starting build...": "Avvio della compilazione...", + "Build run was terminated.": "L'esecuzione della compilazione è stata terminata.", + "Build finished with error(s).": "La compilazione è terminata con errore/i.", + "Build finished with warning(s).": "La compilazione è terminata con uno o più avvisi.", + "Build finished successfully.": "La compilazione è terminata.", + "No context provided": "Nessun contesto specificato", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "Il comando \"Impostare l'ambiente di sviluppo Visual Studio\" è disponibile solo in Windows", + "A Visual Studio installation with the C++ compiler was not found": "Non è stata trovata un'installazione di Visual Studio con il compilatore C++", + "The operation was cancelled": "L'operazione è stata annullata", + "No hosts found": "Nessun host trovato", + "Configuring developer environment...": "Configurazione dell'ambiente Developer in corso...", + "Select a Visual Studio installation": "Selezionare un'installazione di Visual Studio", + "Advanced options...": "Opzioni avanzate...", + "Select a specific host and target architecture, toolset version, etc.": "Selezionare un host e un'architettura di destinazione specifici, la versione del set di strumenti, e così via.", + "Select a toolset version": "Selezionare una versione del set di strumenti", + "Select a host and target architecture": "Selezionare un host e un'architettura di destinazione", + "Something went wrong: {0}": "Si è verificato un problema: {0}", + "{0} developer environment for {1}": "{0} ambiente di sviluppo per {1}", + "Default environment for {0}": "Ambiente predefinito per {0}", + "host = {0}, target = {1}": "host = {0}, destinazione = {1}", + "Learn how to install a library for this header with vcpkg": "Informazioni su come installare una libreria per questa intestazione con vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Copiare il comando vcpkg per installare '{0}' negli Appunti", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Non è possibile eseguire comandi correlati a IntelliSense quando `C_Cpp.intelliSenseEngine` è impostato su `disabled`.", + "client not found": "client non trovato", + "OK": "OK", + "The clang compiler will now be installed": "Il compilatore clang verrà ora installato", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Potrebbe essere richiesto di digitare la password nella finestra del terminale VS Code per autorizzare l'installazione.", + "The gcc compiler will now be installed": "Il compilatore gcc verrà ora installato", + "Open a folder first to select a configuration.": "Apri prima una cartella per selezionare una configurazione.", + "Open a folder first to select a configuration provider.": "Apri prima una cartella per selezionare un provider di configurazione.", + "Open a folder first to edit configurations": "Aprire prima una cartella per modificare le configurazioni", + "The code analysis fix could not be applied because the document has changed.": "Impossibile applicare la correzione di analisi codice perché il documento è stato modificato.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "È disponibile una versione non definitiva dell'estensione C/C++. Passare a questa versione?", + "Copilot summary is not available.": "Il riepilogo di Copilot non è disponibile.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Il file contenente la definizione o la dichiarazione di questo simbolo è stato escluso dall'uso con Copilot.", + "Copilot summary is not available for this symbol.": "Il riepilogo di Copilot non è disponibile per questo simbolo.", + "An error occurred while generating Copilot summary.": "Errore durante la generazione del riepilogo di Copilot.", + "Duplicate multiline comment patterns detected.": "Sono stati rilevati modelli duplicati di commenti su più righe.", + "Error while retrieving the project context. Reason: {0}": "Errore durante il recupero del contesto del progetto. Motivo: {0}", + "Error while retrieving the #cpp context.": "Errore durante il recupero del contesto #cpp.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Trova tutti i riferimenti", + "Peek References": "Visualizza in anteprima riferimenti", + "Rename": "Rinomina", + "Call Hierarchy": "Gerarchia delle chiamate", + "CONFIRMED REFERENCE": "RIFERIMENTO CONFERMATO", + "CONFIRMATION IN PROGRESS": "CONFERMA IN CORSO", + "COMMENT REFERENCE": "RIFERIMENTO A COMMENTO", + "STRING REFERENCE": "RIFERIMENTO A STRINGA", + "INACTIVE REFERENCE": "RIFERIMENTO INATTIVO", + "CANNOT CONFIRM REFERENCE": "NON È POSSIBILE CONFERMARE IL RIFERIMENTO", + "NOT A REFERENCE": "NON È UN RIFERIMENTO", + "Confirmed reference": "Riferimento confermato", + "Confirmation in progress": "Conferma in corso", + "Comment reference": "Riferimento a commento", + "String reference": "Riferimento a stringa", + "Inactive reference": "Riferimento inattivo", + "Cannot confirm reference": "Non è possibile confermare il riferimento", + "Not a reference": "Non è un riferimento", + "CONFIRMATION CANCELED": "CONFERMA ANNULLATA", + "Confirmation canceled": "Conferma annullata", + "To preview results, click the search icon in the status bar.": "Per visualizzare l'anteprima dei risultati, fare clic sull'icona di ricerca nella barra di stato.", + "Started.": "Avviato.", + "Processing source.": "Elaborazione dell'origine.", + "Searching files.": "Ricerca dei file.", + "{0}/{1} files searched.{2}": "{0}/{1} file cercati.{2}", + "{0}/{1} files confirmed.{2}": "{0}/{1} file confermati.{2}", + "C/C++ Peek References": "Visualizza in anteprima riferimenti C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Avviso] Alcuni riferimenti potrebbero essere mancanti perché l'analisi dell'area di lavoro è stata incompleta quando è stato avviato {0}.", + "Go to reference": "Vai a riferimento", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Per la formattazione del codice vengono usate le impostazioni del file con estensione .editorconfig invece di quello con estensione .clang-format. Per altre informazioni, vedi la documentazione relativa al valore 'default' dell'impostazione 'C_Cpp.formatting'.", + "C/C++ Configurations": "Configurazioni C/C++", + "IntelliSense: Updating": "IntelliSense: aggiornamento", + "IntelliSense: Ready": "IntelliSense: Pronto", + "Initializing Workspace": "Inizializzazione dell'area di lavoro", + "Indexing Workspace": "Area di lavoro di indicizzazione", + "Parsing Workspace": "Analisi area di lavoro", + "Parsing Workspace: Paused": "Analisi area di lavoro: Sospesa", + "Parsing Complete": "Analisi completata", + "Rescan Workspace": "Ripeti analisi area di lavoro", + "Parsing Open Files": "Analisi dei file aperti", + "Code Analysis: Running": "Analisi del codice: in esecuzione", + "Code Analysis: Paused": "Analisi del codice: sospesa", + "Code Analysis Mode: ": "Modalità di analisi del codice: ", + "click to preview results": "fare clic per visualizzare l'anteprima dei risultati", + "Configure IntelliSense": "Configura IntelliSense", + "C/C++ IntelliSense Status": "Stato IntelliSense C/C++", + "Rescan": "Ripeti analisi", + "Rescan IntelliSense": "Ripeti analisi di IntelliSense", + "C/C++ Tag Parser Status": "Stato del parser del tag C/C++", + "Initializing...": "Inizializzazione...", + "Resume": "Riprendi", + "Pause": "Sospendi", + "C/C++ Code Analysis Status": "Stato dell’analisi del codice C/C++", + "Run Now": "Esegui", + "Automatic": "Automatico", + "Manual": "Manuale", + "Options": "Opzioni", + "Starting...": "Avvio...", + "Running: {0} / {1} ({2}%)": "In esecuzione: {0} / {1} ({2}%)", + "Select a code analysis command...": "Selezionare un comando di analisi codice...", + "Start Another...": "Avvia un'altra...", + "Select a command...": "Seleziona un comando...", + "Run Code Analysis on Active File": "Esegui analisi del codice su File attivo", + "Run Code Analysis on All Files": "Esegui analisi del codice su Tutti i file", + "Run Code Analysis on Open Files": "Esegui analisi del codice su Apri file", + "C/C++ References Status": "Stato riferimenti C/C++", + "C/C++ Configuration": "Configurazione C/C++", + "C/C++ Configure IntelliSense": "C/C++ - Configura IntelliSense", + "Select a Configuration...": "Seleziona una configurazione...", + "Edit Configurations (UI)": "Modifica configurazioni (interfaccia utente)", + "Edit Configurations (JSON)": "Modifica configurazioni (JSON)", + "Select a Configuration Provider...": "Seleziona un provider di configurazione...", + "active": "attiva", + "none": "nessuno", + "Disable the active configuration provider, if applicable.": "Disabilita il provider di configurazione attivo, se applicabile.", + "Select a workspace folder...": "Seleziona una cartella dell'area di lavoro...", + "Failed to connect to {0}": "Non è stato possibile connettersi a {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "Non è possibile specificare \"localSocket\" contemporaneamente con \"bindAddress\" o \"port\" in localForwards", + "\"port\" or \"localSocket\" required in localForwards": "\"port\" o \"localSocket\" obbligatorio in localForwards", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "Non è possibile specificare \"remoteSocket\" contemporaneamente con \"host\" o \"hostPort\" in localForwards", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "È necessario specificare \"host\" e \"hostPort\" o \"remoteSocket\" in localForwards", + "SSH command canceled": "Comando SSH annullato", + "Enter passphrase for ssh key {0}": "Immettere la passphrase per la chiave SSH {0}", + "Enter password for user \"{0}\"": "Immettere la password per l'utente \"{0}\"", + "Enter password": "Immettere la password", + "Are you sure you want to continue?": "Continuare?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\" ha l'impronta digitale \"{1}\".", + "Continue": "Continua", + "\"{0}\" terminal command canceled.": "Il comando del terminale \"{0}\" è stato annullato.", + "\"{0}\" terminal command done.": "Comando terminale \"{0}\" completato.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "L'attività '{0}' è stata annullata, ma è possibile che il comando sottostante non venga terminato. Controllare manualmente.", + "\"{0}\" process failed: {1}": "Elaborazione di \"{0}\" non riuscita: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" ha scritto i dati nel terminale: \"{1}\".", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Non è stato possibile trovare le informazioni utente per SSH. Il problema potrebbe essere causato dall'installazione di VS Code tramite \"ancoraggio\". Reinstallare VS Code usando il pacchetto \"deb\" se si intende usare le funzionalità SSH.", + "Failed to parse SSH configuration file {0}: {1}": "Non è possibile analizzare il file di configurazione SSH {0}: {1}", + "Failed to read file {0}.": "Non è possibile leggere il file {0}.", + "Failed to write to file {0}.": "Impossibile scrivere nel file {0}.", + "Inline macro is not available at this location.": "Macro inline non è disponibile in questa posizione.", + "AI-generated content may be incorrect.": "Il contenuto generato dall'intelligenza artificiale potrebbe non essere corretto.", + "Invalid identifier provided for the Rename Symbol operation.": "È stato specificato un identificatore non valido per l'operazione Rinomina simbolo.", + "A definition for the selected symbol could not be located.": "Non è stato possibile individuare una definizione per Il simbolo selezionato.", + "No SSH targets": "Nessuna destinazione SSH", + "Active SSH target selection cancelled.": "Selezione della destinazione SSH attiva annullata.", + "{0} Add New SSH Target...": "{0} Aggiungere nuova destinazione SSH...", + "Select an SSH target": "Selezionare una destinazione SSH", + "[Active]": "[Attivo]" +} diff --git a/Extension/i18n/jpn/bundle.l10n.json b/Extension/i18n/jpn/bundle.l10n.json new file mode 100644 index 000000000..caac6e9cc --- /dev/null +++ b/Extension/i18n/jpn/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "json ファイルを解析できませんでした。コメントまたは末尾のコンマが原因の可能性があります。", + "The C/C++ extension is still installing. See the output window for more information.": "C/C++ の拡張機能はまだインストール中です。詳細については、出力ウィンドウをご覧ください。", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "トラブルシューティングの情報については、{0} を参照してください。イシューは {1} で作成できます", + "Process exited with code {0}": "プロセスがコード {0} で終了しました", + "Process executed successfully.": "プロセスが正常に実行されました。", + "Killing process {0}": "プロセス {0} の強制終了", + "Warning: Expected file {0} is missing.": "警告: 必要なファイル {0} がありません。", + "Warning: Debugging has not been tested for this platform.": "警告: このプラットフォームのデバッグはテストされていません。", + "Reload the workspace for the settings change to take effect.": "設定の変更を有効にするには、ワークスペースを再度読み込んでください。", + "Reload": "再読み込み", + "Custom configuration provider '{0}' registered": "カスタムの構成プロバイダー '{0}' が登録されました", + "Reached max string expansion recursion. Possible circular reference.": "文字列展開の再帰の最大数に達しました。循環参照の可能性があります。", + "Invalid variable reference {0} in string: {1}.": "文字列に無効な変数参照 {0} があります: {1}。", + "Environment variable {0} not found": "環境変数 {0} が見つかりません", + "Commands are not supported for string: {0}.": "コマンドは文字列ではサポートされていません: {0}。", + "Exception while executing command {0} for string: {1} {2}.": "文字列のコマンド {0} の実行中に例外が発生しました: {1} {2}。", + "C/C++ Diagnostics": "C/C++ 診断", + "C/C++ Crash Call Stacks": "C/C++ クラッシュ呼び出し履歴", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "C/C++ 拡張プロセスがクラッシュしました。クラッシュ プロセス名、日付/時刻、シグナル、および呼び出し履歴は以下のとおりです -- これは、{0} のバグ レポートに含めるのに役立ちます。", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "C/C++ デバッグ プロトコル", + "C/C++ Configuration Warnings": "C/C++ 構成の警告", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "C/C++ 拡張機能のバージョンが {0} 以降である場合は、macOS バージョン {1} 以上が必要です。", + "intelliSenseEngine is disabled": "intelliSenseEngine が無効です", + "More Info": "詳細", + "Ignore": "無視", + "The C/C++ extension installed does not match your system.": "インストールされている C/C++ 拡張機能がシステムと一致しません。", + "The C/C++ extension installed is compatible with but does not match your system.": "インストールされている C/C++ 拡張機能は、システムと互換性がありますが、一致しません。", + "Searching include path...": "インクルード パスを検索しています...", + "Include file not found in browse.path.": "インクルード ファイルが browse.path にありません。", + "Edit \"browse.path\" setting": "\"browse.path\" 設定の編集", + "Add to \"includePath\": {0}": "\"IncludePath\" に追加: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "'{0}' を追加", + "Edit \"includePath\" setting": "\"includePath\" 設定の編集", + "Disable error squiggles": "エラーの波線を無効にする", + "Enable all error squiggles": "すべてのエラーの波線を有効にする", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "#include エラーが検出されました。includePath を更新してください。この翻訳単位 ({0}) では、波線が無効になっています。", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include エラーが検出されました。includePath を更新してください。この翻訳単位 ({0}) の IntelliSense 機能は、タグ パーサーによって提供されます。", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include エラーが検出されました。compile_commands.json または includePath を更新してみてください。この翻訳単位 ({0}) の IntelliSense 機能は、タグ パーサーによって提供されます。", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" を解析できませんでした。フォルダー '{1}' にある c_cpp_properties.json からの 'includePath' が代わりに使用されます。", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" が見つかりませんでした。フォルダー '{1}' にある c_cpp_properties.json からの 'includePath' が代わりに使用されます。", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{1}\" に \"{0}\" が見つかりませんでした。フォルダー '{2}' にある c_cpp_properties.json からの 'includePath' が、このファイルで代わりに使用されます。", + "The IntelliSense database was successfully reset.": "IntelliSense データベースが正常にリセットされました。", + "Failed to send response to client: {0}": "クライアントに応答を送信できませんでした: {0}", + "Failed to read response from server: {0}": "サーバーからの応答を読み取れませんでした: {0}", + "Failed to send request to server: {0}": "サーバーに要求を送信できませんでした: {0}", + "Unexpected error while waiting for requests: {0}": "要求の待機中に予期しないエラーが発生しました: {0}", + "{0} errored with: {1}": "{0} で次のエラーが発生しました: {1}", + "Failed to open the file {0}": "ファイル {0} を開けませんでした", + "Failed to query default include paths and defines for {0}.": "{0} の既定のインクルード パスと定義に対してクエリを実行できませんでした。", + "Failed calling {0}": "{0} の呼び出しに失敗しました", + "Quick info operation failed: {0}": "クイック ヒントの操作が失敗しました: {0}", + "Failed to create IntelliSense client: {0}": "IntelliSense クライアントを作成できませんでした: {0}", + "Failed to spawn IntelliSense process: {0}": "IntelliSense プロセスを生成できませんでした: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "browse_engine_update_thread.join() の呼び出し中にエラーが発生しました: {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "このファイル ({0}) は既にエディターで開かれていますが、大文字と小文字が異なります。このコピーのファイルでは、IntelliSense 機能が無効にされます。", + "IntelliSense client has disconnected from the server - {0}": "IntelliSense クライアントがサーバー {0} から切断されました", + "Formatting failed:": "書式設定が失敗しました:", + "Unable to add file to database, error = {0}: {1}": "ファイルをデータベースに追加できません。エラー = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "中止でタイムスタンプをリセットできませんでした。エラー = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "タイムスタンプを更新できません。エラー = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "ファイルの更新を完了できません。エラー = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} はディレクトリではありません (st_mode ={1})", + "Unable to retrieve file system information for {0}. error = {1}": "{0} のファイル システム情報を取得できません。エラー = {1}", + "{0} is not a directory": "{0} はディレクトリではありません", + "File discovery was aborted": "ファイルの検出が中止されました", + "Aborting tag parse of {0} and dependencies": "{0} と依存関係のタグ解析を中止しています", + "Aborting tag parse at root": "ルートでのタグ解析を中止しています", + "Unable to retrieve DB records to reset timestamps: error = {0}": "タイムスタンプをリセットするための DB レコードを取得できません。エラー = {0}", + "Failed to reset timestamp for {0}: error = {1}": "{0} のタイムスタンプをリセットできませんでした: エラー = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "適切なコンパイラが見つかりませんでした。c_cpp_properties.json の \"compilerPath\" を設定してください。", + "Compiler include path not found: {0}": "コンパイラのインクルード パスが見つかりませんでした: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "IntelliSense エンジンが応答していません。代わりにタグ パーサーを使用します。", + "Tag Parser will be used for IntelliSense operations in: {0}": "タグ パーサーは {0} で IntelliSense 操作に使用されます", + "Error squiggles will be disabled in: {0}": "以下ではエラーの波線が無効になります: {0}", + "Processing folder (non-recursive): {0}": "フォルダーを処理しています (非再帰的): {0}", + "Processing folder (recursive): {0}": "フォルダーを処理しています (再帰的): {0}", + "File exclude: {0}": "ファイルの除外: {0}", + "Search exclude: {0}": "検索除外: {0}", + "Discovering files: {0} file(s) processed": "ファイルを検出しています。{0} 個のファイルが処理されました", + "{0} file(s) removed from database": "{0} 個のファイルがデータベースから削除されました", + "Parsing: {0} files(s) processed": "解析: {0} ファイルが処理されました", + "Shutting down IntelliSense server: {0}": "IntelliSense サーバーをシャットダウンしています: {0}", + "Resetting IntelliSense server: {0}": "IntelliSense サーバーをリセットしています: {0}", + "Code browsing service initialized": "コード参照サービスが初期化されました", + "Folder: {0} will be indexed": "フォルダー: {0} にインデックスが付けられます", + "Populate include completion cache.": "インクルード完了キャッシュを事前設定します。", + "Discovering files...": "ファイルを検出しています...", + "Done discovering files.": "ファイルの検出が完了しました。", + "Parsing open files...": "開いているファイルを解析しています...", + "Done parsing open files.": "開いているファイルの解析が完了しました。", + "Parsing remaining files...": "残りのファイルを解析しています...", + "Done parsing remaining files.": "残りのファイルの解析が完了しました。", + "Using configuration: \"{0}\"": "次の構成を使用しています: \"{0}\"", + "{0} include path suggestion(s) discovered.": "{0} 個のインクルード パスの候補が検出されました。", + "Checking for syntax errors: {0}": "次の構文エラーをチェックしています: {0}", + "IntelliSense Engine = {0}.": "IntelliSense エンジン = {0}。", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "#includes を解決できない場合、拡張機能では IntelliSense のタグ パーサーが使用されます。", + "Autocomplete is enabled.": "オートコンプリートは有効です。", + "Autocomplete is disabled.": "オートコンプリートは無効です。", + "Hover is enabled.": "ホバーが有効になっています。", + "Hover is disabled.": "ホバーが無効になっています。", + "Enhanced Colorization is enabled.": "拡張色付けが有効になっています。", + "Error squiggles are disabled.": "エラーの波線が無効になっています。", + "Error squiggles are enabled.": "エラーの波線が有効になっています。", + "Error squiggles are enabled if all header dependencies are resolved.": "すべてのヘッダーの依存関係が解決されると、エラーの波線が有効になります。", + "Replaced placeholder file record": "プレースホルダー ファイル レコードを置換しました", + "tag parsing file: {0}": "ファイルのタグを解析中: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "タグ解析エラー (シンボルが見つからない場合を除き、無視できます):", + "Reset time stamp for {0}": "{0} のタイムスタンプのリセット", + "Failed to remove file: {0}": "ファイルを削除できませんでした: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "RegEx 解析エラー - vscode パターン: {0}、RegEx: {1}、エラー メッセージ: {2}", + "terminating child process: {0}": "子プロセスを終了しています: {0}", + "still alive, killing...": "まだ稼働中です。中止しています...", + "giving up": "中断しています", + "not exited yet. Will sleep for {0} milliseconds and try again.": "まだ終了していません。{0} ミリ秒間スリープ状態になった後、再試行します。", + "Failed to spawn process. Error: {0} ({1})": "プロセスを生成できませんでした。エラー: {0} ({1})", + "Offering completion": "オファリングの完了", + "Attempting to get defaults from compiler found on the machine: '{0}'": "次のマシンで見つかったコンパイラから既定値を取得しようとしています: '{0}'", + "Unable to resolve include path: {0}": "インクルード パス {0} を解決できません", + "Error searching for IntelliSense client: {0}": "IntelliSense クライアントの検索中にエラーが発生しました: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "IntelliSense クライアントは使用できません。クイック ヒントにはタグ パーサーを使用します。", + "using Tag Parser for quick info": "クイック ヒントにタグ パーサーを使用しています", + "Closing the communication channel.": "通信チャネルを閉じています。", + "sending compilation args for {0}": "{0} のコンパイル引数を送信しています", + "include: {0}": "次を含める: {0}", + "framework: {0}": "フレームワーク: {0}", + "define: {0}": "定義: {0}", + "preinclude: {0}": "事前インクルード: {0}", + "other: {0}": "その他: {0}", + "sending {0} changes to server": "{0} 件の変更をサーバーに送信しています", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "開かれたファイル インスタンスが無効です。ファイル {0} の IntelliSense メッセージを無視します。", + "idle loop: reparsing the active document": "アイドル ループ: アクティブ ドキュメントの再解析", + "IntelliSense client is currently disconnected": "IntelliSense クライアントは現在切断されています", + "Request canceled: {0}": "要求はキャンセルされました。{0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "IntelliSense クライアントは使用できません。定義への移動にはタグ パーサーを使用します。", + "Error squiggle count: {0}": "エラーの波線の数: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "以下の翻訳単位のファイルに対する IntelliSense の更新をキューに登録しています: {0}", + "Formatting document: {0}": "ドキュメントの書式設定: {0}", + "Formatting input:": "入力の書式設定:", + "Formatting raw output:": "未加工の出力の書式設定:", + "Formatting diffed output before cursor:": "カーソルの前の差分出力の書式設定:", + "Formatting diffed output after cursor:": "カーソルの後ろの差分出力の書式設定:", + "Formatting diffed output:": "差分出力の書式設定:", + "Disable inactive region colorization": "アクティブではない領域の色づけを無効にする", + "Error limit exceeded, {0} error(s) not reported.": "エラーの制限を超過しました。{0} 件のエラーが報告されません。", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "#include エラーが検出されました。compile_commands.json または includePath を更新してみてください。この翻訳単位 ({0}) では、波線が無効になっています。", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "IntelliSense データベースをリセットできませんでした。手動でリセットするには、VS Code のインスタンスをすべて閉じてから、このファイルを削除してください: {0}", + "Formatting failed. See the output window for details.": "書式設定が失敗しました。詳細については、出力ウィンドウを参照してください。", + "Populating include completion cache.": "インクルード完了キャッシュを事前設定しています。", + "Discovering files: {0}": "ファイルを検出しています: {0}", + "Parsing open files": "開いているファイルを解析しています", + "Tag parser initializing": "タグ パーサーの初期化中", + "Workspace parsing paused": "ワークスペースの解析が一時停止されました", + "Parsing workspace files: {0}": "ワークスペース ファイルを解析しています: {0}", + "Discovering files: {0} / {1} ({2}%)": "ファイルを検出しています: {0}/{1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "ワークスペース ファイルを解析しています: {0} / {1} ({2}%)", + "Can't find or run process_name": "process_name が見つからないか、実行できません", + "Child exec failed {0}": "子の exec が失敗しました {0}", + "Could not communicate with child process!": "子プロセスと通信できませんでした。", + "{0} failed": "{0} 件の失敗", + "Failed to set {0} flag": "{0} のフラグを設定できませんでした", + "Unable to create {0}!": "{0} を作成できません。", + "Failed to set stdin {0} flag": "stdin {0} のフラグを設定できませんでした", + "Failed to set stdout {0} flag": "stdout {0} のフラグを設定できませんでした", + "Failed to set stderr {0} flag": "stderr {0} のフラグを設定できませんでした", + "Unable to start child process!": "子プロセスを開始できません。", + "Timed out attempting to communicate with process!": "プロセスと通信しようとしてタイムアウトになりました。", + "Process has failed to run": "プロセスを実行できませんでした", + "Specified compiler was not found: {0}": "指定されたコンパイラが見つかりませんでした: {0}", + "Config data invalid, {0}": "構成データが無効です。{0}", + "CMake executable not found at {0}": "CMake 実行可能ファイルが {0} に見つかりません", + "No args provider": "引数プロバイダーがありません", + "Invalid file path {0}": "無効なファイル パス {0}", + "Can't create IntelliSense client for {0}": "{0} の IntelliSense クライアントを作成できません", + "declaration": "宣言", + "type alias": "型のエイリアス", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "コンパイラは 64 ビットをサポートしていません。32 ビットの intelliSenseMode に戻しています。", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "コンパイラは 32 ビットをサポートしていません。64 ビットの intelliSenseMode に戻しています。", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "コンパイラを照会できませんでした。32 ビットの intelliSenseMode に戻しています。", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "コンパイラを照会できませんでした。64 ビットの intelliSenseMode に戻しています。", + "Failed to query compiler. Falling back to no bitness.": "コンパイラを照会できませんでした。ビットなしに戻ります。", + "IntelliSense client creation aborted: {0}": "IntelliSense クライアントの作成が中止されました: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "configurationProvider 設定によって提供された情報に基づいて、#include エラーが検出されました。この翻訳単位 ({0}) の IntelliSense 機能は、タグ パーサーによって提供されます。", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "configurationProvider 設定によって提供された情報に基づいて、#include エラーが検出されました。この翻訳単位 ({0}) では、波線が無効になっています。", + "preprocessor keyword/Refers to C/C++ processor keywords": "プリプロセッサ キーワード", + "C keyword": "C キーワード", + "C++ keyword": "C++ キーワード", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+1 個のオーバーロード", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "+%d 個のオーバーロード", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+1 個の特殊化", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "+%d 個の特殊化", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "注: IntelliSense は完全には構成されていません。構成を完了するには、'IntelliSense 構成の選択...' コマンドを使用します。", + "Select an IntelliSense configuration to locate system headers": "IntelliSense 構成を選択してシステム ヘッダーを検索する", + "Expands to:": "展開先:", + "Attention:": "注意:", + "Author:": "作成者:", + "Authors:": "作成者:", + "Bug:": "バグ:", + "Copyright:": "著作権:", + "Deprecated:": "非推奨:", + "Date:": "日付:", + "Details:": "詳細:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "例外:", + "Invariant:": "インバリアント:", + "File:": "ファイル:", + "Note:": "注:", + "Parameters:": "パラメーター:", + "Precondition:": "前提条件:", + "Postcondition:": "事後条件:", + "Remark:": "コメント:", + "Remarks:": "コメント:", + "Result:": "結果:", + "Return:": "戻り値:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "戻り値:", + "See also:": "関連項目:", + "Since:": "次の日時以降:", + "Template Parameters:": "テンプレート パラメーター:", + "Test:": "テスト:", + "TODO:": "TODO:", + "Version:": "バージョン:", + "Warning:": "警告:", + "Compiler query command line: {0}": "コンパイラ クエリ コマンド ライン: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "\"compilerPath\" プロパティの C コンパイラから既定値を取得しようとしています: '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "\"compilerPath\" プロパティの C++ コンパイラから既定値を取得しようとしています: '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "compile_commands.json ファイルの C コンパイラから既定値を取得しようとしています: '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "compile_commands.json ファイルの C++ コンパイラから既定値を取得しようとしています: '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "C ソース ファイルで、IntelliSenseMode が \"{0}\" から \"{1}\" に変更されました。", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "C++ ソース ファイルで、IntelliSenseMode が \"{0}\" から \"{1}\" に変更されました。", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "C ソース ファイルで、cStandard が \"{0}\" から \"{1}\" に変更されました。", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "C++ ソース ファイルで、cppStandard が \"{0}\" から \"{1}\" に変更されました。", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "C ソース ファイルで、IntelliSenseMode が \"{0}\" から \"{1}\" に変更され、cStandard が \"{2}\" から \"{3}\" に変更されました。", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "C++ ソースファイルで、IntelliSenseMode が \"{0}\" から \"{1}\" に変更され、cppStandard が \"{2}\" から \"{3}\" に変更されました。", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C ソース ファイルで、コンパイラの引数と compilerPath のクエリに基づいて、IntelliSenseMode が \"{0}\" から \"{1}\" に変更されました: \"{2}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C++ ソース ファイルで、コンパイラの引数と compilerPath のクエリに基づいて、IntelliSenseMode が \"{0}\" から \"{1}\" に変更されました: \"{2}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C ソース ファイルで、コンパイラの引数と compilerPath のクエリに基づいて、cStandard が \"{0}\" から \"{1}\" に変更されました: \"{2}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C++ ソース ファイルで、コンパイラの引数と compilerPath のクエリに基づいて、cppStandard が \"{0}\" から \"{1}\" に変更されました: \"{2}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "C ソース ファイルで、コンパイラの引数と compilerPath のクエリに基づいて、IntelliSenseMode が \"{0}\" から \"{1}\" に変更され、cStandard が \"{2}\" から \"{3}\" に変更されました: \"{4}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "C++ ソース ファイルで、コンパイラの引数と compilerPath のクエリに基づいて、IntelliSenseMode が \"{0}\" から \"{1}\" に変更され、cppStandard が \"{2}\" から \"{3}\" に変更されました: \"{4}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "compilerPath \"{0}\" を使用して構成を解決できません。代わりに \"{1}\" を使用しています。", + "Unable to resolve configuration with compilerPath: \"{0}\"": "compilerPath を使用して構成を解決できません: \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "compilerPath が明示的に空になっているため、コンパイラのクエリをスキップしています", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "MSVC intelliSenseMode が指定されました。コンパイラ cl.exe 用に構成しています。", + "Unable to configure for compiler cl.exe.": "コンパイラ cl.exe 用に構成できません。", + "Querying compiler's default target using command line: \"{0}\" {1}": "コマンド ラインを使用してコンパイラの既定のターゲットをクエリしています: \"{0}\" {1}", + "Compiler returned default target value: {0}": "コンパイラによって既定のターゲット値が返されました: {0}", + "Querying compiler for default C language standard using command line: {0}": "コマンド ラインを使用して既定の C 言語標準用にコンパイラをクエリしています: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "コマンド ラインを使用して既定の C++ 言語標準用にコンパイラをクエリしています: {0}", + "Detected language standard version: {0}": "検出された言語標準バージョン: {0}", + "Unhandled default compiler target value detected: {0}": "ハンドルされていない既定のコンパイラ ターゲット値が検出されました: {0}", + "Unhandled target argument value detected: {0}": "ハンドルされていないターゲット引数値が検出されました: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "IntelliSense サーバーをシャットダウンしています: {0}。メモリ使用量は {1} MB で、{2} MB の制限を超えました。", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "既定の標準バージョンのパス \"{0}\" でコンパイラをクエリできませんでした。このコンパイラでは、コンパイラのクエリが無効になっています。", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "コンパイラ クエリにより、認識されない言語標準バージョンが返されました。代わりに、サポートされている最新のバージョンが使用されます。", + "IntelliSense process crash detected.": "IntelliSense プロセスのクラッシュが検出されました。", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "IntelliSense プロセスのクラッシュが検出されました: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "戻り値:", + "Unable to locate nvcc compiler: {0}": "nvcc コンパイラが見つかりません: {0}", + "Unable to locate nvcc host compiler: {0}": "nvcc ホスト コンパイラが見つかりません: {0}", + "Invoking nvcc with command line: {0}": "コマンド ラインで nvcc を呼び出しています: {0}", + "Unable to find host compile command in output of nvcc.": "nvcc の出力でホスト コンパイル コマンドが見つかりません。", + "Unable to locate forced include: {0}": "強制インクルードが見つかりません: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Inline マクロ", + "Unable to access browse database. ({0})": "参照データベースにアクセスできません。({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode は、検出されたコンパイラと一致しなかったため、変更されました。 代わりに \"compilerPath\" を設定することを検討してください。 システム インクルードと定義の検出を無効にするには、\"compilerPath\" を \"\" に設定します。", + "Remove all code analysis problems": "すべてのコード分析の問題を削除する", + "(Multiple locations)": "(複数の場所)", + "Folder": "フォルダー", + "File": "ファイル", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "コンパイラから既定の言語の標準バージョンが返されました: {0}。このバージョンは古いため、より新しいバージョン {1} をデフォルトとして使用しようとします。", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "clang-tidy からの予期しない出力: {0}。期待値: {1}。", + "Generate Doxygen comment": "Doxygen コメントの生成", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "{1} で {0} の宣言を作成する", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "{1} で {0} の定義を作成する", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "'{0}' の関数定義が見つかりません。", + "Attributes/'Attributes' is a C++ specifier.": "属性", + "Bases/'Bases' are a C++ class type.": "ベース", + "Classes": "クラス", + "CoClasses": "コクラス", + "Delegates": "デリゲート", + "Enums": "列挙型", + "Events": "イベント", + "Functions": "関数", + "Import directives": "ディレクティブのインポート", + "ImportLib statements": "ImportLib ステートメント", + "Import statements": "ステートメントのインポート", + "Include directives": "ディレクティブを含める", + "Interfaces": "インターフェイス", + "Libraries": "ライブラリ", + "Macros": "マクロ", + "Maps": "地図", + "Map entries": "マップ エントリ", + "Miscellaneous": "その他", + "Namespaces": "名前空間", + "Parameters": "パラメーター", + "Properties": "プロパティ", + "Structs": "構造体", + "TODO: insert return statement here": "TODO: return ステートメントをここに挿入します", + "Typedefs": "Typedefs", + "Unions": "和集合", + "Using aliases": "エイリアスの使用", + "Using directives": "ディレクティブを使用する", + "Variables": "変数", + "Automatic add function": "自動的に関数を追加", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual は重複してます。vsCMFunctionComMethod と一緒に指定することはできません。", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod は静的になることはできません。", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "無効な C/C++ ファイル: '%s'。", + "File name too long: '%s'./%s is the file that has a long name.": "ファイル名が長すぎます : '%s'。", + "Cannot create file '%s'./%s is the file that could not be created.": "ファイル '%s' を作成できません。", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "書き込みをするディレクトリまたはファイル '%s' にアクセスできません。", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "無効なファイル パス: '%s'。", + "File '%s' was not found./%s is the file that was not found.": "ファイル '%s' が見つかりませんでした。", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "宣言 / 定義の作成に失敗しました: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "関数 '%s' を作成できません。既定の関数または削除された関数の作成はサポートされていません。", + "Unable to create function '%s'./%s is the function that could not be created.": "関数 '%s' を作成できませんでした。", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "関数 '%s' の明確な場所が見つかりません。", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "クラスまたは名前空間 '%s' が見つかりませんでした。", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "この操作は '%s' でサポートされていません。", + "Unknown error.": "不明なエラーです。", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "システム ヘッダーを見つけるには、'IntelliSense 構成の選択...' コマンドを実行してください。", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "'{0}' の宣言をコピーする", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "'{0}' の定義をコピーする", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "宣言/定義をクリップボードにコピーできませんでした: %s", + "Extract to function": "関数に抽出", + "Extract to free function": "抽出して関数を解放する", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "'{0}' のメンバー関数に抽出します", + "The selected text is not inside a function.": "選択されたテキストは関数の内部にありません。", + "The selected text cannot span different functions.": "選択されたテキストは異なる関数をまたぐことができません。", + "Variable '%s' is declared in the selected region and then used below it.": "変数 '%s' は、選択した領域で宣言され、その下で使用されます。", + "Preprocessor macro '%s' is used below the selected region.": "プリプロセッサ マクロ '%s' は、選択した領域の下で使用されます。", + "The selected region spans an inactive preprocessor block.": "選択した領域には、非アクティブなプリプロセッサ ブロックが含まれています。", + "The selected region does not contain any code that can be extracted.": "選択した領域には、抽出できるコードが含まれていません。", + "The selected region is not entirely within the function's body.": "選択した領域は、関数の本体内に完全には含まれていません。", + "The selection contains IntelliSense errors.": "選択範囲には IntelliSense エラーが含まれています。", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "'%s' は選択したコード内で宣言されていませんが、変更中です。C コードは参照渡しで引数を渡すことはできません。", + "The function would have to return a value by reference. C code cannot return references.": "関数は参照渡しで値を返す必要があります。C コードは参照を返すことができません。", + "Jumps between the selected code and the surrounding code are present.": "選択したコードと周囲のコードの間にジャンプが存在します。", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "選択したコードでは、戻り値を設定せずに一部のコントロール パスが終了します。これは、スカラー型、数値型、およびポインター型の戻り値に対してのみサポートされます。", + "Expand selection (to enable 'Extract to function')": "選択範囲を展開する ([関数に抽出] を有効にする)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "\"{0}\" が compile_commands.json ファイルに見つかりません。フォルダー '{1}' にある c_cpp_properties.json からの 'includePath' が、このファイルで代わりに使用されます。", + "Generate Copilot summary": "Copilot 要約の生成", + "Unable to index files from non-existent folder: {0}": "存在しないフォルダーにあるファイルにインデックスを付けることはできません: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "C/C++ 拡張機能は、Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server、およびアプリケーションの開発とテストをするための、後続の Microsoft 製品およびサービスでのみ使用できます。", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Microsoft C++ 言語サーバー", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "使用法: {0} [オプション]", + "Options:": "オプション:", + "Show this help message and exit.": "このヘルプ メッセージを表示して終了します。", + "Show version information and exit.": "バージョン情報を表示して終了します。", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "エンド ユーザー使用許諾契約 (EULA) に完全に同意します。", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "stderr を /dev/null にリダイレクトしないでください (デバッグに便利です)。", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "対話型ログインを開始します (GitHub Copilot サブスクリプションが必要です)。", + "Force the login process, even if already authenticated.": "既に認証されている場合でも、ログイン プロセスを強制します。", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "安全なキーチェーンを使用できない場合、プレーンテキストでの認証情報の保存を許可します。", + "Specify the directory for log files (default: system temp directory).": "ログ ファイルのディレクトリを指定します (既定値: システムの一時ディレクトリ)。", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "ログの詳細を 0 (エラーのみ) から 9 (詳細) の間で設定します。", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "パラメーターは、絶対パスで指定するか、ワークスペースのルートまたはその .github フォルダーからの相対パスで指定してください。", + "Disable sending telemetry data.": "テレメトリ データの送信を無効にします。", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "GitHub で認証するには、コード {0} をコピーしてから {1} にアクセスしてください。承認を待機しています...", + "Timed out waiting for authorization.": "承認を待機中にタイム アウトしました。", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "GitHub で正常に認証されました。", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "GitHub 認証に成功しましたが、トークンを保存できませんでした。", + "Keyring error: {0}/{Locked=\"{0}\"}": "キーリング エラー: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "キーリング コレクションがロックされています。ロックを解除するか、gnome-keyring-daemon を再起動してください。", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "キーリング サービスは使用できません。gnome-keyring をインストールして起動します: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "または、--login --allow-plaintext-secret-storage を渡して、プレーンテキストによる保存を許可します。", + "The device code has expired. Please try again.": "デバイス コードの有効期限が切れました。もう一度お試しください。", + "Authorization was denied by the user.": "ユーザーによって承認が拒否されました。", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "ポーリング中に予期しないエラーが発生しました: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "GitHub ログインに失敗しました。ログインするには、コマンド ラインから --login を使用して実行してみてください。", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "続行するには、EULA に同意する必要があります。--accept-eula を使用して実行します。", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "GitHub で既に認証されています。--force-login を使用して再認証してください。", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "初期化に失敗しました: サポートされていない構成バージョンです。バージョン 1 のみサポートされています。", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "初期化に失敗しました: 構成ファイル '{0}' が見つかりません。", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初期化に失敗しました: 構成ファイル '{0}' を解析できません。JSON 形式を確認します。エラー: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "初期化に失敗しました: 'repositoryPath' が構成されていないか、無効です。", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "初期化に失敗しました: 'compileCommands' または 'cppProperties' を構成する必要があります。", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "初期化に失敗しました: 'compileCommands' と 'cppProperties' を両方構成することはできません。", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "初期化に失敗しました: 'compileCommands' パスが見つかりません: '{0}'。", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "初期化に失敗しました: 'cppProperties' パスが見つかりません: '{0}'。", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初期化に失敗しました: 'cppProperties' によって指定されたファイルを解析できません: '{0}'。JSON 形式を確認します。エラー: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "初期化に失敗しました: 'cppProperties' ファイルから構成を読み取ることができません: '{0}'。スキーマを確認します。", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "初期化に失敗しました: '{0}' に有効な 'configurations' 配列が含まれていません。", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "初期化に失敗しました: 構成 '{0}' が 'cppProperties' ファイルに含まれていません: '{1}'。", + "Initialization failed: LSP config paths cache is missing.": "初期化に失敗しました: LSP 構成パス キャッシュがありません。", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl が見つかりません ({0})。認証とテレメトリには libcurl が必要です。", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl は、既定で macOS で使用できる必要があります。見つからない場合は、brew install curl を使用してインストールしてください", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "libcurl のインストール: sudo apt install libcurl4 (Debian/Ubuntu) または sudo dnf install libcurl (Fedora/RHEL)。", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl が読み込まれましたが、必要なシンボルが不足しています。これは、libcurl のバージョンが非常に古いか、互換性がないことを示している可能性があります。言語サーバーは、互換性のある libcurl が存在しない場合は動作できません。", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 が見つかりません ({0})。認証情報を安全に保存するには libsecret が必要です。libsecret をインストールします: sudo apt install libsecret-1-0 (Debian/Ubuntu) または sudo dnf install libsecret (Fedora/RHEL)。", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret が読み込まれましたが、必要なシンボルが不足しています。言語サーバーは、互換性のある libsecret が存在しない場合は動作できません。", + "Failed to disable telemetry.": "テレメトリを無効にできませんでした。", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "メソッドが見つかりません: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "既存のファイルと正規化されたパスが同じであるファイルの IntelliSense は処理できません。URI: {0}、正規化されたパス: {1}", + "Initializing": "初期化中", + "Initializing ({0} of {1})": "初期化中 ({0}/{1})", + "Initializing ({0} of {1}): {2}": "初期化中 ({0}/{1}): {2}", + "Initializing {0}": "{0} を初期化しています", + "Initializing projects": "プロジェクトを初期化しています", + "Initializing projects ({0} of {1})": "プロジェクトを初期化しています ({0}/{1})", + "Initializing projects ({0} of {1}): {2}": "プロジェクトを初期化しています ({0}/{1}): {2}", + "Initializing projects {0}": "プロジェクトを初期化しています: {0}", + "Checking for out of date files": "古いファイルをチェックしています", + "Checking for out of date files ({0} of {1})": "古いファイルをチェックしています ({0}/{1})", + "Checking for out of date files ({0} of {1}): {2}": "古いファイルをチェックしています ({0}/{1}): {2}", + "Checking for out of date files {0}": "古いファイルをチェックしています: {0}", + "Parsing files": "ファイルを解析しています", + "Parsing files ({0} of {1})": "ファイルを解析しています ({0}/{1})", + "Parsing files ({0} of {1}): {2}": "ファイルを解析しています ({0}/{1}): {2}", + "Parsing files {0}": "ファイルを解析しています: {0}", + "Parsing included files": "インクルード ファイルを解析しています", + "Parsing included files ({0} of {1})": "インクルード ファイルを解析しています ({0}/{1})", + "Parsing included files ({0} of {1}): {2}": "インクルード ファイルを解析しています ({0}/{1}): {2}", + "Parsing included files {0}": "インクルード ファイルを解析しています: {0}", + "Scanning #includes for more files": "追加ファイルの #includes をスキャンしています", + "Scanning #includes for more files ({0} of {1})": "追加ファイルの #includes をスキャンしています ({0}/{1})", + "Scanning #includes for more files ({0} of {1}): {2}": "追加ファイルの #includes をスキャンしています ({0}/{1}): {2}", + "Scanning #includes for more files {0} {1}": "追加ファイルの #includes をスキャンしています: {0} {1}", + "Ready (Updating external dependencies)": "準備完了 (外部依存関係の更新)", + "Ready (Updating external dependencies) ({0} of {1})": "準備完了 (外部依存関係の更新) ({0}/{1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "準備完了 (外部依存関係の更新) ({0}/{1}): {2}", + "Ready (Updating external dependencies) {0}": "準備完了 (外部依存関係の更新): {0}", + "Ready (Optimizing database)": "準備完了 (データベースの最適化)", + "Ready (Optimizing database) ({0} of {1})": "準備完了 (データベースの最適化) ({0}/{1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "準備完了 (データベースの最適化) ({0}/{1}): {2}", + "Ready (Optimizing database) {0}": "準備完了 (データベースの最適化): {0}", + "Creating Indexes": "インデックスを作成しています", + "Creating Indexes ({0} of {1})": "インデックスを作成しています ({0}/{1})", + "Creating Indexes ({0} of {1}): {2}": "インデックスを作成しています ({0}/{1}): {2}", + "Creating Indexes {0}": "インデックスを作成しています: {0}", + "Evaluating": "評価中", + "Evaluating ({0} of {1})": "評価中 ({0}/{1})", + "Evaluating ({0} of {1}): {2}": "評価中 ({0}/{1}): {2}", + "Evaluating {0}": "{0} を評価中", + "Indexing files": "ファイルのインデックスを作成しています", + "Indexing files ({0} of {1})": "ファイルのインデックスを作成しています ({0}/{1})", + "Indexing files ({0} of {1}): {2}": "ファイルのインデックスを作成しています ({0}/{1}): {2}", + "Indexing files {0}": "ファイルのインデックスを作成しています: {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "指定された --lsp-config ファイルが存在しない場合でも、サーバーの起動を許可します。", + "Initialization failed during engine setup.": "エンジンのセットアップ中に初期化に失敗しました。", + "Important:": "重要:", + "Unknown OS platform": "不明な OS プラットフォーム", + "Could not get ProductVersion from SystemVersion.plist": "SystemVersion.plist から ProductVersion を取得できませんでした", + "Failed to find SystemVersion.plist in {0}.": "{0} で SystemVersion.plist が見つかりませんでした。", + "Refresh process list": "プロセスの一覧の更新", + "Attach to process": "プロセスにアタッチ", + "Select the process to attach to": "アタッチするプロセスを選択する", + "Process not selected.": "プロセスが選択されていません。", + "{0} in debug configuration requires {1} and {2}": "デバッグ構成の {0} には、{1} と {2} が必要です", + "Chosen debug configuration does not contain {0} or {1}": "選択されたデバッグ構成には {0} または {1} は含まれません", + "Pipe transport failed to get OS and processes.": "パイプ トランスポートで OS とプロセスを取得できませんでした。", + "Transport attach could not obtain processes list.": "転送アタッチでプロセス一覧を取得できませんでした。", + "Failed to make GDB connection: \"{0}\".": "GDB 接続を作成できませんでした: \"{0}\"。", + "Failed to parse processes: \"{0}\".": "プロセスを解析できませんでした: \"{0}\"。", + "Default Configuration": "既定の構成", + "Select a configuration": "構成の選択", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "タイプ '{0}' のデバッガーは、Windows でのみ使用できます。現在の OS プラットフォームでは、タイプ '{1}' を使用してください。", + "The key '{0}' is deprecated. Please use '{1}' instead.": "キー '{0}' は非推奨です。代わりに '{1}' をお使いください。", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "lldb-mi の 'LLDB.framework' が見つかりません。XCode または XCode コマンド ライン ツールをインストールしてください。", + "Launch configuration:": "起動の構成:", + "'deploySteps' require VS Code 1.69+.": "'deploySteps' にはVS Code 1.69 以降が必要です。", + "Running deploy steps...": "配置ステップを実行しています...", + "Unable to find {0}. {1} task is ignored.": "{0} が見つかりません。タスク {1} は無視されます。", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "{0} デバッガーが見つかりません。{1} のデバッグ構成は無視されます。", + "build and debug active file": "アクティブ ファイルのビルドとデバッグ", + "Apply Developer Environment": "開発環境の適用", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} には、Visual Studio 開発環境が必要です。", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "開発環境の更新", + "Cancel": "キャンセル", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Visual Studio 開発者環境が適用されなかったため、ソース コードをビルドできませんでした。", + "The source code could not be built because the Visual C++ compiler could not be found.": "Visual C++ コンパイラが見つからなかったため、ソース コードをビルドできませんでした。", + "Missing dependency '{0}' for lldb-mi executable.": "lldb-mi 実行可能ファイルの依存関係 '{0}' が見つかりません。", + "Searched in:": "検索対象:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "この問題を解決するには、Apple App Store から XCode をインストールするか、またはターミナル ウィンドウで '{0}' を実行して XCode コマンド ライン ツールをインストールしてください。", + "Failed to use {0}. Reason: {1}": "{0} を使用できませんでした。理由: {1}", + "Replacing {0} '{1}' with '{2}'.": "{0} '{1}' を '{2}' と置き換えています。", + "Resolving variables in {0}...": "{0} の変数を解決しています...", + "Open {0}": "{0} を開く", + "Recently Used Task": "最近使用されたタスク", + "Configured Task": "構成されたタスク", + "Detected Task": "検出されたタスク", + "Cannot build and debug because the active file is not a C or C++ source file.": "アクティブ ファイルが C または C++ ソース ファイルではないため、ビルドおよびデバッグできません。", + "No compiler found": "コンパイラが見つかりませんでした", + "Select a debug configuration": "デバッグ構成を選択する", + "\"args\" in command deploy step must be an array.": "コマンド デプロイ ステップの \"args\" は配列である必要があります。", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "\"host\"、\"files\"、\"targetDir\" は {0} ステップで必要です。", + "\"files\" must be a string or an array of strings in {0} steps.": "\"files\" は、{0} ステップの文字列または文字列の配列である必要があります。", + "\"host\" and \"command\" are required for ssh steps.": "\"host\" および \"command\" は ssh ステップに必要です。", + "\"command\" is required for shell steps.": "\"command\" はシェル ステップに必要です。", + "Deploy step type {0} is not supported.": "デプロイ ステップの種類 {0} はサポートされていません。", + "Unexpected OS type": "予期しない OS の種類", + "full path to pipe program such as {0}": "{0} などのパイプ プログラムへの完全なパス", + "Enable pretty-printing for {0}": "{0} の再フォーマットを有効にする", + "Set Disassembly Flavor to {0}": "逆アセンブリ フレーバーを {0} に設定", + "enter program name, for example {0}": "プログラム名を入力してください (例: {0})", + "Launch": "起動", + "Launch with {0}.": "{0} で起動します。", + "Attach": "接続", + "Attach with {0}.": "{0} でアタッチします。", + "Pipe Launch": "パイプの起動", + "Pipe Launch with {0}.": "{0} によるパイプの起動。", + "Pipe Attach": "パイプのアタッチ", + "Pipe Attach with {0}.": "{0} によるパイプのアタッチ。", + "Launch with the Visual Studio C/C++ debugger.": "Visual Studio C/C++ デバッガーで起動します。", + "Attach to a process with the Visual Studio C/C++ debugger.": "Visual Studio C/C++ デバッガーにより、プロセスにアタッチします。", + "Bash on Windows Launch": "Bash on Windows の起動", + "Launch in Bash on Windows using {0}.": "{0} を使用して、Bash on Windows で起動します。", + "Bash on Windows Attach": "Bash on Windows のアタッチ", + "Attach to a remote process running in Bash on Windows using {0}.": "{0} を使用して、Bash on Windows で実行されているリモート プロセスにアタッチします。", + "Debugger type '{0}' is not available for non-Windows machines.": "デバッガーのタイプ '{0}' は、Windows 以外のコンピューターでは使用できません。", + "Run Without Debugging is only supported for launch configurations.": "デバッグなしで実行は、起動構成でのみサポートされています。", + "Add debug configuration is not available for single file.": "デバッグ構成の追加は、単一ファイルでは使用できません。", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "解析エラー \"{0}\" のため、SSH 構成ファイルを変更できません。", + "No valid SSH configuration file found.": "有効な SSH 構成ファイルが見つかりません。", + "Enter SSH Target Name": "SSH ターゲット名を入力してください", + "Example: `mySSHTarget`": "例: `mySSHTarget`", + "Enter SSH Connection Command": "SSH 接続コマンドを入力する", + "Example: `ssh hello@microsoft.com -A`": "例: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "SSH 構成ファイルの選択", + "Yes": "はい", + "No": "いいえ", + "Are you sure you want to permanently delete \"{0}\"?": "\"{0}\" を完全に削除してもよろしいですか?", + "Operating system \"{0}\" not supported.": "オペレーティング システム \"{0}\" はサポートされていません。", + "\"{0}\" timed out after {1} seconds.": "\"{0}\" が {1} 秒後にタイムアウトします。", + "\"{0}\" canceled.": "\"{0}\" がキャンセルされました。", + "\"{0}\" exited with code: \"{1}\".": "\"{0}\" がコード \"{1}\" で終了しました。", + "Failed to spawn \"{0}\".": "\"{0}\" を生成できませんでした。", + "Ignoring non-parsable lines in {0} {1}: ": "{0} {1} で解析できない行を無視します: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "ターミナル エミュレーターが見つかりません。$TERMINAL 環境変数を使用するターミナル エミュレーターに設定するか、次のいずれかをインストールしてください: x-terminal-emulator、gnome-terminal、konsole、xterm。", + "Select a compiler to configure for IntelliSense": "IntelliSense 用に構成するコンパイラを選択する", + "How would you like to configure IntelliSense for the '{0}' folder?": "'{0}' フォルダーの IntelliSense をどのように構成しますか?", + "How would you like to configure IntelliSense for this folder?": "このフォルダーの IntelliSense をどのように構成しますか?", + "Found at {0}": "{0} で見つかりました", + "Use {0}": "{0} を使用する", + "configuration providers": "構成プロバイダー", + "compilers": "コンパイラ", + "Select IntelliSense Configuration...": "IntelliSense 構成を選択...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "IntelliSense が構成されていません。独自の構成を設定しない限り、IntelliSense は機能しない可能性があります。", + "Select another compiler on my machine...": "コンピューター上の別のコンパイラを選択...", + "Help me install a compiler": "コンパイラのインストールに関するヘルプ", + "Install a compiler": "コンパイラのインストール", + "Do not configure with a compiler (not recommended)": "コンパイラで構成しない (推奨されません)", + "EPERM: Check permissions for '{0}'": "EPERM: '{0}' のアクセス許可を確認してください", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "C/C++ 言語サーバーを起動できません。IntelliSense 機能は無効になります。エラー: {0}", + "The language server crashed. Restarting...": "言語サーバーがクラッシュしました。再起動しています...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "言語サーバーが過去 3 分間に 5 回クラッシュしました。再起動されません。", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} が次に変更されました: {1}", + "Dismiss": "消去", + "Disable Warnings": "警告を無効にする", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} が '{1}' の IntelliSense 構成情報を指定できません。'{2}' 構成からの設定が代わりに使用されます。", + "The requested configuration name is not found: {0}": "要求された構成名が見つかりません: {0}", + "Unsupported client": "サポートされていないクライアント", + "Timed out in {0}ms.": "{0} ミリ秒でタイムアウトしました。", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "{1} C/C++ ソース ファイルが検出された {0} ファイルを列挙しました。パフォーマンスを向上させるために、一部のファイルを除外することを検討してください。", + "Learn More": "詳細情報", + "Don't Show Again": "今後は表示しない", + "Update IntelliSense time (sec): {0}": "IntelliSense 時間 (秒) の更新: {0}", + "Custom configurations received:": "カスタム構成を受信しました:", + "Custom browse configuration received: {0}": "カスタムの参照構成を受信しました: {0}", + " Declaration/definition was copied.": " 宣言/定義がコピーされました。", + "Name the extracted function": "抽出された関数に名前を付ける", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "関数への抽出に失敗しました: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "関数への抽出に失敗しました。無効な編集が生成されました: '{0}'", + "Fix all code analysis problems": "すべてのコード分析の問題を修正する", + "Clear all code analysis problems": "すべてのコード分析の問題をクリアする", + "Fix all {0} problems": "すべての {0} の問題を修正する", + "Disable all {0} problems": "すべての {0} の問題を無効にする", + "Clear all {0} problems": "すべての {0} の問題をクリアする", + "Clear this {0} problem": "この {0} 問題をクリアします", + "Fix this {0} problem": "この {0} の問題を修正する", + "Show documentation for {0}": "{0} のドキュメントを表示する", + "IntelliSense mode {0} is incompatible with compiler path.": "IntelliSense モード {0} は、コンパイラ パスと互換性がありません。", + "Processed c_cpp_properties.json in {0}s": "c_cpp_properties.json を {0} 秒で処理しました", + "Failed to create \"{0}\"": "\"{0}\" を作成できませんでした", + "Invalid configuration file. There must be at least one configuration present in the array.": "構成ファイルが無効です。配列には少なくとも 1 つの構成が必要です。", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "c_cpp_properties.json に不明なバージョン番号が見つかりました。一部の機能が予期したとおりに動作しない可能性があります。", + "Attempt to update \"{0}\" failed (do you have write access?)": "\"{0}\" を更新しようとして失敗しました (書き込みアクセス権限があるか確認してください)", + "Failed to parse \"{0}\"": "\"{0}\" を解析できませんでした", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "スペースを含むコンパイラ パスが見つかりませんでした。コンパイラ引数を含める場合は、コンパイラ パスを二重引用符 ({0}) で囲みます。", + "Cannot find: {0}": "{0} が見つかりません。", + "Path is not a file: {0}": "パスがファイルではありません: {0}", + "The include path validation took {0}s to evaluate": "インクルード パスの検証で評価に {0} 秒かかりました", + "Failed to resolve include path. Error: {0}": "インクルード パスを解決できません。エラー: {0}", + "Do not add extra quotes around paths.": "パスの前後に余分な引用符を追加しないでください。", + "Path is not a directory: {0}": "パスがディレクトリではありません: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} が重複しています。構成名は一意である必要があります。", + "Path took {0}s to evaluate": "パスは評価するのに {0} 秒かかりました", + "Failed to resolve path {0}. Error: {1}": "パス {0} を解決できませんでした。エラー: {1}", + "Multiple paths are not allowed.": "複数のパスは使用できません。", + "Multiple paths should be separate entries in an array.": "複数のパスは、配列内の個別のエントリである必要があります。", + "Paths are not directories: {0}": "パスはディレクトリではありません: {0}", + "Error while retrieving result. Reason: {0}": "結果の取得中にエラーが発生しました。理由: {0}", + "build active file": "アクティブなファイルのビルド", + "compiler:": "コンパイラ:", + "Task generated by Debugger.": "デバッガーによって生成されたタスク。", + "Starting build...": "ビルドを開始しています...", + "Build run was terminated.": "ビルドの実行が終了しました。", + "Build finished with error(s).": "ビルドが完了しましたが、エラーが発生しました。", + "Build finished with warning(s).": "ビルドが完了しましたが、警告が発生しました。", + "Build finished successfully.": "ビルドが正常に完了しました。", + "No context provided": "コンテキストが指定されていません", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "「Visual Studio 開発環境の設定」コマンドは Windows でのみ利用可能です", + "A Visual Studio installation with the C++ compiler was not found": "C++ コンパイラを使用したVisual Studioインストールが見つかりませんでした", + "The operation was cancelled": "操作は取り消されました", + "No hosts found": "ホストが見つかりません", + "Configuring developer environment...": "開発者環境を構成しています...", + "Select a Visual Studio installation": "Visual Studio のインストールを選択します", + "Advanced options...": "詳細オプション...", + "Select a specific host and target architecture, toolset version, etc.": "特定のホストとターゲットのアーキテクチャ、ツールセットのバージョンなどを選択します", + "Select a toolset version": "ツールセット バージョンの選択", + "Select a host and target architecture": "ホストとターゲット アーキテクチャを選択します", + "Something went wrong: {0}": "問題が発生しました: {0}", + "{0} developer environment for {1}": "{1} 用の {0} 開発環境", + "Default environment for {0}": "{0} の既定の環境", + "host = {0}, target = {1}": "host = {0}, target = {1}", + "Learn how to install a library for this header with vcpkg": "このヘッダーのライブラリを vcpkg でインストールする方法の詳細", + "Copy vcpkg command to install '{0}' to the clipboard": "'{0}' をインストールするための vcpkg コマンドをクリップボードにコピーする", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "`C_Cpp.intelliSenseEngine` が `disabled` に設定されている場合、IntelliSense 関連のコマンドは実行できません。", + "client not found": "クライアントが見つかりませんでした", + "OK": "OK", + "The clang compiler will now be installed": "clang コンパイラがインストールされます", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "インストールを承認するために、VS Code ターミナル ウィンドウにパスワードの入力を求められる場合があります。", + "The gcc compiler will now be installed": "gcc コンパイラがインストールされます", + "Open a folder first to select a configuration.": "構成を選択するには、まずフォルダーを開いてください。", + "Open a folder first to select a configuration provider.": "構成プロバイダーを選択するには、まずフォルダーを開いてください。", + "Open a folder first to edit configurations": "構成を編集するには、まずフォルダーを開いてください", + "The code analysis fix could not be applied because the document has changed.": "ドキュメントが変更されたため、コード分析修正プログラムを適用できませんでした。", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "C/C++ 拡張機能のプレリリース版が利用可能です。切り替えますか?", + "Copilot summary is not available.": "Copilot の概要は使用できません。", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "このシンボルの定義または宣言を含むファイルは、Copilot での使用から除外されています。", + "Copilot summary is not available for this symbol.": "Copilot の概要は、このシンボルでは使用できません。", + "An error occurred while generating Copilot summary.": "Copilot 要約の生成中にエラーが発生しました。", + "Duplicate multiline comment patterns detected.": "重複する複数行コメントのパターンが検出されました。", + "Error while retrieving the project context. Reason: {0}": "プロジェクト コンテキストの取得中にエラーが発生しました。理由: {0}", + "Error while retrieving the #cpp context.": "#cpp コンテキストの取得中にエラーが発生しました。", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}、{1}", + "Find All References": "すべての参照を検索", + "Peek References": "参照のクイック表示", + "Rename": "名前の変更", + "Call Hierarchy": "呼び出し階層", + "CONFIRMED REFERENCE": "参照が確認されました", + "CONFIRMATION IN PROGRESS": "確認が進行中です", + "COMMENT REFERENCE": "コメント参照", + "STRING REFERENCE": "文字列参照", + "INACTIVE REFERENCE": "アクティブでない参照", + "CANNOT CONFIRM REFERENCE": "参照を確認できません", + "NOT A REFERENCE": "参照ではありません", + "Confirmed reference": "確認済みの参照", + "Confirmation in progress": "確認が進行中です", + "Comment reference": "コメント参照", + "String reference": "文字列参照", + "Inactive reference": "アクティブでない参照", + "Cannot confirm reference": "参照を確認できません", + "Not a reference": "参照ではありません", + "CONFIRMATION CANCELED": "確認がキャンセルされました", + "Confirmation canceled": "確認がキャンセルされました", + "To preview results, click the search icon in the status bar.": "結果をプレビューするには、ステータス バーの検索アイコンをクリックします。", + "Started.": "開始しました。", + "Processing source.": "ソースを処理しています。", + "Searching files.": "ファイルを検索しています。", + "{0}/{1} files searched.{2}": "{0}/{1} 個のファイルが検索されました。{2}", + "{0}/{1} files confirmed.{2}": "{0}/{1} 個のファイルを確認しました。{2}", + "C/C++ Peek References": "C/C++ の参照のクイック表示", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[警告] {0} が開始されたときにワークスペースの解析が不完全だったため、参照の一部がない可能性があります。", + "Go to reference": "参照へ移動", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "コードのフォーマットでは、.clang-format ではなく .editorconfig の設定を使用しています。詳細については、'C_Cpp.formatting' 設定の 'default' 値に関するドキュメントを参照してください。", + "C/C++ Configurations": "C/C++ 構成", + "IntelliSense: Updating": "IntelliSense: 更新中", + "IntelliSense: Ready": "IntelliSense: 準備完了", + "Initializing Workspace": "ワークスペースの初期化", + "Indexing Workspace": "ワークスペースのインデックス作成", + "Parsing Workspace": "ワークスペースを解析しています", + "Parsing Workspace: Paused": "ワークスペースを解析しています: 一時停止", + "Parsing Complete": "解析完了", + "Rescan Workspace": "ワークスペースの再スキャン", + "Parsing Open Files": "開いているファイルを解析しています", + "Code Analysis: Running": "コード分析: 実行中", + "Code Analysis: Paused": "コード分析: 一時停止", + "Code Analysis Mode: ": "コード分析モード: ", + "click to preview results": "クリックして結果をプレビューします", + "Configure IntelliSense": "IntelliSense の構成", + "C/C++ IntelliSense Status": "C/c + + IntelliSense の状態", + "Rescan": "再スキャン", + "Rescan IntelliSense": "IntelliSense の再スキャン", + "C/C++ Tag Parser Status": "C/C + + タグ パーサーの状態", + "Initializing...": "初期化しています...", + "Resume": "再開", + "Pause": "一時停止", + "C/C++ Code Analysis Status": "C/C++ コード分析の状態", + "Run Now": "直ちに実行", + "Automatic": "自動", + "Manual": "手動", + "Options": "オプション", + "Starting...": "開始しています...", + "Running: {0} / {1} ({2}%)": "実行中: {0} / {1} ({2}%)", + "Select a code analysis command...": "コード分析コマンドを選択...", + "Start Another...": "別のファイルを開始...", + "Select a command...": "コマンドを選択する...", + "Run Code Analysis on Active File": "アクティブ ファイルでコード分析を実行する", + "Run Code Analysis on All Files": "すべてのファイルでコード分析を実行する", + "Run Code Analysis on Open Files": "開いているファイルでコード分析を実行する", + "C/C++ References Status": "C/C + + リファレンスの状態", + "C/C++ Configuration": "C/C++ 構成", + "C/C++ Configure IntelliSense": "C/C++ IntelliSense の構成", + "Select a Configuration...": "構成を選択する...", + "Edit Configurations (UI)": "構成の編集 (UI)", + "Edit Configurations (JSON)": "構成の編集 (JSON)", + "Select a Configuration Provider...": "構成プロバイダーを選択してください...", + "active": "アクティブ", + "none": "なし", + "Disable the active configuration provider, if applicable.": "該当する場合は、アクティブな構成プロバイダーを無効にします。", + "Select a workspace folder...": "ワークスペース フォルダーを選択します...", + "Failed to connect to {0}": "{0} への接続に失敗しました", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "localForwards で \"bindAddress\" または \"port\" と同時に \"localSocket\" を指定することはできません", + "\"port\" or \"localSocket\" required in localForwards": "\"port\" または \"localSocket\" は localForwards で必要です", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "localForwards で \"host\" または \"hostPort\" と同時に \"remoteSocket\" を指定することはできません", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "\"host\" および \"hostPort\"、または \"remoteSocket\" が localForwards で必要です", + "SSH command canceled": "SSH コマンドが取り消されました", + "Enter passphrase for ssh key {0}": "SSH キー {0} のパスフレーズを入力してください", + "Enter password for user \"{0}\"": "ユーザー \"{0}\" のパスワードを入力します。", + "Enter password": "パスワードを入力してください", + "Are you sure you want to continue?": "続行しますか?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\" のフィンガープリントは \"{1}\" です。", + "Continue": "続行", + "\"{0}\" terminal command canceled.": "\"{0}\" ターミナル コマンドが取り消されました。", + "\"{0}\" terminal command done.": "\"{0}\" ターミナル コマンドが完了しました。", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "タスク '{0}' は取り消されましたが、基になるコマンドを終了できない可能性があります。手動で確認してください。", + "\"{0}\" process failed: {1}": "\"{0}\" プロセスに失敗しました: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" ターミナルにデータを書き込みました: \"{1}\"。", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "SSH のユーザー情報が見つかりませんでした。これは、'snap' を使用して VS Code がインストールされていることが原因である可能性があります。SSH 機能の使用を計画している場合は、'deb' パッケージを使用して VS Code を再インストールしてください。", + "Failed to parse SSH configuration file {0}: {1}": "SSH 構成ファイル {0} を解析できませんでした: {1}", + "Failed to read file {0}.": "ファイル {0} を読み取れませんでした。", + "Failed to write to file {0}.": "ファイル {0} に書き込めませんでした。", + "Inline macro is not available at this location.": "インライン マクロは、この場所では使用できません。", + "AI-generated content may be incorrect.": "AI によって生成されたコンテンツが正しくない可能性があります。", + "Invalid identifier provided for the Rename Symbol operation.": "シンボルの名前変更操作に対して無効な識別子が指定されました。", + "A definition for the selected symbol could not be located.": "選択されたシンボルの定義が見つかりませんでした。", + "No SSH targets": "SSH ターゲットなし", + "Active SSH target selection cancelled.": "アクティブな SSH ターゲットの選択がキャンセルされました。", + "{0} Add New SSH Target...": "{0} 新しい SSH ホストを追加する...", + "Select an SSH target": "SSH ターゲットの選択", + "[Active]": "[アクティブ]" +} diff --git a/Extension/i18n/kor/bundle.l10n.json b/Extension/i18n/kor/bundle.l10n.json new file mode 100644 index 000000000..86e126598 --- /dev/null +++ b/Extension/i18n/kor/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "주석 또는 후행 쉼표로 인해 json 파일을 구문 분석하지 못했습니다.", + "The C/C++ extension is still installing. See the output window for more information.": "C/C++ 확장을 아직 설치하고 있습니다. 자세한 내용은 출력 창을 참조하세요.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "문제 해결 정보를 보려면 {0} 을(를) 참조하세요. 문제는 {1} 에서 만들 수 있습니다.", + "Process exited with code {0}": "프로세스가 {0} 코드로 종료됨", + "Process executed successfully.": "프로세스가 성공적으로 실행되었습니다.", + "Killing process {0}": "프로세스 {0} 종료 중", + "Warning: Expected file {0} is missing.": "경고: 필요한 {0} 파일이 없습니다.", + "Warning: Debugging has not been tested for this platform.": "경고: 디버깅이 이 플랫폼에서 테스트되지 않았습니다.", + "Reload the workspace for the settings change to take effect.": "설정 변경 내용을 적용하려면 작업 영역을 다시 로드합니다.", + "Reload": "다시 로드", + "Custom configuration provider '{0}' registered": "사용자 지정 구성 공급자 '{0}'이(가) 등록됨", + "Reached max string expansion recursion. Possible circular reference.": "최대 문자열 확장 재귀에 도달했습니다. 순환 참조가 발생할 수 있습니다.", + "Invalid variable reference {0} in string: {1}.": "{1} 문자열에 잘못된 변수 참조 {0} 이(가) 있습니다.", + "Environment variable {0} not found": "환경 변수 {0} 을(를) 찾을 수 없습니다.", + "Commands are not supported for string: {0}.": "{0} 문자열에는 명령이 지원되지 않습니다.", + "Exception while executing command {0} for string: {1} {2}.": "{1} {2} 문자열에 대해 {0} 명령을 실행하는 동안 예외가 발생했습니다.", + "C/C++ Diagnostics": "C/C++ 진단", + "C/C++ Crash Call Stacks": "C/C++ 충돌 호출 스택", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "C/C++ 확장 프로세스에 충돌이 발생했습니다. 충돌하는 프로세스 이름, 날짜/시간, 신호, 호출 스택이 아래에 나열되어 있습니다. 이를 버그 보고서({0})에 포함하면 도움이 될 수 있습니다.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "C/C++ 디버그 프로토콜", + "C/C++ Configuration Warnings": "C/C++ 구성 경고", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "{0} 보다 최신 버전의 C/C++ 확장에는 macOS 버전 {1} 이상이 필요합니다.", + "intelliSenseEngine is disabled": "IntelliSenseEngine이 비활성화되었습니다.", + "More Info": "더 많은 정보", + "Ignore": "무시", + "The C/C++ extension installed does not match your system.": "설치된 C/C++ 확장이 시스템과 일치하지 않습니다.", + "The C/C++ extension installed is compatible with but does not match your system.": "설치된 C/C++ 확장이 시스템과 호환되지만 일치하지 않습니다.", + "Searching include path...": "포함 경로를 검색하는 중...", + "Include file not found in browse.path.": "browse.path에서 포함 파일을 찾을 수 없습니다.", + "Edit \"browse.path\" setting": "\"browse.path\" 설정 편집", + "Add to \"includePath\": {0}": "\"includePath\"에 추가: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "'{0}' 추가", + "Edit \"includePath\" setting": "\"includePath\" 설정 편집", + "Disable error squiggles": "오류 표시선 사용 안 함", + "Enable all error squiggles": "모든 오류 표시선 사용", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "#include 오류가 검색되었습니다. includePath를 업데이트하세요. 이 변환 단위({0})에는 물결선을 사용할 수 없습니다.", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include 오류가 검색되었습니다. includePath를 업데이트하는 것이 좋습니다. 이 변환 단위({0})에 대한 IntelliSense 기능은 태그 파서에서 제공됩니다.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include 오류가 검색되었습니다. compile_commands.json 또는 includePath를 업데이트하는 것이 좋습니다. 이 변환 단위({0})에 대한 IntelliSense 기능은 태그 파서에서 제공됩니다.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\"을(를) 구문 분석할 수 없습니다. '{1}' 폴더에 있는 c_cpp_properties.json의 'includePath'가 대신 사용됩니다.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\"을(를) 찾을 수 없습니다. '{1}' 폴더에 있는 c_cpp_properties.json의 'includePath'가 대신 사용됩니다.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{1}\"에서 \"{0}\"을(를) 찾을 수 없습니다. '{2}' 폴더에 있는 c_cpp_properties.json의 'includePath'가 이 파일에 대신 사용됩니다.", + "The IntelliSense database was successfully reset.": "IntelliSense 데이터베이스를 다시 설정했습니다.", + "Failed to send response to client: {0}": "클라이언트에 응답을 보내지 못했음: {0}", + "Failed to read response from server: {0}": "서버에서 응답을 읽지 못했음: {0}", + "Failed to send request to server: {0}": "서버에 요청을 보내지 못했음: {0}", + "Unexpected error while waiting for requests: {0}": "요청을 기다리는 동안 예기치 않은 오류 발생: {0}", + "{0} errored with: {1}": "다음으로 인해 {0} 오류 발생: {1}", + "Failed to open the file {0}": "{0} 파일을 열지 못했습니다.", + "Failed to query default include paths and defines for {0}.": "{0} 의 기본 포함 경로 및 정의를 쿼리하지 못했습니다.", + "Failed calling {0}": "{0} 을(를) 호출하지 못했습니다.", + "Quick info operation failed: {0}": "요약 정보 작업 실패: {0}", + "Failed to create IntelliSense client: {0}": "IntelliSense 클라이언트를 만들지 못함: {0}", + "Failed to spawn IntelliSense process: {0}": "IntelliSense 프로세스를 생성하지 못했음: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "browse_engine_update_thread.join()을 호출하는 동안 오류 발생: {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "이 파일({0})은 편집기에서 이미 열려 있지만 대/소문자가 다릅니다. 이 파일 복사본에서 IntelliSense 기능을 사용할 수 없습니다.", + "IntelliSense client has disconnected from the server - {0}": "서버에서 IntelliSense 클라이언트의 연결이 끊어졌습니다. {0}", + "Formatting failed:": "서식을 지정하지 못했습니다.", + "Unable to add file to database, error = {0}: {1}": "데이터베이스에 파일을 추가할 수 없습니다. 오류 = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "중단하는 동안 타임스탬프를 다시 설정하지 못했습니다. 오류 = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "타임스탬프를 업데이트할 수 없습니다. 오류 = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "파일 업데이트를 완료할 수 없습니다. 오류 = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} 은(는) 디렉터리가 아닙니다(st_mode={1}).", + "Unable to retrieve file system information for {0}. error = {1}": "{0} 의 파일 시스템 정보를 검색할 수 없습니다. 오류 = {1}", + "{0} is not a directory": "{0} 은(는) 디렉터리가 아닙니다.", + "File discovery was aborted": "파일 검색이 중단되었습니다.", + "Aborting tag parse of {0} and dependencies": "{0} 및 종속성의 태그 구문 분석을 중단하는 중", + "Aborting tag parse at root": "루트에서 태그 구문 분석을 중단합니다.", + "Unable to retrieve DB records to reset timestamps: error = {0}": "타임스탬프를 다시 설정할 DB 레코드를 검색할 수 없습니다. 오류 = {0}", + "Failed to reset timestamp for {0}: error = {1}": "{0} 에 대한 타임스탬프를 다시 설정하지 못했습니다. 오류 = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "적합한 컴파일러를 찾을 수 없습니다. c_cpp_properties.json에서 \"compilerPath\"를 설정하세요.", + "Compiler include path not found: {0}": "컴파일러 포함 경로를 찾을 수 없음: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "IntelliSense 엔진이 응답하지 않습니다. 태그 파서를 대신 사용합니다.", + "Tag Parser will be used for IntelliSense operations in: {0}": "태그 파서가 다음의 IntelliSense 작업에서 사용됨: {0}", + "Error squiggles will be disabled in: {0}": "오류 표시선을 사용할 수 없는 위치: {0}", + "Processing folder (non-recursive): {0}": "폴더를 처리하는 중(비재귀적): {0}", + "Processing folder (recursive): {0}": "폴더를 처리하는 중(재귀적): {0}", + "File exclude: {0}": "파일 제외: {0}", + "Search exclude: {0}": "검색 제외: {0}", + "Discovering files: {0} file(s) processed": "파일 검색 중: {0} 개 파일 처리됨", + "{0} file(s) removed from database": "{0} 파일이 데이터베이스에서 제거되었습니다.", + "Parsing: {0} files(s) processed": "구문 분석 중: {0} 개 파일 처리됨", + "Shutting down IntelliSense server: {0}": "IntelliSense 서버를 종료하는 중: {0}", + "Resetting IntelliSense server: {0}": "IntelliSense 서버를 다시 설정하는 중: {0}", + "Code browsing service initialized": "코드 검색 서비스가 초기화되었습니다.", + "Folder: {0} will be indexed": "폴더: {0} 이(가) 인덱싱됩니다.", + "Populate include completion cache.": "포함 완료 캐시를 채웁니다.", + "Discovering files...": "파일을 검색하는 중...", + "Done discovering files.": "파일 검색을 완료했습니다.", + "Parsing open files...": "열린 파일을 구문 분석하는 중...", + "Done parsing open files.": "열린 파일의 구문 분석을 완료했습니다.", + "Parsing remaining files...": "나머지 파일을 구문 분석하는 중...", + "Done parsing remaining files.": "나머지 파일의 구문 분석을 완료했습니다.", + "Using configuration: \"{0}\"": "구성을 사용하는 중: \"{0}\"", + "{0} include path suggestion(s) discovered.": "{0} 포함 경로 제안이 검색되었습니다.", + "Checking for syntax errors: {0}": "구문 오류를 확인하는 중: {0}", + "IntelliSense Engine = {0}.": "IntelliSense 엔진 = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "이 확장은 #includes가 확인되지 않을 때 IntelliSense에 태그 파서를 사용합니다.", + "Autocomplete is enabled.": "자동 완성을 사용할 수 있습니다.", + "Autocomplete is disabled.": "자동 완성을 사용할 수 없습니다.", + "Hover is enabled.": "마우스로 가리키기를 사용할 수 있습니다.", + "Hover is disabled.": "마우스로 가리키기가 비활성화되었습니다.", + "Enhanced Colorization is enabled.": "향상된 색 지정이 사용하도록 설정되었습니다.", + "Error squiggles are disabled.": "오류 표시선이 사용하지 않도록 설정되었습니다.", + "Error squiggles are enabled.": "오류 표시선이 사용하도록 설정되었습니다.", + "Error squiggles are enabled if all header dependencies are resolved.": "모든 헤더 종속성이 확인되면 오류 표시선을 사용할 수 있습니다.", + "Replaced placeholder file record": "바뀐 자리 표시자 파일 레코드", + "tag parsing file: {0}": "태그 구문 분석 파일: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "태그 구문 분석 오류(기호를 찾을 수 없는 경우 무시할 수 있음):", + "Reset time stamp for {0}": "{0} 에 대한 타임스탬프 다시 설정", + "Failed to remove file: {0}": "파일을 제거하지 못했음: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Regex 구문 분석 오류 - vscode 패턴: {0}, regex: {1}, 오류 메시지: {2}", + "terminating child process: {0}": "자식 프로세스를 종료하는 중: {0}", + "still alive, killing...": "계속 활성화되어 있습니다. 종료하는 중...", + "giving up": "포기", + "not exited yet. Will sleep for {0} milliseconds and try again.": "아직 종료되지 않았습니다. {0} 밀리초 동안 일시 중지된 후 다시 시도합니다.", + "Failed to spawn process. Error: {0} ({1})": "프로세스를 생성하지 못했습니다. 오류: {0}({1})", + "Offering completion": "완료 제공 중", + "Attempting to get defaults from compiler found on the machine: '{0}'": "머신에 있는 컴파일러(경로: '{0}')에서 기본값을 가져오는 중입니다.", + "Unable to resolve include path: {0}": "포함 경로를 확인할 수 없음: {0}", + "Error searching for IntelliSense client: {0}": "IntelliSense 클라이언트를 검색하는 동안 오류 발생: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "IntelliSense 클라이언트를 사용할 수 없습니다. 요약 정보에 태그 파서를 사용합니다.", + "using Tag Parser for quick info": "요약 정보에 태그 파서를 사용하는 중", + "Closing the communication channel.": "통신 채널을 닫는 중입니다.", + "sending compilation args for {0}": "{0} 에 대한 컴파일 인수를 보내는 중", + "include: {0}": "포함: {0}", + "framework: {0}": "프레임워크: {0}", + "define: {0}": "정의: {0}", + "preinclude: {0}": "미리 포함: {0}", + "other: {0}": "기타: {0}", + "sending {0} changes to server": "서버에 {0} 변경 내용을 보내는 중", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "열린 파일 인스턴스가 잘못되었습니다. {0} 파일에 대한 IntelliSense 메시지를 무시합니다.", + "idle loop: reparsing the active document": "유휴 루프: 활성 문서를 구문 분석하는 중", + "IntelliSense client is currently disconnected": "현재 IntelliSense 클라이언트의 연결이 끊어졌습니다.", + "Request canceled: {0}": "요청이 취소됨: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "IntelliSense 클라이언트를 사용할 수 없습니다. 정의로 이동에 태그 파서를 사용합니다.", + "Error squiggle count: {0}": "오류 표시선 수: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "다음 변환 단위의 파일에 대한 IntelliSense 업데이트를 큐에 추가하는 중: {0}", + "Formatting document: {0}": "문서 서식을 지정하는 중: {0}", + "Formatting input:": "입력 서식을 지정하는 중:", + "Formatting raw output:": "원시 출력 서식을 지정하는 중:", + "Formatting diffed output before cursor:": "커서 앞에 차이점 비교 출력의 서식을 지정하는 중:", + "Formatting diffed output after cursor:": "커서 뒤에 차이점 비교 출력의 서식을 지정하는 중:", + "Formatting diffed output:": "차이점 비교 출력의 서식을 지정하는 중:", + "Disable inactive region colorization": "비활성 영역 색 지정 사용 안 함", + "Error limit exceeded, {0} error(s) not reported.": "오류 제한이 초과되었습니다. {0} 오류가 보고되지 않았습니다.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "#include 오류가 검색되었습니다. compile_commands.json 또는 includePath를 업데이트하는 것이 좋습니다. 이 변환 단위({0})에는 물결선을 사용할 수 없습니다.", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "IntelliSense 데이터베이스를 다시 설정할 수 없습니다. 수동으로 다시 설정하려면 VS Code 인스턴스를 모두 닫은 후 {0} 파일을 삭제합니다.", + "Formatting failed. See the output window for details.": "서식을 지정하지 못했습니다. 자세한 내용은 출력 창을 참조하세요.", + "Populating include completion cache.": "포함 완료 캐시를 채우는 중입니다.", + "Discovering files: {0}": "파일을 검색하는 중: {0}", + "Parsing open files": "열린 파일을 구문 분석하는 중", + "Tag parser initializing": "태그 파서를 초기화하는 중", + "Workspace parsing paused": "작업 영역 구문 분석 일시 중지됨", + "Parsing workspace files: {0}": "작업 영역 파일을 구문 분석하는 중: {0}", + "Discovering files: {0} / {1} ({2}%)": "파일 검색 중: {0}/{1}({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "작업 영역 파일을 구문 분석하는 중: {0}/{1}({2}%)", + "Can't find or run process_name": "process_name을 찾거나 실행할 수 없습니다.", + "Child exec failed {0}": "자식 실행 실패 {0}", + "Could not communicate with child process!": "자식 프로세스와 통신할 수 없습니다.", + "{0} failed": "{0} 실패", + "Failed to set {0} flag": "{0} 플래그를 설정하지 못했습니다.", + "Unable to create {0}!": "{0} 을(를) 만들 수 없습니다.", + "Failed to set stdin {0} flag": "stdin {0} 플래그를 설정하지 못했습니다.", + "Failed to set stdout {0} flag": "stdout {0} 플래그를 설정하지 못했습니다.", + "Failed to set stderr {0} flag": "stderr {0} 플래그를 설정하지 못했습니다.", + "Unable to start child process!": "자식 프로세스를 시작할 수 없습니다.", + "Timed out attempting to communicate with process!": "프로세스와 통신을 시도하는 동안 시간이 초과되었습니다.", + "Process has failed to run": "프로세스를 실행하지 못했습니다.", + "Specified compiler was not found: {0}": "지정한 컴파일러를 찾을 수 없음: {0}", + "Config data invalid, {0}": "구성 데이터가 잘못됨, {0}", + "CMake executable not found at {0}": "{0} 에서 CMake 실행 파일을 찾을 수 없음", + "No args provider": "인수 공급자가 없음", + "Invalid file path {0}": "잘못된 파일 경로 {0}", + "Can't create IntelliSense client for {0}": "{0} 에 대한 IntelliSense 클라이언트를 만들 수 없음", + "declaration": "선언", + "type alias": "형식 별칭", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "컴파일러가 64비트를 지원하지 않습니다. 32비트 intelliSenseMode로 대체하는 중입니다.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "컴파일러가 32비트를 지원하지 않습니다. 64비트 intelliSenseMode로 대체하는 중입니다.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "컴파일러를 쿼리하지 못했습니다. 32비트 intelliSenseMode로 대체하는 중입니다.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "컴파일러를 쿼리하지 못했습니다. 64비트 intelliSenseMode로 대체하는 중입니다.", + "Failed to query compiler. Falling back to no bitness.": "컴파일러를 쿼리하지 못했습니다. 0비트로 대체하는 중입니다.", + "IntelliSense client creation aborted: {0}": "IntelliSense 클라이언트 만들기가 중단됨: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "configurationProvider 설정에서 제공하는 정보를 기준으로 #include 오류가 검색되었습니다. 태그 파서가 이 변환 단위({0})에 적합한 IntelliSense 기능을 제공합니다.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "configurationProvider 설정에서 제공하는 정보를 기준으로 #include 오류가 검색되었습니다. 이 변환 단위({0})에서 물결선을 사용할 수 없습니다.", + "preprocessor keyword/Refers to C/C++ processor keywords": "전처리기 키워드", + "C keyword": "C 키워드", + "C++ keyword": "C++ 키워드", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+1개 오버로드", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "+%d개 오버로드", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+1개 특수화", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "+%d개 특수화", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "참고: IntelliSense는 완전히 구성되지 않았습니다. 'IntelliSense 구성 선택...' 명령을 사용하여 구성을 마칩니다.", + "Select an IntelliSense configuration to locate system headers": "IntelliSense 구성을 선택하여 시스템 헤더 찾기", + "Expands to:": "다음으로 확장:", + "Attention:": "주의:", + "Author:": "만든 이:", + "Authors:": "만든 이:", + "Bug:": "버그:", + "Copyright:": "저작권:", + "Deprecated:": "사용되지 않음:", + "Date:": "날짜:", + "Details:": "세부 정보:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "예외:", + "Invariant:": "고정:", + "File:": "파일:", + "Note:": "참고:", + "Parameters:": "매개 변수:", + "Precondition:": "전제 조건:", + "Postcondition:": "사후 조건:", + "Remark:": "설명:", + "Remarks:": "설명:", + "Result:": "결과:", + "Return:": "반환:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "반환 값:", + "See also:": "참고 항목:", + "Since:": "다음 이후:", + "Template Parameters:": "템플릿 매개 변수:", + "Test:": "테스트:", + "TODO:": "TODO:", + "Version:": "버전:", + "Warning:": "경고:", + "Compiler query command line: {0}": "컴파일러 쿼리 명령줄: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "\"compilerPath\" 속성의 C 컴파일러에서 기본값을 가져오려고 합니다. '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "\"compilerPath\" 속성의 C++ 컴파일러에서 기본값을 가져오려고 합니다. '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "compile_commands.json 파일의 C 컴파일러에서 기본값을 가져오려고 합니다. '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "compile_commands.json 파일의 C++ 컴파일러에서 기본값을 가져오려고 합니다. '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "C 소스 파일에서는 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "C++ 소스 파일에서는 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "C 소스 파일에서는 cStandard가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "C++ 소스 파일에서는 cppStandard가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "C 소스 파일에서는 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되고 cStandard가 \"{2}\"에서 \"{3}\"(으)로 변경되었습니다.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "C++ 소스 파일에서는 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되고 cppStandard가 \"{2}\"에서 \"{3}\"(으)로 변경되었습니다.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C 소스 파일에서는 컴파일러 인수 및 쿼리 compilerPath(\"{2}\")에 따라 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C++ 소스 파일에서는 컴파일러 인수 및 쿼리 compilerPath(\"{2}\")에 따라 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C 소스 파일에서는 컴파일러 인수 및 쿼리 compilerPath(\"{2}\")에 따라 cStandard가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C++ 소스 파일에서는 컴파일러 인수 및 쿼리 compilerPath(\"{2}\")에 따라 cppStandard가 \"{0}\"에서 \"{1}\"(으)로 변경되었습니다.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "C 소스 파일에서는 컴파일러 인수 및 쿼리 compilerPath(\"{4}\")에 따라 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되고 cStandard가 \"{2}\"에서 \"{3}\"(으)로 변경되었습니다.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "C++ 소스 파일에서는 컴파일러 인수 및 쿼리 compilerPath(\"{4}\")에 따라 IntelliSenseMode가 \"{0}\"에서 \"{1}\"(으)로 변경되고 cppStandard가 \"{2}\"에서 \"{3}\"(으)로 변경되었습니다.", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "CompilerPath가 \"{0}\"인 구성을 확인할 수 없습니다. \"{1}\"을(를) 대신 사용하세요.", + "Unable to resolve configuration with compilerPath: \"{0}\"": "CompilerPath가 \"{0}\"인 구성을 확인할 수 없습니다.", + "Skipping query of compiler due to explicitly empty compilerPath": "명시적으로 빈 compilerPath로 인해 컴파일러 쿼리를 건너뜁니다.", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "MSVC intelliSenseMode를 지정했습니다. 컴파일러 cl.exe에 대해 구성합니다.", + "Unable to configure for compiler cl.exe.": "컴파일러 cl.exe를 구성할 수 없습니다.", + "Querying compiler's default target using command line: \"{0}\" {1}": "명령줄을 사용하여 컴파일러의 기본 대상을 쿼리하는 중: \"{0}\" {1}", + "Compiler returned default target value: {0}": "컴파일러가 기본 대상 값을 반환함: {0}", + "Querying compiler for default C language standard using command line: {0}": "명령줄을 사용하여 기본 C 언어 표준에 대한 컴파일러를 쿼리하는 중: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "명령줄을 사용하여 기본 C++ 언어 표준에 대한 컴파일러를 쿼리하는 중: {0}", + "Detected language standard version: {0}": "언어 표준 버전이 검색됨: {0}", + "Unhandled default compiler target value detected: {0}": "처리되지 않은 기본 컴파일러 대상 값이 검색됨: {0}", + "Unhandled target argument value detected: {0}": "처리되지 않은 대상 인수 값이 검색됨: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "IntelliSense 서버를 종료하는 중: {0}. 메모리 사용량이 {1}MB이며 {2}MB 한도를 초과했습니다.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "기본 표준 버전에 대해 경로 \"{0}\"에서 컴파일러를 쿼리하지 못했습니다. 이 컴파일러에 대해서는 컴파일러 쿼리를 사용할 수 없습니다.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "컴파일러 쿼리에서 인식할 수 없는 언어 표준 버전을 반환했습니다. 지원되는 최신 버전이 대신 사용됩니다.", + "IntelliSense process crash detected.": "IntelliSense 프로세스 크래시가 감지되었습니다.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "IntelliSense 프로세스 크래시가 감지됨: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "반환 값:", + "Unable to locate nvcc compiler: {0}": "nvcc 컴파일러를 찾을 수 없음: {0}", + "Unable to locate nvcc host compiler: {0}": "nvcc 호스트 컴파일러를 찾을 수 없음: {0}", + "Invoking nvcc with command line: {0}": "명령줄을 사용하여 nvcc를 호출하는 중: {0}", + "Unable to find host compile command in output of nvcc.": "nvcc의 출력에서 호스트 컴파일 명령을 찾을 수 없습니다.", + "Unable to locate forced include: {0}": "강제 포함을 찾을 수 없음: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "인라인 매크로", + "Unable to access browse database. ({0})": "찾아보기 데이터베이스에 액세스할 수 없습니다({0}).", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "IntelliSenseMode가 검색된 컴파일러와 일치하지 않아 변경되었습니다. \"compilerPath\"를 대신 설정하는 것이 좋습니다. \"compilerPath\"를 \"\"(으)로 설정하여 시스템 포함 및 정의 검색을 사용하지 않도록 설정합니다.", + "Remove all code analysis problems": "모든 코드 분석 문제 제거", + "(Multiple locations)": "여러 위치", + "Folder": "폴더", + "File": "파일", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "컴파일러가 기본 언어 표준 버전 {0} 을(를) 반환했습니다. 이 버전은 이전 버전이므로 새 버전 {1} 을(를) 기본으로 사용하려고 합니다.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "clang-tidy에서 예기치 않은 출력: {0}. 예상: {1}.", + "Generate Doxygen comment": "Doxygen 주석 생성", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "{1} 에서 ‘{0}’의 선언 만들기", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "{1} 에서 ‘{0}’의 정의 만들기", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "'{0}'에 대한 함수 정의를 찾을 수 없습니다.", + "Attributes/'Attributes' is a C++ specifier.": "특성", + "Bases/'Bases' are a C++ class type.": "Bases", + "Classes": "클래스", + "CoClasses": "CoClasses", + "Delegates": "대리자", + "Enums": "열거형", + "Events": "이벤트", + "Functions": "함수", + "Import directives": "Import 지시문", + "ImportLib statements": "ImportLib 문", + "Import statements": "Import 문", + "Include directives": "Include 지시문", + "Interfaces": "인터페이스", + "Libraries": "라이브러리", + "Macros": "매크로", + "Maps": "Maps", + "Map entries": "맵 엔트리", + "Miscellaneous": "기타", + "Namespaces": "네임스페이스", + "Parameters": "매개 변수", + "Properties": "속성", + "Structs": "구조체", + "TODO: insert return statement here": "TODO: 여기에 return 문을 삽입합니다.", + "Typedefs": "Typedefs", + "Unions": "공용 구조체", + "Using aliases": "Using 별칭", + "Using directives": "Using 지시문", + "Variables": "변수", + "Automatic add function": "함수 자동 추가", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual은 필요하지 않습니다. vsCMFunctionComMethod와 함께 사용될 경우에 지정되어서는 안 됩니다.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod는 static일 수 없습니다.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "잘못된 C/C++ 파일: '%s'", + "File name too long: '%s'./%s is the file that has a long name.": "파일 이름이 너무 깁니다. '%s'", + "Cannot create file '%s'./%s is the file that could not be created.": "파일 '%s’을(를) 만들 수 없습니다.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "디렉터리 또는 파일 '%s'을(를) 쓰기용으로 액세스할 수 없습니다.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "잘못된 파일 경로: '%s'", + "File '%s' was not found./%s is the file that was not found.": "'%s' 파일을 찾을 수 없습니다.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "선언/정의 만들기 실패: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "함수 '%s'을(를) 만들 수 없습니다. 기본값 또는 삭제된 함수 만들기는 지원되지 않습니다.", + "Unable to create function '%s'./%s is the function that could not be created.": "'%s' 함수를 만들 수 없습니다.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "'%s' 함수에 대한 명확한 위치를 찾을 수 없습니다.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "'%s' 클래스 또는 네임스페이스를 찾을 수 없습니다.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "'%s'에서는 작업이 지원되지 않습니다.", + "Unknown error.": "알 수 없는 오류입니다.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "시스템 헤더를 찾으려면 'IntelliSense 구성 선택...' 명령을 실행하세요.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "'{0}'의 선언 복사", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "'{0}'의 정의 복사", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "선언/정의를 클립보드에 복사하지 못했습니다. %s", + "Extract to function": "함수로 추출", + "Extract to free function": "자유 함수로 추출", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "'{0}'의 멤버 함수로 추출", + "The selected text is not inside a function.": "선택한 텍스트가 함수 안에 없습니다.", + "The selected text cannot span different functions.": "선택한 텍스트는 여러 함수에 걸쳐 있을 수 없습니다.", + "Variable '%s' is declared in the selected region and then used below it.": "'%s' 변수가 선택한 영역에서 선언되고 그 아래에서 사용됩니다.", + "Preprocessor macro '%s' is used below the selected region.": "'%s' 전처리기 매크로가 선택한 영역 아래에서 사용됩니다.", + "The selected region spans an inactive preprocessor block.": "선택한 영역이 비활성 전처리기 블록으로 확장됩니다.", + "The selected region does not contain any code that can be extracted.": "선택한 영역에 추출할 수 있는 코드가 없습니다.", + "The selected region is not entirely within the function's body.": "선택한 영역이 완전히 함수 본문 내에 있지 않습니다.", + "The selection contains IntelliSense errors.": "선택 항목에 IntelliSense 오류가 포함되어 있습니다.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "'%s'을(를) 선택한 코드에서 선언하지 않았지만 수정하고 있습니다. C 코드는 인수를 참조로 전달할 수 없습니다.", + "The function would have to return a value by reference. C code cannot return references.": "이 함수는 값을 참조로 반환해야 합니다. C 코드는 참조를 반환할 수 없습니다.", + "Jumps between the selected code and the surrounding code are present.": "선택된 코드와 주변 코드 사이에 점프가 있습니다.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "선택된 코드에서 일부 제어 경로가 반환 값 설정 없이 종료됩니다. 이는 스칼라, 숫자 및 포인터 반환 형식에 대해서만 지원됩니다.", + "Expand selection (to enable 'Extract to function')": "선택 영역 확장('함수로 추출'을 사용하도록 설정)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "compile_commands.json 파일에서 \"{0}\"을(를) 찾을 수 없습니다. '{1}' 폴더의 c_cpp_properties.json 'includePath'가 대신 이 파일에 사용됩니다.", + "Generate Copilot summary": "Copilot 요약 생성", + "Unable to index files from non-existent folder: {0}": "존재하지 않는 폴더에서 파일을 인덱싱할 수 없습니다. {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "C/C++ 확장은 애플리케이션을 개발하고 테스트하기 위해 Microsoft Visual Studio, 맥용 Visual Studio, Visual Studio Code, Azure DevOps, Team Foundation Server 및 후속 Microsoft 제품 및 서비스에만 사용할 수 있습니다.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Microsoft C++ 언어 서버", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "사용법: {0} [옵션]", + "Options:": "옵션:", + "Show this help message and exit.": "이 도움말 메시지를 표시하고 끝냅니다.", + "Show version information and exit.": "버전 정보를 표시하고 끝냅니다.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "최종 사용자 사용권 계약(EULA)에 영구적으로 동의합니다.", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "stderr을 /dev/null로 리디렉션하지 않습니다(디버깅에 유용함).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "대화형 로그인을 시작합니다(GitHub Copilot 구독 필요).", + "Force the login process, even if already authenticated.": "이미 인증된 경우에도 로그인 프로세스를 강제로 적용합니다.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "보안 키체인을 사용할 수 없는 경우 자격 증명을 일반 텍스트로 저장할 수 있습니다.", + "Specify the directory for log files (default: system temp directory).": "로그 파일 디렉터리를 지정합니다(기본값: 시스템 임시 디렉터리).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "로깅 세부 정보 표시를 0(오류만)에서 9(자세히)로 설정합니다.", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "매개 변수는 절대 경로나 작업 영역 루트 또는 .github 폴더를 기준으로 하는 상대 경로로 지정합니다.", + "Disable sending telemetry data.": "원격 분석 데이터 전송을 비활성화합니다.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "GitHub로 인증하려면 코드 {0}을(를) 복사한 다음 {1}(으)로 이동하세요. 권한 부여를 기다리는 중...", + "Timed out waiting for authorization.": "권한 부여를 기다리는 동안 시간이 초과되었습니다.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "GitHub로 인증되었습니다.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "GitHub 인증에 성공했지만 토큰을 저장할 수 없습니다.", + "Keyring error: {0}/{Locked=\"{0}\"}": "인증 키 생성 오류: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "인증 키 생성 컬렉션이 잠겨 있습니다. 잠금을 해제하거나 gnome-keyring-daemon을 다시 시작하세요.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "사용할 수 있는 인증 키 생성 서비스가 없습니다. gnome-keyring 설치 및 시작: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "또는 --login --allow-plaintext-secret-storage를 전달하여 일반 텍스트 저장을 허용합니다.", + "The device code has expired. Please try again.": "디바이스 코드가 만료되었습니다. 다시 시도하세요.", + "Authorization was denied by the user.": "사용자가 권한 부여를 거부했습니다.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "폴링하는 동안 예기치 않은 오류가 발생함: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "GitHub 로그인에 실패했습니다. 명령줄에서 --login으로 실행하여 로그인해 보세요.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "계속하려면 EULA에 동의해야 합니다. --accept-eula를 사용하여 실행합니다.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "이미 GitHub로 인증되었습니다. --force-login을 사용하여 다시 인증합니다.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "초기화 실패: 지원되지 않는 구성 버전입니다. 버전 1만 지원됩니다.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "초기화 실패: 구성 파일 '{0}'을(를) 찾을 수 없습니다.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "초기화 실패: 구성 파일 '{0}'을(를) 구문 분석할 수 없습니다. JSON 형식을 확인합니다. 오류: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "초기화 실패: 'repositoryPath'가 구성되지 않았거나 잘못되었습니다.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "초기화 실패: 'compileCommands' 또는 'cppProperties'를 구성해야 합니다.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "초기화 실패: 'compileCommands'와 'cppProperties'를 둘 다 구성할 수는 없습니다.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "초기화 실패: 'compileCommands' 경로를 찾을 수 없습니다. '{0}'.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "초기화 실패: 'cppProperties' 경로를 찾을 수 없습니다. '{0}'.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "초기화 실패: 'cppProperties'로 지정된 파일을 구문 분석할 수 없습니다. '{0}'. JSON 형식을 확인합니다. 오류: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "초기화 실패: 'cppProperties' 파일에서 구성을 읽을 수 없습니다. '{0}'. 스키마를 확인하세요.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "초기화 실패: '{0}'에 유효한 'configurations' 배열이 포함되어 있지 않습니다.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "초기화 실패: 'cppProperties' 파일에서 구성 '{0}'을(를) 찾을 수 없습니다. '{1}'.", + "Initialization failed: LSP config paths cache is missing.": "초기화 실패: LSP 구성 경로 캐시가 없습니다.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl을 찾을 수 없습니다({0}). 인증 및 원격 분석에는 libcurl이 필요합니다.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl은 기본적으로 macOS에서 사용할 수 있어야 합니다. 없는 경우 다음을 통해 설치: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "libcurl 설치: sudo apt install libcurl4(Debian/Ubuntu) 또는 sudo dnf install libcurl(Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libsecret이 로드되었지만 필요한 기호가 없습니다. 이는 매우 오래되었거나 호환되지 않는 libcurl 버전을 나타낼 수 있습니다. 언어 서버는 호환되는 libsecret 없이 작동할 수 없습니다.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0을 찾을 수 없습니다({0}). libsecret은 보안 자격 증명 스토리지에 필요합니다. libsecret 설치: sudo apt install libsecret-1-0(Debian/Ubuntu) 또는 sudo dnf install libsecret(Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret이 로드되었지만 필요한 기호가 없습니다. 언어 서버는 호환되는 libsecret 없이 작동할 수 없습니다.", + "Failed to disable telemetry.": "원격 분석을 비활성화하지 못했습니다.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "메서드를 찾을 수 없음: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "기존 파일과 정규화된 경로가 같은 파일에 대해서는 IntelliSense를 처리할 수 없습니다. URI: {0}, 정규화된 경로: {1}", + "Initializing": "초기화하는 중", + "Initializing ({0} of {1})": "초기화하는 중({0}/{1})", + "Initializing ({0} of {1}): {2}": "초기화하는 중({0}/{1}): {2}", + "Initializing {0}": "{0}을(를) 초기화하는 중", + "Initializing projects": "프로젝트를 초기화하는 중", + "Initializing projects ({0} of {1})": "프로젝트를 초기화하는 중({0}/{1}개)", + "Initializing projects ({0} of {1}): {2}": "프로젝트를 초기화하는 중({0}/{1}개): {2}", + "Initializing projects {0}": "프로젝트을 초기화하는 중 {0}", + "Checking for out of date files": "오래된 파일을 검사하는 중", + "Checking for out of date files ({0} of {1})": "오래된 파일을 검사하는 중({0}/{1}개)", + "Checking for out of date files ({0} of {1}): {2}": "오래된 파일을 검사하는 중({0}/{1}개): {2}", + "Checking for out of date files {0}": "오래된 파일을 검사하는 중 {0}", + "Parsing files": "파일을 구문 분석하는 중", + "Parsing files ({0} of {1})": "파일을 구문 분석하는 중({0}/{1}개)", + "Parsing files ({0} of {1}): {2}": "파일을 구문 분석하는 중({0}/{1}개): {2}", + "Parsing files {0}": "파일을 구문 분석하는 중 {0}", + "Parsing included files": "포함된 파일을 구문 분석하는 중", + "Parsing included files ({0} of {1})": "포함된 파일을 구문 분석하는 중({0}/{1}개)", + "Parsing included files ({0} of {1}): {2}": "포함된 파일을 구문 분석하는 중({0}/{1}개): {2}", + "Parsing included files {0}": "포함된 파일을 구문 분석하는 중 {0}", + "Scanning #includes for more files": "추가 파일에 대해 #includes를 검사하는 중", + "Scanning #includes for more files ({0} of {1})": "추가 파일에 대해 #includes를 검사하는 중({0}/{1}개)", + "Scanning #includes for more files ({0} of {1}): {2}": "추가 파일에 대해 #includes를 검사하는 중({0}/{1}개): {2}", + "Scanning #includes for more files {0} {1}": "추가 파일 {0} {1}에 대해 #includes를 검사하는 중", + "Ready (Updating external dependencies)": "준비(외부 종속성을 업데이트하는 중)", + "Ready (Updating external dependencies) ({0} of {1})": "준비(외부 종속성을 업데이트하는 중)({0}/{1}개)", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "준비(외부 종속성을 업데이트하는 중)({0}/{1}개): {2}", + "Ready (Updating external dependencies) {0}": "준비(외부 종속성을 업데이트하는 중) {0}", + "Ready (Optimizing database)": "준비(데이터베이스를 최적화하는 중)", + "Ready (Optimizing database) ({0} of {1})": "준비(데이터베이스를 최적화하는 중)({0}/{1}개)", + "Ready (Optimizing database) ({0} of {1}): {2}": "준비(데이터베이스를 최적화하는 중)({0}/{1}개): {2}", + "Ready (Optimizing database) {0}": "준비(데이터베이스를 최적화하는 중) {0}", + "Creating Indexes": "인덱스를 만드는 중", + "Creating Indexes ({0} of {1})": "인덱스를 만드는 중({0}/{1}개)", + "Creating Indexes ({0} of {1}): {2}": "인덱스를 만드는 중({0}/{1}개): {2}", + "Creating Indexes {0}": "인덱스를 만드는 중 {0}", + "Evaluating": "평가하는 중", + "Evaluating ({0} of {1})": "평가하는 중({0}/{1}개)", + "Evaluating ({0} of {1}): {2}": "평가하는 중({0}/{1}개): {2}", + "Evaluating {0}": "{0}을(를) 평가하는 중", + "Indexing files": "파일을 인덱싱하는 중", + "Indexing files ({0} of {1})": "파일을 인덱싱하는 중({0}/{1}개)", + "Indexing files ({0} of {1}): {2}": "파일을 인덱싱하는 중({0}/{1}개): {2}", + "Indexing files {0}": "파일을 인덱싱하는 중 {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "지정된 --lsp-config 파일이 없어도 서버를 시작할 수 있도록 허용합니다.", + "Initialization failed during engine setup.": "엔진을 설정하는 동안 초기화하지 못했습니다.", + "Important:": "중요:", + "Unknown OS platform": "알 수 없는 OS 플랫폼", + "Could not get ProductVersion from SystemVersion.plist": "SystemVersion.plist에서 ProductVersion을 가져올 수 없음", + "Failed to find SystemVersion.plist in {0}.": "{0} 에서 SystemVersion.plist를 찾지 못했습니다.", + "Refresh process list": "프로세스 목록 새로 고침", + "Attach to process": "프로세스에 연결", + "Select the process to attach to": "연결할 프로세스 선택", + "Process not selected.": "프로세스가 선택되지 않았습니다.", + "{0} in debug configuration requires {1} and {2}": "디버그 구성에서 {0}을(를) 사용하려면 {1} 및 {2}이(가) 있어야 합니다.", + "Chosen debug configuration does not contain {0} or {1}": "선택한 디버그 구성에 {0} 또는 {1}이(가) 포함되어 있지 않습니다.", + "Pipe transport failed to get OS and processes.": "파이프 전송이 OS 및 프로세스를 가져오지 못했습니다.", + "Transport attach could not obtain processes list.": "전송 연결이 프로세스 목록을 가져올 수 없습니다.", + "Failed to make GDB connection: \"{0}\".": "다음 GDB 연결을 만들지 못했습니다. \"{0}\"", + "Failed to parse processes: \"{0}\".": "다음 프로세스를 구문 분석하지 못했습니다. \"{0}\"", + "Default Configuration": "기본 구성", + "Select a configuration": "구성을 선택합니다.", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "'{0}' 형식 디버거는 Windows에서만 사용할 수 있습니다. 현재 OS 플랫폼에서는 '{1}' 형식을 사용하세요.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "'{0}' 키는 사용되지 않습니다. 대신 '{1}'을(를) 사용하세요.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "lldb-mi에 대한 'LLDB.framework'를 찾을 수 없습니다. XCode 또는 XCode 명령줄 도구를 설치하세요.", + "Launch configuration:": "시작 구성:", + "'deploySteps' require VS Code 1.69+.": "'deploySteps'에는 VS Code 1.69 이상이 필요합니다.", + "Running deploy steps...": "배포 단계 실행 중...", + "Unable to find {0}. {1} task is ignored.": "{0}을(를) 찾을 수 없습니다. {1} 작업이 무시됩니다.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "{0} 디버거를 찾을 수 없습니다. {1}에 대한 디버그 구성은 무시됩니다.", + "build and debug active file": "활성 파일 빌드 및 디버그", + "Apply Developer Environment": "개발자 환경 적용", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0}에 Visual Studio 개발자 환경이 필요합니다.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "개발자 환경 업데이트", + "Cancel": "취소", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Visual Studio 개발자 환경이 적용되지 않아 소스 코드를 빌드할 수 없습니다.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Visual C++ 컴파일러를 찾을 수 없어 소스 코드를 빌드할 수 없습니다.", + "Missing dependency '{0}' for lldb-mi executable.": "lldb-mi 실행 파일에 대한 '{0}' 종속성이 없습니다.", + "Searched in:": "다음에서 검색됨:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "이 문제를 해결하려면 Apple App Store를 통해 XCode를 설치하거나, 터미널 창에서 '{0}'을(를) 실행하여 XCode 명령줄 도구를 설치하세요.", + "Failed to use {0}. Reason: {1}": "{0}을(를) 사용하지 못했습니다. 이유: {1}", + "Replacing {0} '{1}' with '{2}'.": "{0} '{1}'을(를) '{2}'(으)로 바꾸는 중입니다.", + "Resolving variables in {0}...": "{0}에서 변수를 확인하는 중...", + "Open {0}": "{0} 열기", + "Recently Used Task": "최근에 사용한 앱", + "Configured Task": "구성된 작업", + "Detected Task": "검색된 작업", + "Cannot build and debug because the active file is not a C or C++ source file.": "활성 파일이 C 또는 C++ 소스 파일이 아니므로 빌드 및 디버그할 수 없습니다.", + "No compiler found": "컴파일러를 찾을 수 없음", + "Select a debug configuration": "디버그 구성 선택", + "\"args\" in command deploy step must be an array.": "명령 배포 단계의 \"args\"는 배열이어야 합니다.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "\"host\", \"files\" 및 \"targetDir\" 는 {0} 단계에서 필요합니다.", + "\"files\" must be a string or an array of strings in {0} steps.": "\"files\"는 {0} 단계에서 문자열 또는 문자열 배열이어야 합니다.", + "\"host\" and \"command\" are required for ssh steps.": "\"host\" 및 \"command\"는 ssh 단계에 필요합니다.", + "\"command\" is required for shell steps.": "\"command\"는 셸 단계에 필요합니다.", + "Deploy step type {0} is not supported.": "배포 단계 유형 {0}은(는) 지원되지 않습니다.", + "Unexpected OS type": "예기치 않은 OS 유형", + "full path to pipe program such as {0}": "{0} 같은 파이프 프로그램의 전체 경로", + "Enable pretty-printing for {0}": "{0}에 자동 서식 지정 사용", + "Set Disassembly Flavor to {0}": "디스어셈블리 버전을 {0}(으)로 설정", + "enter program name, for example {0}": "프로그램 이름 입력(예: {0})", + "Launch": "시작", + "Launch with {0}.": "{0}을(를) 사용하여 시작합니다.", + "Attach": "연결", + "Attach with {0}.": "{0}과(와) 연결합니다.", + "Pipe Launch": "파이프 시작", + "Pipe Launch with {0}.": "{0}을(를) 사용한 파이프 시작입니다.", + "Pipe Attach": "파이프 연결", + "Pipe Attach with {0}.": "{0}을(를) 사용한 파이프 연결입니다.", + "Launch with the Visual Studio C/C++ debugger.": "Visual Studio C/C++ 디버거를 사용하여 시작합니다.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Visual Studio C/C++ 디버거를 사용하여 프로세스에 연결합니다.", + "Bash on Windows Launch": "Windows 시작의 Bash", + "Launch in Bash on Windows using {0}.": "{0}을(를) 사용하여 Windows에서 Bash를 시작합니다.", + "Bash on Windows Attach": "Windows 연결의 Bash", + "Attach to a remote process running in Bash on Windows using {0}.": "{0}을(를) 사용하여 Windows의 Bash에서 실행되는 원격 프로세스에 연결합니다.", + "Debugger type '{0}' is not available for non-Windows machines.": "Windows가 아닌 머신에서는 '{0}' 디버거 형식을 사용할 수 없습니다.", + "Run Without Debugging is only supported for launch configurations.": "디버깅하지 않고 실행은 시작 구성에만 지원됩니다.", + "Add debug configuration is not available for single file.": "단일 파일에는 디버그 추가 구성을 사용할 수 없습니다.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "구문 분석 실패 \"{0}\"(으)로 인해 SSH 구성 파일을 수정할 수 없습니다.", + "No valid SSH configuration file found.": "유효한 SSH 구성 파일을 찾을 수 없습니다.", + "Enter SSH Target Name": "SSH 대상 이름 입력", + "Example: `mySSHTarget`": "예: `mySSHTarget`", + "Enter SSH Connection Command": "SSH 연결 명령 입력", + "Example: `ssh hello@microsoft.com -A`": "예: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "SSH 구성 파일 선택", + "Yes": "예", + "No": "아니요", + "Are you sure you want to permanently delete \"{0}\"?": "\"{0}\"을(를) 영구 삭제할까요?", + "Operating system \"{0}\" not supported.": "운영 체제 \"{0}\"은(는) 지원되지 않습니다.", + "\"{0}\" timed out after {1} seconds.": "{1}초 후에 \"{0}\" 시간이 초과되었습니다.", + "\"{0}\" canceled.": "\"{0}\"이(가) 취소되었습니다.", + "\"{0}\" exited with code: \"{1}\".": "\"{0}\"이(가) 코드 \"{1}\"(으)로 종료되었습니다.", + "Failed to spawn \"{0}\".": "\"{0}\"을(를) 생성하지 못했습니다.", + "Ignoring non-parsable lines in {0} {1}: ": "{0} {1}에서 구문 분석할 수 없는 줄을 무시하는 중: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "터미널 에뮬레이터를 찾을 수 없습니다. $TERMINAL 환경 변수를 원하는 터미널 에뮬레이터로 설정하거나 x-terminal-emulator, gnome-terminal, konsole, xterm 중 하나를 설치하세요.", + "Select a compiler to configure for IntelliSense": "IntelliSense에 구성할 컴파일러 선택", + "How would you like to configure IntelliSense for the '{0}' folder?": "'{0}' 폴더에 대해 IntelliSense를 어떻게 구성하시겠습니까?", + "How would you like to configure IntelliSense for this folder?": "이 폴더에 IntelliSense를 어떻게 구성하려고 하나요?", + "Found at {0}": "{0}에서 찾음", + "Use {0}": "{0} 사용", + "configuration providers": "구성 공급자", + "compilers": "컴파일러", + "Select IntelliSense Configuration...": "IntelliSense 구성 선택...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "IntelliSense를 구성하지 않았습니다. 고유한 구성을 설정하지 않으면 IntelliSense가 작동하지 않을 수 있습니다.", + "Select another compiler on my machine...": "내 컴퓨터에서 다른 컴파일러 선택...", + "Help me install a compiler": "컴파일러 설치 도움말", + "Install a compiler": "컴파일러 설치", + "Do not configure with a compiler (not recommended)": "컴파일러를 사용하여 구성하지 않음(권장하지 않음)", + "EPERM: Check permissions for '{0}'": "EPERM: '{0}'에 대한 사용 권한 확인", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "C/C++ 언어 서버를 시작할 수 없습니다. IntelliSense 기능을 사용할 수 없습니다. 오류: {0}", + "The language server crashed. Restarting...": "언어 서버가 중단되었습니다. 다시 시작하는 중입니다...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "지난 3분 동안 언어 서버에서 크래시가 5회 발생했습니다. 다시 시작되지 않습니다.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0}이(가) {1}(으)로 변경되었습니다.", + "Dismiss": "해제", + "Disable Warnings": "경고 사용 안 함", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0}은(는) '{1}'에 대한 IntelliSense 구성 정보를 제공할 수 없습니다. '{2}' 구성의 설정이 대신 사용됩니다.", + "The requested configuration name is not found: {0}": "요청된 구성 이름을 찾을 수 없음: {0}", + "Unsupported client": "지원되지 않는 클라이언트", + "Timed out in {0}ms.": "{0}ms 후 시간이 초과되었습니다.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "{1} C/C++ 소스 파일이 검색된 {0} 파일이 열거되었습니다. 성능 향상을 위해 일부 파일을 제외하는 것이 좋습니다.", + "Learn More": "자세히 알아보기", + "Don't Show Again": "다시 표시 안 함", + "Update IntelliSense time (sec): {0}": "IntelliSense 시간(초) 업데이트: {0}", + "Custom configurations received:": "사용자 지정 구성이 수신됨:", + "Custom browse configuration received: {0}": "사용자 지정 찾아보기 구성이 수신됨: {0}", + " Declaration/definition was copied.": " 선언/정의가 복사되었습니다.", + "Name the extracted function": "추출된 함수 이름 지정", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "함수로 추출 실패: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "함수로 추출하지 못했습니다. 잘못된 편집이 생성되었습니다. '{0}'", + "Fix all code analysis problems": "모든 코드 분석 문제 수정", + "Clear all code analysis problems": "모든 코드 분석 문제 해결", + "Fix all {0} problems": "모든 {0} 문제 수정", + "Disable all {0} problems": "모든 {0} 문제 비활성화", + "Clear all {0} problems": "모든 {0} 문제 해결", + "Clear this {0} problem": "이 {0} 문제 해결", + "Fix this {0} problem": "이 {0} 문제 해결", + "Show documentation for {0}": "{0}에 대한 문서 표시", + "IntelliSense mode {0} is incompatible with compiler path.": "IntelliSense 모드 {0}은(는) 컴파일러 경로와 호환되지 않습니다.", + "Processed c_cpp_properties.json in {0}s": "{0}에서 처리된 c_cpp_properties.json", + "Failed to create \"{0}\"": "{0}을(를) 만들지 못했습니다.", + "Invalid configuration file. There must be at least one configuration present in the array.": "구성 파일이 잘못되었습니다. 배열에 구성이 하나 이상 있어야 합니다.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "c_cpp_properties.json에 알 수 없는 버전 번호가 있습니다. 일부 기능이 예상대로 작동하지 않을 수 있습니다.", + "Attempt to update \"{0}\" failed (do you have write access?)": "\"{0}\"을(를) 업데이트하지 못했습니다(쓰기 권한이 있어야 함).", + "Failed to parse \"{0}\"": "\"{0}\"을(를) 구문 분석하지 못했습니다.", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "공백이 있는 컴파일러 경로를 찾을 수 없습니다. 만약 컴파일러 인수를 포함하려는 의도였다면, 컴파일러 경로를 큰따옴표({0})로 감싸세요.", + "Cannot find: {0}": "찾을 수 없음: {0}", + "Path is not a file: {0}": "경로가 파일이 아님: {0}", + "The include path validation took {0}s to evaluate": "포함 경로 유효성 검사에서 평가하는 데 {0}이(가) 걸림", + "Failed to resolve include path. Error: {0}": "포함 경로를 확인하지 못했습니다. 오류: {0}", + "Do not add extra quotes around paths.": "경로 주위에 따옴표를 추가하지 마세요.", + "Path is not a directory: {0}": "경로가 디렉터리가 아님: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0}은(는) 중복됩니다. 구성 이름은 고유해야 합니다.", + "Path took {0}s to evaluate": "경로에서 평가하는 데 {0}이(가) 걸림", + "Failed to resolve path {0}. Error: {1}": "{0} 경로를 확인하지 못했습니다. 오류: {1}", + "Multiple paths are not allowed.": "여러 경로는 허용되지 않습니다.", + "Multiple paths should be separate entries in an array.": "여러 경로는 배열에서 별도의 항목이어야 합니다.", + "Paths are not directories: {0}": "경로는 디렉터리가 아님: {0}", + "Error while retrieving result. Reason: {0}": "결과를 검색하는 동안 오류가 발생했습니다. 이유: {0}", + "build active file": "활성 파일 빌드", + "compiler:": "컴파일러:", + "Task generated by Debugger.": "디버거에서 생성된 작업입니다.", + "Starting build...": "빌드를 시작하는 중...", + "Build run was terminated.": "빌드 실행이 종료되었습니다.", + "Build finished with error(s).": "빌드가 완료되었지만, 오류가 발생했습니다.", + "Build finished with warning(s).": "빌드가 완료되었지만, 경고가 발생했습니다.", + "Build finished successfully.": "빌드가 완료되었습니다.", + "No context provided": "컨텍스트가 제공되지 않음", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "\"Visual Studio 개발자 환경 설정\" 명령은 Windows에서만 사용할 수 있습니다", + "A Visual Studio installation with the C++ compiler was not found": "C++ 컴파일러가 포함된 Visual Studio 설치를 찾을 수 없음", + "The operation was cancelled": "작업이 취소되었음", + "No hosts found": "호스트를 찾을 수 없음", + "Configuring developer environment...": "개발자 환경 구성 중...", + "Select a Visual Studio installation": "Visual Studio 설치 선택", + "Advanced options...": "고급 옵션...", + "Select a specific host and target architecture, toolset version, etc.": "특정 호스트 및 대상 아키텍처, 도구 집합 버전 등을 선택합니다.", + "Select a toolset version": "도구 집합 버전 선택", + "Select a host and target architecture": "호스트 및 대상 아키텍처 선택", + "Something went wrong: {0}": "오류 발생: {0}", + "{0} developer environment for {1}": "{1}에 대한 {0} 개발자 환경", + "Default environment for {0}": "{0}의 기본 환경", + "host = {0}, target = {1}": "호스트 = {0}, 대상 = {1}", + "Learn how to install a library for this header with vcpkg": "vcpkg를 사용하여 이 헤더의 라이브러리를 설치하는 방법 알아보기", + "Copy vcpkg command to install '{0}' to the clipboard": "'{0}'을(를) 설치할 vcpkg 명령을 클립보드에 복사", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "IntelliSense 관련 명령은 `C_Cpp.intelliSenseEngine`이 `disabled`로 설정된 경우 실행할 수 없습니다.", + "client not found": "클라이언트를 찾을 수 없음", + "OK": "확인", + "The clang compiler will now be installed": "이제 Clang 컴파일러가 설치됩니다.", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "VS Code 터미널 창에 암호를 입력하여 설치 권한을 부여하라는 메시지가 표시될 수 있습니다.", + "The gcc compiler will now be installed": "이제 gcc 컴파일러가 설치됩니다.", + "Open a folder first to select a configuration.": "먼저 구성을 선택할 폴더를 엽니다.", + "Open a folder first to select a configuration provider.": "먼저 구성 공급자를 선택할 폴더를 엽니다.", + "Open a folder first to edit configurations": "먼저 구성을 편집할 폴더 열기", + "The code analysis fix could not be applied because the document has changed.": "문서가 변경되어 코드 분석 수정 사항을 적용할 수 없습니다.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "C/C++ 확장의 시험판 버전을 사용할 수 있습니다. 전환하시겠습니까?", + "Copilot summary is not available.": "Copilot 요약을 사용할 수 없습니다.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "이 기호의 정의 또는 선언이 포함된 파일은 Copilot에서 사용되지 않도록 제외되었습니다.", + "Copilot summary is not available for this symbol.": "이 기호에는 Copilot 요약을 사용할 수 없습니다.", + "An error occurred while generating Copilot summary.": "Copilot 요약을 생성하는 동안 오류가 발생했습니다.", + "Duplicate multiline comment patterns detected.": "중복 여러 줄 주석 패턴이 검색되었습니다.", + "Error while retrieving the project context. Reason: {0}": "프로젝트 컨텍스트를 검색하는 동안 오류가 발생했습니다. 이유: {0}", + "Error while retrieving the #cpp context.": "#cpp 컨텍스트를 검색하는 동안 오류가 발생했습니다.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "모든 참조 찾기", + "Peek References": "참조 피킹(peeking)", + "Rename": "이름 바꾸기", + "Call Hierarchy": "호출 계층 구조", + "CONFIRMED REFERENCE": "확인된 참조", + "CONFIRMATION IN PROGRESS": "확인 진행 중", + "COMMENT REFERENCE": "주석 참조", + "STRING REFERENCE": "문자열 참조", + "INACTIVE REFERENCE": "비활성 참조", + "CANNOT CONFIRM REFERENCE": "참조를 확인할 수 없음", + "NOT A REFERENCE": "참조 아님", + "Confirmed reference": "확인된 참조", + "Confirmation in progress": "확인 진행 중", + "Comment reference": "주석 참조", + "String reference": "문자열 참조", + "Inactive reference": "비활성 참조", + "Cannot confirm reference": "참조를 확인할 수 없음", + "Not a reference": "참조 아님", + "CONFIRMATION CANCELED": "확인이 취소됨", + "Confirmation canceled": "확인이 취소됨", + "To preview results, click the search icon in the status bar.": "결과를 미리 보려면 상태 표시줄에서 [검색] 아이콘을 클릭합니다.", + "Started.": "시작되었습니다.", + "Processing source.": "소스를 처리하고 있습니다.", + "Searching files.": "파일을 검색하고 있습니다.", + "{0}/{1} files searched.{2}": "{0}/{1}개 파일이 검색되었습니다.{2}", + "{0}/{1} files confirmed.{2}": "{0}/{1}개 파일이 확인되었습니다.{2}", + "C/C++ Peek References": "C/C++ Peek 참조", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[경고] 일부 참조가 누락되었을 수 있는데, 이는 {0}이(가) 시작되었을 때 작업 영역 구문 분석이 완료되지 않았기 때문입니다.", + "Go to reference": "참조로 이동", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "코드 형식이 .clang-format 대신 .editorconfig의 설정을 사용합니다. 자세한 내용은 'C_Cpp.formatting' 설정의 'default' 값에 대한 설명서를 참조하세요.", + "C/C++ Configurations": "C/C++ 구성", + "IntelliSense: Updating": "IntelliSense: 업데이트 중", + "IntelliSense: Ready": "IntelliSense: 준비 완료", + "Initializing Workspace": "작업 영역 초기화", + "Indexing Workspace": "작업 영역 인덱싱", + "Parsing Workspace": "작업 영역 구문 분석", + "Parsing Workspace: Paused": "작업 영역 구문 분석: 일시 중지됨", + "Parsing Complete": "구문 분석이 완료되었습니다.", + "Rescan Workspace": "작업 영역 다시 검사", + "Parsing Open Files": "열린 파일을 구문 분석하는 중", + "Code Analysis: Running": "코드 분석: 실행 중", + "Code Analysis: Paused": "코드 분석: 일시 중지됨", + "Code Analysis Mode: ": "코드 분석 모드: ", + "click to preview results": "결과를 미리 보려면 클릭", + "Configure IntelliSense": "IntelliSense 구성", + "C/C++ IntelliSense Status": "C/C++ IntelliSense 상태", + "Rescan": "다시 검사", + "Rescan IntelliSense": "IntelliSense 다시 검사", + "C/C++ Tag Parser Status": "C/C++ 태그 파서 상태", + "Initializing...": "초기화하는 중...", + "Resume": "다시 시작", + "Pause": "일시 중지", + "C/C++ Code Analysis Status": "C/C++ 코드 분석 상태", + "Run Now": "지금 실행", + "Automatic": "자동", + "Manual": "수동", + "Options": "옵션", + "Starting...": "시작 중...", + "Running: {0} / {1} ({2}%)": "실행 중: {0}/{1}({2}%)", + "Select a code analysis command...": "코드 분석 명령 선택...", + "Start Another...": "다른 시작...", + "Select a command...": "명령 선택...", + "Run Code Analysis on Active File": "활성 파일에서 코드 분석 실행", + "Run Code Analysis on All Files": "모든 파일에 대한 코드 분석 실행", + "Run Code Analysis on Open Files": "열린 파일에서 코드 분석 실행", + "C/C++ References Status": "C/C++ 참조 상태", + "C/C++ Configuration": "C/C++ 구성", + "C/C++ Configure IntelliSense": "C/C++ IntelliSense 구성", + "Select a Configuration...": "구성 선택...", + "Edit Configurations (UI)": "구성 편집(UI)", + "Edit Configurations (JSON)": "구성 편집(JSON)", + "Select a Configuration Provider...": "구성 공급자 선택...", + "active": "활성", + "none": "없음", + "Disable the active configuration provider, if applicable.": "해당하는 경우 활성 구성 공급자를 사용하지 않도록 설정합니다.", + "Select a workspace folder...": "작업 영역 폴더 선택...", + "Failed to connect to {0}": "{0}에 연결하지 못했습니다.", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "\"localSocket\"은 localForwards의 \"bindAddress\" 또는 \"port\"와 동시에 지정할 수 없습니다.", + "\"port\" or \"localSocket\" required in localForwards": "localForwards에 \"port\" 또는 \"localSocket\"이 필요합니다.", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "\"remoteSocket\"은 localForwards에서 \"host\" 또는 \"hostPort\"와 동시에 지정할 수 없습니다.", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "\"host\" 및 \"hostPort\" 또는 \"remoteSocket\"이 localForwards에 필요합니다.", + "SSH command canceled": "SSH 명령이 취소됨", + "Enter passphrase for ssh key {0}": "{0} SSH 키 암호 입력", + "Enter password for user \"{0}\"": "사용자 \"{0}\"의 암호를 입력하세요", + "Enter password": "암호를 입력", + "Are you sure you want to continue?": "액세스를 여시겠습니까?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\"에 \"{1}\" 지문이 있습니다.", + "Continue": "계속하기", + "\"{0}\" terminal command canceled.": "\"{0}\" 터미널 명령이 취소되었습니다.", + "\"{0}\" terminal command done.": "\"{0}\" 터미널 명령이 완료되었습니다.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "작업 '{0}'이(가) 취소되었지만 기본 명령이 종료되지 않을 수 있습니다. 수동으로 확인하세요.", + "\"{0}\" process failed: {1}": "\"{0}\" 프로세스 실패: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\"이(가) \"{1}\" 터미널에 데이터를 썼습니다.", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "SSH에 대한 사용자 정보를 찾지 못했습니다. 'snap'을 사용하여 VS Code를 설치한 것이 원인일 수 있습니다. SSH 기능을 사용하려는 경우 'deb' 패키지를 사용하여 VS Code를 다시 설치하세요.", + "Failed to parse SSH configuration file {0}: {1}": "SSH 구성 파일 {0}을(를) 구문 분석하지 못했음: {1}", + "Failed to read file {0}.": "{0} 파일을 읽지 못했습니다.", + "Failed to write to file {0}.": "{0} 파일에 쓰지 못했습니다.", + "Inline macro is not available at this location.": "이 위치에서는 인라인 매크로를 사용할 수 없습니다.", + "AI-generated content may be incorrect.": "AI 생성 콘텐츠가 잘못되었을 수 있습니다.", + "Invalid identifier provided for the Rename Symbol operation.": "기호 이름 바꾸기 작업에 잘못된 식별자가 제공되었습니다.", + "A definition for the selected symbol could not be located.": "선택한 기호에 대한 정의를 찾을 수 없습니다.", + "No SSH targets": "SSH 대상 없음", + "Active SSH target selection cancelled.": "활성 SSH 대상 선택이 취소되었습니다.", + "{0} Add New SSH Target...": "{0} 새 SSH 대상 추가...", + "Select an SSH target": "SSH 대상 선택", + "[Active]": "[활성]" +} diff --git a/Extension/i18n/plk/bundle.l10n.json b/Extension/i18n/plk/bundle.l10n.json new file mode 100644 index 000000000..f273a0886 --- /dev/null +++ b/Extension/i18n/plk/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Nie można przeanalizować pliku json, prawdopodobnie z powodu komentarzy lub końcowych przecinków.", + "The C/C++ extension is still installing. See the output window for more information.": "Nadal trwa instalowanie rozszerzenia języka C/C++. Zobacz okno danych wyjściowych, aby uzyskać więcej informacji.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Aby uzyskać informacje dotyczące rozwiązywania problemów, zobacz {0}. Problemy można tworzyć pod adresem {1}", + "Process exited with code {0}": "Proces został zakończony z kodem {0}", + "Process executed successfully.": "Proces został wykonany pomyślnie.", + "Killing process {0}": "Proces zamykania {0}", + "Warning: Expected file {0} is missing.": "Ostrzeżenie: brak oczekiwanego pliku {0}.", + "Warning: Debugging has not been tested for this platform.": "Ostrzeżenie: nie przetestowano debugowania dla tej platformy.", + "Reload the workspace for the settings change to take effect.": "Załaduj ponownie obszar roboczy, aby zmiany ustawień zostały zastosowane.", + "Reload": "Załaduj ponownie", + "Custom configuration provider '{0}' registered": "Zarejestrowano dostawcę konfiguracji niestandardowej „{0}”", + "Reached max string expansion recursion. Possible circular reference.": "Osiągnięto maksymalną rekursję rozszerzenia ciągu. Możliwe odwołanie cykliczne.", + "Invalid variable reference {0} in string: {1}.": "Nieprawidłowe odwołanie do zmiennej {0} w ciągu: {1}.", + "Environment variable {0} not found": "Nie znaleziono zmiennej środowiskowej {0}", + "Commands are not supported for string: {0}.": "Polecenia nie są obsługiwane w przypadku ciągu: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Wyjątek podczas wykonywania polecenia {0} dla ciągu: {1} {2}.", + "C/C++ Diagnostics": "Diagnostyka języka C/C++", + "C/C++ Crash Call Stacks": "Stosy wywołań awaryjnych języka C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Proces rozszerzenia C/C++ uległ awarii. Nazwa procesu powodującego awarię, data/godzina, sygnał i stos wywołań znajdują się poniżej — pomocne byłoby uwzględnienie jej w raporcie o usterce pod adresem {0}.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "Protokół debugowania języka C/C++", + "C/C++ Configuration Warnings": "Ostrzeżenia dotyczące konfiguracji języka C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Wersje rozszerzenia języka C/C++ nowsze niż {0} wymagają systemu macOS w wersji co najmniej {1}.", + "intelliSenseEngine is disabled": "Funkcja intelliSenseEngine jest wyłączona", + "More Info": "Więcej informacji", + "Ignore": "Ignoruj", + "The C/C++ extension installed does not match your system.": "Zainstalowane rozszerzenie C/C++ jest nie pasuje do Twojego systemu.", + "The C/C++ extension installed is compatible with but does not match your system.": "Zainstalowane rozszerzenie C/C++ jest kompatybilne, ale nie pasuje do Twojego systemu.", + "Searching include path...": "Trwa wyszukiwanie ścieżki dyrektywy include...", + "Include file not found in browse.path.": "Nie znaleziono pliku dyrektywy include w ścieżce browse.path.", + "Edit \"browse.path\" setting": "Edytuj ustawienie „browse.path”", + "Add to \"includePath\": {0}": "Dodaj do elementu „includePath”: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Dodaj element „{0}”", + "Edit \"includePath\" setting": "Edytuj ustawienie „includePath”", + "Disable error squiggles": "Wyłącz zygzaki sygnalizujące błędy", + "Enable all error squiggles": "Włącz wszystkie zygzaki sygnalizujące błędy", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "Wykryto błędy elementu #include. Zaktualizuj element includePath. Dla tej jednostki translacji ({0}) wyłączono zygzaki.", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Wykryto błędy elementu #include. Zaktualizuj element includePath. Funkcje IntelliSense dla tej jednostki translacji ({0}) będą udostępniane przez analizator tagów.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Wykryto błędy elementu #include. Rozważ zaktualizowanie pliku compile_commands.json lub elementu includePath. Funkcje IntelliSense dla tej jednostki translacji ({0}) będą udostępniane przez analizator tagów.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Nie można przeanalizować elementu „{0}”. Zamiast tego zostanie użyty element „includePath” z pliku c_cpp_properties.json znajdującego się w folderze „{1}”.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Nie można odnaleźć elementu „{0}”. Zamiast tego zostanie użyty element „includePath” z pliku c_cpp_properties.json znajdującego się w folderze „{1}”.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "Nie odnaleziono elementu „{0}” w lokalizacji „{1}”. W zamian dla tego pliku zostanie użyty element „includePath” z pliku c_cpp_properties.json znajdującego się w folderze „{2}”.", + "The IntelliSense database was successfully reset.": "Pomyślnie zresetowano bazę danych funkcji IntelliSense.", + "Failed to send response to client: {0}": "Nie można wysłać odpowiedzi do klienta: {0}", + "Failed to read response from server: {0}": "Nie można odczytać odpowiedzi z serwera: {0}", + "Failed to send request to server: {0}": "Nie można wysłać żądania do serwera: {0}", + "Unexpected error while waiting for requests: {0}": "Nieoczekiwany błąd podczas oczekiwania na żądania: {0}", + "{0} errored with: {1}": "W elemencie {0} wystąpił błąd: {1}", + "Failed to open the file {0}": "Nie można otworzyć pliku {0}", + "Failed to query default include paths and defines for {0}.": "Nie można zbadać domyślnych ścieżek dołączania i definicji dla: {0}.", + "Failed calling {0}": "Nieudane wywołanie {0}", + "Quick info operation failed: {0}": "Nie można wykonać operacji szybkich informacji: {0}", + "Failed to create IntelliSense client: {0}": "Nie można utworzyć klienta funkcji IntelliSense: {0}", + "Failed to spawn IntelliSense process: {0}": "Nie można duplikować procesu funkcji IntelliSense: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Błąd podczas wywoływania metody browse_engine_update_thread.join(): {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Ten plik ({0}) jest już otwarty w edytorze, ale z inną wielkością liter. Funkcje IntelliSense zostaną wyłączone w tej kopii pliku.", + "IntelliSense client has disconnected from the server - {0}": "Klient funkcji IntelliSense rozłączył się z serwerem — {0}", + "Formatting failed:": "Formatowanie nie powiodło się:", + "Unable to add file to database, error = {0}: {1}": "Nie można dodać pliku do bazy danych, błąd = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Nie można zresetować znacznika czasu podczas przerywania, błąd = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Nie można zaktualizować znacznika czasu, błąd = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Nie można sfinalizować aktualizacji dla pliku, błąd = {0}: {1}", + "{0} is not a directory (st_mode={1})": "Element {0} nie jest katalogiem (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "Nie można pobrać informacji systemu plików dla: {0}. Błąd = {1}", + "{0} is not a directory": "Element „{0}” nie jest katalogiem", + "File discovery was aborted": "Odnajdowanie plików zostało przerwane", + "Aborting tag parse of {0} and dependencies": "Przerywanie analizy tagów elementów {0} i zależności", + "Aborting tag parse at root": "Przerywanie analizowania tagów w elemencie głównym", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Nie można pobrać rekordów bazy danych w celu zresetowania znaczników czasu: błąd = {0}", + "Failed to reset timestamp for {0}: error = {1}": "Nie można zresetować znacznika czasu dla elementu {0}: błąd = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Nie znaleziono odpowiedniego kompilatora. Ustaw element „compilerPath” w pliku c_cpp_properties.json.", + "Compiler include path not found: {0}": "Nie znaleziono ścieżki dołączania kompilatora: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "Aparat funkcji IntelliSense nie odpowiada. W zamian użyj analizatora tagów.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Analizator tagów będzie używany na potrzeby operacji funkcji IntelliSense w: {0}", + "Error squiggles will be disabled in: {0}": "Zygzaki sygnalizujące błędy zostaną wyłączone w: {0}", + "Processing folder (non-recursive): {0}": "Przetwarzanie folderu (niecykliczne): {0}", + "Processing folder (recursive): {0}": "Przetwarzanie folderu (cykliczne): {0}", + "File exclude: {0}": "Wykluczanie plików: {0}", + "Search exclude: {0}": "Wyszukaj wykluczenie: {0}", + "Discovering files: {0} file(s) processed": "Odnajdywanie plików: przetworzono pliki w liczbie {0}", + "{0} file(s) removed from database": "Pliki ({0}) usunięte z bazy danych", + "Parsing: {0} files(s) processed": "Analizowanie: przetworzone pliki ({0})", + "Shutting down IntelliSense server: {0}": "Zamykanie serwera funkcji IntelliSense: {0}", + "Resetting IntelliSense server: {0}": "Resetowanie serwera funkcji IntelliSense: {0}", + "Code browsing service initialized": "Zainicjowano usługę przeglądania kodu", + "Folder: {0} will be indexed": "Folder: {0} będzie indeksowany", + "Populate include completion cache.": "Wypełnij pamięć podręczną ukończenia dyrektywy include.", + "Discovering files...": "Trwa odnajdywanie plików...", + "Done discovering files.": "Zakończono odnajdowanie plików.", + "Parsing open files...": "Trwa analizowanie otwartych plików...", + "Done parsing open files.": "Zakończono analizowanie otwartych plików.", + "Parsing remaining files...": "Trwa analizowanie pozostałych plików...", + "Done parsing remaining files.": "Zakończono analizowanie pozostałych plików.", + "Using configuration: \"{0}\"": "Korzystanie z konfiguracji: „{0}”", + "{0} include path suggestion(s) discovered.": "Wykryto następującą liczbę sugestii dotyczących ścieżek dyrektywy include: {0}.", + "Checking for syntax errors: {0}": "Sprawdzanie błędów składniowych: {0}", + "IntelliSense Engine = {0}.": "Aparat funkcji IntelliSense = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "Rozszerzenie użyje analizatora tagów dla funkcji IntelliSense, jeśli dyrektywa #includes nie zostanie rozpoznana.", + "Autocomplete is enabled.": "Autouzupełnianie zostało włączone.", + "Autocomplete is disabled.": "Autouzupełnianie zostało wyłączone.", + "Hover is enabled.": "Umieszczanie wskaźnika myszy jest włączone.", + "Hover is disabled.": "Umieszczanie wskaźnika myszy jest wyłączone.", + "Enhanced Colorization is enabled.": "Rozszerzone kolorowanie zostało włączone.", + "Error squiggles are disabled.": "Zygzaki sygnalizujące błędy zostały wyłączone.", + "Error squiggles are enabled.": "Zygzaki sygnalizujące błędy zostały włączone.", + "Error squiggles are enabled if all header dependencies are resolved.": "Zygzaki sygnalizujące błędy są włączane, jeśli zostaną rozwiązane wszystkie zależności nagłówka.", + "Replaced placeholder file record": "Zamieniono rekord pliku zastępczego", + "tag parsing file: {0}": "plik analizowania tagów: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "błąd analizy tagu (można go zignorować, chyba że nie można odnaleźć symboli):", + "Reset time stamp for {0}": "Resetuj znacznik czasu dla {0}", + "Failed to remove file: {0}": "Nie można usunąć pliku: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Błąd analizy wyrażenia regularnego — wzorzec vscode: {0}, wyrażenie regularne: {1}, komunikat o błędzie: {2}", + "terminating child process: {0}": "trwa kończenie procesu podrzędnego: {0}", + "still alive, killing...": "nadal aktywne, trwa zabijanie...", + "giving up": "rezygnacja", + "not exited yet. Will sleep for {0} milliseconds and try again.": "— nie zamknięto jeszcze. Spróbuj ponownie po czasie uśpienia równym {0} ms.", + "Failed to spawn process. Error: {0} ({1})": "Nie można zduplikować procesu. Błąd: {0} ({1})", + "Offering completion": "Oferowanie uzupełniania", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Próba pobrania wartości domyślnych z kompilatora znalezionego na maszynie: „{0}”", + "Unable to resolve include path: {0}": "Nie można rozpoznać ścieżki dyrektywy include: {0}", + "Error searching for IntelliSense client: {0}": "Błąd podczas wyszukiwania klienta funkcji IntelliSense: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "Klient funkcji IntelliSense jest niedostępny, w celu uzyskania szybkich informacji jest używany analizator tagów.", + "using Tag Parser for quick info": "używanie analizatora Tag Parser do uzyskiwania szybkich informacji", + "Closing the communication channel.": "Zamykanie kanału komunikacyjnego.", + "sending compilation args for {0}": "wysyłanie argumentów kompilacji dla elementu {0}", + "include: {0}": "dyrektywa include: {0}", + "framework: {0}": "platforma: {0}", + "define: {0}": "definiuj: {0}", + "preinclude: {0}": "preinclude: {0}", + "other: {0}": "inne: {0}", + "sending {0} changes to server": "wysyłanie zmian ({0}) do serwera", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Nieprawidłowe otwarte wystąpienie pliku. Ignorowanie komunikatu funkcji IntelliSense dla pliku {0}.", + "idle loop: reparsing the active document": "pętla bezczynna: ponowne analizowanie aktywnego dokumentu", + "IntelliSense client is currently disconnected": "Klient funkcji IntelliSense jest obecnie rozłączony", + "Request canceled: {0}": "Żądanie anulowane: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "Klient funkcji IntelliSense jest niedostępny, do przejścia do definicji jest używany analizator tagów.", + "Error squiggle count: {0}": "Liczba zygzaków sygnalizujących błędy: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Kolejkowanie aktualizacji funkcji IntelliSense dla plików w jednostce translacji: {0}", + "Formatting document: {0}": "Formatowanie dokumentu: {0}", + "Formatting input:": "Formatowanie danych wejściowych:", + "Formatting raw output:": "Formatowanie nieprzetworzonych danych wyjściowych:", + "Formatting diffed output before cursor:": "Formatowanie porównania danych wyjściowych przed kursorem:", + "Formatting diffed output after cursor:": "Formatowanie porównania danych wyjściowych po kursorze:", + "Formatting diffed output:": "Formatowanie porównania danych wyjściowych:", + "Disable inactive region colorization": "Wyłącz kolorowanie regionów nieaktywnych", + "Error limit exceeded, {0} error(s) not reported.": "Przekroczono limit błędów, niezgłoszone błędy: {0}.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "Wykryto błędy elementu #include. Rozważ zaktualizowanie pliku compile_commands.json lub elementu includePath. Dla tej jednostki translacji ({0}) wyłączono zygzaki.", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "Nie można zresetować bazy danych funkcji IntelliSense. Aby zresetować ręcznie, zamknij wszystkie wystąpienia programu VS Code, a następnie usuń ten plik: {0}", + "Formatting failed. See the output window for details.": "Formatowanie nie powiodło się. Zobacz okno danych wyjściowych, aby uzyskać szczegółowe informacje.", + "Populating include completion cache.": "Wypełnianie pamięci podręcznej ukończenia dyrektywy include.", + "Discovering files: {0}": "Odnajdowanie plików: {0}", + "Parsing open files": "Analizowanie otwartych plików", + "Tag parser initializing": "Inicjowanie analizatora tagów", + "Workspace parsing paused": "Wstrzymano analizowanie obszaru roboczego", + "Parsing workspace files: {0}": "Analizowanie plików obszaru roboczego: {0}", + "Discovering files: {0} / {1} ({2}%)": "Odnajdowanie plików: {0}/{1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "Analizowanie plików obszaru roboczego: {0} / {1} ({2}%)", + "Can't find or run process_name": "Nie można odnaleźć lub uruchomić procesu process_name", + "Child exec failed {0}": "Nie można uruchomić elementu podrzędnego: {0}", + "Could not communicate with child process!": "Nie można nawiązać połączenia z procesem podrzędnym.", + "{0} failed": "Zakończone niepowodzeniem: {0}", + "Failed to set {0} flag": "Nie można ustawić flagi {0}", + "Unable to create {0}!": "Nie można utworzyć: „{0}”.", + "Failed to set stdin {0} flag": "Nie można ustawić flagi stdin {0}", + "Failed to set stdout {0} flag": "Nie można ustawić flagi stdout {0}", + "Failed to set stderr {0} flag": "Nie można ustawić flagi stderr {0}", + "Unable to start child process!": "Nie można uruchomić procesu podrzędnego.", + "Timed out attempting to communicate with process!": "Przekroczono limit czasu przy próbie komunikowania się z procesem.", + "Process has failed to run": "Nie można uruchomić procesu", + "Specified compiler was not found: {0}": "Nie znaleziono określonego kompilatora: {0}", + "Config data invalid, {0}": "Dane konfiguracji są nieprawidłowe, {0}", + "CMake executable not found at {0}": "Nie znaleziono pliku wykonywalnego narzędzia CMake w lokalizacji {0}", + "No args provider": "Nie ma dostawcy argumentów", + "Invalid file path {0}": "Nieprawidłowa ścieżka pliku {0}", + "Can't create IntelliSense client for {0}": "Nie można utworzyć klienta IntelliSense dla elementu {0}", + "declaration": "deklaracja", + "type alias": "alias typu", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Kompilator nie obsługuje trybu 64-bitowego. Powrót do 32-bitowego trybu intelliSenseMode.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Kompilator nie obsługuje trybu 32-bitowego. Powrót do 64-bitowego trybu intelliSenseMode.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Nie można wykonać zapytania dotyczącego kompilatora. Powrót do 32-bitowego trybu intelliSenseMode.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Nie można wykonać zapytania dotyczącego kompilatora. Powrót do 64-bitowego trybu intelliSenseMode.", + "Failed to query compiler. Falling back to no bitness.": "Nie można wykonać zapytania dotyczącego kompilatora. Powrót do braku liczby bitów.", + "IntelliSense client creation aborted: {0}": "Przerwano tworzenie klienta IntelliSense: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Wykryto błędy #include na podstawie informacji podanych przez ustawienie configurationProvider. Funkcje IntelliSense dla tej jednostki tłumaczeniowej ({0}) będą udostępniane przez analizator tagów.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Wykryto błędy #include na podstawie informacji podanych przez ustawienie configurationProvider. Zygzaki dla tej jednostki tłumaczeniowej ({0}) są wyłączone.", + "preprocessor keyword/Refers to C/C++ processor keywords": "słowo kluczowe preprocesora", + "C keyword": "Słowo kluczowe języka C", + "C++ keyword": "Słowo kluczowe języka C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "+1 przeciążenie", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "Przeciążenia: +%d", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "+1 specjalizacja", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "Specjalizacje: +%d", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Uwaga: funkcja IntelliSense nie jest w pełni skonfigurowana. Użyj polecenia „Wybierz konfigurację funkcji IntelliSense...”, aby zakończyć konfigurację.", + "Select an IntelliSense configuration to locate system headers": "Wybierz konfigurację funkcji IntelliSense, aby zlokalizować nagłówki systemu", + "Expands to:": "Jest rozwijane do:", + "Attention:": "Uwaga:", + "Author:": "Autor:", + "Authors:": "Autorzy:", + "Bug:": "Usterka:", + "Copyright:": "Prawa autorskie:", + "Deprecated:": "Przestarzałe:", + "Date:": "Data:", + "Details:": "Szczegóły:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Wyjątki:", + "Invariant:": "Niezmienne:", + "File:": "Plik:", + "Note:": "Uwaga:", + "Parameters:": "Parametry:", + "Precondition:": "Warunek wstępny:", + "Postcondition:": "Stan po:", + "Remark:": "Uwaga:", + "Remarks:": "Uwagi:", + "Result:": "Wynik:", + "Return:": "Zwrot:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Zwraca:", + "See also:": "Zobacz też:", + "Since:": "Od:", + "Template Parameters:": "Parametry szablonu:", + "Test:": "Testowanie:", + "TODO:": "TODO:", + "Version:": "Wersja:", + "Warning:": "Ostrzeżenie:", + "Compiler query command line: {0}": "Wiersz polecenia zapytania kompilatora: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Próba pobrania wartości domyślnych z kompilatora języka C we właściwości „compilerPath”: „{0}”", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Próba pobrania wartości domyślnych z kompilatora języka C++ we właściwości „compilerPath”: „{0}”", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Próba pobrania wartości domyślnych z kompilatora języka C w pliku compile_commands.json: „{0}”", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Próba pobrania wartości domyślnych z kompilatora języka C++ w pliku compile_commands.json: „{0}”", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "W przypadku plików źródłowych w języku C wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}”.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "W przypadku plików źródłowych w języku C++ wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}”.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "W przypadku plików źródłowych w języku C wartość właściwości cStandard została zmieniona z „{0}” na „{1}”.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "W przypadku plików źródłowych w języku C++ wartość właściwości cppStandard została zmieniona z „{0}” na „{1}”.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "W przypadku plików źródłowych w języku C wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}”, a wartość właściwości cStandard — z „{2}” na „{3}”.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "W przypadku plików źródłowych w języku C++ wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}”, a wartość właściwości cppStandard — z „{2}” na „{3}”.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "W przypadku plików źródłowych w języku C wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}” na podstawie argumentów kompilatora i wykonywania zapytań dotyczących właściwości compilerPath: „{2}”", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "W przypadku plików źródłowych w języku C++ wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}” na podstawie argumentów kompilatora i wykonywania zapytań dotyczących właściwości compilerPath: „{2}”", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "W przypadku plików źródłowych w języku C wartość właściwości cStandard została zmieniona z „{0}” na „{1}” na podstawie argumentów kompilatora i wykonywania zapytań dotyczących właściwości compilerPath: „{2}”", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "W przypadku plików źródłowych w języku C++ wartość właściwości cppStandard została zmieniona z „{0}” na „{1}” na podstawie argumentów kompilatora i wykonywania zapytań dotyczących właściwości compilerPath: „{2}”", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "W przypadku plików źródłowych w języku C wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}”, a wartość właściwości cStandard została zmieniona z „{2}” na „{3}” na podstawie argumentów kompilatora i wykonywania zapytań dotyczących właściwości compilerPath: „{4}”", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "W przypadku plików źródłowych w języku C++ wartość właściwości IntelliSenseMode została zmieniona z „{0}” na „{1}”, a wartość właściwości cppStandard została zmieniona z „{2}” na „{3}” na podstawie argumentów kompilatora i wykonywania zapytań dotyczących właściwości compilerPath: „{4}”", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Nie można rozpoznać konfiguracji za pomocą właściwości compilerPath „{0}”. Zamiast tego zostanie użyta wartość „{1}”.", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Nie można rozpoznać konfiguracji za pomocą właściwości compilerPath „{0}”.", + "Skipping query of compiler due to explicitly empty compilerPath": "Pomijanie wykonywania zapytań kompilatora z powodu jawnie pustej właściwości compilerPath", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "Określono wartość MSVC dla właściwości intelliSenseMode. Konfigurowanie pod kątem kompilatora cl.exe.", + "Unable to configure for compiler cl.exe.": "Nie można skonfigurować pod kątem kompilatora cl.exe.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Wykonywanie zapytań dotyczących domyślnego elementu docelowego kompilatora przy użyciu wiersza polecenia: „{0}” {1}", + "Compiler returned default target value: {0}": "Kompilator zwrócił domyślną wartość docelową: {0}", + "Querying compiler for default C language standard using command line: {0}": "Wykonywanie zapytań dotyczących kompilatora domyślnego standardu języka C przy użyciu wiersza polecenia: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Wykonywanie zapytań dotyczących kompilatora domyślnego standardu języka C++ przy użyciu wiersza polecenia: {0}", + "Detected language standard version: {0}": "Wykryta wersja standardowa języka: {0}", + "Unhandled default compiler target value detected: {0}": "Wykryto nieobsługiwaną domyślną wartość docelową kompilatora: {0}", + "Unhandled target argument value detected: {0}": "Wykryto nieobsługiwaną docelową wartość argumentu: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Zamykanie serwera funkcji IntelliSense: {0}. Użycie pamięci to {1} MB i przekroczyło limit wynoszący {2} MB.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Nie można wykonać zapytań dotyczących kompilatora w ścieżce „{0}” dla domyślnych wersji standardowych. Wykonywanie zapytań dotyczących kompilatora jest wyłączone dla tego kompilatora.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "Zapytanie kompilatora zwróciło nierozpoznaną wersję standardu języka. Zamiast tego zostanie użyta najnowsza obsługiwana wersja.", + "IntelliSense process crash detected.": "Wykryto awarię procesu funkcji IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "Wykryto awarię procesu funkcji IntelliSense: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Wartości zwracane:", + "Unable to locate nvcc compiler: {0}": "Nie można zlokalizować kompilatora nvcc: {0}", + "Unable to locate nvcc host compiler: {0}": "Nie można zlokalizować kompilatora hosta nvcc: {0}", + "Invoking nvcc with command line: {0}": "Wywoływanie narzędzia nvcc za pomocą wiersza polecenia: {0}", + "Unable to find host compile command in output of nvcc.": "Nie można znaleźć polecenia kompilacji hosta w danych wyjściowych narzędzia nvcc.", + "Unable to locate forced include: {0}": "Nie można zlokalizować wymuszonego dołączenia: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Osadź makro w tekście", + "Unable to access browse database. ({0})": "Nie można uzyskać dostępu, aby przeglądać bazę danych ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "Tryb IntelliSenseMode został zmieniony, ponieważ nie jest zgodny z wykrytym kompilatorem. Zamiast tego rozważ ustawienie parametru „compilerPath”. Ustaw parametr „compilerPath” na wartość \"\", aby wyłączyć wykrywanie elementów systemowych uwzględnianych i definiowanych.", + "Remove all code analysis problems": "Usuń wszystkie problemy z analizą kodu", + "(Multiple locations)": "(Wiele lokalizacji)", + "Folder": "Folder", + "File": "Plik", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Kompilator zwrócił domyślną wersję standardową języka: {0}. Ponieważ ta wersja jest stara, spróbuje użyć nowszej wersji {1} jako domyślnej.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Nieoczekiwane dane wyjściowe z narzędzia Clang-Tidy: {0}. Oczekiwano: {1}.", + "Generate Doxygen comment": "Generuj komentarz Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Utwórz deklarację funkcji „{0}” w pliku {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Utwórz definicję funkcji „{0}” w pliku {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "Nie znaleziono definicji funkcji „{0}”.", + "Attributes/'Attributes' is a C++ specifier.": "Atrybuty", + "Bases/'Bases' are a C++ class type.": "Bazy", + "Classes": "Klasy", + "CoClasses": "CoClasses", + "Delegates": "Delegaci", + "Enums": "Wyliczenia", + "Events": "Zdarzenia", + "Functions": "Funkcje", + "Import directives": "Importuj dyrektywy", + "ImportLib statements": "Instrukcje ImportLib", + "Import statements": "Importuj instrukcje", + "Include directives": "Dołącz dyrektywy", + "Interfaces": "Interfejsy", + "Libraries": "Biblioteki", + "Macros": "Makra", + "Maps": "Mapy", + "Map entries": "Wpisy mapy", + "Miscellaneous": "Różne", + "Namespaces": "Obszary nazw", + "Parameters": "Parametry", + "Properties": "Właściwości", + "Structs": "Struktury", + "TODO: insert return statement here": "TODO: tu wstawić instrukcję return", + "Typedefs": "Definicje typów", + "Unions": "Unie", + "Using aliases": "Używanie aliasów", + "Using directives": "Używane dyrektywy", + "Variables": "Zmienne", + "Automatic add function": "Automatyczne dodanie funkcji", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual jest nadmiarowa i nie może być stosowana z vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod nie może być statyczna.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Nieprawidłowy plik C/C++: „%s”", + "File name too long: '%s'./%s is the file that has a long name.": "Zbyt długa nazwa pliku: „%s”.", + "Cannot create file '%s'./%s is the file that could not be created.": "Nie można utworzyć pliku „%s”.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "Nie można uzyskać dostępu do katalogu lub pliku „%s” w celu zapisania.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Nieprawidłowa ścieżka pliku: „%s”", + "File '%s' was not found./%s is the file that was not found.": "Plik '%s' nie odnaleziony.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Tworzenie deklaracji / definicji nie powiodło się: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Nie można utworzyć funkcji „%s”. Tworzenie domyślnych lub usuniętych funkcji nie jest obsługiwane.", + "Unable to create function '%s'./%s is the function that could not be created.": "Nie można utworzyć funkcji „%s”.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Nie można znaleźć jednoznacznej lokalizacji funkcji „%s”.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Nie można znaleźć klasy lub obszaru nazw „%s”.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "Operacja elementu „%s” nie jest obsługiwana.", + "Unknown error.": "Nieznany błąd.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Uruchom polecenie „Wybierz konfigurację funkcji IntelliSense...”, aby zlokalizować nagłówki systemu.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Kopiuj deklarację '{0}'", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Kopiuj definicję '{0}'", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Kopiowanie deklaracji/definicji do schowka nie powiodło się: %s", + "Extract to function": "Wyodrębnij do funkcji", + "Extract to free function": "Wyodrębnij do funkcji swobodnej", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Wyodrębnij do funkcji składowych w elemencie „{0}”", + "The selected text is not inside a function.": "Wybranego tekstu nie ma w funkcji.", + "The selected text cannot span different functions.": "Wybrany tekst nie może występować w różnych funkcjach.", + "Variable '%s' is declared in the selected region and then used below it.": "Zmienna „%s” została zadeklarowana w wybranym regionie i jest używana poniżej tego regionu.", + "Preprocessor macro '%s' is used below the selected region.": "Makro preprocesora „%s” jest używane poniżej w wybranym regionie.", + "The selected region spans an inactive preprocessor block.": "Wybrany region obejmuje nieaktywny blok preprocesora.", + "The selected region does not contain any code that can be extracted.": "Wybrany region nie zawiera kodu, który można wyodrębnić.", + "The selected region is not entirely within the function's body.": "Wybrany region nie znajduje się całkowicie w treści funkcji.", + "The selection contains IntelliSense errors.": "Zaznaczenie zawiera błędy funkcji IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "Element „%s” nie jest zadeklarowany w zaznaczonym kodzie, ale jest modyfikowany. W kodzie języka C nie można przekazywać argumentów przez referencję.", + "The function would have to return a value by reference. C code cannot return references.": "Funkcja musiałaby zwracać wartość przez referencję. W kodzie języka C nie można zwracać referencji.", + "Jumps between the selected code and the surrounding code are present.": "Występują skoki między zaznaczonym kodem a otaczającym kodem.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "W zaznaczonym kodzie niektóre ścieżki kontroli kończą działanie bez ustawienia zwracanej wartości. Jest to obsługiwane tylko w przypadku zwracanych typów skalarnych, liczbowych i wskaźnikowych.", + "Expand selection (to enable 'Extract to function')": "Rozwiń wybór (aby włączyć opcję „Wyodrębnij do funkcji”)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "Nie znaleziono elementu „{0}” w plikach compile_commands.json. Zamiast tego dla tego pliku zostanie użyty element „includePath” z c_cpp_properties.json w folderze „{1}”.", + "Generate Copilot summary": "Generuj podsumowanie funkcji Copilot", + "Unable to index files from non-existent folder: {0}": "Nie można indeksować plików z nieistniejącego folderu: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "Rozszerzenie C/C++ może być używane tylko z programami Microsoft Visual Studio, Visual Studio dla komputerów Mac, Visual Studio Code, Azure DevOps, Team Foundation Server oraz kolejnymi wersjami produktów i usług firmy Microsoft do tworzenia i testowania aplikacji.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Serwer języka Microsoft C++", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Użycie: {0} [opcje]", + "Options:": "Opcje:", + "Show this help message and exit.": "Wyświetl tę wiadomość pomocy i zamknij okno.", + "Show version information and exit.": "Pokaż informacje o wersji i zakończ.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Trwale zaakceptuj umowę licencyjną użytkownika końcowego (EULA).", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "Nie przekierowuj strumienia stderr do /dev/null (przydatne podczas debugowania).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Rozpocznij interaktywne logowanie (wymagana jest subskrypcja GitHub Copilot).", + "Force the login process, even if already authenticated.": "Wymuś proces logowania, nawet jeśli został już uwierzytelniony.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Zezwalaj na przechowywanie poświadczeń w postaci zwykłego tekstu, jeśli bezpieczny pęk kluczy jest niedostępny.", + "Specify the directory for log files (default: system temp directory).": "Określ katalog dla plików dziennika (domyślnie: katalog tymczasowy systemu).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Ustaw poziom szczegółowości logowania od 0 (tylko błędy) do 9 (szczegółowy).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Należy podać parametr jako ścieżkę bezwzględną lub względną względem katalogu głównego obszaru roboczego lub jego folderu .github.", + "Disable sending telemetry data.": "Wyłącz wysyłanie danych telemetrycznych.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Aby uwierzytelnić się w usłudze GitHub, skopiuj kod {0}, a następnie odwiedź witrynę {1}. Trwa oczekiwanie na autoryzację...", + "Timed out waiting for authorization.": "Przekroczono limit czasu oczekiwania na autoryzację.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Pomyślnie uwierzytelniono w usłudze GitHub.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "Uwierzytelnianie usługi GitHub powiodło się, ale nie można zapisać tokenów.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Błąd klawiszy: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "Kolekcja kluczy jest zablokowana. Odblokuj go lub uruchom ponownie proces gnome-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Kolekcja kluczy nie jest dostępna. Zainstaluj i uruchom program gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Można też zezwolić na przechowywanie danych w postaci zwykłego tekstu, podając opcję --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "Kod urządzenia wygasł. Spróbuj ponownie.", + "Authorization was denied by the user.": "Użytkownik odmówił autoryzacji.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Nieoczekiwany błąd podczas sondowania: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Logowanie do GitHub nie powiodło się. Spróbuj uruchomić polecenie --login z wiersza polecenia, aby się zalogować.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Aby kontynuować, należy zaakceptować umowę EULA. Uruchom z parametrem --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Uwierzytelniono już za pomocą usługi GitHub. Użyj polecenia --force-login, aby przeprowadzić ponowne uwierzytelnienie.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Inicjowanie nie powiodło się: nieobsługiwana wersja konfiguracji. Obsługiwana jest tylko wersja 1.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Inicjowanie nie powiodło się: nie znaleziono pliku konfiguracji „{0}”.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inicjowanie nie powiodło się: nie można przeanalizować pliku konfiguracji „{0}”. Sprawdź format JSON. Błąd: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Nie udało się przeprowadzić inicjalizacji: parametr „repositoryPath” nie został skonfigurowany lub jest nieprawidłowy.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Nie udało się przeprowadzić inicjalizacji: skonfiguruj polecenia „compileCommands” lub „cppProperties”.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Nie udało się przeprowadzić inicjalizacji: nie można jednocześnie skonfigurować opcji „compileCommands” i „cppProperties”.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Nie udało się przeprowadzić inicjalizacji: nie znaleziono ścieżki „compileCommands”: „{0}”.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Inicjalizacja nie powiodła się: nie znaleziono ścieżki „cppProperties”: „{0}”.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Inicjowanie nie powiodło się: nie można przetworzyć pliku wskazanego przez parametr „cppProperties”: „{0}”. Sprawdź format JSON. Błąd: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Nie udało się przeprowadzić inicjalizacji: nie można odczytać konfiguracji z pliku „cppProperties”: „{0}”. Sprawdź schemat.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Inicjowanie nie powiodło się: element „{0}” nie zawiera prawidłowej tablicy „configurations”.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Nie udało się przeprowadzić inicjalizacji: nie znaleziono konfiguracji „{0} ” w pliku „cppProperties”: „{1}”.", + "Initialization failed: LSP config paths cache is missing.": "Inicjowanie nie powiodło się: brak pamięci podręcznej ścieżek konfiguracji dostawcy LSP.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "nie znaleziono biblioteki libcurl ({0}). Biblioteka libcurl jest wymagana do uwierzytelniania i przesyłania danych telemetrycznych.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "Biblioteka libcurl powinna być domyślnie dostępna w systemie macOS. Jeśli go brakuje, zainstaluj za pośrednictwem polecenia: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Zainstaluj bibliotekę libcurl: sudo apt install libcurl4 (Debian/Ubuntu) lub sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "Biblioteka libcurl została załadowana, ale brakuje wymaganych symboli. Może to oznaczać, że używana jest bardzo stara lub niezgodna wersja biblioteki libcurl. Serwer językowy nie może działać bez zgodnej biblioteki libcurl.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "Nie znaleziono pliku libsecret-1.so.0 ({0}). Biblioteka libsecret jest niezbędna do bezpiecznego przechowywania danych uwierzytelniających. Zainstaluj libsecret: sudo apt zainstaluj libsecret-1-0 (Debian/Ubuntu) lub sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "załadowano libsecret, ale brakuje wymaganych symboli. Serwer językowy nie może działać bez zgodnego libsecretu.", + "Failed to disable telemetry.": "Nie można wyłączyć telemetrii.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Nie odnaleziono metody: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Nie można przetworzyć funkcji IntelliSense dla pliku o tej samej ścieżce kanonicznej co istniejący plik. Identyfikator URI: {0}, ścieżka kanoniczna: {1}", + "Initializing": "Inicjowanie", + "Initializing ({0} of {1})": "Inicjowanie ({0} z {1})", + "Initializing ({0} of {1}): {2}": "Inicjowanie ({0} z {1}): {2}", + "Initializing {0}": "Inicjowanie {0}", + "Initializing projects": "Inicjowanie projektów", + "Initializing projects ({0} of {1})": "Inicjowanie projektów ({0} z {1})", + "Initializing projects ({0} of {1}): {2}": "Inicjowanie projektów ({0} z {1}): {2}", + "Initializing projects {0}": "Inicjowanie projektu {0}", + "Checking for out of date files": "Sprawdzanie nieaktualnych plików", + "Checking for out of date files ({0} of {1})": "Sprawdzanie nieaktualnych plików ({0} z{1})", + "Checking for out of date files ({0} of {1}): {2}": "Sprawdzanie nieaktualnych plików ({0} z {1}): {2}", + "Checking for out of date files {0}": "Sprawdzanie nieaktualnych plików {0}", + "Parsing files": "Analizowanie plików", + "Parsing files ({0} of {1})": "Analizowanie plików ({0} z {1})", + "Parsing files ({0} of {1}): {2}": "Analizowanie plików ({0} z {1}): {2}", + "Parsing files {0}": "Analizowanie plików {0}", + "Parsing included files": "Analizowanie dołączonych plików", + "Parsing included files ({0} of {1})": "Analizowanie dołączonych plików ({0} z {1})", + "Parsing included files ({0} of {1}): {2}": "Analizowanie dołączonych plików ({0} z {1}): {2}", + "Parsing included files {0}": "Analizowanie dołączonych plików {0}", + "Scanning #includes for more files": "Przeszukiwanie plików #includes w poszukiwaniu kolejnych plików", + "Scanning #includes for more files ({0} of {1})": "Skanowanie instrukcji #includes w poszukiwaniu dodatkowych plików ({0} z {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Skanowanie instrukcji #includes w poszukiwaniu dodatkowych plików ({0} of {1}): {2}", + "Scanning #includes for more files {0} {1}": "Skanowanie instrukcji #includes w poszukiwaniu dodatkowych plików {0} {1}", + "Ready (Updating external dependencies)": "Gotowe (Aktualizacja zewnętrznych zależności)", + "Ready (Updating external dependencies) ({0} of {1})": "Gotowe (Aktualizacja zewnętrznych zależności) ({0} z {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Gotowe (Aktualizacja zewnętrznych zależności) ({0} z {1}): {2}", + "Ready (Updating external dependencies) {0}": "Gotowe (Aktualizacja zależności zewnętrznych) {0}", + "Ready (Optimizing database)": "Gotowe (Optymalizacja bazy danych)", + "Ready (Optimizing database) ({0} of {1})": "Gotowe (Optymalizacja bazy danych) ({0} z {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Gotowe (Optymalizacja bazy danych) ({0} z {1}): {2}", + "Ready (Optimizing database) {0}": "Gotowe (Optymalizacja bazy danych) {0}", + "Creating Indexes": "Tworzenie indeksów", + "Creating Indexes ({0} of {1})": "Tworzenie indeksów ({0} z {1})", + "Creating Indexes ({0} of {1}): {2}": "Tworzenie indeksów ({0} z {1}): {2}", + "Creating Indexes {0}": "Tworzenie indeksów {0}", + "Evaluating": "Szacowanie", + "Evaluating ({0} of {1})": "Szacowanie ({0} z {1})", + "Evaluating ({0} of {1}): {2}": "Szacowanie ({0} z {1}): {2}", + "Evaluating {0}": "Trwa obliczanie {0}", + "Indexing files": "Indeksowanie plików", + "Indexing files ({0} of {1})": "Indeksowanie plików ({0} z {1})", + "Indexing files ({0} of {1}): {2}": "Indeksowanie plików ({0} z {1}): {2}", + "Indexing files {0}": "Indeksowanie plików {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Zezwól na uruchomienie serwera, nawet jeśli podany plik --lsp-config nie istnieje.", + "Initialization failed during engine setup.": "Inicjowanie nie powiodło się podczas instalacji aparatu.", + "Important:": "Ważne:", + "Unknown OS platform": "Nieznana platforma systemu operacyjnego", + "Could not get ProductVersion from SystemVersion.plist": "Nie można uzyskać elementu ProductVersion z pliku SystemVersion.plist", + "Failed to find SystemVersion.plist in {0}.": "Nie udało się znaleźć pliku SystemVersion.plist w: {0}.", + "Refresh process list": "Odśwież listę procesów", + "Attach to process": "Dołącz do procesu", + "Select the process to attach to": "Wybierz docelowy proces dołączania", + "Process not selected.": "Nie wybrano procesu.", + "{0} in debug configuration requires {1} and {2}": "{0} w konfiguracji debugowania wymaga {1} i {2}", + "Chosen debug configuration does not contain {0} or {1}": "Wybrana konfiguracja debugowania nie zawiera elementu {0} lub {1}", + "Pipe transport failed to get OS and processes.": "Transport potokowy nie może pobrać systemu operacyjnego i procesów.", + "Transport attach could not obtain processes list.": "Dołączanie transportu nie mogło uzyskać listy procesów.", + "Failed to make GDB connection: \"{0}\".": "Nie można nawiązać połączenia GDB: „{0}”.", + "Failed to parse processes: \"{0}\".": "Nie można przeanalizować procesów: „{0}”.", + "Default Configuration": "Konfiguracja domyślna", + "Select a configuration": "Wybierz konfigurację", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Debuger typu: „{0}” jest dostępny tylko w systemie Windows. Użyj typu: „{1}” na bieżącej platformie systemu operacyjnego.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "Klucz „{0}” jest przestarzały. Zamiast niego użyj klucza „{1}”.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "Nie można zlokalizować elementu „LLDB.framework” dla narzędzia lldb-mi. Zainstaluj środowisko XCode lub narzędzia wiersza polecenia środowiska XCode.", + "Launch configuration:": "Konfiguracja uruchamiania:", + "'deploySteps' require VS Code 1.69+.": "Instrukcja „deploySteps” wymaga edytora VS Code 1.69 lub nowszego.", + "Running deploy steps...": "Trwa uruchamianie kroków wdrażania...", + "Unable to find {0}. {1} task is ignored.": "Nie można odnaleźć {0}. Zadanie {1} zostało zignorowane.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Nie można odnaleźć debugera {0}. Konfiguracja debugowania dla {1} jest ignorowana.", + "build and debug active file": "Kompiluj i debuguj aktywny plik", + "Apply Developer Environment": "Zastosuj środowisko deweloperskie", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} wymaga środowiska deweloperskiego programu Visual Studio.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Zaktualizuj środowisko deweloperskie", + "Cancel": "Anuluj", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Nie można skompilować kodu źródłowego, ponieważ nie zastosowano środowiska deweloperskiego Visual Studio.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Nie można skompilować kodu źródłowego, ponieważ nie znaleziono kompilatora Visual C++.", + "Missing dependency '{0}' for lldb-mi executable.": "Brak zależności „{0}” dla pliku wykonywalnego lldb-mi.", + "Searched in:": "Wyszukano w:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Aby rozwiązać ten problem, zainstaluj środowisko XCode za pośrednictwem sklepu Apple App Store lub zainstaluj narzędzia wiersza polecenia środowiska XCode, uruchamiając polecenie „{0}” w oknie terminala.", + "Failed to use {0}. Reason: {1}": "Nie można użyć elementu {0}. Przyczyna: {1}", + "Replacing {0} '{1}' with '{2}'.": "Zamienianie wartości zmiennej {0} z „{1}” na „{2}”.", + "Resolving variables in {0}...": "Trwa rozpoznawanie zmiennych w {0}...", + "Open {0}": "Otwórz element {0}", + "Recently Used Task": "Ostatnio używane zadanie", + "Configured Task": "Skonfigurowane zadania", + "Detected Task": "Wykryte zadanie", + "Cannot build and debug because the active file is not a C or C++ source file.": "Nie można skompilować i debugować, ponieważ aktywny plik nie jest plikiem źródłowym języka C lub C++.", + "No compiler found": "Nie znaleziono kompilatora", + "Select a debug configuration": "Wybierz konfigurację debugowania", + "\"args\" in command deploy step must be an array.": "„args” w kroku wdrażania polecenia musi być tablicą.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "„host”, „pliki” i „targetDir” są wymagane w krokach {0}.", + "\"files\" must be a string or an array of strings in {0} steps.": "Element „pliki” musi być ciągiem lub tablicą ciągów w krokach {0}.", + "\"host\" and \"command\" are required for ssh steps.": "„host” i „command” są wymagane dla kroków SSH.", + "\"command\" is required for shell steps.": "„polecenie” jest wymagana dla kroków powłoki.", + "Deploy step type {0} is not supported.": "Typ kroku wdrażania {0} nie jest obsługiwany.", + "Unexpected OS type": "Nieoczekiwany typ systemu operacyjnego", + "full path to pipe program such as {0}": "pełna ścieżka do programu potoku, takiego jak {0}", + "Enable pretty-printing for {0}": "Włącz formatowanie kodu dla {0}", + "Set Disassembly Flavor to {0}": "Ustaw wariant dezasemblacji na {0}", + "enter program name, for example {0}": "wprowadź nazwę programu, na przykład {0}", + "Launch": "Launch", + "Launch with {0}.": "Uruchom przy użyciu {0}.", + "Attach": "Dołącz", + "Attach with {0}.": "Dołącz przy użyciu {0}.", + "Pipe Launch": "Uruchomienie potoku", + "Pipe Launch with {0}.": "Uruchomienie potoku przy użyciu {0}.", + "Pipe Attach": "Dołączenie potoku", + "Pipe Attach with {0}.": "Dołączenie potoku przy użyciu {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Uruchom przy użyciu debugera Visual Studio C/C++.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Dołącz do procesu przy użyciu debugera Visual Studio C/C++.", + "Bash on Windows Launch": "Program Bash w systemie Windows — uruchamianie", + "Launch in Bash on Windows using {0}.": "Uruchom w programie Bash w systemie Windows za pomocą elementu {0}.", + "Bash on Windows Attach": "Program Bash w systemie Windows — dołączanie", + "Attach to a remote process running in Bash on Windows using {0}.": "Dołącz do zdalnego procesu uruchomionego w programie Bash w systemie Windows przy użyciu elementu {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "Typ debugera „{0}” nie jest dostępny dla maszyn z systemem innym niż Windows.", + "Run Without Debugging is only supported for launch configurations.": "Uruchamianie bez debugowania jest obsługiwane tylko dla konfiguracji uruchamiania.", + "Add debug configuration is not available for single file.": "Dodawanie konfiguracji debugowania nie jest dostępne dla pojedynczego pliku.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Nie można zmodyfikować pliku konfiguracji SSH z powodu błędu analizy „{0}”.", + "No valid SSH configuration file found.": "Nie znaleziono prawidłowego pliku konfiguracji SSH.", + "Enter SSH Target Name": "Wprowadź nazwę elementu docelowego SSH", + "Example: `mySSHTarget`": "Przykład: `mySSHTarget`", + "Enter SSH Connection Command": "Wprowadź polecenie połączenia SSH", + "Example: `ssh hello@microsoft.com -A`": "Przykład: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Wybierz plik konfiguracji SSH", + "Yes": "Tak", + "No": "Nie", + "Are you sure you want to permanently delete \"{0}\"?": "Czy na pewno chcesz trwale usunąć „{0}”?", + "Operating system \"{0}\" not supported.": "System operacyjny „{0}” nie jest obsługiwany.", + "\"{0}\" timed out after {1} seconds.": "Upłynął limit czasu „{0}” po {1} sekundach.", + "\"{0}\" canceled.": "Anulowano: „{0}”.", + "\"{0}\" exited with code: \"{1}\".": "„{0}” zakończono z kodem: „{1}”.", + "Failed to spawn \"{0}\".": "Nie można zduplikować „{0}”.", + "Ignoring non-parsable lines in {0} {1}: ": "Ignorowanie wierszy nienadających się do analizy w {0} {1}: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Nie znaleziono emulatora terminalu. Ustaw zmienną środowiskową $TERMINAL na wybrany emulator terminala lub zainstaluj jeden z następujących: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Wybierz kompilator do skonfigurowania dla funkcji IntelliSense", + "How would you like to configure IntelliSense for the '{0}' folder?": "Jak chcesz skonfigurować funkcję IntelliSense dla folderu „{0}”?", + "How would you like to configure IntelliSense for this folder?": "Jak chcesz skonfigurować funkcję IntelliSense dla tego folderu?", + "Found at {0}": "Znaleziono w {0}", + "Use {0}": "Użyj kompilatora {0}", + "configuration providers": "dostawcy konfiguracji", + "compilers": "kompilatory", + "Select IntelliSense Configuration...": "Wybierz konfigurację funkcji IntelliSense...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Nie skonfigurowano funkcji IntelliSense. Jeśli nie ustawisz własnych konfiguracji, funkcja IntelliSense może nie działać.", + "Select another compiler on my machine...": "Wybierz inny kompilator na mojej maszynie...", + "Help me install a compiler": "Pomóż mi zainstalować kompilator", + "Install a compiler": "Zainstaluj kompilator", + "Do not configure with a compiler (not recommended)": "Nie konfiguruj za pomocą kompilatora (niezalecane)", + "EPERM: Check permissions for '{0}'": "EPERM: sprawdź uprawnienia dla elementu „{0}”", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Nie można uruchomić serwera języka C/C++. Funkcje IntelliSense zostaną wyłączone. Błąd: {0}", + "The language server crashed. Restarting...": "Wystąpiła awaria serwera języka. Trwa ponowne uruchamianie...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "W ciągu ostatnich 3 minut awaria serwera języka wystąpiła 5 razy. Nie zostanie on ponownie uruchomiony.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "Poziom {0} zmienił się na: {1}", + "Dismiss": "Odrzuć", + "Disable Warnings": "Wyłącz ostrzeżenia", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} nie może dostarczyć informacji o konfiguracji funkcji IntelliSense dla elementu „{1}”. W zamian zostaną użyte ustawienia z konfiguracji „{2}”.", + "The requested configuration name is not found: {0}": "Nie znaleziono żądanej nazwy konfiguracji: {0}", + "Unsupported client": "Nieobsługiwany klient", + "Timed out in {0}ms.": "Przekroczono limit czasu: {0} ms.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "Wyliczono pliki ({0}) z wykrytymi plikami źródłowymi języka C/C++ ({1}). Warto rozważyć wykluczenie niektórych plików w celu zwiększenia wydajności.", + "Learn More": "Dowiedz się więcej", + "Don't Show Again": "Nie pokazuj ponownie", + "Update IntelliSense time (sec): {0}": "Aktualizuj czas funkcji IntelliSense (s): {0}", + "Custom configurations received:": "Odebrano konfiguracje niestandardowe:", + "Custom browse configuration received: {0}": "Odebrano niestandardową konfigurację przeglądania: {0}", + " Declaration/definition was copied.": " Deklaracja/definicja została skopiowana.", + "Name the extracted function": "Nadaj nazwę wyodrębnionej funkcji", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "Wyodrębnienie do funkcji zakończyło się niepowodzeniem: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "Wyodrębnienie do funkcji zakończyło się niepowodzeniem. Wygenerowano nieprawidłową edycję: „{0}”", + "Fix all code analysis problems": "Rozwiąż wszystkie problemy z analizą kodu", + "Clear all code analysis problems": "Wyczyść wszystkie problemy z analizą kodu", + "Fix all {0} problems": "Rozwiąż wszystkie problemy z {0}", + "Disable all {0} problems": "Wyłącz wszystkie problemy z {0}", + "Clear all {0} problems": "Wyczyść wszystkie problemy z {0}", + "Clear this {0} problem": "Wyczyść ten problem z {0}", + "Fix this {0} problem": "Rozwiąż ten problem z {0}", + "Show documentation for {0}": "Pokaż dokumentację dotyczącą {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "Tryb funkcji IntelliSense {0} jest niezgodny z ścieżką kompilatora.", + "Processed c_cpp_properties.json in {0}s": "Przetworzono plik c_cpp_properties.json w {0} sek.", + "Failed to create \"{0}\"": "Nie można utworzyć elementu „{0}”", + "Invalid configuration file. There must be at least one configuration present in the array.": "Nieprawidłowy plik konfiguracji. W tablicy musi być obecna co najmniej jedna konfiguracja.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "W pliku c_cpp_properties.json znaleziono nieznany numer wersji. Niektóre funkcje mogą nie działać w oczekiwany sposób.", + "Attempt to update \"{0}\" failed (do you have write access?)": "Próba aktualizacji elementu „{0}” nie powiodła się (czy masz dostęp do zapisu?)", + "Failed to parse \"{0}\"": "Nie można przeanalizować elementu „{0}”", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Nie można odnaleźć ścieżki kompilatora ze spacjami. Jeśli było to przeznaczone do uwzględnienia argumentów kompilatora, otocz ścieżkę kompilatora podwójnym cudzysłowem ({0}).", + "Cannot find: {0}": "Nie można znaleźć: {0}", + "Path is not a file: {0}": "Ścieżka nie jest plikiem: {0}", + "The include path validation took {0}s to evaluate": "Ocena walidacji ścieżki dołączania trwała {0} sek.", + "Failed to resolve include path. Error: {0}": "Nie można rozpoznać ścieżki dołączania. Błąd: {0}", + "Do not add extra quotes around paths.": "Nie dodawaj dodatkowych cudzysłowów wokół ścieżek.", + "Path is not a directory: {0}": "Ścieżka nie jest katalogiem: {0}", + "{0} is a duplicate. The configuration name should be unique.": "Element {0} jest duplikatem. Nazwa konfiguracji musi być unikatowa.", + "Path took {0}s to evaluate": "Ocena ścieżki trwała {0} sek.", + "Failed to resolve path {0}. Error: {1}": "Nie można rozpoznać ścieżki {0}. Błąd: {1}", + "Multiple paths are not allowed.": "Wiele ścieżek jest niedozwolonych.", + "Multiple paths should be separate entries in an array.": "Wiele ścieżek powinno być osobnymi wpisami w tablicy.", + "Paths are not directories: {0}": "Ścieżki nie są katalogami: {0}", + "Error while retrieving result. Reason: {0}": "Błąd podczas pobierania wyniku. Przyczyna: {0}", + "build active file": "kompiluj aktywny plik", + "compiler:": "kompilator:", + "Task generated by Debugger.": "Zadanie wygenerowane przez debuger.", + "Starting build...": "Trwa uruchamianie kompilacji...", + "Build run was terminated.": "Uruchamianie kompilacji zostało przerwane.", + "Build finished with error(s).": "Kompilacja została zakończona z błędami.", + "Build finished with warning(s).": "Kompilacja została zakończona z ostrzeżeniami.", + "Build finished successfully.": "Kompilacja została zakończona pomyślnie.", + "No context provided": "Nie podano kontekstu", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "Polecenie „Ustaw środowisko deweloperskie Visual Studio” jest dostępne tylko w systemie Windows", + "A Visual Studio installation with the C++ compiler was not found": "Nie znaleziono instalacji Visual Studio z kompilatorem C++", + "The operation was cancelled": "Operacja została anulowana", + "No hosts found": "Nie znaleziono hostów", + "Configuring developer environment...": "Trwa konfigurowanie środowiska deweloperskiego...", + "Select a Visual Studio installation": "Wybierz instalację programu Visual Studio", + "Advanced options...": "Opcje zaawansowane...", + "Select a specific host and target architecture, toolset version, etc.": "Wybierz konkretny host, architekturę docelową, wersję zestawu narzędzi itp.", + "Select a toolset version": "Wybierz wersję zestawu narzędzi", + "Select a host and target architecture": "Wybierz hosta i architekturę docelową", + "Something went wrong: {0}": "Wystąpił błąd: {0}", + "{0} developer environment for {1}": "{0} środowisko deweloperskie dla {1}", + "Default environment for {0}": "Środowisko domyślne dla {0}", + "host = {0}, target = {1}": "host = {0}, cel = {1}", + "Learn how to install a library for this header with vcpkg": "Dowiedz się, jak zainstalować bibliotekę dla tego nagłówka przy użyciu menedżera vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Skopiuj polecenie vcpkg, aby zainstalować element „{0}” w schowku", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Nie można wykonywać poleceń związanych z funkcją IntelliSense, gdy właściwość `C_Cpp.intelliSenseEngine` ma wartość `disabled`.", + "client not found": "nie znaleziono klienta", + "OK": "OK", + "The clang compiler will now be installed": "Kompilator clang zostanie teraz zainstalowany", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Może zostać wyświetlony monit o wpisanie hasła w oknie terminala VS Code w celu autoryzacji instalacji.", + "The gcc compiler will now be installed": "Kompilator gcc zostanie teraz zainstalowany", + "Open a folder first to select a configuration.": "Najpierw otwórz folder, aby wybrać konfigurację.", + "Open a folder first to select a configuration provider.": "Najpierw otwórz folder, aby wybrać dostawcę konfiguracji.", + "Open a folder first to edit configurations": "Otwórz najpierw folder, aby edytować konfiguracje", + "The code analysis fix could not be applied because the document has changed.": "Nie można rozwiązać problemu z analizą kodu, ponieważ dokument został zmieniony.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "Dostępna jest wersja wstępna rozszerzenia C/C++. Czy chcesz się na nią przełączyć?", + "Copilot summary is not available.": "Podsumowanie Copilot jest niedostępne.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Plik zawierający definicję lub deklarację tego symbolu został wykluczony z używania z copilotem.", + "Copilot summary is not available for this symbol.": "Podsumowanie Copilot jest niedostępne dla tego symbolu.", + "An error occurred while generating Copilot summary.": "Wystąpił błąd podczas generowania podsumowania funkcji Copilot.", + "Duplicate multiline comment patterns detected.": "Wykryto zduplikowane wzorce komentarzy wielowierszowych.", + "Error while retrieving the project context. Reason: {0}": "Błąd podczas pobierania kontekstu projektu. Przyczyna: {0}", + "Error while retrieving the #cpp context.": "Błąd podczas pobierania kontekstu #cpp.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Znajdowanie wszystkich odwołań", + "Peek References": "Wgląd w odwołania", + "Rename": "Zmień nazwę", + "Call Hierarchy": "Wywołaj hierarchię", + "CONFIRMED REFERENCE": "ODWOŁANIE POTWIERDZONE", + "CONFIRMATION IN PROGRESS": "POTWIERDZENIE W TOKU", + "COMMENT REFERENCE": "ODWOŁANIE DO KOMENTARZA", + "STRING REFERENCE": "ODWOŁANIE DO CIĄGU", + "INACTIVE REFERENCE": "NIEAKTYWNE ODWOŁANIE", + "CANNOT CONFIRM REFERENCE": "NIE MOŻNA POTWIERDZIĆ ODWOŁANIA", + "NOT A REFERENCE": "TO NIE JEST ODWOŁANIE", + "Confirmed reference": "Potwierdzone odwołanie", + "Confirmation in progress": "Potwierdzenie w toku", + "Comment reference": "Odwołanie do komentarza", + "String reference": "Odwołanie do ciągu", + "Inactive reference": "Nieaktywne odwołanie", + "Cannot confirm reference": "Nie można potwierdzić odwołania", + "Not a reference": "To nie jest odwołanie", + "CONFIRMATION CANCELED": "POTWIERDZENIE ANULOWANE", + "Confirmation canceled": "Potwierdzenie anulowane", + "To preview results, click the search icon in the status bar.": "Aby wyświetlić podgląd wyników, kliknij ikonę wyszukiwania na pasku stanu.", + "Started.": "Uruchomiono.", + "Processing source.": "Przetwarzanie źródła.", + "Searching files.": "Wyszukiwanie plików.", + "{0}/{1} files searched.{2}": "Wyszukano pliki: {0}/{1}.{2}", + "{0}/{1} files confirmed.{2}": "Potwierdzono pliki: {0}/{1}.{2}", + "C/C++ Peek References": "Wgląd w odwołania języka C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Ostrzeżenie] Może brakować niektórych odwołań, ponieważ analizowanie obszaru roboczego było niekompletne po uruchomieniu elementu {0}.", + "Go to reference": "Przejdź do odwołania", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Formatowanie kodu używa ustawień z pliku .editorconfig zamiast .clang-format. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą wartości „default” ustawienia „C_Cpp.formatting”.", + "C/C++ Configurations": "Konfiguracje języka C/C++", + "IntelliSense: Updating": "IntelliSense: aktualizowanie", + "IntelliSense: Ready": "IntelliSense: gotowe", + "Initializing Workspace": "Inicjowanie obszaru roboczego", + "Indexing Workspace": "Indeksowanie obszaru roboczego", + "Parsing Workspace": "Analizowanie obszaru roboczego", + "Parsing Workspace: Paused": "Analizowanie obszaru roboczego: wstrzymane", + "Parsing Complete": "Analizowanie zakończone", + "Rescan Workspace": "Ponowne skanowanie obszaru roboczego", + "Parsing Open Files": "Analizowanie otwartych plików", + "Code Analysis: Running": "Analiza kodu: uruchamianie", + "Code Analysis: Paused": "Analiza kodu: wstrzymano", + "Code Analysis Mode: ": "Tryb analizy kodu: ", + "click to preview results": "kliknij, aby wyświetlić podgląd wyników", + "Configure IntelliSense": "Konfigurowanie funkcji IntelliSense", + "C/C++ IntelliSense Status": "Stan funkcji IntelliSense języka C/C++", + "Rescan": "Skanuj ponownie", + "Rescan IntelliSense": "Ponowne skanowanie funkcji IntelliSense", + "C/C++ Tag Parser Status": "Stan parsera tagów języka C/C++", + "Initializing...": "Trwa inicjowanie...", + "Resume": "Wznów", + "Pause": "Wstrzymaj", + "C/C++ Code Analysis Status": "Stan analizy kodu C/C++", + "Run Now": "Uruchom teraz", + "Automatic": "Automatycznie", + "Manual": "Ręczny", + "Options": "Opcje", + "Starting...": "Trwa uruchamianie...", + "Running: {0} / {1} ({2}%)": "Uruchomione: {0} / {1} ({2}%)", + "Select a code analysis command...": "Wybierz polecenie analizy kodu...", + "Start Another...": "Uruchom kolejną...", + "Select a command...": "Wybierz polecenie...", + "Run Code Analysis on Active File": "Uruchom analizę kodu dla aktywnego pliku", + "Run Code Analysis on All Files": "Uruchamianie analizy kodu dla wszystkich plików", + "Run Code Analysis on Open Files": "Uruchamianie analizy kodu dla otwartych plików", + "C/C++ References Status": "Stan odwołań języka C/C++", + "C/C++ Configuration": "Konfiguracja języka C/C++", + "C/C++ Configure IntelliSense": "Konfigurowanie funkcji IntelliSense (C/C++)", + "Select a Configuration...": "Wybierz konfigurację...", + "Edit Configurations (UI)": "Edytowanie konfiguracji (interfejs użytkownika)", + "Edit Configurations (JSON)": "Edytowanie konfiguracji (JSON)", + "Select a Configuration Provider...": "Wybierz dostawcę konfiguracji...", + "active": "aktywne", + "none": "brak", + "Disable the active configuration provider, if applicable.": "Wyłącz aktywnego dostawcę konfiguracji, jeśli ma zastosowanie.", + "Select a workspace folder...": "Wybierz folder obszaru roboczego...", + "Failed to connect to {0}": "Nie można nawiązać połączenia z {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "Parametr „localSocket” nie może być określony jednocześnie za pomocą elementu „bindAddress” lub „port” w localForwards", + "\"port\" or \"localSocket\" required in localForwards": "„port” lub „localSocket” wymagane w localForwards", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "Parametr „remoteSocket” nie może być określone jednocześnie za pomocą elementu „host” lub \"hostPort\" w localForwards", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "„Host” i „hostPort” lub „remoteSocket” są wymagane w localForwards", + "SSH command canceled": "Anulowano polecenie SSH", + "Enter passphrase for ssh key {0}": "Wprowadź hasło dla klucza SSH {0}", + "Enter password for user \"{0}\"": "Wprowadź hasło dla użytkownika „{0}”", + "Enter password": "Wprowadź hasło", + "Are you sure you want to continue?": "Czy na pewno chcesz kontynuować?", + "\"{0}\" has fingerprint \"{1}\".": "„{0}” ma odcisk palca „{1}”.", + "Continue": "Kontynuuj", + "\"{0}\" terminal command canceled.": "Anulowano polecenie terminalu „{0}”.", + "\"{0}\" terminal command done.": "Wykonano polecenie terminalu „{0}”.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "Zadanie „{0}” zostało anulowane, ale nie można zakończyć bazowego polecenia. Sprawdź ręcznie.", + "\"{0}\" process failed: {1}": "Proces „{0}” nie powiódł się: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "„{0}” zapisał dane w terminalu: „{1}”.", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Nie można odnaleźć informacji o użytkowniku dla protokołu SSH. Może to być spowodowane instalacją oprogramowania VS Code przy użyciu funkcji „Przyciąganie”. Jeśli planujesz korzystać z funkcji protokołu SSH, przeinstaluj oprogramowanie VS Code przy użyciu pakietu „deb”.", + "Failed to parse SSH configuration file {0}: {1}": "Nie można przeanalizować pliku konfiguracji SSH {0}: {1}", + "Failed to read file {0}.": "Nie można odczytać pliku {0}.", + "Failed to write to file {0}.": "Nie można zapisać do pliku {0}.", + "Inline macro is not available at this location.": "Makro wbudowane jest niedostępne w tej lokalizacji.", + "AI-generated content may be incorrect.": "Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna.", + "Invalid identifier provided for the Rename Symbol operation.": "Podano nieprawidłowy identyfikator dla operacji Zmień nazwę symbolu.", + "A definition for the selected symbol could not be located.": "Nie można zlokalizować definicji wybranego symbolu.", + "No SSH targets": "Brak elementów docelowych SSH", + "Active SSH target selection cancelled.": "Anulowano wybór aktywnego elementu docelowego SSH.", + "{0} Add New SSH Target...": "{0} dodaj nowy element docelowy SSH...", + "Select an SSH target": "Wybierz element docelowy SSH", + "[Active]": "[Aktywne]" +} diff --git a/Extension/i18n/ptb/bundle.l10n.json b/Extension/i18n/ptb/bundle.l10n.json new file mode 100644 index 000000000..6bc12ef19 --- /dev/null +++ b/Extension/i18n/ptb/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Falha ao analisar o arquivo JSON, possivelmente devido a comentários ou vírgulas à direita.", + "The C/C++ extension is still installing. See the output window for more information.": "A extensão C/C++ ainda está sendo instalada. Confira a janela de saída para obter mais informações.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Consulte {0} para obter informações de solução de problemas. Os problemas podem ser criados no {1}", + "Process exited with code {0}": "Processo encerrado com o código {0}", + "Process executed successfully.": "Processo executado com êxito.", + "Killing process {0}": "Encerrando o processo {0}", + "Warning: Expected file {0} is missing.": "Aviso: o arquivo esperado {0} está ausente.", + "Warning: Debugging has not been tested for this platform.": "Aviso: a depuração não foi testada para esta plataforma.", + "Reload the workspace for the settings change to take effect.": "Recarregue o workspace para que a alteração das configurações entre em vigor.", + "Reload": "Recarregar", + "Custom configuration provider '{0}' registered": "Provedor de configuração personalizada '{0}' registrado", + "Reached max string expansion recursion. Possible circular reference.": "Recursão máxima de expansão da cadeia de caracteres atingida. Possível referência circular.", + "Invalid variable reference {0} in string: {1}.": "Referência de variável inválida {0} na cadeia de caracteres: {1}.", + "Environment variable {0} not found": "Variável de ambiente {0} não encontrada", + "Commands are not supported for string: {0}.": "Os comandos não são compatíveis com a cadeia de caracteres: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Exceção ao executar o comando {0} para a cadeia de caracteres: {1} {2}.", + "C/C++ Diagnostics": "Diagnóstico de C/C++", + "C/C++ Crash Call Stacks": "Pilhas de Chamadas de Falha do C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Um processo de extensão C/C++ falhou. O nome, data/hora, sinal e pilha de chamadas do processo de falha estão abaixo. Seria útil incluí-los em um relatório de bugs em {0}.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "Protocolo de Depuração de C/C++", + "C/C++ Configuration Warnings": "Avisos de Configuração de C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "As versões da extensão C/C++ mais recentes que {0} requerem pelo menos a versão do macOS {1}.", + "intelliSenseEngine is disabled": "intelliSenseEngine está desabilitado", + "More Info": "Mais Informações", + "Ignore": "Ignorar", + "The C/C++ extension installed does not match your system.": "A extensão C/C++ instalada não corresponde ao sistema.", + "The C/C++ extension installed is compatible with but does not match your system.": "A extensão C/C++ instalada é compatível com o sistema, mas não corresponde ao sistema.", + "Searching include path...": "Pesquisando o caminho de inclusão...", + "Include file not found in browse.path.": "Arquivo de inclusão não encontrado em browse.path.", + "Edit \"browse.path\" setting": "Editar a configuração de \"browse.path\"", + "Add to \"includePath\": {0}": "Adicionar a \"includePath\": {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Adicionar \"{0}\"", + "Edit \"includePath\" setting": "Editar a configuração de \"includePath\"", + "Disable error squiggles": "Desabilitar rabiscos de erro", + "Enable all error squiggles": "Habilitar todos os rabiscos de erro", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "#incluir erros detectados. Atualize o includePath. Os rabiscos estão desabilitados para esta unidade de tradução ({0}).", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#incluir erros detectados. Atualize o includePath. Os recursos do IntelliSense para esta unidade de tradução ({0}) serão fornecidos pelo Analisador de Marca.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#incluir erros detectados. Considere atualizar o compile_commands.json ou o includePath. Os recursos do IntelliSense para esta unidade de tradução ({0}) serão fornecidos pelo Analisador de Marca.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Não foi possível analisar \"{0}\". Em seu lugar, será usado o 'includePath' de c_cpp_properties.json na pasta '{1}'.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Não foi possível encontrar \"{0}\". Em seu lugar, será usado o 'includePath' de c_cpp_properties.json na pasta '{1}'.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{0}\" não foi encontrado em \"{1}\". Em seu lugar, será usado 'includePath' de c_cpp_properties.json na pasta '{2}' para esse arquivo.", + "The IntelliSense database was successfully reset.": "O banco de dados do IntelliSense foi redefinido com êxito.", + "Failed to send response to client: {0}": "Falha ao enviar a resposta ao cliente: {0}", + "Failed to read response from server: {0}": "Falha ao ler a resposta do servidor: {0}", + "Failed to send request to server: {0}": "Falha ao enviar a solicitação ao servidor: {0}", + "Unexpected error while waiting for requests: {0}": "Erro inesperado ao aguardar solicitações: {0}", + "{0} errored with: {1}": "{0} com erro: {1}", + "Failed to open the file {0}": "Falha ao abrir o arquivo {0}", + "Failed to query default include paths and defines for {0}.": "Falha ao consultar os caminhos de inclusão padrão e definir para {0}.", + "Failed calling {0}": "Falha ao chamar {0}", + "Quick info operation failed: {0}": "Falha na operação de informações rápidas: {0}", + "Failed to create IntelliSense client: {0}": "Falha ao criar o cliente IntelliSense: {0}", + "Failed to spawn IntelliSense process: {0}": "Falha ao gerar o processo IntelliSense: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Erro ao chamar browse_engine_update_thread.join(): {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Este arquivo ({0}) já está aberto no editor, mas com um uso de maiúsculas diferente. Os recursos do IntelliSense serão desabilitados nesta cópia do arquivo.", + "IntelliSense client has disconnected from the server - {0}": "O cliente IntelliSense foi desconectado do servidor – {0}", + "Formatting failed:": "Falha na formatação:", + "Unable to add file to database, error = {0}: {1}": "Não é possível adicionar o arquivo ao banco de dados. Erro = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Falha ao redefinir o carimbo de data/hora durante a anulação, erro = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Não é possível atualizar o carimbo de data/hora. Erro = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Não é possível finalizar as atualizações para o arquivo. Erro = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} não é um diretório (st_mode ={1})", + "Unable to retrieve file system information for {0}. error = {1}": "Não é possível recuperar as informações do sistema de arquivos para {0}. erro = {1}", + "{0} is not a directory": "{0} não é um diretório", + "File discovery was aborted": "A descoberta de arquivo foi anulada", + "Aborting tag parse of {0} and dependencies": "Anulando a análise de marca de {0} e dependências", + "Aborting tag parse at root": "Anulando análise de marca na raiz", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Não é possível recuperar os registros do BD para redefinir os carimbos de data/hora: erro = {0}", + "Failed to reset timestamp for {0}: error = {1}": "Falha ao redefinir o carimbo de data/hora para {0}: erro = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Nenhum compilador adequado encontrado. Defina \"compilerPath\" em c_cpp_properties.json.", + "Compiler include path not found: {0}": "O compilador inclui o caminho não encontrado: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "O mecanismo IntelliSense não está respondendo. Usando o Analisador de Marca em seu lugar.", + "Tag Parser will be used for IntelliSense operations in: {0}": "O Analisador de Marca será usado para operações do IntelliSense em: {0}", + "Error squiggles will be disabled in: {0}": "Os rabiscos de erro serão desabilitados em: {0}", + "Processing folder (non-recursive): {0}": "Processando pasta (não recursiva): {0}", + "Processing folder (recursive): {0}": "Processando pasta (recursiva): {0}", + "File exclude: {0}": "Excluir arquivo: {0}", + "Search exclude: {0}": "Pesquisar a exclusão: {0}", + "Discovering files: {0} file(s) processed": "Descobrindo arquivos: {0} arquivos processados", + "{0} file(s) removed from database": "{0} arquivos removidos do banco de dados", + "Parsing: {0} files(s) processed": "Analisando: {0} arquivos processados", + "Shutting down IntelliSense server: {0}": "Desligando o servidor IntelliSense: {0}", + "Resetting IntelliSense server: {0}": "Redefinindo o servidor IntelliSense: {0}", + "Code browsing service initialized": "Serviço de pesquisa de código inicializado", + "Folder: {0} will be indexed": "Pasta: {0} será indexada", + "Populate include completion cache.": "Preencha o cache de conclusão de inclusão.", + "Discovering files...": "Descobrindo arquivos...", + "Done discovering files.": "Descoberta de arquivos concluída.", + "Parsing open files...": "Analisando arquivos abertos...", + "Done parsing open files.": "Análise de arquivos abertos concluída.", + "Parsing remaining files...": "Analisando os arquivos restantes...", + "Done parsing remaining files.": "Análise de arquivos restantes concluída.", + "Using configuration: \"{0}\"": "Usando a configuração: \"{0}\"", + "{0} include path suggestion(s) discovered.": "{0} sugestões de caminho de inclusão descobertas.", + "Checking for syntax errors: {0}": "Verificando erros de sintaxe: {0}", + "IntelliSense Engine = {0}.": "Mecanismo IntelliSense = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "A extensão usará o Analisador de Marca para IntelliSense quando #includes não for resolvido.", + "Autocomplete is enabled.": "O preenchimento automático está habilitado.", + "Autocomplete is disabled.": "O preenchimento automático está desabilitado.", + "Hover is enabled.": "O Hover está habilitado.", + "Hover is disabled.": "O hover está desabilitado.", + "Enhanced Colorization is enabled.": "A Colorização Avançada está habilitada.", + "Error squiggles are disabled.": "Os rabiscos de erro estão desabilitados.", + "Error squiggles are enabled.": "Os rabiscos de erro estão habilitados.", + "Error squiggles are enabled if all header dependencies are resolved.": "Os rabiscos de erro serão habilitados se todas as dependências de cabeçalho forem resolvidas.", + "Replaced placeholder file record": "Registro de arquivo de espaço reservado substituído", + "tag parsing file: {0}": "arquivo de análise de marca: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "erro de análise de marca (isso pode ser ignorado, a menos que não seja possível encontrar símbolos):", + "Reset time stamp for {0}": "Redefinir carimbo de data/hora para {0}", + "Failed to remove file: {0}": "Falha ao remover o arquivo: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Erro de análise de regex – padrão vscode: {0}, regex: {1}, mensagem de erro: {2}", + "terminating child process: {0}": "terminando o processo filho: {0}", + "still alive, killing...": "ainda está ativo, encerrando...", + "giving up": "desistindo", + "not exited yet. Will sleep for {0} milliseconds and try again.": "ainda não foi encerrado. Será suspenso por {0} milissegundos e tentará novamente.", + "Failed to spawn process. Error: {0} ({1})": "Falha ao gerar o processo. Erro: {0} ({1})", + "Offering completion": "Conclusão da oferta", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Tentando obter os padrões do compilador encontrado no computador: '{0}'", + "Unable to resolve include path: {0}": "Não é possível resolver o caminho de inclusão: {0}", + "Error searching for IntelliSense client: {0}": "Erro ao pesquisar o cliente IntelliSense: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "O cliente IntelliSense não está disponível. Usando o Analisador de Marca para obter informações rápidas.", + "using Tag Parser for quick info": "usando o Analisador de Tag para obter informações rápidas", + "Closing the communication channel.": "Fechando o canal de comunicação.", + "sending compilation args for {0}": "enviando os argumentos de compilação para {0}", + "include: {0}": "incluir: {0}", + "framework: {0}": "estrutura: {0}", + "define: {0}": "definir: {0}", + "preinclude: {0}": "pré-incluir: {0}", + "other: {0}": "outros: {0}", + "sending {0} changes to server": "enviando {0} alterações para o servidor", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Instância do arquivo aberto inválida. Ignorando a mensagem do IntelliSense para o arquivo {0}.", + "idle loop: reparsing the active document": "loop ocioso: analisando novamente o documento ativo", + "IntelliSense client is currently disconnected": "O cliente IntelliSense está desconectado no momento", + "Request canceled: {0}": "Solicitação cancelada: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "O cliente IntelliSense não está disponível. Usando o Analisador de Marca para ir para a definição.", + "Error squiggle count: {0}": "Contagem de rabiscos de erro: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Enfileirando a atualização do IntelliSense para arquivos na unidade de tradução de: {0}", + "Formatting document: {0}": "Formatando o documento: {0}", + "Formatting input:": "Formatando a entrada:", + "Formatting raw output:": "Formatando a saída bruta:", + "Formatting diffed output before cursor:": "Formatando a saída diferenciada antes do cursor:", + "Formatting diffed output after cursor:": "Formatando a saída diferenciada após o cursor:", + "Formatting diffed output:": "Formatando a saída diferenciada:", + "Disable inactive region colorization": "Desabilitar a colorização da região inativa", + "Error limit exceeded, {0} error(s) not reported.": "O limite de erros foi excedido. {0} erros não relatados.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "#incluir erros detectados. Considere atualizar o compile_commands.json ou o includePath. Os rabiscos estão desabilitados para esta unidade de tradução ({0}).", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "O banco de dados do IntelliSense não pôde ser redefinido. Para redefinir manualmente, feche todas as instâncias do VS Code e exclua este arquivo: {0}", + "Formatting failed. See the output window for details.": "Falha na formatação. Consulte a janela de saída para obter detalhes.", + "Populating include completion cache.": "Preenchendo o cache de conclusão de inclusão.", + "Discovering files: {0}": "Descobrindo arquivos: {0}", + "Parsing open files": "Analisando arquivos abertos", + "Tag parser initializing": "Inicializando o analisador de marca", + "Workspace parsing paused": "Análise em pausar do espaço de trabalho", + "Parsing workspace files: {0}": "Analisando os arquivos do espaço de trabalho: {0}", + "Discovering files: {0} / {1} ({2}%)": "Descobrindo arquivos: {0}/{1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "Analisando os arquivos do espaço de trabalho: {0} / {1} ({2}%)", + "Can't find or run process_name": "Não é possível localizar ou executar process_name", + "Child exec failed {0}": "Falha na execução filho {0}", + "Could not communicate with child process!": "Não foi possível se comunicar com o processo filho!", + "{0} failed": "{0} com falha", + "Failed to set {0} flag": "Falha ao definir o sinalizador {0}", + "Unable to create {0}!": "Não é possível criar {0}!", + "Failed to set stdin {0} flag": "Falha ao definir o sinalizador {0} de stdin", + "Failed to set stdout {0} flag": "Falha ao definir o sinalizador {0} de stdout", + "Failed to set stderr {0} flag": "Falha ao definir o sinalizador {0} de stderr", + "Unable to start child process!": "Não é possível iniciar o processo filho!", + "Timed out attempting to communicate with process!": "Tempo limite atingido ao tentar se comunicar com o processo!", + "Process has failed to run": "Falha na execução do processo", + "Specified compiler was not found: {0}": "O compilador especificado não foi encontrado: {0}", + "Config data invalid, {0}": "Dados de configuração inválidos, {0}", + "CMake executable not found at {0}": "Executável do CMake não localizado em {0}", + "No args provider": "Nenhum provedor de argumentos", + "Invalid file path {0}": "Caminho de arquivo inválido {0}", + "Can't create IntelliSense client for {0}": "Não é possível criar o cliente IntelliSense para {0}", + "declaration": "declaração", + "type alias": "alias de tipo", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "O compilador não dá suporte para 64 bits. Voltando para o intelliSenseMode de 32 bits.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "O compilador não dá suporte para 32 bits. Voltando para o intelliSenseMode de 64 bits.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Falha ao consultar o compilador. Voltando para o intelliSenseMode de 32 bits.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Falha ao consultar o compilador. Voltando para o intelliSenseMode de 64 bits.", + "Failed to query compiler. Falling back to no bitness.": "Falha ao consultar o compilador. Voltando para nenhum número de bit.", + "IntelliSense client creation aborted: {0}": "Criação de cliente do IntelliSense anulada: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#inclui erros detectados com base nas informações fornecidas pela configuração configurationProvider. Os recursos do IntelliSense para essa unidade de conversão ({0}) serão fornecidos pelo Analisador de Marca.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "#inclui erros detectados com base nas informações fornecidas pela configuração configurationProvider. Os rabiscos estão desabilitados para esta unidade de tradução ({0}).", + "preprocessor keyword/Refers to C/C++ processor keywords": "palavra-chave do pré-processador", + "C keyword": "Palavra-chave C", + "C++ keyword": "Palavra-chave C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "Mais 1 sobrecarga", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "Mais %d sobrecargas", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "Mais 1 especialização", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "Mais %d especializações", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Nota: o IntelliSense não está totalmente configurado. Use o comando 'Selecionar configuração do IntelliSense...' para concluir a configuração.", + "Select an IntelliSense configuration to locate system headers": "Selecione uma configuração do IntelliSense para localizar os cabeçalhos do sistema", + "Expands to:": "Expande para:", + "Attention:": "Atenção:", + "Author:": "Autor:", + "Authors:": "Autores:", + "Bug:": "Bug:", + "Copyright:": "Direitos autorais:", + "Deprecated:": "Preterido:", + "Date:": "Data:", + "Details:": "Detalhes:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Exceções:", + "Invariant:": "Invariável:", + "File:": "Arquivo:", + "Note:": "Observação:", + "Parameters:": "Parâmetros:", + "Precondition:": "Condição prévia:", + "Postcondition:": "Pós-condição:", + "Remark:": "Comentário:", + "Remarks:": "Comentários:", + "Result:": "Resultado:", + "Return:": "Retornar:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Retorna:", + "See also:": "Consulte também:", + "Since:": "Desde:", + "Template Parameters:": "Parâmetros do Modelo:", + "Test:": "Testar:", + "TODO:": "TODO:", + "Version:": "Versão:", + "Warning:": "Aviso:", + "Compiler query command line: {0}": "Linha de comando de consulta do compilador: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Tentando obter padrões do compilador C na propriedade \"compilerPath\": '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Tentando obter padrões do compilador C++ na propriedade \"compilerPath\": '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Tentando obter padrões do compilador C no arquivo compile_commands.json: '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Tentando obter padrões do compilador C++ no arquivo compile_commands.json: '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Para arquivos de origem C, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Para arquivos de origem C++, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\".", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Para arquivos de origem C, o cStandard foi alterado de \"{0}\" para \"{1}\".", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Para arquivos de origem C++, o cppStandard foi alterado de \"{0}\" para \"{1}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Para arquivos de origem C, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\" e o cStandard foi alterado de \"{2}\" para \"{3}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Para arquivos de origem C++, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\" e o cppStandard foi alterado de \"{2}\" para \"{3}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para os arquivos de origem C, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\" com base nos argumentos do compilador e na consulta do compilerPath: \"{2}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para os arquivos de origem C++, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\" com base nos argumentos do compilador e na consulta do compilerPath: \"{2}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para os arquivos de origem C, o cStandard foi alterado de \"{0}\" para \"{1}\" com base nos argumentos do compilador e na consulta do compilerPath: \"{2}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Para os arquivos de origem C++, o cppStandard foi alterado de \"{0}\" para \"{1}\" com base nos argumentos do compilador e na consulta do compilerPath: \"{2}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Para os arquivos de origem C, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\" e o cStandard foi alterado de \"{2}\" para \"{3}\" com base nos argumentos do compilador e na consulta do compilerPath: \"{4}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Para os arquivos de origem C++, o IntelliSenseMode foi alterado de \"{0}\" para \"{1}\" e o cppStandard foi alterado de \"{2}\" para \"{3}\" com base nos argumentos do compilador e na consulta do compilerPath: \"{4}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Não é possível resolver a configuração com compilerPath \"{0}\". Em vez disso, use \"{1}\".", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Não é possível resolver a configuração com compilerPath: \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "Ignorando a consulta do compilador devido a um compilerPath explicitamente vazio", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "O intelliSenseMode do MSVC foi especificado. Configurando para cl.exe do compilador.", + "Unable to configure for compiler cl.exe.": "Não é possível configurar o compilador cl.exe.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Consultando o destino padrão do compilador usando a linha de comando: \"{0}\" {1}", + "Compiler returned default target value: {0}": "O compilador retornou o valor de destino padrão: {0}", + "Querying compiler for default C language standard using command line: {0}": "Consultando o compilador para obter o padrão de linguagem C padrão usando a linha de comando: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Consultando o compilador para obter o padrão de linguagem C++ padrão usando a linha de comando: {0}", + "Detected language standard version: {0}": "Versão padrão da linguagem detectada: {0}", + "Unhandled default compiler target value detected: {0}": "Foi detectado um valor de destino do compilador padrão não tratado: {0}", + "Unhandled target argument value detected: {0}": "Foi detectado um valor de argumento de destino não tratado: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Desligando o servidor do IntelliSense: {0}. O uso de memória é {1} MB e excedeu o limite de {2} MB.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Falha ao consultar compilador no caminho \"{0}\" para as versões padrão. A consulta do compilador está desabilitada para este compilador.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "A consulta do compilador retornou uma versão do padrão de linguagem não reconhecida. Nesse caso, será usada a última versão com suporte.", + "IntelliSense process crash detected.": "Falha detectada no processo do IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "Falha detectada no processo do IntelliSense: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Valores retornados:", + "Unable to locate nvcc compiler: {0}": "Não é possível localizar o compilador NVCC: {0}", + "Unable to locate nvcc host compiler: {0}": "Não é possível localizar o compilador de host NVCC: {0}", + "Invoking nvcc with command line: {0}": "Invocando NVCC com a linha de comando: {0}", + "Unable to find host compile command in output of nvcc.": "Não é possível localizar o comando de compilação de host na saída de NVCC.", + "Unable to locate forced include: {0}": "Não é possível localizar a inclusão forçada: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Macro embutida", + "Unable to access browse database. ({0})": "Não é possível acessar o banco de dados de navegação. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "O IntelliSenseMode foi alterado porque não correspondeu ao compilador detectado. Considere configurar \"compilerPath\" em vez disso. Defina \"compilerPath\" como \"\" para desabilitar a detecção de inserções e definições do sistema.", + "Remove all code analysis problems": "Remover todos os problemas de análise de código", + "(Multiple locations)": "Vários locais", + "Folder": "Pasta", + "File": "Arquivo", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "O compilador retornou a versão padrão do idioma padrão: {0}. Como essa versão é antiga, tentaremos usar a versão {1} mais recente como padrão.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Saída inesperada de clang-tidy: {0}. Esperado: {1}.", + "Generate Doxygen comment": "Gerar comentário Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Criar uma declaração de '{0}' em {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Criar a definição de '{0}' em {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "Definição de função para '{0}' não encontrada.", + "Attributes/'Attributes' is a C++ specifier.": "Atributos", + "Bases/'Bases' are a C++ class type.": "Bases", + "Classes": "Classes", + "CoClasses": "CoClasses", + "Delegates": "Representantes", + "Enums": "Enums", + "Events": "Eventos", + "Functions": "Funções", + "Import directives": "Importar diretrizes", + "ImportLib statements": "Instruções ImportLib", + "Import statements": "Importar instruções", + "Include directives": "Incluir diretrizes", + "Interfaces": "Interfaces", + "Libraries": "Bibliotecas", + "Macros": "Macros", + "Maps": "Mapas", + "Map entries": "Entradas de mapa", + "Miscellaneous": "Diversos", + "Namespaces": "Namespaces", + "Parameters": "Parâmetros", + "Properties": "Propriedades", + "Structs": "Structs", + "TODO: insert return statement here": "TODO: inserir instrução return aqui", + "Typedefs": "Typedefs", + "Unions": "Uniões", + "Using aliases": "Usando aliases", + "Using directives": "Usando diretrizes", + "Variables": "Variáveis", + "Automatic add function": "Função de adição automática", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual é redundante e deve ser especificado com vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod não pode ser estático.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Arquivo C/C++ inválido: '%s'", + "File name too long: '%s'./%s is the file that has a long name.": "O nome do arquivo é muito longo: '%s'", + "Cannot create file '%s'./%s is the file that could not be created.": "Não é possível criar o arquivo '%s'", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "Não é possível acessar o diretório ou o arquivo '%s' para gravação.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Caminho de arquivo inválido: '{0}'.", + "File '%s' was not found./%s is the file that was not found.": "O arquivo %s não foi encontrado.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Falha ao criar Declaração/Definição: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Não é possível criar a função '%s'. Não há suporte para a criação de funções padrão ou excluídas.", + "Unable to create function '%s'./%s is the function that could not be created.": "Não é possível criar a função '%s'.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Não é possível encontrar uma localização inequívoca para a função '%s'.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Não foi possível localizar a classe ou o namespace '%s'.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "Operação sem suporte para \"%s\".", + "Unknown error.": "Erro desconhecido.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Execute o comando 'Selecionar configuração do IntelliSense...' para localizar os cabeçalhos do sistema.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Copiar declaração de '{0}'", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Copiar definição de '{0}'", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Falha ao copiar Declaração/Definição para a área de transferência: %s", + "Extract to function": "Extrair para função", + "Extract to free function": "Extrair para função free", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Extrair para a função membro em \"{0}\"", + "The selected text is not inside a function.": "O texto selecionado não está dentro de uma função.", + "The selected text cannot span different functions.": "O texto selecionado não pode abranger funções diferentes.", + "Variable '%s' is declared in the selected region and then used below it.": "A variável '%s' é declarada na área selecionada e, em seguida, usada abaixo dela.", + "Preprocessor macro '%s' is used below the selected region.": "O Macro pré-processador '%s' é usado abaixo a região selecionada.", + "The selected region spans an inactive preprocessor block.": "A região selecionada se estende por um bloco de pré-processador inativo.", + "The selected region does not contain any code that can be extracted.": "A região selecionada não contém nenhum código que pode ser extraído.", + "The selected region is not entirely within the function's body.": "A região selecionada não está inteiramente dentro do corpo da função.", + "The selection contains IntelliSense errors.": "A seleção contém erros de IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "\"%s\" não está declarado no código selecionado, mas está sendo modificado. O código C não pode passar argumentos por referência.", + "The function would have to return a value by reference. C code cannot return references.": "A função teria que retornar um valor por referência. O código C não pode retornar referências.", + "Jumps between the selected code and the surrounding code are present.": "Saltos entre o código selecionado e o código ao redor estão presentes.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "No código selecionado, alguns caminhos de controle são encerrados sem definir o valor retornado. Isso tem suporte apenas para os tipos de retorno escalar, numérico e de ponteiro.", + "Expand selection (to enable 'Extract to function')": "Expandir seleção (para habilitar \"Extrair para função\")", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "\"{0}\" não encontrado nos arquivos compile_commands.json. \"includePath\" de c_cpp_properties.json na pasta \"{1}\" será usado para esse arquivo.", + "Generate Copilot summary": "Gerar resumo do Copilot", + "Unable to index files from non-existent folder: {0}": "Não é possível indexar arquivos de pasta inexistente: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "A extensão C/C++ pode ser usada somente com o Microsoft Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps, Team Foundation Server e produtos e serviços sucessores da Microsoft para desenvolver e testar seus aplicativos.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Servidor de Linguagem C++ da Microsoft", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Uso: {0} [opções]", + "Options:": "Opções:", + "Show this help message and exit.": "Mostre esta mensagem de ajuda e saia.", + "Show version information and exit.": "Mostre as informações da versão e saia.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Aceite permanentemente o EULA (Contrato de Licença de Usuário Final).", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "Não redirecione stderr para /dev/null (útil para depuração).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Inicie o logon interativo (assinatura do GitHub Copilot obrigatória).", + "Force the login process, even if already authenticated.": "Force o processo de logon, mesmo que já tenha sido autenticado.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Permitir o armazenamento de credenciais em texto não criptografado se um keychain seguro não estiver disponível.", + "Specify the directory for log files (default: system temp directory).": "Especifique o diretório para os arquivos de log (padrão: diretório temporário do sistema).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Defina o detalhamento do log de 0 (Somente erros) a 9 (Detalhado).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Especifique o parâmetro como um caminho absoluto ou relativo à raiz do workspace ou à pasta .github.", + "Disable sending telemetry data.": "Desabilite o envio de dados telemétricos.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Para autenticar com o GitHub, copie o código {0} e visite {1}. Aguardando autorização...", + "Timed out waiting for authorization.": "Tempo limite atingido ao aguardar autorização.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Autenticado com sucesso com o GitHub.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "A autenticação do GitHub foi bem-sucedida, mas os tokens não puderam ser salvos.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Erro de token de autenticação: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "A coleção de token de autenticação está bloqueada. Desbloqueie-a ou reinicie o gnome-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Nenhum serviço de token de autenticação está disponível. Instale e inicie o gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Ou permita o armazenamento em texto não criptografado passando --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "O código do dispositivo expirou. Tente novamente.", + "Authorization was denied by the user.": "A autorização foi negada pelo usuário.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Erro inesperado durante a sondagem: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Falha no logon do GitHub. Tente executar com --login na linha de comando para fazer logon.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "O EULA deve ser aceito para continuar. Execute com --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Já autenticado com o GitHub. Use --force-login para autenticar novamente.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Falha na inicialização: versão de configuração sem suporte. Há suporte apenas para a versão 1.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Falha na inicialização: arquivo de configuração ''{0}'' não encontrado.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Falha na inicialização: não é possível analisar o arquivo de configuração ''{0}''. Verifique o formato JSON. Erro: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Falha na inicialização: ''repositoryPath' não está configurado ou é inválido.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Falha na inicialização: ''compileCommands'' ou ''cppProperties'' deve ser configurado.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Falha na inicialização: ''compileCommands'' e ''cppProperties'' não podem ser configurados.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Falha na inicialização: caminho ''compileCommands'' não encontrado: ''{0}''.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Falha na inicialização: o caminho ''cppProperties'' não foi encontrado: ''{0}''.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Falha na inicialização: não é possível analisar o arquivo especificado por ''cppProperties'': ''{0}''. Verifique o formato JSON. Erro: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Falha na inicialização: não é possível ler a configuração do arquivo ''cppProperties'': ''{0}''. Verifique o esquema.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Falha na inicialização: ''{0}'' não contém uma matriz ''configurations'' válida.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Falha na inicialização: a configuração ''{0}'' não foi encontrada no arquivo ''cppProperties'': ''{1}''.", + "Initialization failed: LSP config paths cache is missing.": "Falha na inicialização: o cache de caminhos de configuração do LSP está ausente.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl não encontrado ({0}). libcurl é necessário para autenticação e telemetria.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "O libcurl deve estar disponível no macOS por padrão. Se estiver ausente, instale por meio de: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Instale o libcurl: sudo apt install libcurl4 (Debian/Ubuntu) ou sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl carregado, mas os símbolos necessários estão ausentes. Isso pode indicar uma versão do libcurl muito antiga ou incompatível. O servidor de linguagem não pode operar sem um libcurl compatível.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 não encontrado ({0}). O libsecret é necessário para o armazenamento seguro de credenciais. Instale o libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) ou sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret carregado, mas os símbolos obrigatórios estão ausentes. O servidor de linguagem não pode operar sem um libsecret compatível.", + "Failed to disable telemetry.": "Falha ao desabilitar a telemetria.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Método não encontrado: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Não é possível processar o IntelliSense para um arquivo com o mesmo caminho canonizado que um arquivo existente. URI: {0}, caminho canonizado: {1}", + "Initializing": "Inicializando", + "Initializing ({0} of {1})": "Inicializando ({0} de {1})", + "Initializing ({0} of {1}): {2}": "Inicializando ({0} de {1}): {2}", + "Initializing {0}": "Inicializando {0}", + "Initializing projects": "Inicializando os projetos", + "Initializing projects ({0} of {1})": "Inicializando os projetos ({0} de {1})", + "Initializing projects ({0} of {1}): {2}": "Inicializando os projetos ({0} de {1}): {2}", + "Initializing projects {0}": "Inicializando os projetos {0}", + "Checking for out of date files": "Verificando se há arquivos desatualizados", + "Checking for out of date files ({0} of {1})": "Verificando se há arquivos desatualizados ({0} de {1})", + "Checking for out of date files ({0} of {1}): {2}": "Verificando se há arquivos desatualizados ({0} de {1}): {2}", + "Checking for out of date files {0}": "Verificando se há arquivos desatualizados {0}", + "Parsing files": "Analisando os arquivos", + "Parsing files ({0} of {1})": "Analisando os arquivos ({0} de {1})", + "Parsing files ({0} of {1}): {2}": "Analisando os arquivos ({0} de {1}): {2}", + "Parsing files {0}": "Analisando os arquivos {0}", + "Parsing included files": "Analisando os arquivos incluídos", + "Parsing included files ({0} of {1})": "Analisando os arquivos incluídos ({0} de {1})", + "Parsing included files ({0} of {1}): {2}": "Analisando os arquivos incluídos ({0} de {1}): {2}", + "Parsing included files {0}": "Analisando os arquivos incluídos {0}", + "Scanning #includes for more files": "Verificando #includes em busca de mais arquivos", + "Scanning #includes for more files ({0} of {1})": "Verificando #includes em busca de mais arquivos ({0} de {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Verificando #includes em busca de mais arquivos ({0} de {1}): {2}", + "Scanning #includes for more files {0} {1}": "Verificando #includes em busca de mais arquivos {0} {1}", + "Ready (Updating external dependencies)": "Pronto (atualizando dependências externas)", + "Ready (Updating external dependencies) ({0} of {1})": "Pronto (Atualizando as dependências externas) ({0} de {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Pronto (Atualizando as dependências externas) ({0} de {1}): {2}", + "Ready (Updating external dependencies) {0}": "Pronto (Atualizando as dependências externas) {0}", + "Ready (Optimizing database)": "Pronto (Otimizando o banco de dados)", + "Ready (Optimizing database) ({0} of {1})": "Pronto (Otimizando o banco de dados) ({0} de {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Pronto (Otimizando o banco de dados) ({0} de {1}): {2}", + "Ready (Optimizing database) {0}": "Pronto (Otimizando o banco de dados) {0}", + "Creating Indexes": "Criando os índices", + "Creating Indexes ({0} of {1})": "Criando os índices ({0} de {1})", + "Creating Indexes ({0} of {1}): {2}": "Criando os índices ({0} de {1}): {2}", + "Creating Indexes {0}": "Criando os índices {0}", + "Evaluating": "Avaliando", + "Evaluating ({0} of {1})": "Avaliando ({0} de {1})", + "Evaluating ({0} of {1}): {2}": "Avaliando ({0} de {1}): {2}", + "Evaluating {0}": "Avaliando {0}", + "Indexing files": "Indexando os arquivos", + "Indexing files ({0} of {1})": "Indexando os arquivos ({0} de {1})", + "Indexing files ({0} of {1}): {2}": "Indexando os arquivos ({0} de {1}): {2}", + "Indexing files {0}": "Indexando os arquivos {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Permita que o servidor seja iniciado mesmo que o arquivo --lsp-config especificado não exista.", + "Initialization failed during engine setup.": "Falha na inicialização durante a instalação do mecanismo.", + "Important:": "Importante:", + "Unknown OS platform": "Plataforma de SO desconhecida", + "Could not get ProductVersion from SystemVersion.plist": "Não foi possível obter a ProductVersion de SystemVersion.plist", + "Failed to find SystemVersion.plist in {0}.": "Falha ao localizar a SystemVersion.plist em {0}.", + "Refresh process list": "Atualizar a lista de processos", + "Attach to process": "Anexar ao processo", + "Select the process to attach to": "Selecione o processo ao qual anexar", + "Process not selected.": "Processo não selecionado.", + "{0} in debug configuration requires {1} and {2}": "{0} na configuração de depuração requer {1} e {2}", + "Chosen debug configuration does not contain {0} or {1}": "A configuração de depuração escolhida não contém {0} ou {1}", + "Pipe transport failed to get OS and processes.": "O transporte de pipe falhou ao obter o SO e os processos.", + "Transport attach could not obtain processes list.": "A anexação do transporte não pôde obter a lista de processos.", + "Failed to make GDB connection: \"{0}\".": "Falha ao fazer conexão GDB: \"{0}\".", + "Failed to parse processes: \"{0}\".": "Falha ao analisar processos: \"{0}\".", + "Default Configuration": "Configuração Padrão", + "Select a configuration": "Selecionar uma configuração", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Depurador do tipo: '{0}' só está disponível no Windows. Use o tipo: '{1}' na plataforma do SO atual.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "A chave '{0}' foi preterida. Use '{1}'.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "Não é possível localizar 'LLDB.framework' para lldb-mi. Instale o XCode ou as Ferramentas de Linha de Comando do XCode.", + "Launch configuration:": "Iniciar configuração:", + "'deploySteps' require VS Code 1.69+.": "'deploySteps' requer VS Code 1.69 ou superior.", + "Running deploy steps...": "Executando etapas de implantação...", + "Unable to find {0}. {1} task is ignored.": "Impossível localizar {0}. {1} tarefa é ignorada.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Não foi possível localizar o {0} depurador. A configuração de depuração para {1} é ignorada.", + "build and debug active file": "Compilar e depurar o arquivo ativo", + "Apply Developer Environment": "Aplicar o Ambiente de Desenvolvedor", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} requer o ambiente de desenvolvedor do Visual Studio.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Atualizar o Ambiente de Desenvolvedor", + "Cancel": "Cancelar", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Não foi possível compilar o código-fonte porque o ambiente de desenvolvedor do Visual Studio não foi aplicado.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Não foi possível compilar o código-fonte porque o compilador Visual C++ não foi encontrado.", + "Missing dependency '{0}' for lldb-mi executable.": "Dependência ausente '{0}' no executável lldb-mi.", + "Searched in:": "Pesquisado em:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Para resolver esse problema, instale o XCode por meio da Apple App Store ou instale as Ferramentas de Linha de Comando do XCode executando '{0}' em uma janela de Terminal.", + "Failed to use {0}. Reason: {1}": "Falha ao usar {0}. Motivo: {1}", + "Replacing {0} '{1}' with '{2}'.": "Substituindo '{1}' do {0} por '{2}'.", + "Resolving variables in {0}...": "Resolvendo variáveis em {0}...", + "Open {0}": "Abrir {0}", + "Recently Used Task": "Tarefa Usada Recentemente", + "Configured Task": "Tarefa Configurada", + "Detected Task": "Tarefa Detectada", + "Cannot build and debug because the active file is not a C or C++ source file.": "Não é possível criar e depurar porque o arquivo ativo não é um arquivo de origem C ou C++.", + "No compiler found": "Nenhum compilador encontrado", + "Select a debug configuration": "Selecionar uma configuração de depuração", + "\"args\" in command deploy step must be an array.": "\"args\" na etapa de implantação de comando deve ser uma matriz.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "\"host\", \"arquivos\" e \"targetDir\" são necessários nas etapas {0}.", + "\"files\" must be a string or an array of strings in {0} steps.": "\"arquivos\" deve ser uma cadeia de caracteres ou uma matriz de cadeias de caracteres em etapas {0}.", + "\"host\" and \"command\" are required for ssh steps.": "\"host\" e \"comando\" são necessários para as etapas ssh.", + "\"command\" is required for shell steps.": "\"comando\" é necessário para as etapas do shell.", + "Deploy step type {0} is not supported.": "Não há suporte {0} tipo de etapa de implantação.", + "Unexpected OS type": "Tipo de SO inesperado", + "full path to pipe program such as {0}": "caminho completo para o programa de pipe, como {0}", + "Enable pretty-printing for {0}": "Habilitar a reformatação automática para {0}", + "Set Disassembly Flavor to {0}": "Definir Tipo de Desmontagem como {0}", + "enter program name, for example {0}": "insira o nome do programa, por exemplo {0}", + "Launch": "Iniciar", + "Launch with {0}.": "Inicie com {0}.", + "Attach": "Anexar", + "Attach with {0}.": "Anexe com {0}.", + "Pipe Launch": "Inicialização do Pipe", + "Pipe Launch with {0}.": "Inicialização do Pipe com {0}.", + "Pipe Attach": "Anexação de Pipe", + "Pipe Attach with {0}.": "Anexação de Pipe com {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Inicie com o depurador do Visual Studio C/C++.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Anexe a um processo com o depurador do Visual Studio C/C++.", + "Bash on Windows Launch": "Inicialização do Bash no Windows", + "Launch in Bash on Windows using {0}.": "Inicie no Bash no Windows usando {0}.", + "Bash on Windows Attach": "Anexação do Bash no Windows", + "Attach to a remote process running in Bash on Windows using {0}.": "Anexe a um processo remoto em execução no Bash no Windows usando {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "O tipo de depurador '{0}' não está disponível para máquinas que não sejam Windows.", + "Run Without Debugging is only supported for launch configurations.": "A execução sem depuração só tem suporte para configurações de inicialização.", + "Add debug configuration is not available for single file.": "Adicionar a configuração de depuração não está disponível para um único arquivo.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Não é possível modificar o arquivo de configuração SSH devido à falha ao analisar \"{0}\".", + "No valid SSH configuration file found.": "Nenhum arquivo de configuração SSH válido foi encontrado.", + "Enter SSH Target Name": "Insira o Nome de Destino SSH", + "Example: `mySSHTarget`": "Exemplo: `mySSHTarget`", + "Enter SSH Connection Command": "Inserir Comando de Conexão SSH", + "Example: `ssh hello@microsoft.com -A`": "Exemplo: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Abrir arquivo de configuração SSH", + "Yes": "Sim", + "No": "Não", + "Are you sure you want to permanently delete \"{0}\"?": "Tem certeza de que deseja excluir permanentemente \"{0}\"?", + "Operating system \"{0}\" not supported.": "Não há suporte para o sistema operacional \"{0}\".", + "\"{0}\" timed out after {1} seconds.": "\"{0}\" atingiu o tempo limite após {1} segundos.", + "\"{0}\" canceled.": "“{0}” cancelado.", + "\"{0}\" exited with code: \"{1}\".": "“{0}” saiu com o código “{1}”.", + "Failed to spawn \"{0}\".": "Falha em gerar \"{0}\".", + "Ignoring non-parsable lines in {0} {1}: ": "Ignorando linhas não analisáveis em {0} {1}: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Nenhum emulador de terminal encontrado. Defina a variável de ambiente $TERMINAL para o emulador de terminal de sua escolha ou instale um dos seguintes: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Selecionar um compilador a ser configurado para o IntelliSense", + "How would you like to configure IntelliSense for the '{0}' folder?": "Como você deseja configurar o IntelliSense para a pasta \"{0}\"?", + "How would you like to configure IntelliSense for this folder?": "Como você gostaria de configurar o IntelliSense para esta pasta?", + "Found at {0}": "Encontrado em {0}", + "Use {0}": "Usar {0}", + "configuration providers": "provedores de configuração", + "compilers": "compiladores", + "Select IntelliSense Configuration...": "Selecione Configuração do IntelliSense...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Você não tem o IntelliSense configurado. A menos que você defina suas próprias configurações, o IntelliSense pode não funcionar.", + "Select another compiler on my machine...": "Selecione outro compilador na minha máquina...", + "Help me install a compiler": "Ajude-me a instalar um compilador", + "Install a compiler": "Instalar um compilador", + "Do not configure with a compiler (not recommended)": "Não configure com um compilador (não recomendado)", + "EPERM: Check permissions for '{0}'": "EPERM: verifique as permissões para '{0}'", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Não é possível iniciar o servidor de linguagem C/C++. Os recursos do IntelliSense serão desabilitados. Erro: {0}", + "The language server crashed. Restarting...": "O servidor de idiomas travou. Reiniciando...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "O servidor de idioma falhou cinco vezes nos últimos três minutos. Ele não será reiniciado.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} foi alterado para: {1}", + "Dismiss": "Ignorar", + "Disable Warnings": "Desabilitar os Avisos", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} não pode fornecer informações de configuração de IntelliSense para '{1}'. Em seu lugar, serão usadas as definições da configuração '{2}'.", + "The requested configuration name is not found: {0}": "O nome de configuração solicitado não foi encontrado: {0}", + "Unsupported client": "Cliente sem suporte", + "Timed out in {0}ms.": "Tempo limite atingido em {0} ms.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "{0} arquivos enumerados com {1} arquivos de origem C/C++ detectados. Talvez você queira considerar a exclusão de alguns arquivos para melhorar o desempenho.", + "Learn More": "Saiba Mais", + "Don't Show Again": "Não Mostrar Novamente", + "Update IntelliSense time (sec): {0}": "Atualize o tempo do IntelliSense (s): {0}", + "Custom configurations received:": "Configurações personalizadas recebidas:", + "Custom browse configuration received: {0}": "Configuração de pesquisa personalizada recebida: {0}", + " Declaration/definition was copied.": " A declaração/definição foi copiada.", + "Name the extracted function": "Nomear a função extraída", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "Falha ao extrair para a função: {0}.", + "Extract to function failed. An invalid edit was generated: '{0}'": "Falha ao extrair para a função. Uma edição inválida foi gerada: \"{0}\"", + "Fix all code analysis problems": "Corrigir todos os problemas de análise de código", + "Clear all code analysis problems": "Limpar todos os problemas de análise de código", + "Fix all {0} problems": "Corrigir todos {0} problemas", + "Disable all {0} problems": "Desabilitar todos {0} problemas", + "Clear all {0} problems": "Limpar todos {0} problemas", + "Clear this {0} problem": "Limpar este {0} problema", + "Fix this {0} problem": "Corrija este {0} problema", + "Show documentation for {0}": "Mostrar documentação para {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "O modo do IntelliSense {0} é incompatível com o caminho do compilador.", + "Processed c_cpp_properties.json in {0}s": "Arquivos c_cpp_properties.json processados em {0}s", + "Failed to create \"{0}\"": "Falha ao criar \"{0}\"", + "Invalid configuration file. There must be at least one configuration present in the array.": "Arquivo de configuração inválido. Precisa haver pelo menos uma configuração presente na matriz.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "Número de versão desconhecido encontrado em c_cpp_properties.json. Alguns recursos podem não funcionar como esperado.", + "Attempt to update \"{0}\" failed (do you have write access?)": "Falha na tentativa de atualizar \"{0}\" (você tem acesso de gravação?)", + "Failed to parse \"{0}\"": "Falha ao analisar \"{0}\"", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Não foi possível encontrar o caminho do compilador com espaços. Se a intenção era incluir argumentos do compilador, coloque o caminho do compilador entre aspas duplas ({0}).", + "Cannot find: {0}": "Não é possível localizar: {0}", + "Path is not a file: {0}": "O caminho não é um arquivo: {0}", + "The include path validation took {0}s to evaluate": "A validação do caminho de inclusão {0}s para avaliar", + "Failed to resolve include path. Error: {0}": "Falha ao resolver o caminho de inclusão. Erro: {0}", + "Do not add extra quotes around paths.": "Não adicione aspas extras ao redor de caminhos.", + "Path is not a directory: {0}": "O caminho não é um diretório: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} é uma duplicata. O nome da configuração deve ser exclusivo.", + "Path took {0}s to evaluate": "O caminho levou {0}s para ser avaliado", + "Failed to resolve path {0}. Error: {1}": "Falha ao resolver o caminho {0}. Erro: {1}", + "Multiple paths are not allowed.": "Vários caminhos não são permitidos.", + "Multiple paths should be separate entries in an array.": "Vários caminhos devem ser entradas separadas em uma matriz.", + "Paths are not directories: {0}": "Os caminhos não são diretórios: {0}", + "Error while retrieving result. Reason: {0}": "Erro ao recuperar o resultado. Motivo: {0}", + "build active file": "arquivo de build ativo", + "compiler:": "compilador:", + "Task generated by Debugger.": "Tarefa gerada pelo Depurador.", + "Starting build...": "Iniciando o build...", + "Build run was terminated.": "A execução da build foi terminada.", + "Build finished with error(s).": "Build concluída com erro(s).", + "Build finished with warning(s).": "Build concluída com aviso(s).", + "Build finished successfully.": "Build concluído com êxito.", + "No context provided": "Nenhum contexto fornecido", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "O comando \"Definir o Ambiente de Desenvolvedor do Visual Studio\" está disponível somente no Windows", + "A Visual Studio installation with the C++ compiler was not found": "Não foi encontrada uma instalação do Visual Studio com o compilador C++", + "The operation was cancelled": "A operação foi cancelada", + "No hosts found": "Nenhum host encontrado", + "Configuring developer environment...": "Configurando o ambiente de desenvolvedor...", + "Select a Visual Studio installation": "Selecionar uma instalação do Visual Studio", + "Advanced options...": "Opções avançadas...", + "Select a specific host and target architecture, toolset version, etc.": "Selecione uma arquitetura de host e de destino específica, versão do conjunto de ferramentas etc.", + "Select a toolset version": "Selecionar uma versão do conjunto de ferramentas", + "Select a host and target architecture": "Selecionar uma arquitetura de host e de destino", + "Something went wrong: {0}": "Algo deu errado: {0}", + "{0} developer environment for {1}": "{0} ambiente de desenvolvedor para {1}", + "Default environment for {0}": "Ambiente padrão para {0}", + "host = {0}, target = {1}": "host = {0}, destino = {1}", + "Learn how to install a library for this header with vcpkg": "Saiba como instalar uma biblioteca para este cabeçalho com vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Copiar o comando vcpkg para instalar '{0}' para a área de transferência", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Comandos relacionados ao IntelliSense não podem ser executados quando `C_Cpp.intelliSenseEngine` está definido como `disabled`.", + "client not found": "o cliente não foi encontrado", + "OK": "OK", + "The clang compiler will now be installed": "O compilador clang agora será instalado", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Você pode ser solicitado a digitar sua senha na janela VS Code terminal para autorizar a instalação.", + "The gcc compiler will now be installed": "O compilador gcc agora será instalado", + "Open a folder first to select a configuration.": "Primeiro, abra uma pasta para selecionar uma configuração.", + "Open a folder first to select a configuration provider.": "Primeiro, abra uma pasta para selecionar um provedor de configuração.", + "Open a folder first to edit configurations": "Abrir uma pasta primeiro para editar as configurações", + "The code analysis fix could not be applied because the document has changed.": "Não foi possível aplicar a correção de análise de código porque o documento foi alterado.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "Uma versão de pré-lançamento da extensão C/C++ está disponível. Deseja alternar para ela?", + "Copilot summary is not available.": "O resumo do Copilot não está disponível.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "O arquivo que contém a definição ou declaração deste símbolo foi excluído do uso com o Copilot.", + "Copilot summary is not available for this symbol.": "O resumo do Copilot não está disponível para este símbolo.", + "An error occurred while generating Copilot summary.": "Ocorreu um erro ao gerar o resumo do Copilot.", + "Duplicate multiline comment patterns detected.": "Foram detectados padrões de comentário de várias linhas duplicados.", + "Error while retrieving the project context. Reason: {0}": "Erro ao recuperar o contexto do projeto. Motivo: {0}", + "Error while retrieving the #cpp context.": "Erro ao recuperar o contexto de #cpp rede.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Localizar Todas as Referências", + "Peek References": "Espiar Referências", + "Rename": "Renomear", + "Call Hierarchy": "Hierarquia de Chamadas", + "CONFIRMED REFERENCE": "REFERÊNCIA CONFIRMADA", + "CONFIRMATION IN PROGRESS": "CONFIRMAÇÃO EM ANDAMENTO", + "COMMENT REFERENCE": "REFERÊNCIA DE COMENTÁRIO", + "STRING REFERENCE": "REFERÊNCIA DE CADEIA DE CARACTERES", + "INACTIVE REFERENCE": "REFERÊNCIA INATIVA", + "CANNOT CONFIRM REFERENCE": "NÃO É POSSÍVEL CONFIRMAR A REFERÊNCIA", + "NOT A REFERENCE": "NÃO É UMA REFERÊNCIA", + "Confirmed reference": "Referência confirmada", + "Confirmation in progress": "Confirmação em andamento", + "Comment reference": "Referência do comentário", + "String reference": "Referência de cadeia de caracteres", + "Inactive reference": "Referência inativa", + "Cannot confirm reference": "Não é possível confirmar a referência", + "Not a reference": "Não é uma referência", + "CONFIRMATION CANCELED": "CONFIRMAÇÃO CANCELADA", + "Confirmation canceled": "Confirmação cancelada", + "To preview results, click the search icon in the status bar.": "Para visualizar os resultados, clique no ícone de pesquisa na barra de status.", + "Started.": "Iniciado.", + "Processing source.": "Origem do processamento.", + "Searching files.": "Pesquisando os arquivos.", + "{0}/{1} files searched.{2}": "{0}/{1} arquivos pesquisados.{2}", + "{0}/{1} files confirmed.{2}": "{0}/{1} arquivos confirmados.{2}", + "C/C++ Peek References": "Referências de Espiada do C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Aviso] Algumas referências podem estar ausentes, pois a análise do workspace estava incompleta quando {0} foi iniciada.", + "Go to reference": "Acessar a referência", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "A formatação do código está usando as configurações de .editorconfig em vez de .clang-format. Para mais informações, veja a documentação do valor ‘default’ da configuração 'C_Cpp.formatting'.", + "C/C++ Configurations": "Configurações C/C++", + "IntelliSense: Updating": "IntelliSense: Atualizando", + "IntelliSense: Ready": "IntelliSense: Pronto", + "Initializing Workspace": "Inicializando o Workspace", + "Indexing Workspace": "Workspace da Indexação", + "Parsing Workspace": "Analisando o Workspace", + "Parsing Workspace: Paused": "Workspace de Análise: Pausado", + "Parsing Complete": "Análise Concluída", + "Rescan Workspace": "Examinar Novamente o Workspace", + "Parsing Open Files": "Analisando Arquivos Abertos", + "Code Analysis: Running": "Análise de Código: em Execução", + "Code Analysis: Paused": "Análise de Código: Pausado", + "Code Analysis Mode: ": "Modo do Análise de Código: ", + "click to preview results": "clique aqui para visualizar os resultados", + "Configure IntelliSense": "Configurar o IntelliSense", + "C/C++ IntelliSense Status": "Status do IntelliSense do C/C++", + "Rescan": "Examinar novamente", + "Rescan IntelliSense": "Examinar Novamente o IntelliSense", + "C/C++ Tag Parser Status": "Status do Analisador de Marcas do C/C++", + "Initializing...": "Inicializando...", + "Resume": "Retomar", + "Pause": "Pausar", + "C/C++ Code Analysis Status": "Status do Análise de Código do C/C++", + "Run Now": "Executar Agora", + "Automatic": "Automático", + "Manual": "Manual", + "Options": "Opções", + "Starting...": "Iniciando...", + "Running: {0} / {1} ({2}%)": "Executando: {0} / {1} ({2}%)", + "Select a code analysis command...": "Selecione um comando de análise de código...", + "Start Another...": "Iniciar Outro...", + "Select a command...": "Selecionar um comando...", + "Run Code Analysis on Active File": "Executar Análise de Código no Arquivo Ativo", + "Run Code Analysis on All Files": "Executar Análise de Código em Todos os Arquivos", + "Run Code Analysis on Open Files": "Executar Análise de Código em Abrir Arquivos", + "C/C++ References Status": "Status de Referências do C/C++", + "C/C++ Configuration": "Configuração de C/C++", + "C/C++ Configure IntelliSense": "C/C++ Configurar IntelliSense", + "Select a Configuration...": "Selecione uma Configuração...", + "Edit Configurations (UI)": "Editar Configurações (IU)", + "Edit Configurations (JSON)": "Editar Configurações (JSON)", + "Select a Configuration Provider...": "Selecione um Provedor de Configuração...", + "active": "ativo", + "none": "nenhum", + "Disable the active configuration provider, if applicable.": "Desabilite o provedor de configuração ativo, se aplicável.", + "Select a workspace folder...": "Selecionar uma pasta de workspace...", + "Failed to connect to {0}": "Falha ao conectar a {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "“localSocket” não pode ser especificado ao mesmo tempo com “bindAddress” ou “port” em localForwards", + "\"port\" or \"localSocket\" required in localForwards": "\"porta\" ou \"localSocket\" necessário em localForwards", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "\"remoteSocket\" não pode ser especificado ao mesmo tempo com \"host\" ou \"hostPort\" em localForwards", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "\"host\" e \"hostPort\" ou \"remoteSocket\" necessários em localForwards", + "SSH command canceled": "Comando SSH cancelado", + "Enter passphrase for ssh key {0}": "Inserir a frase secreta para a chave ssh {0}", + "Enter password for user \"{0}\"": "Insira a senha para o usuário “{0}”", + "Enter password": "Digite a senha", + "Are you sure you want to continue?": "Tem certeza de que deseja continuar?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\" tem impressão digital \"{1}\".", + "Continue": "Continuar", + "\"{0}\" terminal command canceled.": "\"{0}\" comando de terminal cancelado.", + "\"{0}\" terminal command done.": "\"{0}\" comando de terminal concluído.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "A tarefa “{0}” foi cancelada, mas o comando subjacente pode não ter sido encerrado. Verifique manualmente.", + "\"{0}\" process failed: {1}": "\"{0}\" falha no processo: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" gravou os dados no terminal: \"{1}\".", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Falha ao localizar informações do usuário para SSH. Isso pode ser causado porque o VS Code foi instalado usando 'snap'. Reinstale p VS Code usando o pacote 'deb' se você estiver planejando usar recursos SSH.", + "Failed to parse SSH configuration file {0}: {1}": "Falha ao analisar o arquivo de configuração SSH {0}: {1}", + "Failed to read file {0}.": "Falha ao ler o arquivo {0}.", + "Failed to write to file {0}.": "Falha ao gravar no arquivo {0}.", + "Inline macro is not available at this location.": "A macro embutida não está disponível neste local.", + "AI-generated content may be incorrect.": "O conteúdo gerado pela IA pode estar incorreto.", + "Invalid identifier provided for the Rename Symbol operation.": "Identificador inválido fornecido para a operação Renomear Símbolo.", + "A definition for the selected symbol could not be located.": "Não foi encontrada uma definição para o símbolo selecionado.", + "No SSH targets": "Nenhum destino SSH", + "Active SSH target selection cancelled.": "Seleção de destino SSH ativa cancelada.", + "{0} Add New SSH Target...": "{0} Adicionar Novo Destino SSH...", + "Select an SSH target": "Selecionar um destino SSH", + "[Active]": "[Ativo]" +} diff --git a/Extension/i18n/rus/bundle.l10n.json b/Extension/i18n/rus/bundle.l10n.json new file mode 100644 index 000000000..212313eb9 --- /dev/null +++ b/Extension/i18n/rus/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Не удалось проанализировать файл JSON, возможно, из-за комментариев или конечных запятых.", + "The C/C++ extension is still installing. See the output window for more information.": "Расширение C/C++ еще устанавливается. Дополнительные сведения см. в окне вывода.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Сведения об устранении неполадок см. в {0}. Вопросы можно создать в {1}", + "Process exited with code {0}": "Процесс завершил работу с кодом {0}", + "Process executed successfully.": "Процесс выполнен успешно.", + "Killing process {0}": "Завершение процесса {0}", + "Warning: Expected file {0} is missing.": "Предупреждение: ожидаемый файл {0} отсутствует.", + "Warning: Debugging has not been tested for this platform.": "Предупреждение: отладка не тестировалась на этой платформе.", + "Reload the workspace for the settings change to take effect.": "Перезагрузите рабочую область, чтобы изменения параметров вступили в силу.", + "Reload": "Перезагрузить", + "Custom configuration provider '{0}' registered": "Пользовательский поставщик конфигурации \"{0}\" зарегистрирован", + "Reached max string expansion recursion. Possible circular reference.": "Достигнуто максимальное число рекурсий расширения строки. Возможна циклическая ссылка.", + "Invalid variable reference {0} in string: {1}.": "Недопустимая ссылка на переменную {0} в строке: {1}", + "Environment variable {0} not found": "Переменная среды {0} не найдена", + "Commands are not supported for string: {0}.": "Команды не поддерживаются для строки: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Исключение при выполнении команды {0} для строки: {1} {2}.", + "C/C++ Diagnostics": "Диагностика C/C++", + "C/C++ Crash Call Stacks": "Стеки вызовов с аварийным завершением C/C++", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "Процесс расширения C/C++ завершился аварийно. Ниже указаны имя, дата и время, сигнал и стек вызовов для процесса с аварийным завершением. Их будет полезно включить в отчет об ошибке на странице {0}.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "Протокол отладки C/C++", + "C/C++ Configuration Warnings": "Предупреждения конфигурации C/C++", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "Для более новых версий расширения C/C++ {0} требуется как минимум версия macOS {1}.", + "intelliSenseEngine is disabled": "IntelliSenseEngine отключен", + "More Info": "Дополнительные сведения", + "Ignore": "Пропустить", + "The C/C++ extension installed does not match your system.": "Установленное расширение C/C++ не соответствует системе.", + "The C/C++ extension installed is compatible with but does not match your system.": "Установленное расширение C/C++ совместимо с вашим компьютером, но не соответствует системе.", + "Searching include path...": "Поиск пути включения...", + "Include file not found in browse.path.": "Включаемый файл не найден в browse.path.", + "Edit \"browse.path\" setting": "Изменить параметр \"browse.path\"", + "Add to \"includePath\": {0}": "Добавить в \"includePath\": {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "Добавить \"{0}\"", + "Edit \"includePath\" setting": "Изменить параметр \"includePath\"", + "Disable error squiggles": "Отключить волнистые линии для ошибок", + "Enable all error squiggles": "Включить все волнистые линии для ошибок", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "Обнаружены ошибки #include. Измените includePath. Волнистые линии отключены для этой единицы трансляции ({0}).", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Обнаружены ошибки #include. Измените includePath. Функции IntelliSense для этой единицы трансляции ({0}) будет предоставлены анализатором тегов.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "Обнаружены ошибки #include. Рекомендуется изменить compile_commands.json или includePath. Функции IntelliSense для этой единицы трансляции ({0}) будет предоставлены анализатором тегов.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Не удалось проанализировать \"{0}\". Вместо этого будет использоваться \"includePath\" из файла c_cpp_properties.json в папке \"{1}\".", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "Не удалось найти \"{0}\". Вместо этого будет использоваться \"includePath\" из файла c_cpp_properties.json в папке \"{1}\".", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "Не удалось найти \"{0}\" в \"{1}\". Вместо него для этого файла будет использоваться \"includePath\" из файла c_cpp_properties.json в папке \"{2}\".", + "The IntelliSense database was successfully reset.": "База данных IntelliSense успешно сброшена.", + "Failed to send response to client: {0}": "Не удалось отправить ответ клиенту: {0}", + "Failed to read response from server: {0}": "Не удалось считать ответ с сервера: {0}", + "Failed to send request to server: {0}": "Не удалось отправить запрос на сервер: {0}", + "Unexpected error while waiting for requests: {0}": "Непредвиденная ошибка при ожидании запросов: {0}", + "{0} errored with: {1}": "{0} завершился с ошибкой: {1}", + "Failed to open the file {0}": "Не удалось открыть файл {0}", + "Failed to query default include paths and defines for {0}.": "Не удалось запросить используемые по умолчанию пути включения и определения для {0}.", + "Failed calling {0}": "Не удалось вызвать {0}", + "Quick info operation failed: {0}": "Не удалось выполнить операцию с краткими сведениями: {0}", + "Failed to create IntelliSense client: {0}": "Не удалось создать клиент IntelliSense: {0}", + "Failed to spawn IntelliSense process: {0}": "Не удалось породить процесс IntelliSense: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "Ошибка при вызове browse_engine_update_thread.join(): {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Этот файл ({0}) уже открыт в редакторе, но с другим регистром. Функции IntelliSense будут отключены для этой копии файла.", + "IntelliSense client has disconnected from the server - {0}": "Клиент IntelliSense отключился от сервера — {0}", + "Formatting failed:": "Сбой форматирования:", + "Unable to add file to database, error = {0}: {1}": "Не удалось добавить файл в базу данных, ошибка — {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Не удалось сбросить метку времени во время прерывания, ошибка — {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Не удалось обновить метку времени, ошибка — {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Не удалось финализировать обновления для файла, ошибка — {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} не является каталогом (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "Невозможно получить данные файловой системы для {0}. Ошибка: {1}", + "{0} is not a directory": "{0} не является каталогом", + "File discovery was aborted": "Обнаружение файлов прервано", + "Aborting tag parse of {0} and dependencies": "Выполняется прерывание анализа тегов {0} и зависимостей", + "Aborting tag parse at root": "Прерывание анализа тегов в корне", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Не удалось получить записи базы данных для сброса меток времени: ошибка — {0}", + "Failed to reset timestamp for {0}: error = {1}": "Не удалось сбросить метку времени для {0}: ошибка — {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Подходящий компилятор не найден. Укажите \"compilerPath\" в c_cpp_properties.json.", + "Compiler include path not found: {0}": "Путь включения компилятора не найден: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "Подсистема IntelliSense не отвечает. Используйте вместо этого анализатор тегов.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Анализатор тегов будет использоваться для операций IntelliSense в: {0}", + "Error squiggles will be disabled in: {0}": "Волнистые линии для ошибок будут отключены в: {0}", + "Processing folder (non-recursive): {0}": "Обработка папки (без рекурсии): {0}", + "Processing folder (recursive): {0}": "Обработка папки (с рекурсией): {0}", + "File exclude: {0}": "Исключение файла: {0}", + "Search exclude: {0}": "Исключение поиска: {0}", + "Discovering files: {0} file(s) processed": "Обнаружение файлов: обработано файлов — {0}.", + "{0} file(s) removed from database": "Файлов, удаленных из базы данных: {0}", + "Parsing: {0} files(s) processed": "Анализ: обработано файлов — {0}", + "Shutting down IntelliSense server: {0}": "Завершение работы сервера IntelliSense: {0}", + "Resetting IntelliSense server: {0}": "Сброс сервера IntelliSense: {0}", + "Code browsing service initialized": "Служба обзора кода инициализирована", + "Folder: {0} will be indexed": "Папка {0} будет индексироваться", + "Populate include completion cache.": "Заполните кэш завершения включения.", + "Discovering files...": "Идет обнаружение файлов...", + "Done discovering files.": "Обнаружение файлов завершено.", + "Parsing open files...": "Выполняется анализ открытых файлов...", + "Done parsing open files.": "Анализ открытых файлов завершен.", + "Parsing remaining files...": "Анализ оставшихся файлов...", + "Done parsing remaining files.": "Анализ оставшихся файлов завершен.", + "Using configuration: \"{0}\"": "Использование конфигурации: \"{0}\"", + "{0} include path suggestion(s) discovered.": "Обнаружено предложенных путей включения: {0}.", + "Checking for syntax errors: {0}": "Проверка на наличие синтаксических ошибок: {0}", + "IntelliSense Engine = {0}.": "Подсистема IntelliSense: {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "Расширение будет использовать анализатор тегов для IntelliSense, когда #includes не разрешаются.", + "Autocomplete is enabled.": "Автозавершение включено.", + "Autocomplete is disabled.": "Автозавершение отключено.", + "Hover is enabled.": "Сведения при наведении включены.", + "Hover is disabled.": "Сведения при наведении отключены.", + "Enhanced Colorization is enabled.": "Расширенная раскраска включена.", + "Error squiggles are disabled.": "Волнистые линии для ошибок отключены.", + "Error squiggles are enabled.": "Волнистые линии для ошибок включены.", + "Error squiggles are enabled if all header dependencies are resolved.": "Волнистые линии для ошибок включены, если разрешены все зависимости заголовка.", + "Replaced placeholder file record": "Запись файла-прототипа заменена", + "tag parsing file: {0}": "файл анализа тегов: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "ошибка анализа тегов (ее можно пропустить, если не возникает ошибка \"Символы не найдены\"):", + "Reset time stamp for {0}": "Сброс метки времени для {0}", + "Failed to remove file: {0}": "Не удалось удалить файл: {0}", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Ошибка анализа регулярного выражения — шаблон VS Code: {0}, регулярное выражение: {1}, сообщение об ошибке: {2}", + "terminating child process: {0}": "завершение дочернего процесса: {0}", + "still alive, killing...": "Все еще активно. Выполняется завершение…", + "giving up": "Попытки будут прекращены.", + "not exited yet. Will sleep for {0} milliseconds and try again.": "Процесс еще не завершен. Будет выполнен переход в спящий режим на {0} мс, а затем — повторная попытка.", + "Failed to spawn process. Error: {0} ({1})": "Не удалось породить процесс. Ошибка: {0} ({1})", + "Offering completion": "Предлагается завершение.", + "Attempting to get defaults from compiler found on the machine: '{0}'": "Попытка получить значения по умолчанию из обнаруженного на компьютере компилятора: \"{0}\".", + "Unable to resolve include path: {0}": "Не удалось разрешить путь включения: {0}", + "Error searching for IntelliSense client: {0}": "Ошибка при поиске клиента IntelliSense: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "Клиент IntelliSense недоступен, использование анализатора тегов для кратких сведений.", + "using Tag Parser for quick info": "Использование анализатора тегов для получения кратких сведений.", + "Closing the communication channel.": "Выполняется закрытие канала связи.", + "sending compilation args for {0}": "Отправка аргументов компиляции для {0}.", + "include: {0}": "Включить: {0}", + "framework: {0}": "Платформа: {0}", + "define: {0}": "определите: {0}", + "preinclude: {0}": "предварительно включить: {0}", + "other: {0}": "другой: {0}", + "sending {0} changes to server": "Отправка изменений ({0}) на сервер.", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Недопустимый экземпляр открытого файла. Пропуск сообщения IntelliSense для файла {0}.", + "idle loop: reparsing the active document": "пустой цикл: повторный анализ активного документа", + "IntelliSense client is currently disconnected": "Клиент IntelliSense сейчас отключен", + "Request canceled: {0}": "Запрос отменен: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "Клиент IntelliSense недоступен, использование анализатора тегов для перехода к определению.", + "Error squiggle count: {0}": "Число волнистых линий для ошибок: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Постановка в очередь обновления IntelliSense для файлов в единице трансляции: {0}", + "Formatting document: {0}": "Форматирование документа: {0}", + "Formatting input:": "Форматирование входных данных:", + "Formatting raw output:": "Форматирование необработанных выходных данных:", + "Formatting diffed output before cursor:": "Форматирование выходных данных с различиями перед курсором:", + "Formatting diffed output after cursor:": "Форматирование выходных данных с различием после курсора:", + "Formatting diffed output:": "Форматирование выходных данных с различиями:", + "Disable inactive region colorization": "Отключить раскраску неактивных областей", + "Error limit exceeded, {0} error(s) not reported.": "Превышено предельное число ошибок, ошибок не выводится: {0}.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "Обнаружены ошибки #include. Рекомендуется изменить compile_commands.json или includePath. Волнистые линии отключены для этой единицы трансляции ({0}).", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "Не удалось сбросить базу данных IntelliSense. Чтобы выполнить сброс вручную, закройте все экземпляры VS Code, а затем удалите этот файл: {0}", + "Formatting failed. See the output window for details.": "Сбой форматирования. Дополнительные сведения см. в окне вывода.", + "Populating include completion cache.": "Заполнение кэша завершения включения.", + "Discovering files: {0}": "Обнаружение файлов: {0}", + "Parsing open files": "Анализ открытых файлов", + "Tag parser initializing": "Инициализация анализатора тегов", + "Workspace parsing paused": "Анализ рабочей области приостановлен", + "Parsing workspace files: {0}": "Анализ файлов рабочей области: {0}", + "Discovering files: {0} / {1} ({2}%)": "Обнаружение файлов: {0} / {1} ({2}%)", + "Parsing workspace files: {0} / {1} ({2}%)": "Анализ файлов рабочей области: {0} из {1} ({2} %)", + "Can't find or run process_name": "Невозможно найти или запустить process_name.", + "Child exec failed {0}": "Не удалось запустить дочерний процесс: {0}.", + "Could not communicate with child process!": "Не удалось связаться с дочерним процессом!", + "{0} failed": "Произошел сбой {0}", + "Failed to set {0} flag": "Не удалось задать флаг {0}.", + "Unable to create {0}!": "Невозможно создать {0}!", + "Failed to set stdin {0} flag": "Не удалось задать флаг stdin {0}.", + "Failed to set stdout {0} flag": "Не удалось задать флаг stdout {0}.", + "Failed to set stderr {0} flag": "Не удалось задать флаг stderr {0}.", + "Unable to start child process!": "Невозможно запустить дочерний процесс!", + "Timed out attempting to communicate with process!": "Время ожидания при попытке связаться с процессом истекло!", + "Process has failed to run": "Не удалось запустить процесс.", + "Specified compiler was not found: {0}": "Указанный компилятор не найден: {0}", + "Config data invalid, {0}": "Недопустимые данные конфигурации, {0}", + "CMake executable not found at {0}": "Исполняемый файл CMake не найден в расположении {0}.", + "No args provider": "Нет поставщика аргументов.", + "Invalid file path {0}": "Недопустимый путь к файлу {0}.", + "Can't create IntelliSense client for {0}": "Не удается создать клиент IntelliSense для {0}.", + "declaration": "объявление", + "type alias": "псевдоним типа", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Компилятор не поддерживает 64-разрядный режим. Возврат к 32-разрядному режиму IntelliSenseMode.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Компилятор не поддерживает 32-разрядный режим. Возврат к 64-разрядному режиму IntelliSenseMode.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Не удалось запросить сведения от компилятора. Возврат к 32-разрядному режиму IntelliSenseMode.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Не удалось запросить сведения от компилятора. Возврат к 64-разрядному режиму IntelliSenseMode.", + "Failed to query compiler. Falling back to no bitness.": "Не удалось запросить сведения от компилятора. Возврат к режиму без использования разрядности.", + "IntelliSense client creation aborted: {0}": "Создание клиента IntelliSense прервано: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "обнаружены ошибки #include на основе сведений, предоставленных параметром configurationProvider. Функции IntelliSense для этой записи преобразования ({0}) будут предоставлены анализатором тегов.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "Обнаружены ошибки #include на основе сведений, предоставленных параметром configurationProvider. Волнистые линии для этой записи преобразования ({0}) отключены.", + "preprocessor keyword/Refers to C/C++ processor keywords": "ключевое слово препроцессора", + "C keyword": "Ключевое слово C", + "C++ keyword": "Ключевое слово C++", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "и еще одна перегрузка", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "и другие перегрузки (%d)", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "и еще одна специализация", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "и другие специализации (%d)", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Примечание. IntelliSense настроен не полностью. Чтобы завершить настройку, используйте команду \"Выбрать конфигурацию IntelliSense…\".", + "Select an IntelliSense configuration to locate system headers": "Выберите конфигурацию IntelliSense для поиска заголовков системы", + "Expands to:": "Расширяется в:", + "Attention:": "Внимание!", + "Author:": "Автор:", + "Authors:": "Авторы:", + "Bug:": "Ошибка:", + "Copyright:": "Авторское право:", + "Deprecated:": "Нерекомендуемый:", + "Date:": "Дата:", + "Details:": "Сведения:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Исключения:", + "Invariant:": "Инвариантный:", + "File:": "Файл:", + "Note:": "Примечание:", + "Parameters:": "Параметры:", + "Precondition:": "Предусловие:", + "Postcondition:": "Постусловие:", + "Remark:": "Комментарий:", + "Remarks:": "Комментарии:", + "Result:": "Результат:", + "Return:": "Возврат:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Возвращает:", + "See also:": "См. также:", + "Since:": "С:", + "Template Parameters:": "Параметры шаблона:", + "Test:": "Тест:", + "TODO:": "TODO:", + "Version:": "Версия:", + "Warning:": "Предупреждение:", + "Compiler query command line: {0}": "Командная строка запроса компилятора: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "Попытка получить значения по умолчанию из компилятора C в свойстве \"compilerPath\": \"{0}\"", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "Попытка получить значения по умолчанию из компилятора C++ в свойстве \"compilerPath\": \"{0}\"", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "Попытка получить значения по умолчанию из компилятора C в файле compile_commands.json: \"{0}\"", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "Попытка получить значения по умолчанию из компилятора C++ в файле compile_commands.json: \"{0}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Для исходных файлов C IntelliSenseMode был изменен с \"{0}\" на \"{1}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "Для исходных файлов C++ IntelliSenseMode был изменен с \"{0}\" на \"{1}\".", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "Для исходных файлов C cStandard был изменен с \"{0}\" на \"{1}\".", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "Для исходных файлов C++ cppStandard был изменен с \"{0}\" на \"{1}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "Для исходных файлов C IntelliSenseMode был изменен с \"{0}\" на \"{1}\", а cStandard — с \"{2}\" на \"{3}\".", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "Для исходных файлов C++ IntelliSenseMode был изменен с \"{0}\" на \"{1}\", а cppStandard — с \"{2}\" на \"{3}\".", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Для исходных файлов C IntelliSenseMode был изменен с \"{0}\" на \"{1}\" на основе аргументов компилятора и compilerPath запроса: \"{2}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Для исходных файлов C++ IntelliSenseMode был изменен с \"{0}\" на \"{1}\" на основе аргументов компилятора и compilerPath запроса: \"{2}\"", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Для исходных файлов C cStandard был изменен с \"{0}\" на \"{1}\" на основе аргументов компилятора и compilerPath запроса: \"{2}\"", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "Для исходных файлов C++ cppStandard был изменен с \"{0}\" на \"{1}\" на основе аргументов компилятора и compilerPath запроса: \"{2}\"", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Для исходных файлов C IntelliSenseMode был изменен с \"{0}\" на \"{1}\", а cStandard — с \"{2}\" на \"{3}\" на основе аргументов компилятора и compilerPath запроса: \"{4}\"", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "Для исходных файлов C++ IntelliSenseMode был изменен с \"{0}\" на \"{1}\", а cppStandard — с \"{2}\" на \"{3}\" на основе аргументов компилятора и compilerPath запроса: \"{4}\"", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "Не удалось разрешить конфигурацию с compilerPath \"{0}\". Вместо этого используется \"{1}\".", + "Unable to resolve configuration with compilerPath: \"{0}\"": "Не удалось разрешить конфигурацию с compilerPath: \"{0}\"", + "Skipping query of compiler due to explicitly empty compilerPath": "Выполняется пропуск запроса к компилятору из-за явным образом пустого compilerPath", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "Указан intelliSenseMode MSVC. Выполняется настройка для cl.exe компилятора.", + "Unable to configure for compiler cl.exe.": "Не удалось выполнить настройку для cl.exe компилятора.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Выполняется запрос целевого объекта по умолчанию для компилятора с помощью командной строки: \"{0}\" {1}", + "Compiler returned default target value: {0}": "Компилятор возвратил целевое значение по умолчанию: {0}", + "Querying compiler for default C language standard using command line: {0}": "Выполняется запрос к компилятору для стандарта языка C по умолчанию с помощью командной строки: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Выполняется запрос к компилятору для стандарта языка C++ по умолчанию с помощью командной строки: {0}", + "Detected language standard version: {0}": "Обнаруженная версия стандарта языка: {0}", + "Unhandled default compiler target value detected: {0}": "Обнаружено необработанное целевое значение компилятора по умолчанию: {0}", + "Unhandled target argument value detected: {0}": "Обнаружено необработанное значение целевого аргумента: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "Завершение работы сервера IntelliSense: {0}. Используемый объем памяти ({1} МБ) превысил ограничение ({2} МБ).", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Не удалось запросить компилятор по пути \"{0}\" для стандартных версий по умолчанию. Запросы для этого компилятора отключены.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "Проба компилятора возвратила нераспознанную версию стандарта языка. Вместо этого будет использоваться последняя поддерживаемая версия.", + "IntelliSense process crash detected.": "Обнаружен сбой процесса IntelliSense.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "Обнаружен сбой процесса IntelliSense: {0}.", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Возвращаемые значения:", + "Unable to locate nvcc compiler: {0}": "Не удалось найти компилятор nvcc: {0}", + "Unable to locate nvcc host compiler: {0}": "Не удалось найти компилятор узла nvcc: {0}", + "Invoking nvcc with command line: {0}": "Идет вызов nvcc с помощью командной строки: {0}", + "Unable to find host compile command in output of nvcc.": "Не удалось найти команду компиляции узла в выходных данных nvcc.", + "Unable to locate forced include: {0}": "Не удалось найти принудительное включение: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Встроенный макрос", + "Unable to access browse database. ({0})": "Не удалось получить доступ к базе данных просмотра. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "Режим IntelliSenseMode изменен, поскольку он не совпал с обнаруженным компилятором. Попробуйте указать \"compilerPath\" вместо этого. Установите для \"compilerPath\" значение \"\", чтобы отключить обнаружение элементов, включаемых системой и определяемых системой.", + "Remove all code analysis problems": "Удалить все проблемы анализа кода", + "(Multiple locations)": "(Несколько расположений)", + "Folder": "Папка", + "File": "Файл", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Компилятор вернул стандартную версию языка по умолчанию: {0}. Так как эта версия устарела, будет предпринята попытка использовать более новую версию {1} по умолчанию.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Непредусмотренные выходные данные Clang-Tidy: {0}. Ожидалось: {1}.", + "Generate Doxygen comment": "Создать комментарий Doxygen", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Создать объявление \"{0}\" в {1}", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "Создать определение \"{0}\" в {1}", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "Определение функции {0} не найдено.", + "Attributes/'Attributes' is a C++ specifier.": "Атрибуты", + "Bases/'Bases' are a C++ class type.": "Базы", + "Classes": "Классы", + "CoClasses": "Коклассы", + "Delegates": "Делегаты", + "Enums": "Перечисления", + "Events": "События", + "Functions": "Функции", + "Import directives": "Импортировать директивы", + "ImportLib statements": "Операторы ImportLib", + "Import statements": "Импортировать операторы", + "Include directives": "Включить директивы", + "Interfaces": "Интерфейсы", + "Libraries": "Библиотеки", + "Macros": "Макросы", + "Maps": "Сопоставления", + "Map entries": "Записи сопоставлений", + "Miscellaneous": "Прочее", + "Namespaces": "Пространства имен", + "Parameters": "Параметры", + "Properties": "Свойства", + "Structs": "Структуры", + "TODO: insert return statement here": "TODO: вставьте здесь оператор return", + "Typedefs": "Определения типов", + "Unions": "Объединения", + "Using aliases": "Псевдонимы using", + "Using directives": "Использование директив", + "Variables": "Переменные", + "Automatic add function": "Добавлять функцию автоматически", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "Функция vsCMFunctionVirtual избыточна и не должна указываться вместе с vsCMFunctionComMethod.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod не может быть статичным", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "Недопустимый файл C/C++: \"%s\".", + "File name too long: '%s'./%s is the file that has a long name.": "Слишком длинное имя файла: \"%s\".", + "Cannot create file '%s'./%s is the file that could not be created.": "Невозможно создать файл \"%s\".", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "Нет доступа для записи к каталогу или файлу \"%s\".", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Недопустимый путь к файлу: \"%s\".", + "File '%s' was not found./%s is the file that was not found.": "Не удалось найти файл \"%s\".", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Сбой создания объявления или определения: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "Не удалось создать функцию \"%s\". Создание стандартных или удаленных функций не поддерживается.", + "Unable to create function '%s'./%s is the function that could not be created.": "Не удалось создать функцию \"%s\".", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "Не удается найти однозначное расположение для функции \"%s\".", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Не удалось найти класс или пространство имен \"%s\".", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "Операция не поддерживается для \"%s\".", + "Unknown error.": "Неизвестная ошибка.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Выполните команду \"Выбрать конфигурацию IntelliSense…\", чтобы найти системные заголовки.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "Копировать объявление \"{0}\"", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "Копировать определение \"{0}\"", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Не удалось скопировать объявление/определение в буфер обмена: %s", + "Extract to function": "Извлечение в функцию", + "Extract to free function": "Извлечение в свободную функцию", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "Извлечение в функцию-член в \"{0}\"", + "The selected text is not inside a function.": "Выделенный текст не находится внутри функции.", + "The selected text cannot span different functions.": "Выделенный текст не может распространяться на различные функции.", + "Variable '%s' is declared in the selected region and then used below it.": "Переменная \"%s\" объявлена в выбранной области, но используется ниже нее.", + "Preprocessor macro '%s' is used below the selected region.": "Макрос препроцессора \"%s\" используется ниже выбранной области.", + "The selected region spans an inactive preprocessor block.": "Выбранная область включает в себя неактивный блок препроцессора.", + "The selected region does not contain any code that can be extracted.": "Выбранная область не содержит код для извлечения.", + "The selected region is not entirely within the function's body.": "Выбранный регион не находится полностью в тексте функции.", + "The selection contains IntelliSense errors.": "Выбранный элемент содержит ошибки IntelliSense.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "Выполняется изменение \"%s\" несмотря на отсутствие объявления в рамках выбранного кода. Код C не может передать аргументы по ссылке.", + "The function would have to return a value by reference. C code cannot return references.": "Функция предполагает возврат значения по ссылке. Код C не может возвращать ссылки.", + "Jumps between the selected code and the surrounding code are present.": "Есть переходы между выбранным кодом и окружающим его кодом.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "В выбранном коде некоторые контрольные пути завершаются без установки возвращаемого значения. Это поддерживается только для скалярных, числовых типов возвращаемого значения и типов возвращаемого значения-указателей.", + "Expand selection (to enable 'Extract to function')": "Развернуть выделенный фрагмент (чтобы включить функцию \"Извлечение в функцию\")", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "\"{0}\" не найден в файлах compile_commands.json. Вместо него для этого файла будет использоваться \"includePath\" из файла c_cpp_properties.json в папке \"{1}\".", + "Generate Copilot summary": "Создать сводку Copilot", + "Unable to index files from non-existent folder: {0}": "Не удалось индексировать файлы из несуществующей папки: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "Расширение C/C++ можно использовать только с Microsoft Visual Studio, Visual Studio для Mac, Visual Studio Code, Azure DevOps, Team Foundation Server и последующими продуктами и службами Майкрософт, предназначенными для разработки и тестирования приложений.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Языковой сервер Microsoft C++", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Использование: {0} [параметры]", + "Options:": "Параметры:", + "Show this help message and exit.": "Показать это справочное сообщение и выйти.", + "Show version information and exit.": "Показать сведения о версии и выйти.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Принять Лицензионное соглашение с конечным пользователем (EULA) на постоянной основе.", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "Не перенаправлять stderr в /dev/null (полезно для отладки).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Инициировать интерактивный вход (требуется подписка на GitHub Copilot).", + "Force the login process, even if already authenticated.": "Принудительно выполнить вход, даже если аутентификация уже выполнена.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Разрешить хранение учетных данных в виде открытого текста, если безопасная связка ключей недоступна.", + "Specify the directory for log files (default: system temp directory).": "Указать каталог для файлов журнала (по умолчанию: системный временный каталог).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Установить уровень детализации журнала в диапазоне от 0 (только ошибки) до 9 (подробно).", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Укажите параметр как абсолютный путь или путь относительно корня рабочей области либо папки .github.", + "Disable sending telemetry data.": "Отключить отправку данных телеметрии.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Чтобы выполнить аутентификацию в GitHub, скопируйте код {0} и перейдите по ссылке {1}. Ожидание авторизации…", + "Timed out waiting for authorization.": "Время ожидания авторизации истекло.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "Аутентификация в GitHub пройдена.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "Аутентификация в GitHub пройдена, но не удалось сохранить маркеры.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Ошибка связки ключей: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "Коллекция связок ключей заблокирована. Разблокируйте ее или перезапустите gnome-keyring-daemon.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Служба связок ключей недоступна. Установите и запустите gnome-keyring: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Или разрешите хранение открытого текста, передав --login --allow-plaintext-secret-storage.", + "The device code has expired. Please try again.": "Срок действия кода устройства истек. Повторите попытку.", + "Authorization was denied by the user.": "Пользователь отклонил авторизацию.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Непредвиденная ошибка во время опроса: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "Не удалось войти в GitHub. Попробуйте использовать --login из командной строки, чтобы войти в систему.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Чтобы продолжить, примите условия лицензионного соглашения с конечным пользователем. Это можно сделать с помощью --accept-eula.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "Аутентификация в GitHub уже выполнена. Используйте --force-login для повторной аутентификации.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Сбой инициализации: неподдерживаемая версия конфигурации. Поддерживается только версия 1.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Сбой инициализации: файл конфигурации \"{0}\" не найден.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Сбой инициализации: не удается проанализировать файл конфигурации \"{0}\". Проверьте формат JSON. Ошибка: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Сбой инициализации: параметр \"repositoryPath\" не настроен или недопустим.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Сбой инициализации: необходимо настроить \"compileCommands\" или \"cppProperties\".", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Сбой инициализации: не удается настроить \"compileCommands\" и \"cppProperties\".", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Сбой инициализации: путь к файлу \"compileCommands\" не найден: \"{0}\".", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Сбой инициализации: путь к файлу \"cppProperties\" не найден: \"{0}\".", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Сбой инициализации: не удается проанализировать файл, указанный в \"cppProperties\": \"{0}\". Проверьте формат JSON. Ошибка: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Сбой инициализации: не удается прочитать конфигурацию из файла \"cppProperties\": \"{0}\". Проверьте схему.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Сбой инициализации: \"{0}\" не содержит допустимый массив \"Конфигурации\".", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Сбой инициализации: конфигурация \"{0}\" не найдена в файле \"cppProperties\": \"{1}\".", + "Initialization failed: LSP config paths cache is missing.": "Сбой инициализации: отсутствует кэш путей конфигурации LSP.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "Библиотека libcurl не найдена ({0}). Она необходима для аутентификации и телеметрии.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "Библиотека libcurl должна быть доступна в macOS по умолчанию. Если она отсутствует, установите ее с помощью brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "Установите библиотеку libcurl: sudo apt install libcurl4 (Debian/Ubuntu) или sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "Библиотека libcurl загружена, но необходимые символы отсутствуют. Это может указывать на очень старую или несовместимую версию libcurl. Языковой сервер не может работать без совместимой библиотеки libcurl.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "Библиотека libsecret-1.so.0 не найдена ({0}). Библиотека libsecret необходима для безопасного хранения учетных данных. Установите библиотеку libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) или sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "Библиотека libsecret загружена, но необходимые символы отсутствуют. Языковой сервер не может работать без совместимой библиотеки libsecret.", + "Failed to disable telemetry.": "Не удалось отключить телеметрию.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Метод не найден: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Не удается обработать IntelliSense для файла с тем же каноническим путем, что и у существующего файла. URI: {0}, канонический путь: {1}", + "Initializing": "Инициализация", + "Initializing ({0} of {1})": "Инициализация ({0} из {1})", + "Initializing ({0} of {1}): {2}": "Инициализация ({0} из {1}): {2}", + "Initializing {0}": "Инициализация {0}", + "Initializing projects": "Инициализация проектов", + "Initializing projects ({0} of {1})": "Инициализация проектов ({0} из {1})", + "Initializing projects ({0} of {1}): {2}": "Инициализация проектов ({0} из {1}): {2}", + "Initializing projects {0}": "Инициализация проектов {0}", + "Checking for out of date files": "Проверяется наличие устаревших файлов", + "Checking for out of date files ({0} of {1})": "Проверяется наличие устаревших файлов ({0} из {1})", + "Checking for out of date files ({0} of {1}): {2}": "Проверяется наличие устаревших файлов ({0} из {1}): {2}", + "Checking for out of date files {0}": "Проверяется наличие устаревших файлов {0}", + "Parsing files": "Анализ файлов", + "Parsing files ({0} of {1})": "Анализ файлов ({0} из {1})", + "Parsing files ({0} of {1}): {2}": "Анализ файлов ({0} из {1}): {2}", + "Parsing files {0}": "Анализ файлов {0}", + "Parsing included files": "Анализ включенных файлов", + "Parsing included files ({0} of {1})": "Анализ включенных файлов ({0} из {1})", + "Parsing included files ({0} of {1}): {2}": "Анализ включенных файлов ({0} из {1}): {2}", + "Parsing included files {0}": "Анализ включенных файлов {0}", + "Scanning #includes for more files": "Сканирование #includes на предмет дополнительных файлов", + "Scanning #includes for more files ({0} of {1})": "Сканирование #includes на предмет дополнительных файлов ({0} из {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Сканирование #includes на предмет дополнительных файлов ({0} из {1}): {2}", + "Scanning #includes for more files {0} {1}": "Сканирование #includes на предмет дополнительных файлов {0} {1}", + "Ready (Updating external dependencies)": "Готово (обновление внешних зависимостей)", + "Ready (Updating external dependencies) ({0} of {1})": "Готово (обновление внешних зависимостей) ({0} из {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Готово (обновление внешних зависимостей) ({0} из {1}): {2}", + "Ready (Updating external dependencies) {0}": "Готово (обновление внешних зависимостей) {0}", + "Ready (Optimizing database)": "Готово (оптимизация базы данных)", + "Ready (Optimizing database) ({0} of {1})": "Готово (оптимизация базы данных) ({0} из {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Готово (оптимизация базы данных) ({0} из {1}): {2}", + "Ready (Optimizing database) {0}": "Готово (оптимизация базы данных) {0}", + "Creating Indexes": "Создание индексов", + "Creating Indexes ({0} of {1})": "Создание индексов ({0} из {1})", + "Creating Indexes ({0} of {1}): {2}": "Создание индексов ({0} из {1}): {2}", + "Creating Indexes {0}": "Создание индексов {0}", + "Evaluating": "Оценка", + "Evaluating ({0} of {1})": "Оценка ({0} из {1})", + "Evaluating ({0} of {1}): {2}": "Оценка ({0} из {1}): {2}", + "Evaluating {0}": "Оценка {0}", + "Indexing files": "Индексирование файлов", + "Indexing files ({0} of {1})": "Индексирование файлов ({0} из {1})", + "Indexing files ({0} of {1}): {2}": "Индексирование файлов ({0} из {1}): {2}", + "Indexing files {0}": "Индексирование файлов {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Разрешить запуск сервера, даже если указанный файл --lsp-config не существует.", + "Initialization failed during engine setup.": "Сбой инициализации при настройке подсистемы.", + "Important:": "Важно!", + "Unknown OS platform": "Неизвестная платформа ОС", + "Could not get ProductVersion from SystemVersion.plist": "Не удалось получить ProductVersion из файла SystemVersion.plist.", + "Failed to find SystemVersion.plist in {0}.": "Не удалось найти файл SystemVersion.plist в {0}.", + "Refresh process list": "Обновить список процессов", + "Attach to process": "Присоединиться к процессу", + "Select the process to attach to": "Выберите процесс, к которому нужно выполнить подключение", + "Process not selected.": "Процесс не выбран.", + "{0} in debug configuration requires {1} and {2}": "Для {0} в конфигурации отладки требуются {1} и {2}", + "Chosen debug configuration does not contain {0} or {1}": "Выбранная конфигурация отладки не содержит {0} или {1}", + "Pipe transport failed to get OS and processes.": "Транспорту канала не удалось получить ОС и процессы.", + "Transport attach could not obtain processes list.": "При подключении транспорта не удалось получить список процессов.", + "Failed to make GDB connection: \"{0}\".": "Не удалось установить подключение GDB: \"{0}\".", + "Failed to parse processes: \"{0}\".": "Не удалось проанализировать процессы: \"{0}\".", + "Default Configuration": "Конфигурация по умолчанию", + "Select a configuration": "Выберите конфигурацию", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "Отладчик типа \"{0}\" доступен только в Windows. Используйте тип \"{1}\" на текущей платформе ОС.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "Ключ \"{0}\" устарел. Используйте \"{1}\".", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "Не удается найти \"LLDB.framework\" для lldb-mi. Установите XCode или средства командной строки XCode.", + "Launch configuration:": "Конфигурация запуска:", + "'deploySteps' require VS Code 1.69+.": "\"deploySteps\" требует VS Code 1.69+.", + "Running deploy steps...": "Выполнение действий развертывания...", + "Unable to find {0}. {1} task is ignored.": "Не удается найти {0}. Задача {1} игнорируется.", + "preLaunchTask: {0}": "ЗадачаПредварительногоЗапуска: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "Не удается найти отладчик {0}. Конфигурация отладки для {1} игнорируется.", + "build and debug active file": "сборка и отладка активного файла", + "Apply Developer Environment": "Применить среду разработки", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0} требует среды разработки Visual Studio.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Обновить среду разработки", + "Cancel": "Отмена", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Не удалось собрать исходный код, так как не была применена среда разработки Visual Studio.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Не удалось собрать исходный код, так как не найден компилятор Visual C++.", + "Missing dependency '{0}' for lldb-mi executable.": "Отсутствует зависимость \"{0}\" для исполняемого файла lldb-mi.", + "Searched in:": "Поиск был выполнен в следующих расположениях:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Чтобы устранить эту проблему, установите XCode через Apple App Store или установите средства командной строки XCode, выполнив команду \"{0}\" в окне терминала.", + "Failed to use {0}. Reason: {1}": "Не удалось использовать {0}. Причина: {1}", + "Replacing {0} '{1}' with '{2}'.": "Выполняется замена {0} \"{1}\" на \"{2}\".", + "Resolving variables in {0}...": "Разрешение переменных в {0}...", + "Open {0}": "Открыть {0}", + "Recently Used Task": "Недавно использовавшаяся задача", + "Configured Task": "Настроенная задача", + "Detected Task": "Обнаруженная задача", + "Cannot build and debug because the active file is not a C or C++ source file.": "Не удается выполнить сборку и отладку, так как активный файл не является исходным файлом C или C++.", + "No compiler found": "Компилятор не найден", + "Select a debug configuration": "Выбрать конфигурацию отладки", + "\"args\" in command deploy step must be an array.": "\"args\" в шаге развертывания команды должен быть массивом.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "В этапах {0} необходимо указать значения \"host\", \"files\" и \"targetDir\".", + "\"files\" must be a string or an array of strings in {0} steps.": "Значение \"files\" в этапах {0} должно быть строкой или массивом строк.", + "\"host\" and \"command\" are required for ssh steps.": "Для шагов SSH необходимы \"host\" и \"command\".", + "\"command\" is required for shell steps.": "\"command\" требуется для шагов оболочки.", + "Deploy step type {0} is not supported.": "Тип шага развертывания {0} не поддерживается.", + "Unexpected OS type": "Непредвиденный тип ОС", + "full path to pipe program such as {0}": "Полный путь к программе канала, например: {0}", + "Enable pretty-printing for {0}": "Включить автоматическое форматирование для {0}", + "Set Disassembly Flavor to {0}": "Задать для варианта приложения дизассемблирования значение {0}", + "enter program name, for example {0}": "Введите имя программы, например: {0}", + "Launch": "Запустить", + "Launch with {0}.": "Запуск с использованием {0}.", + "Attach": "Подключить", + "Attach with {0}.": "Подключение с использованием {0}.", + "Pipe Launch": "Запуск канала", + "Pipe Launch with {0}.": "Запуск канала с использованием {0}.", + "Pipe Attach": "Подключение канала", + "Pipe Attach with {0}.": "Подключение к каналу с использованием {0}.", + "Launch with the Visual Studio C/C++ debugger.": "Запуск с использованием отладчика Visual Studio C/C++.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Подключение к процессу с использованием отладчика Visual Studio C/C++.", + "Bash on Windows Launch": "Запуск с использованием Bash в Windows", + "Launch in Bash on Windows using {0}.": "Запуск в Bash на базе Windows с использованием {0}.", + "Bash on Windows Attach": "Подключение с использованием Bash в Windows", + "Attach to a remote process running in Bash on Windows using {0}.": "Подключение к удаленному процессу, запущенному в Bash на базе Windows с помощью {0}.", + "Debugger type '{0}' is not available for non-Windows machines.": "Тип отладчика \"{0}\" недоступен для компьютеров с операционной системой, отличной от Windows.", + "Run Without Debugging is only supported for launch configurations.": "Запуск без отладки поддерживается только для конфигураций запуска.", + "Add debug configuration is not available for single file.": "Добавление конфигурации отладки недоступно для одного файла.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Не удается изменить файл конфигурации SSH из-за сбоя анализа \"{0}\".", + "No valid SSH configuration file found.": "Не найден допустимый файл конфигурации SSH.", + "Enter SSH Target Name": "Введите имя целевого объекта SSH", + "Example: `mySSHTarget`": "Пример: `mySSHTarget`", + "Enter SSH Connection Command": "Введите команду подключения SSH", + "Example: `ssh hello@microsoft.com -A`": "Пример: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Выберите файл конфигурации SSH", + "Yes": "Да", + "No": "Нет", + "Are you sure you want to permanently delete \"{0}\"?": "Вы действительно хотите удалить \"{0}\" без возможности восстановления?", + "Operating system \"{0}\" not supported.": "Операционная система \"{0}\" не поддерживается.", + "\"{0}\" timed out after {1} seconds.": "Истекло время ожидания \"{0}\" после {1} с.", + "\"{0}\" canceled.": "\"{0}\" отменено.", + "\"{0}\" exited with code: \"{1}\".": "Работа \"{0}\" завершена с кодом \"{1}\".", + "Failed to spawn \"{0}\".": "Не удалось породить \"{0}\".", + "Ignoring non-parsable lines in {0} {1}: ": "Пропускаются строки, не поддающиеся анализу, в файле {0} с именем {1}: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Эмулятор терминала не найден. Настройте переменную среды $TERMINAL, указав предпочитаемый эмулятор терминала, или установите один из следующих вариантов: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "Выберите компилятор для настройки IntelliSense", + "How would you like to configure IntelliSense for the '{0}' folder?": "Как вы хотите настроить IntelliSense для папки \"{0}\"?", + "How would you like to configure IntelliSense for this folder?": "Как вы хотите настроить IntelliSense для этой папки?", + "Found at {0}": "Найдено в {0}", + "Use {0}": "Использовать {0}", + "configuration providers": "поставщики конфигурации", + "compilers": "компиляторы", + "Select IntelliSense Configuration...": "Выбрать конфигурацию IntelliSense…", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Нет настроенных функций IntelliSense. Если не настроить собственные конфигурации, IntelliSense может не работать.", + "Select another compiler on my machine...": "Выбрать другой компилятор на моем компьютере…", + "Help me install a compiler": "Помогите мне установить компилятор", + "Install a compiler": "Установка компилятора", + "Do not configure with a compiler (not recommended)": "Не настраивать компилятор (не рекомендуется)", + "EPERM: Check permissions for '{0}'": "EPERM: проверьте разрешения для \"{0}\"", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "Не удалось запустить языковой сервер C/C++. Функции IntelliSense будут отключены. Ошибка: {0}", + "The language server crashed. Restarting...": "Сбой языкового сервера. Перезапуск…", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "Языковой сервер аварийно завершил работу 5 раз за последние 3 минуты. Он не будет перезапущен.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} был изменен на: {1}", + "Dismiss": "Закрыть", + "Disable Warnings": "Отключить предупреждения", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0} не удается предоставить сведения о конфигурации IntelliSense для \"{1}\". Вместо этого будут использованы параметры из конфигурации \"{2}\".", + "The requested configuration name is not found: {0}": "Запрошенное имя конфигурации не найдено: {0}", + "Unsupported client": "Неподдерживаемый клиент", + "Timed out in {0}ms.": "Время ожидания истекло через {0} мс.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "Обнаружены перечисленные файлы ({0}) с исходными файлами C/C++ ({1}). Следует рассмотреть возможность исключения некоторых файлов для повышения производительности.", + "Learn More": "Подробнее", + "Don't Show Again": "Больше не показывать", + "Update IntelliSense time (sec): {0}": "Время обновления IntelliSense (в секундах): {0}", + "Custom configurations received:": "Получены пользовательские конфигурации:", + "Custom browse configuration received: {0}": "Получена настраиваемая конфигурация просмотра: {0}", + " Declaration/definition was copied.": " Объявление/определение скопировано.", + "Name the extracted function": "Укажите имя извлеченной функции", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "Не удалось выполнить извлечение в функцию: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "Не удалось выполнить извлечение в функцию. Создано недопустимое изменение: \"{0}\"", + "Fix all code analysis problems": "Исправить все проблемы анализа кода", + "Clear all code analysis problems": "Очистить все проблемы анализа кода", + "Fix all {0} problems": "Исправить все проблемы типа \"{0}\"", + "Disable all {0} problems": "Отключить все проблемы типа \"{0}\"", + "Clear all {0} problems": "Очистить все проблемы типа \"{0}\"", + "Clear this {0} problem": "Очистить эту проблему \"{0}\"", + "Fix this {0} problem": "Исправить проблему \"{0}\"", + "Show documentation for {0}": "Показать документацию для: {0}", + "IntelliSense mode {0} is incompatible with compiler path.": "Режим IntelliSense {0} несовместим с путем компилятора.", + "Processed c_cpp_properties.json in {0}s": "Обработан файл c_cpp_properties.json за {0} с", + "Failed to create \"{0}\"": "Не удалось создать \"{0}\"", + "Invalid configuration file. There must be at least one configuration present in the array.": "Недопустимый файл конфигурации. В массиве должна присутствовать по меньшей мере одна конфигурация.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "В c_cpp_properties.json найден неизвестный номер версии. Некоторые функции могут работать не так, как ожидалось.", + "Attempt to update \"{0}\" failed (do you have write access?)": "Сбой при попытке обновления \"{0}\" (у вас есть доступ на запись?)", + "Failed to parse \"{0}\"": "Не удалось проанализировать \"{0}\"", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Не удалось найти путь компилятора с пробелами. Если предполагается включение аргументов компилятора, заключите путь компилятора в двойные кавычки ({0}).", + "Cannot find: {0}": "Не удается найти: {0}", + "Path is not a file: {0}": "Путь не является файлом: {0}", + "The include path validation took {0}s to evaluate": "Оценка проверки пути включения заняла {0} с", + "Failed to resolve include path. Error: {0}": "Не удалось разрешить путь включения. Ошибка: {0}", + "Do not add extra quotes around paths.": "Не добавляйте лишние кавычки вокруг путей.", + "Path is not a directory: {0}": "Путь не является каталогом: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} является дубликатом. Имя конфигурации должно быть уникальным.", + "Path took {0}s to evaluate": "Оценка пути заняла {0} с", + "Failed to resolve path {0}. Error: {1}": "Не удалось разрешить путь {0}. Ошибка: {1}", + "Multiple paths are not allowed.": "Запрещено использовать несколько путей.", + "Multiple paths should be separate entries in an array.": "Несколько путей должны быть отдельными записями в массиве.", + "Paths are not directories: {0}": "Пути не являются каталогами: {0}", + "Error while retrieving result. Reason: {0}": "Ошибка при получении результата. Причина: {0}", + "build active file": "сборка активного файла", + "compiler:": "компилятор:", + "Task generated by Debugger.": "Задача создана отладчиком.", + "Starting build...": "Запуск сборки…", + "Build run was terminated.": "Запуск сборки был прерван.", + "Build finished with error(s).": "Сборка завершена с ошибками.", + "Build finished with warning(s).": "Сборка завершена с предупреждениями.", + "Build finished successfully.": "Сборка завершена.", + "No context provided": "Контекст не указан", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "Команда \"Настройка среды разработки Visual Studio\" доступна только в Windows", + "A Visual Studio installation with the C++ compiler was not found": "Установка Visual Studio с компилятором C++ не найдена", + "The operation was cancelled": "Операция отменена", + "No hosts found": "Узлы не найдены", + "Configuring developer environment...": "Настройка среды разработки...", + "Select a Visual Studio installation": "Выбрать установку Visual Studio", + "Advanced options...": "Расширенные параметры...", + "Select a specific host and target architecture, toolset version, etc.": "Выберите конкретную архитектуру узла и целевую архитектуру, версию набора инструментов и т. д.", + "Select a toolset version": "Выбрать версию набора инструментов", + "Select a host and target architecture": "Выбрать узел и целевую архитектуру", + "Something went wrong: {0}": "Что-то пошло не так: {0}", + "{0} developer environment for {1}": "Среда разработки {0} для {1}", + "Default environment for {0}": "Среда по умолчанию для {0}", + "host = {0}, target = {1}": "узел = {0}, цель = {1}", + "Learn how to install a library for this header with vcpkg": "Сведения об установке библиотеки для этого заголовка с помощью vcpkg", + "Copy vcpkg command to install '{0}' to the clipboard": "Копировать команду vcpkg для установки \"{0}\" в буфер обмена", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "Команды, связанные с IntelliSense, не могут быть выполнены, если для `C_Cpp.intelliSenseEngine` установлено значение `disabled`.", + "client not found": "Клиент не найден.", + "OK": "ОК", + "The clang compiler will now be installed": "Будет установлен компилятор clang", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Возможно, вам будет предложено ввести пароль в окне терминала VS Code для авторизации установки.", + "The gcc compiler will now be installed": "Будет установлен компилятор gcc", + "Open a folder first to select a configuration.": "Сначала откройте папку, чтобы выбрать конфигурацию.", + "Open a folder first to select a configuration provider.": "Сначала откройте папку, чтобы выбрать поставщика конфигурации.", + "Open a folder first to edit configurations": "Сначала откройте папку для изменения конфигураций", + "The code analysis fix could not be applied because the document has changed.": "Не удалось применить исправление анализа кода, так как документ был изменен.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "Доступна предварительная версия расширения C/C++. Переключиться на нее?", + "Copilot summary is not available.": "Сводка Copilot недоступна.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Файл, содержащий определение или объявление этого символа, исключен из использования с Copilot.", + "Copilot summary is not available for this symbol.": "Сводка Copilot недоступна для этого символа.", + "An error occurred while generating Copilot summary.": "При создании сводки Copilot возникла ошибка.", + "Duplicate multiline comment patterns detected.": "Обнаружены повторяющиеся шаблоны многострочных примечаний.", + "Error while retrieving the project context. Reason: {0}": "Ошибка при получении контекста проекта. Причина: {0}", + "Error while retrieving the #cpp context.": "Ошибка при получении контекста #cpp данных.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Найти все ссылки", + "Peek References": "Показать ссылки", + "Rename": "Переименовать", + "Call Hierarchy": "Иерархия вызовов", + "CONFIRMED REFERENCE": "Ссылка подтверждена.", + "CONFIRMATION IN PROGRESS": "Выполняется подтверждение.", + "COMMENT REFERENCE": "Ссылка на комментарий", + "STRING REFERENCE": "Ссылка на строку", + "INACTIVE REFERENCE": "Неактивная ссылка", + "CANNOT CONFIRM REFERENCE": "Невозможно подтвердить ссылку", + "NOT A REFERENCE": "Не является ссылкой", + "Confirmed reference": "Ссылка подтверждена.", + "Confirmation in progress": "Выполняется подтверждение", + "Comment reference": "Ссылка на комментарий", + "String reference": "Ссылка на строку", + "Inactive reference": "Неактивная ссылка", + "Cannot confirm reference": "Невозможно подтвердить действительность ссылки.", + "Not a reference": "Не является ссылкой.", + "CONFIRMATION CANCELED": "Подтверждение отменено.", + "Confirmation canceled": "Подтверждение отменено", + "To preview results, click the search icon in the status bar.": "Чтобы просмотреть результаты, щелкните значок поиска в строке состояния.", + "Started.": "Работает.", + "Processing source.": "Выполняется обработка источника.", + "Searching files.": "Выполняется поиск файлов.", + "{0}/{1} files searched.{2}": "Просмотрено файлов: {0}/{1}. {2}", + "{0}/{1} files confirmed.{2}": "Подтверждено файлов: {0}/{1}. {2}", + "C/C++ Peek References": "Ссылки для быстрого редактирования кода C/C++", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Предупреждение] Некоторые ссылки могут отсутствовать, так как при запуске {0} анализ рабочей области не был завершен.", + "Go to reference": "Переход по ссылке", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Форматирование кода использует параметры из .editorconfig вместо .clang-format. Дополнительные сведения см. в документации, в которой приведено значение \"default\" для параметра \"C_Cpp.formatting\".", + "C/C++ Configurations": "Конфигурации C/C++", + "IntelliSense: Updating": "IntelliSense: обновление", + "IntelliSense: Ready": "IntelliSense: готово", + "Initializing Workspace": "Инициализация рабочей области", + "Indexing Workspace": "Индексация рабочей области", + "Parsing Workspace": "Анализ рабочей области", + "Parsing Workspace: Paused": "Анализ рабочей области: приостановлено", + "Parsing Complete": "Анализ завершен", + "Rescan Workspace": "Повторное сканирование рабочей области", + "Parsing Open Files": "Анализ открытых файлов", + "Code Analysis: Running": "Анализ кода: запуск", + "Code Analysis: Paused": "Анализ кода: приостановлено", + "Code Analysis Mode: ": "Режим анализа кода: ", + "click to preview results": "щелкните для предварительного просмотра результатов", + "Configure IntelliSense": "Настройка IntelliSense", + "C/C++ IntelliSense Status": "Состояние IntelliSense C/C++", + "Rescan": "Повторное сканирование", + "Rescan IntelliSense": "Повторное сканирование IntelliSense", + "C/C++ Tag Parser Status": "Состояние анализатора тегов C/C++", + "Initializing...": "Выполняется инициализация…", + "Resume": "Возобновить", + "Pause": "Приостановить", + "C/C++ Code Analysis Status": "Состояние анализа кода C/C++", + "Run Now": "Запустить сейчас", + "Automatic": "Автоматически", + "Manual": "Вручную", + "Options": "Параметры", + "Starting...": "Запуск…", + "Running: {0} / {1} ({2}%)": "Выполняется: {0}/{1} ({2}%)", + "Select a code analysis command...": "Выберите команду анализа кода...", + "Start Another...": "Запустить другой...", + "Select a command...": "Выберите команду...", + "Run Code Analysis on Active File": "Запустить анализ кода в активном файле", + "Run Code Analysis on All Files": "Запустить анализ кода во всех файлах", + "Run Code Analysis on Open Files": "Запустить анализ кода в открытых файлах", + "C/C++ References Status": "Состояние ссылок C/C++", + "C/C++ Configuration": "Конфигурация C/C++", + "C/C++ Configure IntelliSense": "Настройка IntelliSense C/C++", + "Select a Configuration...": "Выберите конфигурацию...", + "Edit Configurations (UI)": "Изменить конфигурации (пользовательский интерфейс)", + "Edit Configurations (JSON)": "Изменить конфигурации (JSON)", + "Select a Configuration Provider...": "Выберите поставщик конфигурации...", + "active": "активные", + "none": "нет", + "Disable the active configuration provider, if applicable.": "Отключите активный поставщик конфигурации (если применимо).", + "Select a workspace folder...": "Выберите папку рабочей области…", + "Failed to connect to {0}": "Не удалось подключиться к {0}", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "\"localSocket\" не может быть указан одновременно с \"bindAddress\" или \"port\" в localForwards", + "\"port\" or \"localSocket\" required in localForwards": "В localForwards требуется \"port\" или \"localSocket\"", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "\"remoteSocket\" не может быть указан одновременно с \"host\" или \"hostPort\" в localForwards", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "В localForwards требуются \"host\" и \"hostPort\" или \"remoteSocket\"", + "SSH command canceled": "Команда SSH отменена", + "Enter passphrase for ssh key {0}": "Введите парольную фразу для ключа SSH {0}", + "Enter password for user \"{0}\"": "Введите пароль для пользователя \"{0}\"", + "Enter password": "Введите пароль", + "Are you sure you want to continue?": "Вы действительно хотите продолжить?", + "\"{0}\" has fingerprint \"{1}\".": "«{0}» имеет отпечаток «{1}».", + "Continue": "Продолжить", + "\"{0}\" terminal command canceled.": "Команда терминала \"{0}\" отменена.", + "\"{0}\" terminal command done.": "Команда терминала \"{0}\" выполнена.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "Задача \"{0}\" отменена, но базовая команда не может быть завершена. Пожалуйста, проверьте вручную.", + "\"{0}\" process failed: {1}": "Сбой процесса \"{0}\": {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\" записал данные в терминал: \"{1}\".", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "Не удалось найти сведения о пользователе для SSH. Возможно, это произошло из-за установки VS Code с помощью \"snap\". Если вы хотите использовать возможности SSH, переустановите VS Code с пакетом \"deb\".", + "Failed to parse SSH configuration file {0}: {1}": "Не удалось проанализировать файл конфигурации SSH {0}: {1}", + "Failed to read file {0}.": "Не удалось прочесть файл {0}.", + "Failed to write to file {0}.": "Не удалось выполнить запись в файл {0}.", + "Inline macro is not available at this location.": "Встроенный макрос недоступен в этом расположении.", + "AI-generated content may be incorrect.": "Содержимое, создаваемое ИИ, может быть некорректным.", + "Invalid identifier provided for the Rename Symbol operation.": "Указан недопустимый идентификатор для операции \"Переименование символов\".", + "A definition for the selected symbol could not be located.": "Не удалось найти определение для выбранного символа.", + "No SSH targets": "Нет целевых объектов SSH", + "Active SSH target selection cancelled.": "Выбор активного целевого объекта SSH отменен.", + "{0} Add New SSH Target...": "{0} Добавить новый целевой объект SSH...", + "Select an SSH target": "Выберите целевой объект SSH", + "[Active]": "[Активный]" +} diff --git a/Extension/i18n/trk/bundle.l10n.json b/Extension/i18n/trk/bundle.l10n.json new file mode 100644 index 000000000..b8d793e05 --- /dev/null +++ b/Extension/i18n/trk/bundle.l10n.json @@ -0,0 +1,745 @@ +{ + "Failed to parse json file, possibly due to comments or trailing commas.": "Büyük olasılıkla açıklamalar veya sondaki virgüllerden dolayı json dosyası ayrıştırılamadı.", + "The C/C++ extension is still installing. See the output window for more information.": "C/C++ uzantısı hala yükleniyor. Daha fazla bilgi için çıkış penceresine bakın.", + "Please refer to {0} for troubleshooting information. Issues can be created at {1}": "Sorun giderme bilgileri için lütfen şuraya bakın: {0}. Sorunlar {1} konumunda oluşturulabilir", + "Process exited with code {0}": "İşlemden {0} koduyla çıkış yapıldı", + "Process executed successfully.": "İşlem başarıyla yürütüldü.", + "Killing process {0}": "{0} işlemi durduruluyor", + "Warning: Expected file {0} is missing.": "Uyarı: Beklenen {0} dosyası eksik.", + "Warning: Debugging has not been tested for this platform.": "Uyarı: Bu platform için hata ayıklama test edilmedi.", + "Reload the workspace for the settings change to take effect.": "Ayar değişikliklerinin etkili olması için çalışma alanını yeniden yükleyin.", + "Reload": "Yeniden yükle", + "Custom configuration provider '{0}' registered": "'{0}' özel yapılandırma sağlayıcısı kaydedildi", + "Reached max string expansion recursion. Possible circular reference.": "En yüksek dize genişletme özyinelemesine ulaşıldı. Olası döngüsel başvuru.", + "Invalid variable reference {0} in string: {1}.": "{1} dizesinde geçersiz değişken başvurusu {0}.", + "Environment variable {0} not found": "Ortam değişkeni {0} bulunamadı", + "Commands are not supported for string: {0}.": "Şu dize için komutlar desteklenmiyor: {0}.", + "Exception while executing command {0} for string: {1} {2}.": "Şu dize için {0} komutu yürütülürken özel durum oluştu: {1} {2}.", + "C/C++ Diagnostics": "C/C++ Tanılaması", + "C/C++ Crash Call Stacks": "C/C++ Kilitlenme Çağrısı Yığınları", + "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}./{0} is a URL.": "C/C++ uzantı işlemi kilitlendi. Kilitlenen işlem adı, tarih/saat, sinyal ve çağrı yığını aşağıdadır; bunu {0} adresindeki bir hata raporuna eklemek işe yarar.", + "{0}: SSH": "{0}: SSH", + "C/C++ Debug Protocol": "C/C++ Hata Ayıklama Protokolü", + "C/C++ Configuration Warnings": "C/C++ Yapılandırma Uyarıları", + "Versions of the C/C++ extension more recent than {0} require at least macOS version {1}.": "{0} sürümünden daha yeni C/C++ uzantısı sürümleri en azından macOS sürüm {1} gerektirir.", + "intelliSenseEngine is disabled": "intelliSenseEngine devre dışı", + "More Info": "Daha Fazla Bilgi", + "Ignore": "Yoksay", + "The C/C++ extension installed does not match your system.": "Yüklü C/C++ uzantısı sisteminiz ile eşleşmiyor.", + "The C/C++ extension installed is compatible with but does not match your system.": "Yüklenen C/C++ uzantısı, sisteminizle uyumlu ancak eşleşmiyor.", + "Searching include path...": "Ekleme yolu aranıyor...", + "Include file not found in browse.path.": "Ekleme dosyası browse.path konumunda bulunamadı.", + "Edit \"browse.path\" setting": "\"browse.path\" ayarını düzenle", + "Add to \"includePath\": {0}": "\"includePath\"e ekle: {0}", + "Add '{0}'/{0} is C++ code to add, such as '#include '": "'{0}' öğesini ekle", + "Edit \"includePath\" setting": "\"includePath\" ayarını düzenle", + "Disable error squiggles": "Hata ilişkilendirmelerini devre dışı bırak", + "Enable all error squiggles": "Tüm hata ilişkilendirmelerini etkinleştir", + "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit ({0}).": "#include hataları algılandı. Lütfen includePath değerinizi güncelleştirin. Bu çeviri birimi ({0}) için ilişkilendirmeler devre dışı bırakıldı.", + "#include errors detected. Please update your includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include hataları algılandı. Lütfen includePath değerinizi güncelleştirin. Bu çeviri birimi ({0}) için IntelliSense özellikleri Etiket Ayrıştırıcısı tarafından sağlanır.", + "#include errors detected. Consider updating your compile_commands.json or includePath. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "#include hataları algılandı. compile_commands.json dosyanızı veya includePath değerinizi güncelleştirmeyi deneyin. Bu çeviri birimi ({0}) için IntelliSense özellikleri Etiket Ayrıştırıcısı tarafından sağlanır.", + "\"{0}\" could not be parsed. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" ayrıştırılamadı. Bunun yerine '{1}' klasöründeki c_cpp_properties.json dosyasında bulunan 'includePath' kullanılacak.", + "\"{0}\" could not be found. 'includePath' from c_cpp_properties.json in folder '{1}' will be used instead.": "\"{0}\" bulunamadı. Bunun yerine '{1}' klasöründeki c_cpp_properties.json dosyasında bulunan 'includePath' kullanılacak.", + "\"{0}\" not found in \"{1}\". 'includePath' from c_cpp_properties.json in folder '{2}' will be used for this file instead.": "\"{0}\", \"{1}\" içinde bulunamadı. Bu dosya yerine '{2}' klasöründeki c_cpp_properties.json dosyasında bulunan 'includePath' kullanılacak.", + "The IntelliSense database was successfully reset.": "IntelliSense veritabanı başarıyla sıfırlandı.", + "Failed to send response to client: {0}": "{0} istemcisine yanıt gönderilemedi", + "Failed to read response from server: {0}": "{0} sunucusundan gelen yanıt okunamadı", + "Failed to send request to server: {0}": "{0} sunucusuna istek gönderilemedi", + "Unexpected error while waiting for requests: {0}": "İstekler beklenirken beklenmeyen hata oluştu: {0}", + "{0} errored with: {1}": "{0}, {1} ile hata verdi", + "Failed to open the file {0}": "{0} dosyası açılamadı", + "Failed to query default include paths and defines for {0}.": "{0} için varsayılan ekleme yolları ve tanımlar sorgulanamadı.", + "Failed calling {0}": "{0} çağrılamadı", + "Quick info operation failed: {0}": "Hızlı bilgi işlemi başarısız oldu: {0}", + "Failed to create IntelliSense client: {0}": "IntelliSense istemcisi oluşturulamadı: {0}", + "Failed to spawn IntelliSense process: {0}": "IntelliSense işlemi üretilemedi: {0}", + "Error calling browse_engine_update_thread.join(): {0}": "browse_engine_update_thread.join() çağrılırken hata oluştu: {0}", + "This file ({0}) is already opened in the editor but with a different casing. IntelliSense features will be disabled on this copy of the file.": "Bu dosya ({0}) düzenleyicide zaten açık, ancak farklı bir büyük/küçük harf kullanımına sahip. IntelliSense özellikleri dosyanın bu kopyasında devre dışı bırakılacak.", + "IntelliSense client has disconnected from the server - {0}": "IntelliSense istemcisinin sunucu bağlantısı kesildi - {0}", + "Formatting failed:": "Biçimlendirme başarısız oldu:", + "Unable to add file to database, error = {0}: {1}": "Dosya veritabanına eklenemiyor, hata = {0}: {1}", + "Failed to reset timestamp during abort, error = {0}: {1}": "Durdurma sırasında zaman damgası sıfırlanamadı, hata = {0}: {1}", + "Unable to update timestamp, error = {0}: {1}": "Zaman damgası güncelleştirilemiyor, hata = {0}: {1}", + "Unable to finalize updates for file, error = {0}: {1}": "Dosya için güncelleştirmeler sonuçlandırılamıyor, hata = {0}: {1}", + "{0} is not a directory (st_mode={1})": "{0} bir dizin değil (st_mode={1})", + "Unable to retrieve file system information for {0}. error = {1}": "{0} için dosya sistemi bilgileri alınamıyor. hata = {1}", + "{0} is not a directory": "{0} bir dizin değil", + "File discovery was aborted": "Dosya bulma işlemi durduruldu", + "Aborting tag parse of {0} and dependencies": "{0} ve bağımlılıkların etiket ayrıştırması durduruluyor", + "Aborting tag parse at root": "Kökte etiket ayrıştırma durduruluyor", + "Unable to retrieve DB records to reset timestamps: error = {0}": "Zaman damgalarını sıfırlamak için veritabanı kayıtları alınamıyor: hata = {0}", + "Failed to reset timestamp for {0}: error = {1}": "{0} için zaman damgası sıfırlanamadı: hata = {1}", + "No suitable compiler found. Please set the \"compilerPath\" in c_cpp_properties.json.": "Uygun derleyici bulunamadı. Lütfen c_cpp_properties.json dosyasında \"compilerPath\" öğesini ayarlayın.", + "Compiler include path not found: {0}": "Derleyici ekleme yolu bulunamadı: {0}", + "IntelliSense engine is not responding. Using the Tag Parser instead.": "IntelliSense altyapısı yanıt vermiyor. Bunun yerine Etiket Ayrıştırıcısı kullanılıyor.", + "Tag Parser will be used for IntelliSense operations in: {0}": "Etiket Ayrıştırıcısı, şurada IntelliSense işlemleri için kullanılacak: {0}", + "Error squiggles will be disabled in: {0}": "Hata ilişkilendirmeleri şurada devre dışı bırakılacak: {0}", + "Processing folder (non-recursive): {0}": "Klasör işleniyor (özyinelemeli olmayan): {0}", + "Processing folder (recursive): {0}": "Klasör işleniyor (özyinelemeli): {0}", + "File exclude: {0}": "Dosyada hariç tutulan: {0}", + "Search exclude: {0}": "Aramada hariç tutulan: {0}", + "Discovering files: {0} file(s) processed": "Dosyalar bulunuyor: {0} dosya işlendi", + "{0} file(s) removed from database": "{0} dosya veritabanından kaldırıldı", + "Parsing: {0} files(s) processed": "Ayrıştırılıyor: {0} dosya işlendi", + "Shutting down IntelliSense server: {0}": "IntelliSense sunucusu kapatılıyor: {0}", + "Resetting IntelliSense server: {0}": "IntelliSense sunucusu sıfırlanıyor: {0}", + "Code browsing service initialized": "Koda gözatma hizmeti başlatıldı", + "Folder: {0} will be indexed": "{0} klasörünün dizini oluşturulacak", + "Populate include completion cache.": "Ekleme tamamlama önbelleğini doldurun.", + "Discovering files...": "Dosyalar bulunuyor...", + "Done discovering files.": "Dosyaları bulma işlemi tamamlandı.", + "Parsing open files...": "Açık dosyalar ayrıştırılıyor...", + "Done parsing open files.": "Açık dosyaları ayrıştırma işlemi tamamlandı.", + "Parsing remaining files...": "Kalan dosyalar ayrıştırılıyor...", + "Done parsing remaining files.": "Kalan dosyaları ayrıştırma işlemi tamamlandı.", + "Using configuration: \"{0}\"": "Şu yapılandırma kullanılıyor: \"{0}\"", + "{0} include path suggestion(s) discovered.": "{0} ekleme yolu önerisi bulundu.", + "Checking for syntax errors: {0}": "Söz dizimi hataları denetleniyor: {0}", + "IntelliSense Engine = {0}.": "IntelliSense Altyapısı = {0}.", + "The extension will use the Tag Parser for IntelliSense when #includes don't resolve.": "#includes çözümlenmediğinde, uzantı IntelliSense için Etiket Ayrıştırıcısı'nı kullanacak.", + "Autocomplete is enabled.": "Otomatik tamamlama etkin.", + "Autocomplete is disabled.": "Otomatik tamamlama devre dışı.", + "Hover is enabled.": "Üzerine gelme etkin.", + "Hover is disabled.": "Üzerine gelme devre dışı bırakıldı.", + "Enhanced Colorization is enabled.": "Gelişmiş Renklendirme etkin.", + "Error squiggles are disabled.": "Hata ilişkilendirmeleri devre dışı bırakıldı.", + "Error squiggles are enabled.": "Hata ilişkilendirmeleri etkin.", + "Error squiggles are enabled if all header dependencies are resolved.": "Tüm üst bilgi bağımlılıkları çözümlenmişse hata ilişkilendirmeleri etkinleştirilir.", + "Replaced placeholder file record": "Yer tutucu dosya kaydı değiştirildi", + "tag parsing file: {0}": "etiket ayrıştırma dosyası: {0}", + "tag parsing error (this can be ignored unless symbols can't be found):": "etiket ayrıştırma hatası (simgeler bulunamadığı takdirde bu hata yoksayılabilir):", + "Reset time stamp for {0}": "{0} için zaman damgasını sıfırla", + "Failed to remove file: {0}": "{0} dosyası kaldırılamadı", + "Regex parse error - vscode pattern: {0}, regex: {1}, error message: {2}": "Normal ifade ayrıştırma hatası - vscode deseni: {0}, normal ifade: {1}, hata iletisi: {2}", + "terminating child process: {0}": "alt işlem sonlandırılıyor: {0}", + "still alive, killing...": "hala canlı, sonlandırılıyor...", + "giving up": "vazgeçiliyor", + "not exited yet. Will sleep for {0} milliseconds and try again.": "henüz çıkılmadı. {0} milisaniye boyunca uykuya geçirilecek ve yeniden denenecek.", + "Failed to spawn process. Error: {0} ({1})": "İşlem üretilemedi. Hata: {0} ({1})", + "Offering completion": "Tamamlama teklif ediliyor", + "Attempting to get defaults from compiler found on the machine: '{0}'": "'{0}' makinesindeki derleyiciden varsayılan değerler alınmaya çalışılıyor", + "Unable to resolve include path: {0}": "{0} ekleme yolu çözümlenemiyor", + "Error searching for IntelliSense client: {0}": "IntelliSense istemcisi aranırken hata oluştu: {0}", + "IntelliSense client not available, using Tag Parser for quick info.": "IntelliSense istemcisi kullanılamıyor. Hızlı bilgi için Etiket Ayrıştırıcısı kullanılıyor.", + "using Tag Parser for quick info": "hızlı bilgi için Etiket Ayrıştırıcısı kullanılıyor", + "Closing the communication channel.": "İletişim kanalı kapatılıyor.", + "sending compilation args for {0}": "{0} için derleme bağımsız değişkenleri gönderiliyor", + "include: {0}": "ekle: {0}", + "framework: {0}": "çerçeve: {0}", + "define: {0}": "tanım: {0}", + "preinclude: {0}": "önceden ekleme: {0}", + "other: {0}": "diğer: {0}", + "sending {0} changes to server": "{0} değişiklik sunucuya gönderiliyor", + "Invalid opened file instance. Ignoring IntelliSense message for file {0}.": "Açılan dosya örneği geçersiz. {0} dosyası için IntelliSense iletisi yoksayılıyor.", + "idle loop: reparsing the active document": "boşta döngüsü: etkin belge yeniden ayrıştırılıyor", + "IntelliSense client is currently disconnected": "IntelliSense istemcisinin bağlantısı şu anda kesik", + "Request canceled: {0}": "İstek iptal edildi: {0}", + "IntelliSense client not available, using Tag Parser for go to definition.": "IntelliSense istemcisi kullanılamıyor. Tanıma gitmek için Etiket Ayrıştırıcısı kullanılıyor.", + "Error squiggle count: {0}": "Hata ilişkilendirmesi sayısı: {0}", + "Queueing IntelliSense update for files in translation unit of: {0}": "Şu çeviri birimindeki dosyalar için IntelliSense güncelleştirmesi kuyruğa alınıyor: {0}", + "Formatting document: {0}": "{0} belgesi biçimlendiriliyor", + "Formatting input:": "Giriş biçimlendiriliyor:", + "Formatting raw output:": "Ham çıkış biçimlendiriliyor:", + "Formatting diffed output before cursor:": "Şu imleçten önceki karşılaştırılmış çıkış biçimlendiriliyor:", + "Formatting diffed output after cursor:": "Şu imleçten sonraki karşılaştırılmış çıkış biçimlendiriliyor:", + "Formatting diffed output:": "Karşılaştırılmış çıkış biçimlendiriliyor:", + "Disable inactive region colorization": "Etkin olmayan bölge renklendirmeyi devre dışı bırak", + "Error limit exceeded, {0} error(s) not reported.": "Hata sınırı aşıldı, {0} hata bildirilmedi.", + "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit ({0}).": "#include hataları algılandı. compile_commands.json dosyanızı veya includePath değerinizi güncelleştirmeyi deneyin. Bu çeviri birimi ({0}) için ilişkilendirmeler devre dışı bırakıldı.", + "The IntelliSense database could not be reset. To manually reset, close all VS Code instances and then delete this file: {0}": "IntelliSense veritabanı sıfırlanamadı. Kendiniz sıfırlamak istiyorsanız, tüm VS Code örneklerini kapatıp bu dosyayı silin: {0}", + "Formatting failed. See the output window for details.": "Biçimlendirme başarısız oldu. Ayrıntılar için çıkış penceresine bakın.", + "Populating include completion cache.": "Ekleme tamamlama önbelleği dolduruluyor.", + "Discovering files: {0}": "Dosyalar bulunuyor: {0}", + "Parsing open files": "Açık dosyalar ayrıştırılıyor", + "Tag parser initializing": "Etiket Ayrıştırıcısı başlatılıyor", + "Workspace parsing paused": "Çalışma alanını ayrıştırması duraklatıldı", + "Parsing workspace files: {0}": "Çalışma alanı dosyalar ayrıştırılıyor: {0}", + "Discovering files: {0} / {1} ({2}%)": "Dosyalar bulunuyor: {0}/{1} (%{2})", + "Parsing workspace files: {0} / {1} ({2}%)": "Çalışma alanı dosyalar ayrıştırılıyor: {0} / {1} (%{2})", + "Can't find or run process_name": "process_name bulunamıyor veya çalıştırılamıyor", + "Child exec failed {0}": "Alt öğe yürütülemedi: {0}", + "Could not communicate with child process!": "Alt işlemle iletişim kurulamadı!", + "{0} failed": "{0} eylem başarısız", + "Failed to set {0} flag": "{0} bayrağı ayarlanamadı", + "Unable to create {0}!": "{0} oluşturulamadı!", + "Failed to set stdin {0} flag": "Stdin {0} bayrağı ayarlanamadı", + "Failed to set stdout {0} flag": "Stdout {0} bayrağı ayarlanamadı", + "Failed to set stderr {0} flag": "Stderr {0} bayrağı ayarlanamadı", + "Unable to start child process!": "Alt işlem başlatılamıyor!", + "Timed out attempting to communicate with process!": "İşlemle iletişim kurmaya çalışırken zaman aşımına uğradı!", + "Process has failed to run": "İşlem çalıştırılamadı", + "Specified compiler was not found: {0}": "Belirtilen derleyici bulunamadı: {0}", + "Config data invalid, {0}": "Yapılandırma verileri geçersiz, {0}", + "CMake executable not found at {0}": "CMake yürütülebilir dosyası {0} konumunda bulunamadı", + "No args provider": "Bağımsız değişken sağlayıcısı yok", + "Invalid file path {0}": "Geçersiz dosya yolu {0}", + "Can't create IntelliSense client for {0}": "{0} için IntelliSense istemcisi oluşturulamıyor", + "declaration": "bildirim", + "type alias": "tür diğer adı", + "Compiler does not support 64-bit. Falling back to 32-bit intelliSenseMode.": "Derleyici 64 bit desteğine sahip değil. 32 bit intelliSenseMode'a geri dönülüyor.", + "Compiler does not support 32-bit. Falling back to 64-bit intelliSenseMode.": "Derleyici 32 bit desteğine sahip değil. 64 bit intelliSenseMode'a geri dönülüyor.", + "Failed to query compiler. Falling back to 32-bit intelliSenseMode.": "Derleyici sorgulanamadı. 32 bit intelliSenseMode'a geri dönülüyor.", + "Failed to query compiler. Falling back to 64-bit intelliSenseMode.": "Derleyici sorgulanamadı. 64 bit intelliSenseMode'a geri dönülüyor.", + "Failed to query compiler. Falling back to no bitness.": "Derleyici sorgulanamadı. Bit genişliği yok durumuna geri dönülüyor.", + "IntelliSense client creation aborted: {0}": "IntelliSense istemcisi oluşturma işlemi durduruldu: {0}", + "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.": "configurationProvider ayarı tarafından sağlanan bilgilere göre #include hataları saptandı. Bu çeviri birimi ({0}) için IntelliSense özellikleri Etiket Ayrıştırıcısı tarafından sağlanır.", + "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).": "configurationProvider ayarı tarafından sağlanan bilgilere göre #include hataları saptandı. Bu çeviri birimi ({0}) için dalgalı çizgiler devre dışı bırakıldı.", + "preprocessor keyword/Refers to C/C++ processor keywords": "ön işlemci anahtar sözcüğü", + "C keyword": "C anahtar sözcüğü", + "C++ keyword": "C++ anahtar sözcüğü", + "+1 overload/Refers to 'overloaded' function in C++. This is part of a description indicating there is 1 additional overload of a specified function.": "1 aşırı yükleme daha", + "+%d overloads/Refers to 'overloaded' functions in C++. This is part of a description indicating there are N additional overloads of a specified function. %d is replaced with that number.": "%d aşırı yükleme daha", + "+1 specialization/Refers to a C++ template specialization. This is part of a description indicating there is 1 additional specialization of a function.": "1 özelleştirme daha", + "+%d specializations/Refers to C++ template specializations. This is part of a description indicating there are N additional specializations of a function. %d is replaced with that number.": "%d özelleştirme daha", + "Note: IntelliSense is not fully configured. Use the 'Select IntelliSense Configuration...' command to finish configuration.": "Not: IntelliSense tam olarak yapılandırılmadı. Yapılandırmayı bitirmek için 'IntelliSense Yapılandırmasını Seç' komutunu kullanın.", + "Select an IntelliSense configuration to locate system headers": "Sistem üst bilgilerini bulmak için bir IntelliSense yapılandırması seçin", + "Expands to:": "Şu öğeye genişler:", + "Attention:": "Dikkat:", + "Author:": "Yazar:", + "Authors:": "Yazarlar:", + "Bug:": "Hata:", + "Copyright:": "Telif Hakkı:", + "Deprecated:": "Kullanım dışı:", + "Date:": "Tarih:", + "Details:": "Ayrıntılar:", + "Exceptions:/This label is for describing the exceptions thrown by a function. Usage example: Exception: std::out_of_range parameter is out of range.": "Özel durumlar:", + "Invariant:": "Değişmez:", + "File:": "Dosya:", + "Note:": "Not:", + "Parameters:": "Parametreler:", + "Precondition:": "Ön koşul:", + "Postcondition:": "Son koşul:", + "Remark:": "Açıklama:", + "Remarks:": "Açıklamalar:", + "Result:": "Sonuç:", + "Return:": "Dönüş:", + "Returns:/This label is for the return value description for a function. Usage example: 'Returns: Area of a shape.'": "Şunu döndürür:", + "See also:": "Ayrıca bkz:", + "Since:": "Dan beri:", + "Template Parameters:": "Şablon Parametreleri:", + "Test:": "Test et:", + "TODO:": "TODO:", + "Version:": "Sürüm:", + "Warning:": "Uyarı:", + "Compiler query command line: {0}": "Derleyici sorgusunun komut satırı: {0}", + "Attempting to get defaults from C compiler in \"compilerPath\" property: '{0}'": "\"compilerPath\" özelliğindeki C derleyicisinden varsayılan değerler alınmaya çalışılıyor: '{0}'", + "Attempting to get defaults from C++ compiler in \"compilerPath\" property: '{0}'": "\"compilerPath\" özelliğindeki C++ derleyicisinden varsayılan değerler alınmaya çalışılıyor: '{0}'", + "Attempting to get defaults from C compiler in compile_commands.json file: '{0}'": "compile_commands.json dosyasındaki C derleyicisinden varsayılan değerler alınmaya çalışılıyor: '{0}'", + "Attempting to get defaults from C++ compiler in compile_commands.json file: '{0}'": "compile_commands.json dosyasındaki C++ derleyicisinden varsayılan değerler alınmaya çalışılıyor: '{0}'", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "C kaynak dosyaları için \"{0}\" olan IntelliSenseMode, \"{1}\" olarak değiştirildi.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\".": "C++ kaynak dosyaları için \"{0}\" olan IntelliSenseMode, \"{1}\" olarak değiştirildi.", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\".": "C kaynak dosyaları için \"{0}\" olan cStandard \"{1}\" olarak değiştirildi.", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\".": "C++ kaynak dosyaları için \"{0}\" olan cppStandard \"{1}\" olarak değiştirildi.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\".": "C kaynak dosyaları için \"{0}\" olan IntelliSenseMode, \"{1}\" olarak ve \"{2}\" olan cStandard, \"{3}\" olarak değiştirildi.", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\".": "C++ kaynak dosyaları için \"{0}\" olan IntelliSenseMode, \"{1}\" olarak ve \"{2}\" olan cppStandard, \"{3}\" olarak değiştirildi.", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C kaynak dosyaları için derleyici bağımsız değişkenlerine ve sorgulama compilerPath'ine (\"{2}\") göre \"{0}\" olan IntelliSenseMode, \"{1}\" olarak değiştirildi", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C++ kaynak dosyaları için derleyici bağımsız değişkenlerine ve sorgulama compilerPath'ine (\"{2}\") göre \"{0}\" olan IntelliSenseMode, \"{1}\" olarak değiştirildi", + "For C source files, the cStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C kaynak dosyaları için derleyici bağımsız değişkenlerine ve sorgulama compilerPath'ine (\"{2}\") göre \"{0}\" olan cStandard, \"{1}\" olarak değiştirildi", + "For C++ source files, the cppStandard was changed from \"{0}\" to \"{1}\" based on compiler args and querying compilerPath: \"{2}\"": "C++ kaynak dosyaları için derleyici bağımsız değişkenlerine ve sorgulama compilerPath'ine (\"{2}\") göre \"{0}\" olan cppStandard, \"{1}\" olarak değiştirildi", + "For C source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cStandard was changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "C kaynak dosyaları için derleyici bağımsız değişkenlerine ve sorgulama compilerPath'ine (\"{4}\") göre \"{0}\" olan IntelliSenseMode, \"{1}\" olarak ve \"{2}\" olan cStandard, \"{3}\" olarak değiştirildi", + "For C++ source files, IntelliSenseMode was changed from \"{0}\" to \"{1}\" and cppStandard changed from \"{2}\" to \"{3}\" based on compiler args and querying compilerPath: \"{4}\"": "C++ kaynak dosyaları için derleyici bağımsız değişkenlerine ve sorgulama compilerPath'ine (\"{4}\") göre \"{0}\" olan IntelliSenseMode, \"{1}\" olarak ve \"{2}\" olan cppStandard, \"{3}\" olarak değiştirildi", + "Unable to resolve configuration with compilerPath \"{0}\". Using \"{1}\" instead.": "\"{0}\" compilerPath ile yapılandırma çözümlenemiyor. Bunun yerine \"{1}\" kullanılıyor.", + "Unable to resolve configuration with compilerPath: \"{0}\"": "\"{0}\" compilerPath ile yapılandırma çözümlenemiyor", + "Skipping query of compiler due to explicitly empty compilerPath": "Açıkça boş compilerPath nedeniyle derleyici sorgulaması atlanıyor", + "MSVC intelliSenseMode specified. Configuring for compiler cl.exe.": "MSVC intelliSenseMode belirtildi. Derleyici cl.exe dosyası için yapılandırılıyor.", + "Unable to configure for compiler cl.exe.": "Derleyici cl.exe dosyası için yapılandırılamıyor.", + "Querying compiler's default target using command line: \"{0}\" {1}": "Komut satırı kullanılarak derleyicinin varsayılan hedefi yoklanıyor: \"{0}\" {1}", + "Compiler returned default target value: {0}": "Derleyici, varsayılan hedef değeri ({0}) döndürdü", + "Querying compiler for default C language standard using command line: {0}": "Komut satırı kullanılarak varsayılan C dili standardı için derleyici sorgulanıyor: {0}", + "Querying compiler for default C++ language standard using command line: {0}": "Komut satırı kullanılarak varsayılan C++ dili standardı için derleyici sorgulanıyor: {0}", + "Detected language standard version: {0}": "Algılanan dil standart sürümü: {0}", + "Unhandled default compiler target value detected: {0}": "İşlenmemiş varsayılan derleyici hedefi değeri saptandı: {0}", + "Unhandled target argument value detected: {0}": "İşlenmemiş hedef bağımsız değişken değeri algılandı: {0}", + "Shutting down IntelliSense server: {0}. Memory usage is {1} MB and has exceeded the {2} MB limit.": "IntelliSense sunucusu kapatılıyor: {0}. Bellek kullanımı {1} MB olduğundan {2} MB sınırını aştı.", + "Failed to query compiler at path \"{0}\" for default standard versions. Compiler querying is disabled for this compiler.": "Varsayılan standart sürümler için \"{0}\" yolundaki derleyici sorgulanamadı. Derleyici sorgulaması bu derleyici için devre dışı bırakıldı.", + "Compiler query returned an unrecognized language standard version. The latest supported version will be used instead.": "Derleyici sorgusu, tanınmayan bir dil standardı sürümü döndürdü. Bunun yerine desteklenen en güncel sürüm kullanılacak.", + "IntelliSense process crash detected.": "IntelliSense işlem kilitlenmesi saptandı.", + "IntelliSense process crash detected: {0}/`{0}` will be substituted with ``.": "IntelliSense işlem çökmesi algılandı: {0}", + "Return values:/This label is for the return values description for a function. Usage example: 'Return values: 1 if key is found. 2 if input can't be read. 3 if input is empty.'": "Dönüş değerleri:", + "Unable to locate nvcc compiler: {0}": "Nvcc derleyicisi bulunamıyor: {0}", + "Unable to locate nvcc host compiler: {0}": "Nvcc konak derleyicisi bulunamıyor: {0}", + "Invoking nvcc with command line: {0}": "Komut satırı ile nvcc çağrılıyor: {0}", + "Unable to find host compile command in output of nvcc.": "Nvcc çıkışındaki konak derleme komutu bulunamıyor.", + "Unable to locate forced include: {0}": "Zorlamalı ekleme bulunamıyor: {0}", + "Inline macro/'Inline' is a command and not an adjective, i.e. like 'Expand macro'.": "Satır içi makro", + "Unable to access browse database. ({0})": "Göz atma veritabanına erişilemiyor. ({0})", + "IntelliSenseMode was changed because it didn't match the detected compiler. Consider setting \"compilerPath\" instead. Set \"compilerPath\" to \"\" to disable detection of system includes and defines.": "Algılanan derleyici ile eşleşmediğinden IntelliSenseMode değiştirildi. Bunun yerine \"compilerPath\" öğesini ayarlamayı deneyin. Sistem içeriklerinin ve tanımlarının algılanmasını devre dışı bırakmak için \"compilerPath\" öğesini \"\" olarak ayarlayın.", + "Remove all code analysis problems": "Tüm kod analizi sorunlarını kaldır", + "(Multiple locations)": "(Birden fazla konum)", + "Folder": "Klasör", + "File": "Dosya", + "Compiler returned default language standard version: {0}. Since this version is old, will try to use newer version {1} as default.": "Derleyici varsayılan dil standart sürümünü döndürdü: {0}. Bu sürüm eski olduğundan daha yeni {1} sürümünü varsayılan olarak kullanmayı deneyeceğiz.", + "Unexpected output from clang-tidy: {0}. Expected: {1}.": "Clang-tidy öğesinden beklenmeyen çıkış: {0}. Beklenen: {1}.", + "Generate Doxygen comment": "Doxygen açıklaması oluştur", + "Create declaration of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "{0} dosyasında '{1}' işlevinin bildirimini oluştur", + "Create definition of '{0}' in {1}/{0} is the name of a C/C++ function, {1} is a file name.": "{0} dosyasında '{1}' işlevinin tanımını oluştur", + "Function definition for '{0}' not found./{0} is the name of a C/C++ function.": "'{0}' işlevi için işlev tanımı bulunamadı.", + "Attributes/'Attributes' is a C++ specifier.": "Öznitelikler", + "Bases/'Bases' are a C++ class type.": "Tabanlar", + "Classes": "Sınıflar", + "CoClasses": "CoClass'lar", + "Delegates": "Temsilciler", + "Enums": "Sabit Listeleri", + "Events": "Olaylar", + "Functions": "İşlevler", + "Import directives": "İçeri aktarma yönergeleri", + "ImportLib statements": "ImportLib deyimleri", + "Import statements": "İçeri aktarma deyimleri", + "Include directives": "İçerme yönergeleri", + "Interfaces": "Arabirimler", + "Libraries": "Kitaplıklar", + "Macros": "Makrolar", + "Maps": "Haritalar", + "Map entries": "Eşleme girişleri", + "Miscellaneous": "Çeşitli", + "Namespaces": "Ad alanları", + "Parameters": "Parametreler", + "Properties": "Özellikler", + "Structs": "Yapılar", + "TODO: insert return statement here": "TODO: return deyimini buraya ekleyin", + "Typedefs": "Tür tanımları", + "Unions": "Birleşimler", + "Using aliases": "Diğer adların kullanımı", + "Using directives": "Yönergeler kullanılıyor", + "Variables": "Değişkenler", + "Automatic add function": "Otomatik işlev ekle", + "vsCMFunctionVirtual is redundant and must not be specified when with vsCMFunctionComMethod./Do not localize 'vsCMFunctionVirtual' and 'vsCMFunctionComMethod', they are code implementation.": "vsCMFunctionVirtual gereksizdir ve vsCMFunctionComMethod ile birlikte belirtilemez.", + "vsCMFunctionComMethod cannot be static./Do not localize 'vsCMFunctionComMethod', it is code implementation.": "vsCMFunctionComMethod statik olamaz.", + "Invalid C/C++ file: '%s'./%s is the invalid file.": "C/C++ dosyası geçersiz: '%s'.", + "File name too long: '%s'./%s is the file that has a long name.": "'%s' dosya adı çok uzun.", + "Cannot create file '%s'./%s is the file that could not be created.": "'%s' dosyası oluşturulamadı.", + "Cannot access directory or file '%s' for writing./%s is the directory or file that could not be accessed for writing.": "'%s' dizinine ya da dosyasına yazmak için erişilemedi.", + "Invalid file path: '%s'./%s is the file that has an invalid path.": "Geçersiz dosya yolu: '%s'.", + "File '%s' was not found./%s is the file that was not found.": "'%s' dosyası bulunamadı.", + "Create Declaration / Definition failed: %s/The operation 'Create Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Bildirim/Tanım oluşturulamadı: %s", + "Unable to create function '%s'. Creating defaulted or deleted functions is not supported./%s is the function that could not be created.": "'%s' işlevi oluşturulamıyor. Varsayılan olarak ayarlanmış veya silinmiş işlevlerin oluşturulması desteklenmiyor.", + "Unable to create function '%s'./%s is the function that could not be created.": "'%s' işlevi oluşturulamıyor.", + "Unable to find an unambiguous location for function '%s'./%s is the function for the unambiguous location.": "'%s' işlevi için açık konum bulunamıyor.", + "Could not find class or namespace '%s'./%s is the class or namespace code that could not be found.": "Sınıf veya ad alanı '%s' bulunamadı.", + "The operation is not supported for '%s'./%s is the function that is not supported for an operation that involves automatically generating code.": "İşlem '%s' için desteklenmiyor.", + "Unknown error.": "Bilinmeyen hata.", + "Please run the 'Select IntelliSense Configuration...' command to locate your system headers.": "Lütfen sistem başlıklarınızı bulmak için 'IntelliSense Yapılandırmasını Seç...' komutunu çalıştırın.", + "Copy declaration of '{0}'/{0} is the name of a C/C++ function.": "'{0}' bildirimini kopyala", + "Copy definition of '{0}'/{0} is the name of a C/C++ function.": "'{0}' tanımını kopyala", + "Copying Declaration / Definition to clipboard failed: %s/The operation 'Copy Declaration / Definition' on a function was not successful. %s is the error info that has a period at the end of the string.": "Bildirim / Tanım panoya kopyalanamadı: %s", + "Extract to function": "İşleve ayıkla", + "Extract to free function": "Ücretsiz işleve çıkart", + "Extract to member function in '{0}'/{0} is the name of the struct or class the member function belongs to, e.g. 'class Foo'.": "'{0}' içindeki üye işlevine çıkart", + "The selected text is not inside a function.": "Seçili metin işlevin içinde değil.", + "The selected text cannot span different functions.": "Seçili metin farklı işlevlere yayılamaz.", + "Variable '%s' is declared in the selected region and then used below it.": "'%s' değişkeni seçili bölgede bildiriliyor ve daha sonra bu bölgenin altında kullanılıyor.", + "Preprocessor macro '%s' is used below the selected region.": "Önişleyici makrosu '%s' seçili bölgenin altında kullanılıyor.", + "The selected region spans an inactive preprocessor block.": "Seçili bölge etkin olmayan bir önişleyici bloğunu kapsıyor.", + "The selected region does not contain any code that can be extracted.": "Seçilen bölge ayıklanabilecek hiçbir kod içermiyor.", + "The selected region is not entirely within the function's body.": "Seçilen bölge tamamen işlevin gövdesi içinde değil.", + "The selection contains IntelliSense errors.": "Seçim IntelliSense hataları içeriyor.", + "'%s' is not declared within the selected code, but is being modified. C code cannot pass arguments by reference./%s is the name of a variable.": "'%s', seçili kod içinde bildirilmedi, ancak değiştiriliyor. C kodu, bağımsız değişkenleri başvuruya göre geçiremiyor.", + "The function would have to return a value by reference. C code cannot return references.": "İşlevin başvuruya göre bir değer döndürmesi gerekiyor. C kodu başvuruları döndüremiyor.", + "Jumps between the selected code and the surrounding code are present.": "Seçili kod ile çevreleyen kod arasında atlamalar var.", + "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.": "Seçili kodda bazı denetim yolları, dönüş değeri ayarlanmadan çıkış yapıyor. Bu durum yalnızca skaler, sayısal ve işaretçi dönüş türlerinde desteklenir.", + "Expand selection (to enable 'Extract to function')": "Seçimi genişlet (\"İşleve çıkar\" seçeneğini etkinleştirmek için)", + "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.": "\"{0}\" compile_commands.json dosyaları içinde bulunamadı. Bu dosya yerine '{1}' klasöründeki c_cpp_properties.json dosyasında bulunan 'includePath' kullanılacak.", + "Generate Copilot summary": "Copilot özeti oluştur", + "Unable to index files from non-existent folder: {0}": "Mevcut olmayan klasörden dosyalar dizine alınamıyor: {0}", + "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications./{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}": "C/C++ uzantısı, uygulamalarınızı geliştirmek ve test etmek için yalnızca Microsoft Visual Studio, Mac için Visual Studio, Visual Studio Code, Azure DevOps, Team Foundation Server ve sonraki Microsoft ürünleri ve hizmetleriyle kullanılabilir.", + "Microsoft C++ Language Server/{Locked=\"Microsoft\"} {Locked=\"C++\"}": "Microsoft C++ Language Server", + "Usage: {0} [options]/{0} is the executable name. {Locked=\"{0}\"}": "Kullanım: {0} [seçenekler]", + "Options:": "Seçenekler:", + "Show this help message and exit.": "Bu yardım iletisini göster ve çık.", + "Show version information and exit.": "Sürüm bilgilerini göster ve çık.", + "Permanently accept the End User License Agreement (EULA)./{Locked=\"EULA\"}": "Son Kullanıcı Lisans Sözleşmesi'ni (EULA) kalıcı olarak kabul edin.", + "Do not redirect stderr to /dev/null (useful for debugging)./{Locked=\"stderr\"} {Locked=\"/dev/null\"}": "stderr'i /dev/null konumuna yeniden yönlendirmeyin (hata ayıklama için yararlıdır).", + "Initiate interactive login (GitHub Copilot subscription required)./{Locked=\"GitHub Copilot\"}": "Etkileşimli oturum açmayı başlatın (GitHub Copilot aboneliği gereklidir).", + "Force the login process, even if already authenticated.": "Zaten kimliği doğrulanmış olsa bile oturum açma işlemini zorlayın.", + "Allow storing credentials in plaintext if a secure keychain is unavailable.": "Güvenli bir anahtarlık kullanılamıyorsa kimlik bilgilerinin düz metin olarak depolanmasına izin verin.", + "Specify the directory for log files (default: system temp directory).": "Günlük dosyaları için dizini belirtin (varsayılan: sistem geçici dizini).", + "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).": "Günlüğe kaydetme ayrıntı düzeyini 0 (yalnızca hatalar) ile 9 (ayrıntılı) arasında bir değere ayarlayın.", + "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder./{Locked=\".github\"}": "Parametreyi mutlak bir yol olarak ya da çalışma alanı köküne veya .github klasörüne göre belirtin.", + "Disable sending telemetry data.": "Telemetri verilerini gönderme işlemini devre dışı bırakın.", + "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization.../{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "GitHub ile kimlik doğrulaması yapmak için lütfen {0} kodunu kopyalayın ve ardından {1} URL'sini ziyaret edin. Yetkilendirme bekleniyor...", + "Timed out waiting for authorization.": "Yetkilendirme beklenirken zaman aşımına uğradı.", + "Successfully authenticated with GitHub./{Locked=\"GitHub\"}": "GitHub ile başarıyla kimlik doğrulaması yaptı.", + "GitHub authentication succeeded but tokens could not be saved./{Locked=\"GitHub\"}": "GitHub kimlik doğrulaması başarılı oldu ancak belirteçler kaydedilemedi.", + "Keyring error: {0}/{Locked=\"{0}\"}": "Kimlik anahtarlığı hatası: {0}", + "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon./{Locked=\"gnome-keyring-daemon\"}": "Kimlik anahtarlığı koleksiyonu kilitli. Kilidini açın veya gnome-keyring-daemon'u yeniden başlatın.", + "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring/{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}": "Kullanılabilir bir kimlik anahtarlığı hizmeti yok. gnome-keyring'i yükleyin ve başlatın: sudo apt install gnome-keyring", + "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage./{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}": "Alternatif olarak --login --allow-plaintext-secret-storage'ı geçirerek düz metin olarak depolamaya izin verin.", + "The device code has expired. Please try again.": "Cihaz kodunun süresi doldu. Lütfen yeniden deneyin.", + "Authorization was denied by the user.": "Yetkilendirme kullanıcı tarafından reddedildi.", + "Unexpected error during polling: {0}/{Locked=\"{0}\"}": "Yoklama sırasında beklenmeyen hata: {0}", + "GitHub login failed. Try running with --login from the command line to log in./{Locked=\"GitHub\"} {Locked=\"--login\"}": "GitHub oturum açma işlemi başarısız oldu. Oturum açmak için komut satırından --login ile çalıştırmayı deneyin.", + "EULA must be accepted to proceed. Run with --accept-eula./{Locked=\"EULA\"} {Locked=\"--accept-eula\"}": "Devam etmek için EULA'nın kabul edilmesi gerekiyor. --accept-eula ile çalıştırın.", + "Already authenticated with GitHub. Use --force-login to re-authenticate./{Locked=\"GitHub\"} {Locked=\"--force-login\"}": "GitHub ile zaten kimlik doğrulaması yaptı. Yeniden kimlik doğrulaması yapmak için --force-login kullanın.", + "Initialization failed: Unsupported config version. Only version 1 is supported.": "Başlatma başarısız oldu: Desteklenmeyen yapılandırma sürümü. Yalnızca 1. sürüm desteklenir.", + "Initialization failed: Config file '{0}' not found./{Locked=\"{0}\"}": "Başlatma başarısız oldu: '{0}' yapılandırma dosyası bulunamadı.", + "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Başlatma başarısız oldu: '{0}' yapılandırma dosyası ayrıştırılamıyor. JSON biçimini doğrulayın. Hata: {1}", + "Initialization failed: 'repositoryPath' is not configured or invalid./{Locked=\"repositoryPath\"}": "Başlatma başarısız oldu: 'repositoryPath' yapılandırılmamış veya geçersiz.", + "Initialization failed: 'compileCommands' or 'cppProperties' must be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Başlatma başarısız oldu: 'compileCommands' veya 'cppProperties' yapılandırılmalıdır.", + "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured./{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}": "Başlatma başarısız oldu: 'compileCommands' ve 'cppProperties' birlikte yapılandırılamaz.", + "Initialization failed: 'compileCommands' path not found: '{0}'./{Locked=\"compileCommands\"} {Locked=\"{0}\"}": "Başlatma başarısız oldu: 'compileCommands' yolu bulunamadı: '{0}'.", + "Initialization failed: 'cppProperties' path not found: '{0}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Başlatma başarısız oldu: 'cppProperties' yolu bulunamadı: '{0}'.", + "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}/{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Başlatma başarısız oldu: 'cppProperties' tarafından belirtilen dosya ayrıştırılamadı: '{0}'. JSON biçimini doğrulayın. Hata: {1}", + "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema./{Locked=\"cppProperties\"} {Locked=\"{0}\"}": "Başlatma başarısız oldu: 'cppProperties' dosyasından yapılandırma okunamıyor: '{0}'. Şemayı doğrulayın.", + "Initialization failed: '{0}' does not contain a valid 'configurations' array./{Locked=\"configurations\"} {Locked=\"{0}\"}": "Başlatma başarısız oldu: '{0}' geçerli bir 'configurations' dizisi içermiyor.", + "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'./{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Başlatma başarısız oldu: '{0}' yapılandırması, 'cppProperties' dosyasında bulunamadı: '{1}'.", + "Initialization failed: LSP config paths cache is missing.": "Başlatma başarısız oldu: LSP yapılandırma yolları önbelleği eksik.", + "libcurl not found ({0}). libcurl is required for authentication and telemetry./{Locked=\"libcurl\"} {Locked=\"{0}\"}": "libcurl bulunamadı ({0}). Kimlik doğrulaması ve telemetri için libcurl gereklidir.", + "libcurl should be available on macOS by default. If missing, install via: brew install curl/{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}": "libcurl macOS'ta varsayılan olarak kullanılabilir olmalıdır. Eksikse şu komutla yükleyin: brew install curl", + "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL)./{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}": "libcurl'u yükleyin: sudo apt install libcurl4 (Debian/Ubuntu) veya sudo dnf install libcurl (Fedora/RHEL).", + "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl./{Locked=\"libcurl\"}": "libcurl yüklendi ancak gerekli semboller eksik. Bu, çok eski veya uyumsuz bir libcurl sürümüne işaret ediyor olabilir. Dil sunucusu uyumlu bir libcurl olmadan çalıştırılamaz.", + "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL)./{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}": "libsecret-1.so.0 bulunamadı ({0}). Güvenli kimlik bilgisi depolaması için libsecret gerekiyor. libsecret'i yükleyin: sudo apt install libsecret-1-0 (Debian/Ubuntu) veya sudo dnf install libsecret (Fedora/RHEL).", + "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret./{Locked=\"libsecret\"}": "libsecret yüklendi ancak gerekli semboller eksik. Dil sunucusu uyumlu bir libsecret olmadan çalışamaz.", + "Failed to disable telemetry.": "Telemetri devre dışı bırakılamadı.", + "Method not found: {0}/{0} is the LSP method name. {Locked=\"{0}\"}": "Yöntem bulunamadı: {0}", + "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}/{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}": "Mevcut dosyayla aynı standartlaştırılmış yola sahip bir dosya için IntelliSense işlenemiyor. URI: {0}, standartlaştırılmış yol: {1}", + "Initializing": "Başlatılıyor", + "Initializing ({0} of {1})": "Başlatılıyor ({0} / {1})", + "Initializing ({0} of {1}): {2}": "Başlatılıyor ({0} / {1}): {2}", + "Initializing {0}": "{0} başlatılıyor", + "Initializing projects": "Projeler başlatılıyor", + "Initializing projects ({0} of {1})": "Projeler başlatılıyor ({0} / {1})", + "Initializing projects ({0} of {1}): {2}": "Projeler başlatılıyor ({0} / {1}): {2}", + "Initializing projects {0}": "Projeler başlatılıyor {0}", + "Checking for out of date files": "Eski dosyalar denetleniyor", + "Checking for out of date files ({0} of {1})": "Eski dosyalar denetleniyor ({0} / {1})", + "Checking for out of date files ({0} of {1}): {2}": "Eski dosyalar denetleniyor ({0} / {1}): {2}", + "Checking for out of date files {0}": "Eski dosyalar denetleniyor {0}", + "Parsing files": "Dosyalar ayrıştırılıyor", + "Parsing files ({0} of {1})": "Dosyalar ayrıştırılıyor ({0} / {1})", + "Parsing files ({0} of {1}): {2}": "Dosyalar ayrıştırılıyor ({0} / {1}): {2}", + "Parsing files {0}": "{0} dosyaları ayrıştırılıyor", + "Parsing included files": "Eklenen dosyalar ayrıştırılıyor", + "Parsing included files ({0} of {1})": "Eklenen dosyaları ayrıştırılıyor ({0} / {1})", + "Parsing included files ({0} of {1}): {2}": "Eklenen dosyaları ayrıştırılıyor ({0} / {1}): {2}", + "Parsing included files {0}": "Eklenen dosyalar ayrıştırılıyor {0}", + "Scanning #includes for more files": "Ek dosyalar için #includes taranıyor", + "Scanning #includes for more files ({0} of {1})": "Ek dosyalar için #includes taranıyor ({0} / {1})", + "Scanning #includes for more files ({0} of {1}): {2}": "Ek dosyalar için #includes taranıyor ({0} / {1}): {2}", + "Scanning #includes for more files {0} {1}": "Ek dosyalar için #includes taranıyor {0} / {1}", + "Ready (Updating external dependencies)": "(Dış bağımlılıkları güncelleştirme) hazır", + "Ready (Updating external dependencies) ({0} of {1})": "Hazır (Dış bağımlılıklar güncelleştiriliyor) ({0} / {1})", + "Ready (Updating external dependencies) ({0} of {1}): {2}": "Hazır (Dış bağımlılıklar güncelleştiriliyor) ({0} / {1}): {2}", + "Ready (Updating external dependencies) {0}": "Hazır (Dış bağımlılıklar güncelleştiriliyor) {0}", + "Ready (Optimizing database)": "Hazır (Veritabanı iyileştiriliyor)", + "Ready (Optimizing database) ({0} of {1})": "Hazır (Veritabanı iyileştiriliyor) ({0} / {1})", + "Ready (Optimizing database) ({0} of {1}): {2}": "Hazır (Veritabanı iyileştiriliyor) ({0} / {1}): {2}", + "Ready (Optimizing database) {0}": "Hazır (Veritabanı iyileştiriliyor) {0}", + "Creating Indexes": "Dizinler oluşturuluyor", + "Creating Indexes ({0} of {1})": "Dizinler oluşturuluyor ({0} / {1})", + "Creating Indexes ({0} of {1}): {2}": "Dizinler oluşturuluyor ({0} / {1}): {2}", + "Creating Indexes {0}": "Dizinler oluşturuluyor {0}", + "Evaluating": "Değerlendiriliyor", + "Evaluating ({0} of {1})": "Değerlendiriliyor ({0} / {1})", + "Evaluating ({0} of {1}): {2}": "Değerlendiriliyor ({0} / {1}): {2}", + "Evaluating {0}": "{0} Değerlendiriliyor", + "Indexing files": "Dosyaların dizini oluşturuluyor", + "Indexing files ({0} of {1})": "Dosyaların dizini oluşturuluyor ({0} / {1})", + "Indexing files ({0} of {1}): {2}": "Dosyaların dizini oluşturuluyor ({0} / {1}): {2}", + "Indexing files {0}": "Dosyaların dizini oluşturuluyor {0}", + "Allow the server to start even if the specified --lsp-config file does not exist.": "Belirtilen --lsp-config dosyası mevcut olmasa bile sunucunun başlamasına izin verin.", + "Initialization failed during engine setup.": "Altyapı kurulumu sırasında başlatma başarısız oldu.", + "Important:": "Önemli:", + "Unknown OS platform": "Bilinmeyen işletim sistemi platformu", + "Could not get ProductVersion from SystemVersion.plist": "SystemVersion.plist öğesinden ProductVersion alınamadı", + "Failed to find SystemVersion.plist in {0}.": "{0} içinde SystemVersion.plist bulunamadı.", + "Refresh process list": "İşlem listesini yenile", + "Attach to process": "İşleme ekle", + "Select the process to attach to": "Eklenilecek işlemi seçin", + "Process not selected.": "İşlem seçilmedi.", + "{0} in debug configuration requires {1} and {2}": "Hata ayıklama yapılandırmasındaki {0}, {1} ve {2} gerektirir", + "Chosen debug configuration does not contain {0} or {1}": "Seçilen hata ayıklama yapılandırması {0} veya {1} içermiyor", + "Pipe transport failed to get OS and processes.": "Kanal aktarımı, işletim sistemini ve işlemleri alamadı.", + "Transport attach could not obtain processes list.": "Aktarım ekleme, işlemler listesini alamadı.", + "Failed to make GDB connection: \"{0}\".": "GDB bağlantısı yapılamadı: \"{0}\".", + "Failed to parse processes: \"{0}\".": "İşlemler ayrıştırılamadı: \"{0}\".", + "Default Configuration": "Varsayılan Yapılandırma", + "Select a configuration": "Yapılandırma seçin", + "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.": "'{0}' türündeki hata ayıklayıcısı yalnızca Windows'da kullanılabilir. Geçerli işletim sistemi platformunda '{1}' türünü kullanın.", + "The key '{0}' is deprecated. Please use '{1}' instead.": "{0}' anahtarı kullanım dışı. Lütfen bunun yerine '{1}' kullanın.", + "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools.": "lldb-mi için 'LLDB.framework' bulunamıyor. Lütfen XCode'u veya XCode Komut Satırı Araçları'nı yükleyin.", + "Launch configuration:": "Yapılandırmayı başlat:", + "'deploySteps' require VS Code 1.69+.": "'deploySteps' 1.69+ VS Code gerektirir.", + "Running deploy steps...": "Dağıtım adımları çalıştırılıyor...", + "Unable to find {0}. {1} task is ignored.": "{0} bulunamıyor. {1} görev yok sayıldı.", + "preLaunchTask: {0}": "preLaunchTask: {0}", + "Unable to find the {0} debugger. The debug configuration for {1} is ignored.": "{0} Hata ayıklayıcı bulunamadı. {1} için hata ayıklama yapılandırması yok sayıldı.", + "build and debug active file": "etkin dosyayı derle ve dosyada hata ayıkla", + "Apply Developer Environment": "Geliştirici Ortamını Uygula", + "{0} requires the Visual Studio developer environment./{0} is a command option in a menu.": "{0}, Visual Studio geliştirici ortamını gerektirir.", + "{0} requires the Visual Studio developer environment to be updated./{0} is a command option in a menu.": "Geliştirici Ortamını Güncelleştir", + "Cancel": "İptal", + "The source code could not be built because the Visual Studio developer environment was not applied.": "Visual Studio geliştirici ortamı uygulanmadığı için kaynak kodu oluşturulamadı.", + "The source code could not be built because the Visual C++ compiler could not be found.": "Visual C++ derleyicisi bulunamadığı için kaynak kodu derlenemedi.", + "Missing dependency '{0}' for lldb-mi executable.": "lldb-mi yürütülebilir dosyası için '{0}' bağımlılığı eksik.", + "Searched in:": "Şurada arandı:", + "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.": "Bu sorunu çözmek için, Apple App Store üzerinden XCode'u yükleyin ya da bir Terminal penceresinde '{0}' çalıştırarak XCode Komut Satırı Araçları'nı yükleyin.", + "Failed to use {0}. Reason: {1}": "{0} kullanılamadı. Neden: {1}", + "Replacing {0} '{1}' with '{2}'.": "'{1}' adlı {0}, '{2}' ile değiştiriliyor.", + "Resolving variables in {0}...": "{0} değişkenleri çözümleniyor...", + "Open {0}": "{0} öğesini aç", + "Recently Used Task": "Son Kullanılan Görev", + "Configured Task": "Yapılandırılan Görev", + "Detected Task": "Algılanan Görev", + "Cannot build and debug because the active file is not a C or C++ source file.": "Etkin dosya bir C ya da C++ kaynak dosyası olmadığından derleme veya hata ayıklama yapılamıyor.", + "No compiler found": "Derleyici bulunamadı", + "Select a debug configuration": "Bir hata ayıklama yapılandırması seçin", + "\"args\" in command deploy step must be an array.": "Komut dağıtım adımındaki \"args\" bir dizi olmalıdır.", + "\"host\", \"files\", and \"targetDir\" are required in {0} steps.": "{0} adımlarında \"host\", \"files\" ve \"targetDir\" gereklidir.", + "\"files\" must be a string or an array of strings in {0} steps.": "\"files\" bir dize veya {0} adımlarında bir dize dizisi olmalıdır.", + "\"host\" and \"command\" are required for ssh steps.": "SSH adımları için \"host\" ve \"command\" gereklidir.", + "\"command\" is required for shell steps.": "Kabuk adımları için \"command\" gereklidir.", + "Deploy step type {0} is not supported.": "Adım türü {0} dağıtımı desteklenmiyor.", + "Unexpected OS type": "Beklenmeyen işletim sistemi türü", + "full path to pipe program such as {0}": "Kanal programının tam yolu, örneğin {0}", + "Enable pretty-printing for {0}": "{0} için düzgün yazdırmayı etkinleştir", + "Set Disassembly Flavor to {0}": "Ayrıştırılmış Kod Varyantını {0} olarak ayarla", + "enter program name, for example {0}": "Program adını girin, örneğin: {0}", + "Launch": "Başlat", + "Launch with {0}.": "{0} ile başlatın.", + "Attach": "Ekle", + "Attach with {0}.": "{0} ile ekleyin.", + "Pipe Launch": "Kanal Başlatma", + "Pipe Launch with {0}.": "{0} ile Kanal Başlatma.", + "Pipe Attach": "Kanal Ekleme", + "Pipe Attach with {0}.": "{0} ile Kanal Ekleme.", + "Launch with the Visual Studio C/C++ debugger.": "Visual Studio C/C++ hata ayıklayıcısı ile başlatın.", + "Attach to a process with the Visual Studio C/C++ debugger.": "Visual Studio C/C++ hata ayıklayıcısı ile bir işleme ekleyin.", + "Bash on Windows Launch": "Windows üzerinde Bash Başlatma", + "Launch in Bash on Windows using {0}.": "{0} kullanarak Windows üzerinde Bash'te başlatın.", + "Bash on Windows Attach": "Windows üzerinde Bash Ekleme", + "Attach to a remote process running in Bash on Windows using {0}.": "{0} kullanarak Windows üzerinde Bash'te çalışan uzak bir işleme ekleyin.", + "Debugger type '{0}' is not available for non-Windows machines.": "'{0}' hata ayıklayıcısı türü, Windows dışı makinelerde kullanılamaz.", + "Run Without Debugging is only supported for launch configurations.": "Hata Ayıklama Olmadan Çalıştırma yalnızca başlatma yapılandırmaları için destekleniyor.", + "Add debug configuration is not available for single file.": "Hata ayıklama yapılandırması ekle komutu tek bir dosya için kullanılamaz.", + "Cannot modify SSH configuration file because of parse failure \"{0}\".": "Ayrıştırma hatası \"{0}\" nedeniyle SSH yapılandırma dosyası değiştirilemiyor.", + "No valid SSH configuration file found.": "Geçerli bir SSH yapılandırma dosyası bulunamadı.", + "Enter SSH Target Name": "SSH Hedef Adını Girin", + "Example: `mySSHTarget`": "Örnek: `mySSHTarget`", + "Enter SSH Connection Command": "SSH Bağlantı Komutunu Girin", + "Example: `ssh hello@microsoft.com -A`": "Örnek: `ssh hello@microsoft.com -A`", + "Select an SSH configuration file": "Bir SSH yapılandırma dosyası seçin...", + "Yes": "Evet", + "No": "Hayır", + "Are you sure you want to permanently delete \"{0}\"?": "\"{0}\" öğesini kalıcı olarak silmek istediğinizden emin misiniz?", + "Operating system \"{0}\" not supported.": "\"{0}\" işletim sistemi desteklenmiyor.", + "\"{0}\" timed out after {1} seconds.": "\"{0}\" öğesi {1} saniye sonra zaman aşımına uğradı.", + "\"{0}\" canceled.": "\"{0}\" iptal edildi.", + "\"{0}\" exited with code: \"{1}\".": "\"{0}\" öğesi \"{1}\" koduyla çıkış yaptı.", + "Failed to spawn \"{0}\".": "\"{0}\" öğesi üretilemedi.", + "Ignoring non-parsable lines in {0} {1}: ": "{0} {1} dosyasındaki ayrıştırılamayan satırlar yoksayılıyor: ", + "No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm./{Locked=\"$TERMINAL\"} {Locked=\"x-terminal-emulator\"} {Locked=\"gnome-terminal\"} {Locked=\"konsole\"} {Locked=\"xterm\"}": "Terminal emülatörü bulunamadı. Lütfen $TERMINAL ortam değişkenini tercih ettiğiniz terminal emülatörüne ayarlayın veya şunlardan birini yükleyin: x-terminal-emulator, gnome-terminal, konsole, xterm.", + "Select a compiler to configure for IntelliSense": "IntelliSense için yapılandırmak istediğiniz derleyiciyi seçin", + "How would you like to configure IntelliSense for the '{0}' folder?": "'{0}' klasörü için IntelliSense'i nasıl yapılandırmak istiyorsunuz?", + "How would you like to configure IntelliSense for this folder?": "Bu klasör için IntelliSense'i nasıl yapılandırmak istiyorsunuz?", + "Found at {0}": "{0} konumunda bulundu", + "Use {0}": "{0} kullan", + "configuration providers": "yapılandırma sağlayıcıları", + "compilers": "derleyiciler", + "Select IntelliSense Configuration...": "IntelliSense Yapılandırmasını Seç...", + "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.": "Yapılandırılmış IntelliSense’niz yok. Kendi yapılandırmalarınızı ayarlamazsanız IntelliSense çalışmayabilir.", + "Select another compiler on my machine...": "Makinem üzerinde başka bir derleyici seç...", + "Help me install a compiler": "Derleyici yüklememe yardım et", + "Install a compiler": "Derleyici yükle", + "Do not configure with a compiler (not recommended)": "Derleyiciyle yapılandırma (önerilmez)", + "EPERM: Check permissions for '{0}'": "EPERM: '{0}' için izinleri denetle", + "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}": "C/C++ dil sunucusu başlatılamıyor. IntelliSense özellikleri devre dışı bırakılacak. Hata: {0}", + "The language server crashed. Restarting...": "Dil sunucusu kilitlendi. Yeniden başlatılıyor...", + "The language server crashed 5 times in the last 3 minutes. It will not be restarted.": "Dil sunucusu son 3 dakikada 5 kez kilitlendi. Sunucu yeniden başlatılmayacak.", + "{0} has changed to: {1}/{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'": "{0} {1} olarak değiştirildi", + "Dismiss": "Kapat", + "Disable Warnings": "Uyarıları Devre Dışı Bırak", + "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.": "{0}, '{1}' için IntelliSense yapılandırma bilgilerini sağlayamıyor. Bunun yerine '{2}' yapılandırmasındaki ayarlar kullanılacak.", + "The requested configuration name is not found: {0}": "İstenen yapılandırma adı bulunamadı: {0}", + "Unsupported client": "Desteklenmeyen istemci", + "Timed out in {0}ms.": "{0} ms'de zaman aşımına uğradı.", + "Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.": "{1} C/C++ kaynak dosyası algılanan {0} dosya listelendi. Daha iyi performans için bazı dosyaları hariç tutmayı düşünebilirsiniz.", + "Learn More": "Daha Fazla Bilgi Edinin", + "Don't Show Again": "Bir Daha Gösterme", + "Update IntelliSense time (sec): {0}": "IntelliSense güncelleştirme zamanı (sn): {0}", + "Custom configurations received:": "Alınan özel yapılandırmalar:", + "Custom browse configuration received: {0}": "Özel gözatma yapılandırması alındı: {0}", + " Declaration/definition was copied.": " Bildirim/tanım kopyalandı.", + "Name the extracted function": "Ayıklanan işlevi adlandırın", + "NewFunction": "NewFunction", + "Extract to function failed: {0}": "İşleve ayıklama başarısız oldu: {0}", + "Extract to function failed. An invalid edit was generated: '{0}'": "İşleve çıkarma işlemi başarısız oldu. Geçersiz bir düzenleme oluşturuldu: '{0}'", + "Fix all code analysis problems": "Tüm kod analizi sorunlarını düzelt", + "Clear all code analysis problems": "Tüm kod analizi sorunlarını temizle", + "Fix all {0} problems": "Tüm {0} sorunlarını düzelt", + "Disable all {0} problems": "Tüm {0} sorunlarını devre dışı bırak", + "Clear all {0} problems": "Tüm {0} sorunlarını temizle", + "Clear this {0} problem": "Bu {0} sorununu temizle", + "Fix this {0} problem": "Bu {0} sorununu düzelt", + "Show documentation for {0}": "{0} için belgeleri göster", + "IntelliSense mode {0} is incompatible with compiler path.": "{0} IntelliSense modu, derleyici yolu ile uyumsuz.", + "Processed c_cpp_properties.json in {0}s": "c_cpp_properties.json dosyası {0} saniyede işlendi", + "Failed to create \"{0}\"": "\"{0}\" oluşturulamadı", + "Invalid configuration file. There must be at least one configuration present in the array.": "Yapılandırma dosyası geçersiz. Dizide mevcut en az bir yapılandırma olmalıdır.", + "Unknown version number found in c_cpp_properties.json. Some features may not work as expected.": "c_cpp_properties.json dosyasında bilinmeyen sürüm numarası bulundu. Bazı özellikler beklendiği gibi çalışmayabilir.", + "Attempt to update \"{0}\" failed (do you have write access?)": "\"{0}\" öğesini güncelleştirme girişimi başarısız oldu (yazma erişiminiz var mı?)", + "Failed to parse \"{0}\"": "\"{0}\" ayrıştırılamadı", + "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0})./{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\".": "Boşluk içeren derleyici yolu bulunamadı. Eğer bunun, derleyici bağımsız değişkenlerini içermesi amaçlandıysa, derleyici yolunu çift tırnak ({0}) ile çevreleyin.", + "Cannot find: {0}": "{0} bulunamıyor", + "Path is not a file: {0}": "Yol bir dosya değil: {0}", + "The include path validation took {0}s to evaluate": "Dahil etme yolu doğrulama {0} saniye sürdü", + "Failed to resolve include path. Error: {0}": "Dahil etme yolunu çözemedi. Hata: {0}", + "Do not add extra quotes around paths.": "Yolların etrafına fazladan tırnak işareti eklemeyin.", + "Path is not a directory: {0}": "Yol bir dizin değil: {0}", + "{0} is a duplicate. The configuration name should be unique.": "{0} yineleniyor. Yapılandırma adı benzersiz olmalıdır.", + "Path took {0}s to evaluate": "Yolun değerlendirilmesi {0} saniye sürdü", + "Failed to resolve path {0}. Error: {1}": "Yol {0} çözülemedi. Hata: {1}", + "Multiple paths are not allowed.": "Birden fazla yola izin verilmez.", + "Multiple paths should be separate entries in an array.": "Birden çok yol bir dizideki ayrı girişler olmalıdır.", + "Paths are not directories: {0}": "Yollar dizin değil: {0}", + "Error while retrieving result. Reason: {0}": "Sonuç alınırken hata oluştu. Neden: {0}", + "build active file": "etkin dosyayı derle", + "compiler:": "derleyici:", + "Task generated by Debugger.": "Hata Ayıklayıcısı tarafından oluşturulan görev.", + "Starting build...": "Derleme başlatılıyor...", + "Build run was terminated.": "Derleme çalıştırması sonlandırıldı.", + "Build finished with error(s).": "Derleme hatalarla tamamlandı.", + "Build finished with warning(s).": "Derleme uyarılarla tamamlandı.", + "Build finished successfully.": "Derleme başarıyla tamamlandı.", + "No context provided": "Bağlam sağlanmadı", + "The \"Set Visual Studio Developer Environment\" command is only available on Windows": "“Visual Studio Geliştirici Ortamını Ayarla” komutu yalnızca Windows'ta kullanılabilir", + "A Visual Studio installation with the C++ compiler was not found": "C++ derleyicisi ile Visual Studio kurulumu bulunamadı", + "The operation was cancelled": "Operasyon iptal edildi", + "No hosts found": "Bulunan ana bilgisayar yok", + "Configuring developer environment...": "Geliştirici ortamı yapılandırılıyor...", + "Select a Visual Studio installation": "Bir Visual Studio yüklemesi seçin", + "Advanced options...": "Gelişmiş seçenekler...", + "Select a specific host and target architecture, toolset version, etc.": "Belirli bir ana bilgisayar ve hedef mimari, araç seti sürümü vb. seçin.", + "Select a toolset version": "Bir araç seti sürümü seçin", + "Select a host and target architecture": "Bir ana bilgisayar ve hedef mimari seçin", + "Something went wrong: {0}": "Bir sorun oluştu: {0}", + "{0} developer environment for {1}": "{1} için {0} geliştirici ortamı", + "Default environment for {0}": "{0} için varsayılan ortam", + "host = {0}, target = {1}": "konak = {0}, hedef = {1}", + "Learn how to install a library for this header with vcpkg": "vcpkg ile bu üst bilgi için bir kitaplık yüklemeyi öğrenin", + "Copy vcpkg command to install '{0}' to the clipboard": "'{0}' yükleme vcpkg komutunu panoya kopyalayın", + "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`./Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.": "`C_Cpp.intelliSenseEngine` `disabled` olarak ayarlandığında IntelliSense ile ilgili komutlar yürütülemez.", + "client not found": "istemci bulunamadı", + "OK": "Tamam", + "The clang compiler will now be installed": "Clang derleyicisi şimdi kurulacak", + "You may be prompted to type your password in the VS Code terminal window to authorize the installation.": "Kurulumu yetkilendirmek için VS Code terminal penceresine şifrenizi yazmanız istenebilir.", + "The gcc compiler will now be installed": "Gcc derleyicisi şimdi kurulacak", + "Open a folder first to select a configuration.": "Yapılandırma seçmek için önce bir klasör açın.", + "Open a folder first to select a configuration provider.": "Yapılandırma sağlayıcısı seçmek için önce bir klasör açın.", + "Open a folder first to edit configurations": "Yapılandırmaları düzenlemek için önce bir klasör açın", + "The code analysis fix could not be applied because the document has changed.": "Belge değiştiğinden kod analizi düzeltmesi uygulanamadı.", + "A pre-release version of the C/C++ extension is available. Would you like to switch to it?": "C/C++ uzantısının yayın öncesi bir sürümü var. Buna geçmek ister misiniz?", + "Copilot summary is not available.": "Copilot özeti kullanılamıyor.", + "The file containing this symbol's definition or declaration has been excluded from use with Copilot.": "Bu simgenin tanımını veya bildirimini içeren dosya Copilot ile kullanımdan dışlandı.", + "Copilot summary is not available for this symbol.": "Copilot özeti bu sembol için kullanılamıyor.", + "An error occurred while generating Copilot summary.": "Copilot özeti oluşturulurken bir hata oluştu.", + "Duplicate multiline comment patterns detected.": "Yinelenen çok satırlı açıklama desenleri algılandı.", + "Error while retrieving the project context. Reason: {0}": "Proje bağlamı alınırken hata oluştu. Neden: {0}", + "Error while retrieving the #cpp context.": "İçerik bağlamı alınırken #cpp oluştu.", + "{0}, {1}/{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\").": "{0}, {1}", + "Find All References": "Tüm Başvuruları Bul", + "Peek References": "Başvurulara Göz Atın", + "Rename": "Yeniden Adlandır", + "Call Hierarchy": "Çağrı Hiyerarşisi", + "CONFIRMED REFERENCE": "BAŞVURU ONAYLANDI", + "CONFIRMATION IN PROGRESS": "Onay işlemi devam ediyor", + "COMMENT REFERENCE": "AÇIKLAMA BAŞVURUSU", + "STRING REFERENCE": "Dize başvurusu", + "INACTIVE REFERENCE": "Etkin olmayan başvuru", + "CANNOT CONFIRM REFERENCE": "Başvuru onaylanamıyor", + "NOT A REFERENCE": "Başvuru değil", + "Confirmed reference": "Onaylanan başvuru", + "Confirmation in progress": "Onay işlemi devam ediyor", + "Comment reference": "Açıklama başvurusu", + "String reference": "Dize başvurusu", + "Inactive reference": "Etkin olmayan başvuru", + "Cannot confirm reference": "Başvuru onaylanamıyor", + "Not a reference": "Başvuru değil", + "CONFIRMATION CANCELED": "Onay işlemi iptal edildi", + "Confirmation canceled": "Onay işlemi iptal edildi", + "To preview results, click the search icon in the status bar.": "Sonuçların önizlemesini görüntülemek için durum çubuğundaki arama simgesine tıklayın.", + "Started.": "Başlatıldı.", + "Processing source.": "Kaynak işleniyor.", + "Searching files.": "Dosyalar aranıyor.", + "{0}/{1} files searched.{2}": "{1} dosya içinden {0} dosya arandı.{2}", + "{0}/{1} files confirmed.{2}": "{1} dosya içinden {0} dosya onaylandı.{2}", + "C/C++ Peek References": "C/C++ Peek Başvuruları", + "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.": "[Uyarı] {0} başlatıldığında çalışma alanı ayrıştırma işlemi tamamlanmadığından bazı başvurular eksik olabilir.", + "Go to reference": "Başvuruya git", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting./Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text.": "Kod biçimlendirme, .clang-format yerine .editorconfig'den gelen ayarları kullanıyor. Daha fazla bilgi için, 'C_Cpp.formatting' ayarının 'default' değerine ilişkin belgelere bakın.", + "C/C++ Configurations": "C/C++ Yapılandırmaları", + "IntelliSense: Updating": "IntelliSense: Güncelleştiriliyor", + "IntelliSense: Ready": "IntelliSense: Hazır", + "Initializing Workspace": "Çalışma Alanı Başlatılıyor", + "Indexing Workspace": "Çalışma Alanı Dizine Ekleniyor", + "Parsing Workspace": "Çalışma Alanı Ayrıştırılıyor", + "Parsing Workspace: Paused": "Çalışma Alanı Ayrıştırılıyor: Duraklatıldı", + "Parsing Complete": "Ayrıştırma Tamamlandı", + "Rescan Workspace": "Çalışma Alanını Yeniden Tara", + "Parsing Open Files": "Açık Dosyalar Ayrıştırılıyor", + "Code Analysis: Running": "Kod Analizi: Çalışıyor", + "Code Analysis: Paused": "Kod Analizi: Duraklatıldı", + "Code Analysis Mode: ": "Kod Analizi Modu: ", + "click to preview results": "sonuçların önizlemesini görüntülemek için tıklayın", + "Configure IntelliSense": "IntelliSense'i Yapılandır", + "C/C++ IntelliSense Status": "C/C++ IntelliSense Durumu", + "Rescan": "Yeniden tara", + "Rescan IntelliSense": "Rescan IntelliSense", + "C/C++ Tag Parser Status": "C/C++ Etiket Ayrıştırıcısı Durumu", + "Initializing...": "Başlatılıyor...", + "Resume": "Sürdür", + "Pause": "Duraklat", + "C/C++ Code Analysis Status": "C/C++ Kod Analizi Durumu", + "Run Now": "Şimdi Çalıştır", + "Automatic": "Otomatik", + "Manual": "El ile", + "Options": "Seçenekler", + "Starting...": "Başlatılıyor...", + "Running: {0} / {1} ({2}%)": "Çalışıyor: {0}/{1} (%{2})", + "Select a code analysis command...": "Kod analizi komutu seçin...", + "Start Another...": "Başkasını Başlat...", + "Select a command...": "Komut seç...", + "Run Code Analysis on Active File": "Aktif Dosyada Kod Analizini Çalıştır", + "Run Code Analysis on All Files": "Tüm Dosyalarda Kod Analizini Çalıştır", + "Run Code Analysis on Open Files": "Açık Dosyalarda Kod Analizini Çalıştır", + "C/C++ References Status": "C/C++ Başvuruları Durumu", + "C/C++ Configuration": "C/C++ Yapılandırması", + "C/C++ Configure IntelliSense": "C/C++ IntelliSense'i Yapılandır", + "Select a Configuration...": "Yapılandırma Seçin...", + "Edit Configurations (UI)": "Yapılandırmaları Düzenle (UI)", + "Edit Configurations (JSON)": "Yapılandırmaları Düzenle (JSON)", + "Select a Configuration Provider...": "Yapılandırma Sağlayıcısı Seçin...", + "active": "etkin", + "none": "yok", + "Disable the active configuration provider, if applicable.": "Varsa etkin yapılandırma sağlayıcısını devre dışı bırakın.", + "Select a workspace folder...": "Çalışma alanı klasörü seçin...", + "Failed to connect to {0}": "{0} ile bağlantı kurulamadı", + "\"localSocket\" cannot be specified at the same time with \"bindAddress\" or \"port\" in localForwards": "localForwards içinde \"bindAddress\" veya \"port\" ile aynı anda \"localSocket\" belirtilemez", + "\"port\" or \"localSocket\" required in localForwards": "localForwards içinde \"port\" veya \"localSocket\" gereklidir", + "\"remoteSocket\" cannot be specified at the same time with \"host\" or \"hostPort\" in localForwards": "localForwards içinde \"host\" veya \"hostPort\" ile aynı anda \"remoteSocket\" belirtilemez", + "\"host\" and \"hostPort\", or \"remoteSocket\" required in localForwards": "localForwards içinde \"host\" ve \"hostPort\" veya \"remoteSocket\" gereklidir", + "SSH command canceled": "SSH komutu iptal edildi", + "Enter passphrase for ssh key {0}": "SSH anahtarı {0} için parolayı girin", + "Enter password for user \"{0}\"": "\"{0}\" adlı kullanıcı için parola girin", + "Enter password": "Parolayı girin", + "Are you sure you want to continue?": "Devam etmek istediğinizden emin misiniz?", + "\"{0}\" has fingerprint \"{1}\".": "\"{0}\", \"{1}\" parmak izine sahip.", + "Continue": "Devam et", + "\"{0}\" terminal command canceled.": "\"{0}\" terminal komutu iptal edildi.", + "\"{0}\" terminal command done.": "\"{0}\" terminal komutu tamamlandı.", + "Task '{0}' is canceled, but the underlying command may not be terminated. Please check manually.": "Görev '{0}' iptal edildi, ancak temel alınan komut sonlandırılmamış olabilir. Lütfen el ile kontrol edin.", + "\"{0}\" process failed: {1}": "\"{0}\" işlemi başarısız oldu: {1}", + "\"{0}\" wrote data to terminal: \"{1}\".": "\"{0}\", şu terminale veri yazdı: \"{1}\".", + "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.": "SSH için kullanıcı bilgileri bulunamadı. Bunun nedeni VS Kodunun 'snap' kullanılarak kurulması olabilir. SSH özelliklerini kullanmayı planlıyorsanız lütfen 'deb' paketini kullanarak VS Code'u yeniden yükleyin.", + "Failed to parse SSH configuration file {0}: {1}": "SSH yapılandırma dosyası {0} ayrıştırılamadı : {1}", + "Failed to read file {0}.": "{0} dosyası okunamadı.", + "Failed to write to file {0}.": "{0} dosyasına yazılamadı.", + "Inline macro is not available at this location.": "Satır içi makro bu konumda kullanılamıyor.", + "AI-generated content may be incorrect.": "Yapay zeka tarafından oluşturulan içerik yanlış olabilir.", + "Invalid identifier provided for the Rename Symbol operation.": "Sembolü Yeniden Adlandır işlemi için geçersiz tanımlayıcı sağlandı.", + "A definition for the selected symbol could not be located.": "Seçili sembolün tanımı bulunamadı.", + "No SSH targets": "SSH hedefleri yok", + "Active SSH target selection cancelled.": "Etkin SSH hedef seçimi iptal edildi.", + "{0} Add New SSH Target...": "{0} Yeni SSH Hedefi Ekleyin...", + "Select an SSH target": "Bir SSH hedefi seçin", + "[Active]": "[Etkin]" +} diff --git a/Extension/package.json b/Extension/package.json index cca7c7cc5..7be23cb75 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -63,6 +63,7 @@ "onFileSystem:cpptools-schema" ], "main": "./dist/src/main", + "l10n": "./l10n", "type": "commonjs", "contributes": { "languages": [ @@ -6849,7 +6850,7 @@ "watch": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build tsconfig.json --watch", "rebuild": "yarn install && yarn clean && yarn prep && yarn build", "vsix-prepublish": "npm run bootstrap && yarn clean && yarn webpack", - "webpack": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build ui.tsconfig.json && webpack --mode production --env vscode_nls", + "webpack": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build ui.tsconfig.json && webpack --mode production", "generate-native-strings": "ts-node -T ./.scripts/generateNativeStrings.ts", "generate-options-schema": "ts-node -T ./.scripts/generateOptionsSchema.ts", "copy-walkthrough-media": "ts-node -T ./.scripts/copyWalkthruMedia.ts", @@ -6880,6 +6881,7 @@ "@vscode/debugadapter": "^1.65.0", "@vscode/debugprotocol": "^1.65.0", "@vscode/dts": "^0.4.0", + "@vscode/l10n-dev": "^0.0.35", "@vscode/test-electron": "^2.3.10", "@vscode/vsce": "^3.9.1", "async-child-process": "^1.1.1", @@ -6904,7 +6906,6 @@ "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^5.4.5", - "vscode-nls-dev": "^4.0.4", "webpack": "^5.105.1", "webpack-cli": "^5.1.4", "xml2js": "^0.6.2" @@ -6931,7 +6932,6 @@ "tmp": "^0.2.7", "vscode-cpptools": "^7.1.1", "vscode-languageclient": "^9.0.1", - "vscode-nls": "^5.2.0", "vscode-tas-client": "^0.1.84", "which": "^2.0.2" }, diff --git a/Extension/src/Debugger/ParsedEnvironmentFile.ts b/Extension/src/Debugger/ParsedEnvironmentFile.ts index 9018a540b..9de627344 100644 --- a/Extension/src/Debugger/ParsedEnvironmentFile.ts +++ b/Extension/src/Debugger/ParsedEnvironmentFile.ts @@ -3,11 +3,9 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ +import * as vscode from 'vscode'; import * as fs from 'fs'; -import * as nls from 'vscode-nls'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export interface Environment { name: string; @@ -72,7 +70,7 @@ export class ParsedEnvironmentFile { // show error message if single lines cannot get parsed let warning: string | undefined; if (parseErrors.length !== 0) { - warning = localize("ignoring.lines.in.envfile", "Ignoring non-parsable lines in {0} {1}: ", "envFile", envFile); + warning = l10n.t("Ignoring non-parsable lines in {0} {1}: ", "envFile", envFile); parseErrors.forEach(function (value, idx, array): void { warning += "\"" + value + "\"" + ((idx !== array.length - 1) ? ", " : "."); }); diff --git a/Extension/src/Debugger/attachQuickPick.ts b/Extension/src/Debugger/attachQuickPick.ts index f76d931e6..40f1fb81a 100644 --- a/Extension/src/Debugger/attachQuickPick.ts +++ b/Extension/src/Debugger/attachQuickPick.ts @@ -4,11 +4,8 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import * as util from '../common'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; class RefreshButton implements vscode.QuickInputButton { get iconPath(): { dark: vscode.Uri; light: vscode.Uri } { @@ -22,7 +19,7 @@ class RefreshButton implements vscode.QuickInputButton { } get tooltip(): string { - return localize("refresh.process.list.tooltip", "Refresh process list"); + return l10n.t("Refresh process list"); } } @@ -35,11 +32,11 @@ export async function showQuickPick(getAttachItems: () => Promise) const processEntries: AttachItem[] = await getAttachItems(); return new Promise((resolve, reject) => { const quickPick: vscode.QuickPick = vscode.window.createQuickPick(); - quickPick.title = localize("attach.to.process", "Attach to process"); + quickPick.title = l10n.t("Attach to process"); quickPick.canSelectMany = false; quickPick.matchOnDescription = true; quickPick.matchOnDetail = true; - quickPick.placeholder = localize("select.process.attach", "Select the process to attach to"); + quickPick.placeholder = l10n.t("Select the process to attach to"); quickPick.buttons = [new RefreshButton()]; quickPick.items = processEntries; const disposables: vscode.Disposable[] = []; @@ -48,7 +45,7 @@ export async function showQuickPick(getAttachItems: () => Promise) quickPick.onDidAccept(() => { if (quickPick.selectedItems.length !== 1) { - reject(new Error(localize("process.not.selected", "Process not selected."))); + reject(new Error(l10n.t("Process not selected."))); } const selectedId: string | undefined = quickPick.selectedItems[0].id; @@ -63,7 +60,7 @@ export async function showQuickPick(getAttachItems: () => Promise) disposables.forEach(item => item.dispose()); quickPick.dispose(); - reject(new Error(localize("process.not.selected", "Process not selected."))); + reject(new Error(l10n.t("Process not selected."))); }, undefined, disposables); quickPick.show(); diff --git a/Extension/src/Debugger/attachToProcess.ts b/Extension/src/Debugger/attachToProcess.ts index 169c99218..baaec0e79 100644 --- a/Extension/src/Debugger/attachToProcess.ts +++ b/Extension/src/Debugger/attachToProcess.ts @@ -10,12 +10,9 @@ import { PsProcessParser } from './nativeAttach'; import * as os from 'os'; import * as path from 'path'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import * as util from '../common'; import * as debugUtils from './utils'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export interface AttachItemsProvider { getAttachItems(token?: vscode.CancellationToken): Promise; @@ -87,24 +84,24 @@ export class RemoteAttachPicker { processes = await this.getRemoteOSAndProcesses(pipeCmd, quoteArgs); } else if (!pipeTransport && useExtendedRemote) { if (!miDebuggerPath || !miDebuggerServerAddress) { - throw new Error(localize("debugger.path.and.server.address.required", "{0} in debug configuration requires {1} and {2}", "useExtendedRemote", "miDebuggerPath", "miDebuggerServerAddress")); + throw new Error(l10n.t("{0} in debug configuration requires {1} and {2}", "useExtendedRemote", "miDebuggerPath", "miDebuggerServerAddress")); } processes = await this.getRemoteProcessesExtendedRemote(miDebuggerPath, miDebuggerServerAddress); } else { - throw new Error(localize("no.pipetransport.useextendedremote", "Chosen debug configuration does not contain {0} or {1}", "pipeTransport", "useExtendedRemote")); + throw new Error(l10n.t("Chosen debug configuration does not contain {0} or {1}", "pipeTransport", "useExtendedRemote")); } const attachPickOptions: vscode.QuickPickOptions = { matchOnDetail: true, matchOnDescription: true, - placeHolder: localize("select.process.attach", "Select the process to attach to") + placeHolder: l10n.t("Select the process to attach to") }; const item: AttachItem | undefined = await vscode.window.showQuickPick(processes, attachPickOptions); if (item) { return item.id; } else { - throw new Error(localize("process.not.selected", "Process not selected.")); + throw new Error(l10n.t("Process not selected.")); } } @@ -156,7 +153,7 @@ export class RemoteAttachPicker { // Processes will follow if listed const lines: string[] = output.split(/\r?\n/); if (lines.length === 0) { - throw new Error(localize("pipe.failed", "Pipe transport failed to get OS and processes.")); + throw new Error(l10n.t("Pipe transport failed to get OS and processes.")); } else { const remoteOS: string = lines[0].replace(/[\r\n]+/g, ''); @@ -166,7 +163,7 @@ export class RemoteAttachPicker { // Only got OS from uname if (lines.length === 1) { - throw new Error(localize("no.process.list", "Transport attach could not obtain processes list.")); + throw new Error(l10n.t("Transport attach could not obtain processes list.")); } else { const processes: string[] = lines.slice(1); return PsProcessParser.ParseProcessFromPsArray(processes) @@ -201,16 +198,16 @@ export class RemoteAttachPicker { } if (!processListOutput.succeeded) { - throw new Error(localize('failed.to.make.gdb.connection', 'Failed to make GDB connection: "{0}".', processListOutput.output)); + throw new Error(l10n.t('Failed to make GDB connection: "{0}".', processListOutput.output)); } if (processListOutput.outputError.length !== 0) { - throw new Error(localize('failed.to.make.gdb.connection', 'Failed to make GDB connection: "{0}".', processListOutput.outputError)); + throw new Error(l10n.t('Failed to make GDB connection: "{0}".', processListOutput.outputError)); } const processes: AttachItem[] = this.parseProcessesFromInfoOsProcesses(processListOutput.output); if (!processes || processes.length === 0) { - throw new Error(localize('failed.to.parse.processes', 'Failed to parse processes: "{0}".', processListOutput.output)); + throw new Error(l10n.t('Failed to parse processes: "{0}".', processListOutput.output)); } return processes; } diff --git a/Extension/src/Debugger/configurationProvider.ts b/Extension/src/Debugger/configurationProvider.ts index 5bc427759..8bbb7aea6 100644 --- a/Extension/src/Debugger/configurationProvider.ts +++ b/Extension/src/Debugger/configurationProvider.ts @@ -9,7 +9,6 @@ import * as os from 'os'; import * as path from 'path'; import { promisify } from 'util'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import * as util from '../common'; import { isWindows } from '../constants'; import { expandAllStrings, ExpansionOptions, ExpansionVars } from '../expand'; @@ -27,9 +26,7 @@ import { ConfigMenu, ConfigMode, ConfigSource, CppDebugConfiguration, DebuggerEv import { NativeAttachItemsProviderFactory } from './nativeAttach'; import { Environment, ParsedEnvironmentFile } from './ParsedEnvironmentFile'; import * as debugUtils from './utils'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; enum StepType { scp = 'scp', @@ -113,12 +110,12 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv const menuItem: ConfigMenu = { label: config.name, configuration: quickPickConfig, description: config.detail, detail: config.taskStatus }; // Rename the menu item for the default configuration as its name is non-descriptive. if (isDebugLaunchStr(menuItem.label)) { - menuItem.label = localize("default.configuration.menuitem", "Default Configuration"); + menuItem.label = l10n.t("Default Configuration"); } return menuItem; }); - const selection: ConfigMenu | undefined = await vscode.window.showQuickPick(this.localizeConfigDetail(items), { placeHolder: localize("select.configuration", "Select a configuration") }); + const selection: ConfigMenu | undefined = await vscode.window.showQuickPick(this.localizeConfigDetail(items), { placeHolder: l10n.t("Select a configuration") }); if (!selection) { Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": "debug", "configSource": ConfigSource.unknown, "configMode": ConfigMode.unknown, "cancelled": "true", "succeeded": "true" }); return []; // User canceled it. @@ -242,13 +239,13 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (config.type === DebuggerType.cppvsdbg) { // Fail if cppvsdbg type is running on non-Windows if (os.platform() !== 'win32') { - void logger.getOutputChannelLogger().showWarningMessage(localize("debugger.not.available", "Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.", "cppvsdbg", "cppdbg")); + void logger.getOutputChannelLogger().showWarningMessage(l10n.t("Debugger of type: '{0}' is only available on Windows. Use type: '{1}' on the current OS platform.", "cppvsdbg", "cppdbg")); return undefined; // Abort debugging silently. } // Handle legacy 'externalConsole' bool and convert to console: "externalTerminal" if (config.hasOwnProperty("externalConsole")) { - void logger.getOutputChannelLogger().showWarningMessage(localize("debugger.deprecated.config", "The key '{0}' is deprecated. Please use '{1}' instead.", "externalConsole", "console")); + void logger.getOutputChannelLogger().showWarningMessage(l10n.t("The key '{0}' is deprecated. Please use '{1}' instead.", "externalConsole", "console")); if (config.externalConsole && !config.console) { config.console = "externalTerminal"; } @@ -311,8 +308,8 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv const frameworkPath: string | undefined = this.getLLDBFrameworkPath(); if (!frameworkPath) { - const moreInfoButton: string = localize("lldb.framework.install.xcode", "More Info"); - const LLDBFrameworkMissingMessage: string = localize("lldb.framework.not.found", "Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools."); + const moreInfoButton: string = l10n.t("More Info"); + const LLDBFrameworkMissingMessage: string = l10n.t("Unable to locate 'LLDB.framework' for lldb-mi. Please install XCode or XCode Command Line Tools."); void vscode.window.showErrorMessage(LLDBFrameworkMissingMessage, moreInfoButton) .then(value => { @@ -328,7 +325,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (config.logging?.engineLogging) { const outputChannel: logger.Logger = logger.getOutputChannelLogger(); - outputChannel.appendLine(localize("debugger.launchConfig", "Launch configuration:")); + outputChannel.appendLine(l10n.t("Launch configuration:")); outputChannel.appendLine(JSON.stringify(config, undefined, 2)); // TODO: Enable when https://github.com/microsoft/vscode/issues/108619 is resolved. // logger.showOutputChannel(); @@ -338,13 +335,13 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (config.deploySteps && config.deploySteps.length !== 0) { const codeVersion: number[] = util.getVsCodeVersion(); if ((util.isNumber(codeVersion[0]) && codeVersion[0] < 1) || (util.isNumber(codeVersion[0]) && codeVersion[0] === 1 && util.isNumber(codeVersion[1]) && codeVersion[1] < 69)) { - void logger.getOutputChannelLogger().showErrorMessage(localize("vs.code.1.69+.required", "'deploySteps' require VS Code 1.69+.")); + void logger.getOutputChannelLogger().showErrorMessage(l10n.t("'deploySteps' require VS Code 1.69+.")); return undefined; } const deploySucceeded: boolean = await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, - title: localize("running.deploy.steps", "Running deploy steps...") + title: l10n.t("Running deploy steps...") }, async () => this.deploySteps(config, token)); if (!deploySucceeded || token?.isCancellationRequested) { @@ -435,7 +432,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv // Non-absolute. Check on $PATH (await util.whichAsync(compilerPath) !== undefined); if (!compilerPathExists) { - logger.getOutputChannelLogger().appendLine(localize('compiler.path.not.exists', "Unable to find {0}. {1} task is ignored.", compilerPath, definition.label)); + logger.getOutputChannelLogger().appendLine(l10n.t("Unable to find {0}. {1} task is ignored.", compilerPath, definition.label)); } const compilerName: string = path.basename(compilerPath); const newConfig: CppDebugConfiguration = { ...defaultTemplateConfig }; // Copy enumerables and properties @@ -453,7 +450,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv newConfig.program = definedExePath ? definedExePath : util.defaultExePath(); // Add the "detail" property to show the compiler path in QuickPickItem. // This property will be removed before writing the DebugConfiguration in launch.json. - newConfig.detail = localize("pre.Launch.Task", "preLaunchTask: {0}", task.name); + newConfig.detail = l10n.t("preLaunchTask: {0}", task.name); newConfig.taskDetail = task.detail; newConfig.taskStatus = task.existing ? (task.name === DebugConfigurationProvider.recentBuildTaskLabelStr) ? TaskStatus.recentlyUsed : TaskStatus.configured : @@ -507,7 +504,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (!isWindows && await util.checkFileExists(usrDebuggerPath)) { newConfig.miDebuggerPath = usrDebuggerPath; } else { - logger.getOutputChannelLogger().appendLine(localize('debugger.path.not.exists', "Unable to find the {0} debugger. The debug configuration for {1} is ignored.", `\"${debuggerName}\"`, compilerName)); + logger.getOutputChannelLogger().appendLine(l10n.t("Unable to find the {0} debugger. The debug configuration for {1} is ignored.", `\"${debuggerName}\"`, compilerName)); return undefined; } } @@ -518,7 +515,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv configs.push(defaultTemplateConfig); const existingConfigs: CppDebugConfiguration[] | undefined = this.getLaunchConfigs(folder, type)?.map(config => { if (!config.detail && config.preLaunchTask) { - config.detail = localize("pre.Launch.Task", "preLaunchTask: {0}", config.preLaunchTask); + config.detail = l10n.t("preLaunchTask: {0}", config.preLaunchTask); } config.existing = true; return config; @@ -589,7 +586,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } private buildAndDebugActiveFileStr(): string { - return `${localize("build.and.debug.active.file", 'build and debug active file')}`; + return `${l10n.t('build and debug active file')}`; } private isClConfiguration(configurationLabel?: string): boolean { @@ -609,21 +606,11 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv // The user has an environment but cl.exe cannot be found. Prompt the user to update the environment. } - const applyButton = localize("apply.dev.env", "Apply Developer Environment"); - const applyMessage = localize( - { - key: "cl.exe.not.available", - comment: ["{0} is a command option in a menu."] - }, - "{0} requires the Visual Studio developer environment.", `cl.exe ${this.buildAndDebugActiveFileStr()}`); - const updateButton = localize("update.dev.env", "Update Developer Environment"); - const updateMessage = localize( - { - key: "update.dev.env", - comment: ["{0} is a command option in a menu."] - }, - "{0} requires the Visual Studio developer environment to be updated.", `cl.exe ${this.buildAndDebugActiveFileStr()}`); - const cancel = localize("cancel", "Cancel"); + const applyButton = l10n.t("Apply Developer Environment"); + const applyMessage = l10n.t({ message: "{0} requires the Visual Studio developer environment.", args: [`cl.exe ${this.buildAndDebugActiveFileStr()}`], comment: ["{0} is a command option in a menu."] }); + const updateButton = l10n.t("Update Developer Environment"); + const updateMessage = l10n.t({ message: "{0} requires the Visual Studio developer environment to be updated.", args: [`cl.exe ${this.buildAndDebugActiveFileStr()}`], comment: ["{0} is a command option in a menu."] }); + const cancel = l10n.t("Cancel"); const response = await vscode.window.showErrorMessage( hasEnvironment ? updateMessage : applyMessage, hasEnvironment ? updateButton : applyButton, @@ -643,8 +630,8 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (util.hasMsvcEnvironment() && await canFindCl()) { return false; } - const notAppliedMessage = localize("dev.env.not.applied", "The source code could not be built because the Visual Studio developer environment was not applied."); - const notFoundMessage = localize("dev.env.not.found", "The source code could not be built because the Visual C++ compiler could not be found."); + const notAppliedMessage = l10n.t("The source code could not be built because the Visual Studio developer environment was not applied."); + const notFoundMessage = l10n.t("The source code could not be built because the Visual C++ compiler could not be found."); void vscode.window.showErrorMessage(hasEnvironment ? notFoundMessage : notAppliedMessage); return true; } @@ -666,13 +653,13 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv const outputChannel: logger.Logger = logger.getOutputChannelLogger(); - outputChannel.appendLine(localize("lldb.find.failed", "Missing dependency '{0}' for lldb-mi executable.", LLDBFramework)); - outputChannel.appendLine(localize("lldb.search.paths", "Searched in:")); + outputChannel.appendLine(l10n.t("Missing dependency '{0}' for lldb-mi executable.", LLDBFramework)); + outputChannel.appendLine(l10n.t("Searched in:")); searchPaths.forEach(searchPath => { outputChannel.appendLine(`\t${searchPath}`); }); const xcodeCLIInstallCmd: string = "xcode-select --install"; - outputChannel.appendLine(localize("lldb.install.help", "To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.", xcodeCLIInstallCmd)); + outputChannel.appendLine(l10n.t("To resolve this issue, either install XCode through the Apple App Store or install the XCode Command Line Tools by running '{0}' in a Terminal window.", xcodeCLIInstallCmd)); logger.showOutputChannel(); return undefined; @@ -701,7 +688,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv delete config.envFile; } catch (errJS) { const e: Error = errJS as Error; - throw new Error(localize("envfile.failed", "Failed to use {0}. Reason: {1}", "envFile", e.message)); + throw new Error(l10n.t("Failed to use {0}. Reason: {1}", "envFile", e.message)); } } } @@ -719,7 +706,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv // TODO: pass config.environment as 'additionalEnvironment' to resolveVariables when it is { key: value } instead of { "key": key, "value": value } const newSourceFileMapSource: string = util.resolveVariables(sourceFileMapSource, undefined); if (sourceFileMapSource !== newSourceFileMapSource) { - message = "\t" + localize("replacing.sourcepath", "Replacing {0} '{1}' with '{2}'.", "sourcePath", sourceFileMapSource, newSourceFileMapSource); + message = "\t" + l10n.t("Replacing {0} '{1}' with '{2}'.", "sourcePath", sourceFileMapSource, newSourceFileMapSource); delete config.sourceFileMap[sourceFileMapSource]; source = newSourceFileMapSource; } @@ -729,7 +716,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (sourceFileMapTarget !== newSourceFileMapTarget) { // Add a space if source was changed, else just tab the target message. message += message ? ' ' : '\t'; - message += localize("replacing.targetpath", "Replacing {0} '{1}' with '{2}'.", "targetPath", sourceFileMapTarget, newSourceFileMapTarget); + message += l10n.t("Replacing {0} '{1}' with '{2}'.", "targetPath", sourceFileMapTarget, newSourceFileMapTarget); target = newSourceFileMapTarget; } } else if (util.isObject(sourceFileMapTarget)) { @@ -739,7 +726,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (sourceFileMapTarget !== newSourceFileMapTarget) { // Add a space if source was changed, else just tab the target message. message += message ? ' ' : '\t'; - message += localize("replacing.editorPath", "Replacing {0} '{1}' with '{2}'.", "editorPath", sourceFileMapTarget, newSourceFileMapTarget["editorPath"]); + message += l10n.t("Replacing {0} '{1}' with '{2}'.", "editorPath", sourceFileMapTarget, newSourceFileMapTarget["editorPath"]); target = newSourceFileMapTarget; } } @@ -751,7 +738,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } if (messages.length > 0) { - logger.getOutputChannel().appendLine(localize("resolving.variables.in.sourcefilemap", "Resolving variables in {0}...", "sourceFileMap")); + logger.getOutputChannel().appendLine(l10n.t("Resolving variables in {0}...", "sourceFileMap")); messages.forEach((message) => { logger.getOutputChannel().appendLine(message); }); @@ -761,7 +748,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } private static async showFileWarningAsync(message: string, fileName: string): Promise { - const openItem: vscode.MessageItem = { title: localize("open.envfile", "Open {0}", "envFile") }; + const openItem: vscode.MessageItem = { title: l10n.t("Open {0}", "envFile") }; const result: vscode.MessageItem | undefined = await vscode.window.showWarningMessage(message, openItem); if (result && result.title === openItem.title) { const doc: vscode.TextDocument = await vscode.workspace.openTextDocument(fileName); @@ -775,15 +762,15 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv items.map((item: ConfigMenu) => { switch (item.detail) { case TaskStatus.recentlyUsed: { - item.detail = localize("recently.used.task", "Recently Used Task"); + item.detail = l10n.t("Recently Used Task"); break; } case TaskStatus.configured: { - item.detail = localize("configured.task", "Configured Task"); + item.detail = l10n.t("Configured Task"); break; } case TaskStatus.detected: { - item.detail = localize("detected.task", "Detected Task"); + item.detail = l10n.t("Detected Task"); break; } default: { @@ -983,7 +970,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv private async selectConfiguration(textEditor: vscode.TextEditor, pickDefault: boolean = true, onlyWorkspaceFolder: boolean = false): Promise { const folder: vscode.WorkspaceFolder | undefined = vscode.workspace.getWorkspaceFolder(textEditor.document.uri); if (!util.isCppOrCFile(textEditor.document.uri)) { - void vscode.window.showErrorMessage(localize("cannot.build.non.cpp", 'Cannot build and debug because the active file is not a C or C++ source file.')); + void vscode.window.showErrorMessage(l10n.t('Cannot build and debug because the active file is not a C or C++ source file.')); return; } @@ -1018,7 +1005,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv sortedItems = sortedItems.concat(items.filter(item => item.detail === undefined)); selection = await vscode.window.showQuickPick(this.localizeConfigDetail(sortedItems), { - placeHolder: items.length === 0 ? localize("no.compiler.found", "No compiler found") : localize("select.debug.configuration", "Select a debug configuration") + placeHolder: items.length === 0 ? l10n.t("No compiler found") : l10n.t("Select a debug configuration") }); } if (selection && this.isClConfiguration(selection.configuration.name) && await this.showErrorIfClNotAvailable(selection.configuration.name)) { @@ -1092,7 +1079,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv case StepType.command: { // VS Code commands are the same regardless of which extension invokes them, so just invoke them here. if (step.args && !Array.isArray(step.args)) { - void logger.getOutputChannelLogger().showErrorMessage(localize('command.args.must.be.array', '"args" in command deploy step must be an array.')); + void logger.getOutputChannelLogger().showErrorMessage(l10n.t('"args" in command deploy step must be an array.')); return false; } const returnCode: unknown = await vscode.commands.executeCommand(step.command, ...step.args); @@ -1102,7 +1089,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv case StepType.rsync: { const isScp: boolean = stepType === StepType.scp; if (!step.files || !step.targetDir || !step.host) { - void logger.getOutputChannelLogger().showErrorMessage(localize('missing.properties.copyFile', '"host", "files", and "targetDir" are required in {0} steps.', isScp ? 'SCP' : 'rsync')); + void logger.getOutputChannelLogger().showErrorMessage(l10n.t('"host", "files", and "targetDir" are required in {0} steps.', isScp ? 'SCP' : 'rsync')); return false; } const host: util.ISshHostInfo = util.isString(step.host) ? { hostName: step.host } : { hostName: step.host.hostName, user: step.host.user, port: step.host.port }; @@ -1115,7 +1102,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv files = files.concat((await globAsync(fileGlob)).map(file => vscode.Uri.file(file))); } } else { - void logger.getOutputChannelLogger().showErrorMessage(localize('incorrect.files.type.copyFile', '"files" must be a string or an array of strings in {0} steps.', isScp ? 'SCP' : 'rsync')); + void logger.getOutputChannelLogger().showErrorMessage(l10n.t('"files" must be a string or an array of strings in {0} steps.', isScp ? 'SCP' : 'rsync')); return false; } @@ -1133,7 +1120,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } case StepType.ssh: { if (!step.host || !step.command) { - void logger.getOutputChannelLogger().showErrorMessage(localize('missing.properties.ssh', '"host" and "command" are required for ssh steps.')); + void logger.getOutputChannelLogger().showErrorMessage(l10n.t('"host" and "command" are required for ssh steps.')); return false; } const host: util.ISshHostInfo = util.isString(step.host) ? { hostName: step.host } : { hostName: step.host.hostName, user: step.host.user, port: step.host.port }; @@ -1148,7 +1135,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } case StepType.shell: { if (!step.command) { - void logger.getOutputChannelLogger().showErrorMessage(localize('missing.properties.shell', '"command" is required for shell steps.')); + void logger.getOutputChannelLogger().showErrorMessage(l10n.t('"command" is required for shell steps.')); return false; } const taskResult: util.ProcessReturnType = await util.spawnChildProcess(step.command, undefined, step.continueOn); @@ -1159,7 +1146,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv break; } default: { - logger.getOutputChannelLogger().appendLine(localize('deploy.step.type.not.supported', 'Deploy step type {0} is not supported.', step.type)); + logger.getOutputChannelLogger().appendLine(l10n.t('Deploy step type {0} is not supported.', step.type)); return false; } } @@ -1220,7 +1207,7 @@ export class ConfigurationAssetProviderFactory { case 'linux': return new LinuxConfigurationProvider(); default: - throw new Error(localize("unexpected.os", "Unexpected OS type")); + throw new Error(l10n.t("Unexpected OS type")); } } } @@ -1257,16 +1244,16 @@ abstract class DefaultConfigurationProvider implements IConfigurationAssetProvid class WindowsConfigurationProvider extends DefaultConfigurationProvider { private executable: string = "a.exe"; - private pipeProgram: string = "<" + localize("path.to.pipe.program", "full path to pipe program such as {0}", "plink.exe").replace(/"/g, '') + ">"; + private pipeProgram: string = "<" + l10n.t("full path to pipe program such as {0}", "plink.exe").replace(/"/g, '') + ">"; private MIMode: string = 'gdb'; private setupCommandsBlock: string = `"setupCommands": [ { - "description": "${localize("enable.pretty.printing", "Enable pretty-printing for {0}", "gdb").replace(/"/g, '')}", + "description": "${l10n.t("Enable pretty-printing for {0}", "gdb").replace(/"/g, '')}", "text": "-enable-pretty-printing", "ignoreFailures": true }, { - "description": "${localize("enable.intel.disassembly.flavor", "Set Disassembly Flavor to {0}", "Intel").replace(/"/g, '')}", + "description": "${l10n.t("Set Disassembly Flavor to {0}", "Intel").replace(/"/g, '')}", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } @@ -1300,12 +1287,12 @@ class LinuxConfigurationProvider extends DefaultConfigurationProvider { private MIMode: string = 'gdb'; private setupCommandsBlock: string = `"setupCommands": [ { - "description": "${localize("enable.pretty.printing", "Enable pretty-printing for {0}", "gdb").replace(/"/g, '')}", + "description": "${l10n.t("Enable pretty-printing for {0}", "gdb").replace(/"/g, '')}", "text": "-enable-pretty-printing", "ignoreFailures": true }, { - "description": "${localize("enable.intel.disassembly.flavor", "Set Disassembly Flavor to {0}", "Intel").replace(/"/g, '')}", + "description": "${l10n.t("Set Disassembly Flavor to {0}", "Intel").replace(/"/g, '')}", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } diff --git a/Extension/src/Debugger/configurations.ts b/Extension/src/Debugger/configurations.ts index d3c0acaf6..ff9aba7c9 100644 --- a/Extension/src/Debugger/configurations.ts +++ b/Extension/src/Debugger/configurations.ts @@ -5,11 +5,8 @@ import * as os from 'os'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { configPrefix } from '../LanguageServer/extension'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export function isDebugLaunchStr(str: string): boolean { return str.startsWith("(gdb) ") || str.startsWith("(lldb) ") || str.startsWith("(Windows) "); @@ -92,7 +89,7 @@ function createLaunchString(name: string, type: string, executable: string): str return `"name": "${name}", "type": "${type}", "request": "launch", -"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '')}", +"program": "${l10n.t("enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '')}", "args": [], "stopAtEntry": false, "cwd": "$\{fileDirname\}", @@ -106,7 +103,7 @@ function createAttachString(name: string, type: string, executable: string): str "name": "${name}", "type": "${type}", "request": "attach",{0} -`, [type === "cppdbg" ? `${os.EOL}"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '')}",` : ""]); +`, [type === "cppdbg" ? `${os.EOL}"program": "${l10n.t("enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '')}",` : ""]); } function createRemoteAttachString(name: string, type: string, executable: string): string { @@ -114,7 +111,7 @@ function createRemoteAttachString(name: string, type: string, executable: string "name": "${name}", "type": "${type}", "request": "attach", -"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '')}", +"program": "${l10n.t("enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '')}", "processId": "$\{command:pickRemoteProcess\}" `; } @@ -158,7 +155,7 @@ abstract class Configuration implements IConfiguration { export class MIConfigurations extends Configuration { public GetLaunchConfiguration(): IConfigurationSnippet { - const name: string = `(${this.MIMode}) ${localize("launch.string", "Launch").replace(/"/g, '')}`; + const name: string = `(${this.MIMode}) ${l10n.t("Launch").replace(/"/g, '')}`; const body: string = formatString(`{ \t${indentJsonString(createLaunchString(name, this.miDebugger, this.executable))}, @@ -168,7 +165,7 @@ export class MIConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("launch.with", "Launch with {0}.", this.MIMode).replace(/"/g, ''), + "description": l10n.t("Launch with {0}.", this.MIMode).replace(/"/g, ''), "bodyText": body.trim(), "isInitialConfiguration": true, "debuggerType": DebuggerType.cppdbg @@ -176,7 +173,7 @@ export class MIConfigurations extends Configuration { } public GetAttachConfiguration(): IConfigurationSnippet { - const name: string = `(${this.MIMode}) ${localize("attach.string", "Attach").replace(/"/g, '')}`; + const name: string = `(${this.MIMode}) ${l10n.t("Attach").replace(/"/g, '')}`; const body: string = formatString(`{ \t${indentJsonString(createAttachString(name, this.miDebugger, this.executable))} @@ -186,7 +183,7 @@ export class MIConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("attach.with", "Attach with {0}.", this.MIMode).replace(/"/g, ''), + "description": l10n.t("Attach with {0}.", this.MIMode).replace(/"/g, ''), "bodyText": body.trim(), "debuggerType": DebuggerType.cppdbg }; @@ -197,7 +194,7 @@ export class MIConfigurations extends Configuration { export class PipeTransportConfigurations extends Configuration { public GetLaunchConfiguration(): IConfigurationSnippet { - const name: string = `(${this.MIMode}) ${localize("pipe.launch", "Pipe Launch").replace(/"/g, '')}`; + const name: string = `(${this.MIMode}) ${l10n.t("Pipe Launch").replace(/"/g, '')}`; const body: string = formatString(` { @@ -208,7 +205,7 @@ export class PipeTransportConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("pipe.launch.with", "Pipe Launch with {0}.", this.MIMode).replace(/"/g, ''), + "description": l10n.t("Pipe Launch with {0}.", this.MIMode).replace(/"/g, ''), "bodyText": body.trim(), "debuggerType": DebuggerType.cppdbg }; @@ -216,7 +213,7 @@ export class PipeTransportConfigurations extends Configuration { } public GetAttachConfiguration(): IConfigurationSnippet { - const name: string = `(${this.MIMode}) ${localize("pipe.attach", "Pipe Attach").replace(/"/g, '')}`; + const name: string = `(${this.MIMode}) ${l10n.t("Pipe Attach").replace(/"/g, '')}`; const body: string = formatString(` { @@ -226,7 +223,7 @@ export class PipeTransportConfigurations extends Configuration { }`, [this.additionalProperties ? `,${os.EOL}\t${indentJsonString(this.additionalProperties)}` : ""]); return { "label": configPrefix + name, - "description": localize("pipe.attach.with", "Pipe Attach with {0}.", this.MIMode).replace(/"/g, ''), + "description": l10n.t("Pipe Attach with {0}.", this.MIMode).replace(/"/g, ''), "bodyText": body.trim(), "debuggerType": DebuggerType.cppdbg }; @@ -237,7 +234,7 @@ export class PipeTransportConfigurations extends Configuration { export class WindowsConfigurations extends Configuration { public GetLaunchConfiguration(): IConfigurationSnippet { - const name: string = `(Windows) ${localize("launch.string", "Launch").replace(/"/g, '')}`; + const name: string = `(Windows) ${l10n.t("Launch").replace(/"/g, '')}`; const body: string = ` { @@ -246,7 +243,7 @@ export class WindowsConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("launch.with.vs.debugger", "Launch with the Visual Studio C/C++ debugger.").replace(/"/g, ''), + "description": l10n.t("Launch with the Visual Studio C/C++ debugger.").replace(/"/g, ''), "bodyText": body.trim(), "isInitialConfiguration": true, "debuggerType": DebuggerType.cppvsdbg @@ -255,7 +252,7 @@ export class WindowsConfigurations extends Configuration { } public GetAttachConfiguration(): IConfigurationSnippet { - const name: string = `(Windows) ${localize("attach.string", "Attach").replace(/"/g, '')}`; + const name: string = `(Windows) ${l10n.t("Attach").replace(/"/g, '')}`; const body: string = ` { @@ -264,7 +261,7 @@ export class WindowsConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("attach.with.vs.debugger", "Attach to a process with the Visual Studio C/C++ debugger.").replace(/"/g, ''), + "description": l10n.t("Attach to a process with the Visual Studio C/C++ debugger.").replace(/"/g, ''), "bodyText": body.trim(), "debuggerType": DebuggerType.cppvsdbg }; @@ -277,7 +274,7 @@ export class WSLConfigurations extends Configuration { public bashPipeProgram = process.arch === 'ia32' ? "${env:windir}\\\\sysnative\\\\bash.exe" : "${env:windir}\\\\system32\\\\bash.exe"; public GetLaunchConfiguration(): IConfigurationSnippet { - const name: string = `(${this.MIMode}) ${localize("bash.on.windows.launch", "Bash on Windows Launch").replace(/"/g, '')}`; + const name: string = `(${this.MIMode}) ${l10n.t("Bash on Windows Launch").replace(/"/g, '')}`; const body: string = formatString(` { @@ -287,14 +284,14 @@ export class WSLConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("launch.bash.windows", "Launch in Bash on Windows using {0}.", this.MIMode).replace(/"/g, ''), + "description": l10n.t("Launch in Bash on Windows using {0}.", this.MIMode).replace(/"/g, ''), "bodyText": body.trim(), "debuggerType": DebuggerType.cppdbg }; } public GetAttachConfiguration(): IConfigurationSnippet { - const name: string = `(${this.MIMode}) ${localize("bash.on.windows.attach", "Bash on Windows Attach").replace(/"/g, '')}`; + const name: string = `(${this.MIMode}) ${l10n.t("Bash on Windows Attach").replace(/"/g, '')}`; const body: string = formatString(` { @@ -304,7 +301,7 @@ export class WSLConfigurations extends Configuration { return { "label": configPrefix + name, - "description": localize("remote.attach.bash.windows", "Attach to a remote process running in Bash on Windows using {0}.", this.MIMode).replace(/"/g, ''), + "description": l10n.t("Attach to a remote process running in Bash on Windows using {0}.", this.MIMode).replace(/"/g, ''), "bodyText": body.trim(), "debuggerType": DebuggerType.cppdbg }; diff --git a/Extension/src/Debugger/debugAdapterDescriptorFactory.ts b/Extension/src/Debugger/debugAdapterDescriptorFactory.ts index 8777b0340..bdc9fefff 100644 --- a/Extension/src/Debugger/debugAdapterDescriptorFactory.ts +++ b/Extension/src/Debugger/debugAdapterDescriptorFactory.ts @@ -5,14 +5,11 @@ import * as os from 'os'; import * as path from 'path'; -import * as vscode from "vscode"; -import * as nls from 'vscode-nls'; +import * as vscode from 'vscode'; import { getOutputChannel } from '../logger'; import { logDebuggerEvent } from '../telemetry'; import { RunWithoutDebuggingAdapter } from './runWithoutDebuggingAdapter'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; // Registers DebugAdapterDescriptorFactory for `cppdbg` and `cppvsdbg`. // NOTE: This file is not automatically tested. @@ -66,7 +63,7 @@ export class CppvsdbgDebugAdapterDescriptorFactory extends AbstractDebugAdapterD } if (os.platform() !== 'win32') { - void vscode.window.showErrorMessage(localize("debugger.not.available", "Debugger type '{0}' is not available for non-Windows machines.", "cppvsdbg")); + void vscode.window.showErrorMessage(l10n.t("Debugger type '{0}' is not available for non-Windows machines.", "cppvsdbg")); return null; } else { return new vscode.DebugAdapterExecutable( @@ -95,7 +92,7 @@ function logReasonForNoDebugNotSupported(configuration: vscode.DebugConfiguratio outputChannel.show(true); if (configuration.request !== 'launch') { - outputChannel.appendLine(localize("debugger.noDebug.requestType.not.supported", "Run Without Debugging is only supported for launch configurations.")); + outputChannel.appendLine(l10n.t("Run Without Debugging is only supported for launch configurations.")); return; } if (configuration.pipeTransport) { @@ -110,8 +107,8 @@ function logReasonForNoDebugNotSupported(configuration: vscode.DebugConfiguratio if (configuration.coreDumpPath) { disallowedProperties.push('coreDumpPath'); } - outputChannel.appendLine(localize("debugger.unsupported.properties", "Launch configurations with the following properties cannot be run directly in the terminal: {0}", disallowedProperties.join(', '))); - outputChannel.appendLine(localize("debugger.fallback.message", "Program output will appear in the Debug Console instead.")); - outputChannel.appendLine(localize("debugger.fallback.message2", "To suppress this warning, set the 'ignoreRunWithoutDebuggingWarnings' property to true in your launch configuration.")); + outputChannel.appendLine(l10n.t("Launch configurations with the following properties cannot be run directly in the terminal: {0}", disallowedProperties.join(', '))); + outputChannel.appendLine(l10n.t("Program output will appear in the Debug Console instead.")); + outputChannel.appendLine(l10n.t("To suppress this warning, set the 'ignoreRunWithoutDebuggingWarnings' property to true in your launch configuration.")); } diff --git a/Extension/src/Debugger/extension.ts b/Extension/src/Debugger/extension.ts index f784c1382..e42724f03 100644 --- a/Extension/src/Debugger/extension.ts +++ b/Extension/src/Debugger/extension.ts @@ -7,7 +7,6 @@ import * as chokidar from 'chokidar'; import * as os from 'os'; import { Configuration } from 'ssh-config'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { CppSettings } from '../LanguageServer/settings'; import { BaseNode, addSshTargetCmd, refreshCppSshTargetsViewCmd } from '../SSH/TargetsView/common'; import { SshTargetsProvider, getActiveSshTarget, initializeSshTargets, selectSshTarget } from '../SSH/TargetsView/sshTargetsProvider'; @@ -22,10 +21,10 @@ import { ConfigurationAssetProviderFactory, ConfigurationSnippetProvider, DebugC import { DebuggerType } from './configurations'; import { CppdbgDebugAdapterDescriptorFactory, CppvsdbgDebugAdapterDescriptorFactory } from './debugAdapterDescriptorFactory'; import { NativeAttachItemsProviderFactory } from './nativeAttach'; +const l10n = vscode.l10n; // The extension deactivate method is asynchronous, so we handle the disposables ourselves instead of using extensionContext.subscriptions. const disposables: vscode.Disposable[] = []; -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); let sshTargetsViewEnabled: boolean = false; let sshTargetsViewSetting: string | undefined; @@ -62,7 +61,7 @@ export async function initialize(context: vscode.ExtensionContext): Promise { const folder: vscode.WorkspaceFolder | undefined = vscode.workspace.getWorkspaceFolder(textEditor.document.uri); if (!folder) { - void vscode.window.showWarningMessage(localize("add.debug.configuration.not.available.for.single.file", "Add debug configuration is not available for single file.")); + void vscode.window.showWarningMessage(l10n.t("Add debug configuration is not available for single file.")); } await debugProvider.addDebugConfiguration(textEditor); })); @@ -171,18 +170,18 @@ async function addSshTargetImpl(): Promise { const validConfigFiles: string[] = []; for (const configFile of getSshConfigurationFiles()) { if (await pathAccessible(configFile) && parseFailures.get(configFile)) { - getSshChannel().appendLine(localize('cannot.modify.config.file', 'Cannot modify SSH configuration file because of parse failure "{0}".', configFile)); + getSshChannel().appendLine(l10n.t('Cannot modify SSH configuration file because of parse failure "{0}".', configFile)); } else { validConfigFiles.push(configFile); } } if (validConfigFiles.length === 0) { - throw new Error(localize('no.valid.ssh.config.file', 'No valid SSH configuration file found.')); + throw new Error(l10n.t('No valid SSH configuration file found.')); } const name: string | undefined = await vscode.window.showInputBox({ - title: localize('enter.ssh.target.name', 'Enter SSH Target Name'), - placeHolder: localize('ssh.target.name.place.holder', 'Example: `mySSHTarget`'), + title: l10n.t('Enter SSH Target Name'), + placeHolder: l10n.t('Example: `mySSHTarget`'), ignoreFocusOut: true }); if (name === undefined) { @@ -191,8 +190,8 @@ async function addSshTargetImpl(): Promise { } const command: string | undefined = await vscode.window.showInputBox({ - title: localize('enter.ssh.connection.command', 'Enter SSH Connection Command'), - placeHolder: localize('ssh.connection.command.place.holder', 'Example: `ssh hello@microsoft.com -A`'), + title: l10n.t('Enter SSH Connection Command'), + placeHolder: l10n.t('Example: `ssh hello@microsoft.com -A`'), ignoreFocusOut: true }); if (!command) { @@ -201,7 +200,7 @@ async function addSshTargetImpl(): Promise { const newEntry: { [key: string]: string } = sshCommandToConfig(command, name); - const targetFile: string | undefined = await vscode.window.showQuickPick(validConfigFiles, { title: localize('select.ssh.config.file', 'Select an SSH configuration file') }); + const targetFile: string | undefined = await vscode.window.showQuickPick(validConfigFiles, { title: l10n.t('Select an SSH configuration file') }); if (!targetFile) { return ''; } @@ -214,9 +213,9 @@ async function addSshTargetImpl(): Promise { } async function removeSshTargetImpl(node: TargetLeafNode): Promise { - const labelYes: string = localize('yes', 'Yes'); - const labelNo: string = localize('no', 'No'); - const confirm: string | undefined = await vscode.window.showInformationMessage(localize('ssh.target.delete.confirmation', 'Are you sure you want to permanently delete "{0}"?', node.name), labelYes, labelNo); + const labelYes: string = l10n.t('Yes'); + const labelNo: string = l10n.t('No'); + const confirm: string | undefined = await vscode.window.showInformationMessage(l10n.t('Are you sure you want to permanently delete "{0}"?', node.name), labelYes, labelNo); if (!confirm || confirm === labelNo) { return false; } diff --git a/Extension/src/Debugger/nativeAttach.ts b/Extension/src/Debugger/nativeAttach.ts index 669fe7570..1e42ef32b 100644 --- a/Extension/src/Debugger/nativeAttach.ts +++ b/Extension/src/Debugger/nativeAttach.ts @@ -6,13 +6,10 @@ import * as child_process from 'child_process'; import * as os from 'os'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { findPowerShell } from '../common'; import { AttachItem } from './attachQuickPick'; import { AttachItemsProvider } from './attachToProcess'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export class Process { constructor(public name: string, public pid?: string, public commandLine?: string) { } @@ -102,7 +99,7 @@ export class PsAttachItemsProvider extends NativeAttachItemsProvider { processCmd = PsProcessParser.psLinuxCommand; break; default: - throw new Error(localize("os.not.supported", 'Operating system "{0}" not supported.', os.platform())); + throw new Error(l10n.t('Operating system "{0}" not supported.', os.platform())); } const processes: string = await spawnChildProcess(processCmd, token); return PsProcessParser.ParseProcessFromPs(processes); @@ -187,7 +184,7 @@ function spawnChildProcess(command: string, token?: vscode.CancellationToken): P } catch { // Failed to kill process. } - reject(new Error(localize("timeout.processList.spawn", '"{0}" timed out after {1} seconds.', command, seconds))); + reject(new Error(l10n.t('"{0}" timed out after {1} seconds.', command, seconds))); return; }, seconds * 1000); @@ -201,7 +198,7 @@ function spawnChildProcess(command: string, token?: vscode.CancellationToken): P } catch { // Failed to kill process. } - reject(new Error(localize("cancel.processList.spawn", '"{0}" canceled.', command))); + reject(new Error(l10n.t('"{0}" canceled.', command))); return; }); @@ -230,7 +227,7 @@ function spawnChildProcess(command: string, token?: vscode.CancellationToken): P process.on('close', (code: number) => { cleanUpCallbacks(); if (code !== 0) { - let errorMessage: string = localize("error.processList.spawn", '"{0}" exited with code: "{1}".', command, code); + let errorMessage: string = l10n.t('"{0}" exited with code: "{1}".', command, code); if (stderr && stderr.length > 0) { errorMessage += os.EOL; errorMessage += stderr; @@ -258,7 +255,7 @@ function spawnChildProcess(command: string, token?: vscode.CancellationToken): P reject(error); }); } else { - reject(new Error(localize("failed.processList.spawn", 'Failed to spawn "{0}".', command))); + reject(new Error(l10n.t('Failed to spawn "{0}".', command))); } }); } diff --git a/Extension/src/Debugger/runWithoutDebuggingAdapter.ts b/Extension/src/Debugger/runWithoutDebuggingAdapter.ts index d03cb859a..515599121 100644 --- a/Extension/src/Debugger/runWithoutDebuggingAdapter.ts +++ b/Extension/src/Debugger/runWithoutDebuggingAdapter.ts @@ -7,12 +7,9 @@ import * as cp from 'child_process'; import * as os from 'os'; import * as path from 'path'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { buildShellCommandLine, sessionIsWsl } from '../common'; import { isWindows } from '../constants'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize = nls.loadMessageBundle(); +const l10n = vscode.l10n; /** * A minimal inline Debug Adapter that runs the target program directly without a debug adapter @@ -193,8 +190,7 @@ export class RunWithoutDebuggingAdapter implements vscode.DebugAdapter { } } - const message = localize({ key: 'no.terminal.emulator', comment: ['{Locked="$TERMINAL"} {Locked="x-terminal-emulator"} {Locked="gnome-terminal"} {Locked="konsole"} {Locked="xterm"}'] }, - 'No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm.'); + const message = l10n.t({ message: 'No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm.', comment: ['{Locked="$TERMINAL"} {Locked="x-terminal-emulator"} {Locked="gnome-terminal"} {Locked="konsole"} {Locked="xterm"}'] }); vscode.window.showErrorMessage(message); } diff --git a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts index 7469fd570..8cdbe88b5 100644 --- a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts +++ b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts @@ -4,16 +4,13 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; import { Position, ResponseError } from 'vscode-languageclient'; -import * as nls from 'vscode-nls'; import { getVSCodeLanguageModel } from '../../common'; import { modelSelector } from '../../constants'; import * as telemetry from '../../telemetry'; import { DefaultClient, GetCopilotHoverInfoParams, GetCopilotHoverInfoRequest, GetCopilotHoverInfoResult } from '../client'; import { RequestCancelled, ServerCancelled } from '../protocolFilter'; import { CppSettings } from '../settings'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export class CopilotHoverProvider implements vscode.HoverProvider { private client: DefaultClient; @@ -136,7 +133,7 @@ export class CopilotHoverProvider implements vscode.HoverProvider { this.currentDocument = document; this.currentPosition = position; - const commandString = "$(sparkle) [" + localize("generate.copilot.description", "Generate Copilot summary") + "](command:C_Cpp.ShowCopilotHover \"" + localize("copilot.disclaimer", "AI-generated content may be incorrect.") + "\")"; + const commandString = "$(sparkle) [" + l10n.t("Generate Copilot summary") + "](command:C_Cpp.ShowCopilotHover \"" + l10n.t("AI-generated content may be incorrect.") + "\")"; const commandMarkdown = new vscode.MarkdownString(commandString); commandMarkdown.supportThemeIcons = true; commandMarkdown.isTrusted = { enabledCommands: ["C_Cpp.ShowCopilotHover"] }; diff --git a/Extension/src/LanguageServer/Providers/codeActionProvider.ts b/Extension/src/LanguageServer/Providers/codeActionProvider.ts index 613a16d95..de527a5f6 100644 --- a/Extension/src/LanguageServer/Providers/codeActionProvider.ts +++ b/Extension/src/LanguageServer/Providers/codeActionProvider.ts @@ -4,7 +4,6 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; import { Position, Range, RequestType, ResponseError, TextEdit } from 'vscode-languageclient'; -import * as nls from 'vscode-nls'; import { DefaultClient } from '../client'; import { CodeActionCodeInfo, CodeActionDiagnosticInfo, codeAnalysisAllFixes, codeAnalysisCodeToFixes, codeAnalysisFileToCodeActions @@ -13,9 +12,7 @@ import { LocalizeStringParams, getLocalizedString } from '../localization'; import { RequestCancelled, ServerCancelled } from '../protocolFilter'; import { CppSettings } from '../settings'; import { makeVscodeRange } from '../utils'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; interface GetCodeActionsRequestParams { uri: string; @@ -259,7 +256,7 @@ export class CodeActionProvider implements vscode.CodeActionProvider { return false; } const hoverResult: vscode.MarkdownString = result[0].contents[0] as vscode.MarkdownString; - if (!hoverResult.value.includes(localize("expands.to", "Expands to:"))) { + if (!hoverResult.value.includes(l10n.t("Expands to:"))) { return false; } try { @@ -283,9 +280,9 @@ export class CodeActionProvider implements vscode.CodeActionProvider { }; if (!await processInlineMacro()) { const disabledCodeAction: vscode.CodeAction = { - title: localize({ key: "inline.macro", comment: ["'Inline' is a command and not an adjective, i.e. like 'Expand macro'."] }, "Inline macro"), + title: l10n.t({ message: "Inline macro", comment: ["'Inline' is a command and not an adjective, i.e. like 'Expand macro'."] }), kind: CodeActionProvider.inlineMacroKind, - disabled: { reason: localize("inline.macro.not.available", "Inline macro is not available at this location.") } + disabled: { reason: l10n.t("Inline macro is not available at this location.") } }; resultCodeActions.push(disabledCodeAction); } diff --git a/Extension/src/LanguageServer/Providers/renameProvider.ts b/Extension/src/LanguageServer/Providers/renameProvider.ts index ea93ba1c2..8a4dc62bf 100644 --- a/Extension/src/LanguageServer/Providers/renameProvider.ts +++ b/Extension/src/LanguageServer/Providers/renameProvider.ts @@ -4,15 +4,12 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; import { Position, RequestType, ResponseError } from 'vscode-languageclient'; -import * as nls from 'vscode-nls'; import * as util from '../../common'; import { DefaultClient, workspaceReferences } from '../client'; import { RequestCancelled, ServerCancelled } from '../protocolFilter'; import { CancellationSender, ReferenceType, ReferencesParams, ReferencesResult, getReferenceItemIconPath, getReferenceTagString } from '../references'; import { CppSettings } from '../settings'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; const RenameRequest: RequestType = new RequestType('cpptools/rename'); @@ -30,7 +27,7 @@ export class RenameProvider implements vscode.RenameProvider { const settings: CppSettings = new CppSettings(); if (settings.renameRequiresIdentifier && !util.isValidIdentifier(newName)) { - void vscode.window.showErrorMessage(localize("invalid.identifier.for.rename", "Invalid identifier provided for the Rename Symbol operation.")); + void vscode.window.showErrorMessage(l10n.t("Invalid identifier provided for the Rename Symbol operation.")); return undefined; } @@ -68,7 +65,7 @@ export class RenameProvider implements vscode.RenameProvider { if (cancelSource.token.isCancellationRequested || response.isCanceled) { throw new vscode.CancellationError(); } else if (response.referenceInfos.length === 0) { - void vscode.window.showErrorMessage(localize("unable.to.locate.selected.symbol", "A definition for the selected symbol could not be located.")); + void vscode.window.showErrorMessage(l10n.t("A definition for the selected symbol could not be located.")); } else { for (const reference of response.referenceInfos) { const uri: vscode.Uri = vscode.Uri.file(reference.file); diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 3410e7502..0b3045a93 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -30,7 +30,6 @@ import { SourceFileConfiguration, SourceFileConfigurationItem, Version, Workspac import { IntelliSenseStatus, Status } from 'vscode-cpptools/out/testApi'; import { CloseAction, DidOpenTextDocumentParams, ErrorAction, LanguageClientOptions, NotificationType, Position, Range, RequestType, ResponseError, TextDocumentIdentifier, TextDocumentPositionParams } from 'vscode-languageclient'; import { LanguageClient, ServerOptions } from 'vscode-languageclient/node'; -import * as nls from 'vscode-nls'; import { DebugConfigurationProvider } from '../Debugger/configurationProvider'; import { ManualPromise } from '../Utility/Async/manualPromise'; import { ManualSignal } from '../Utility/Async/manualSignal'; @@ -68,13 +67,12 @@ import { CppSettings, OtherSettings, SettingsParams, WorkspaceFolderSettingsPara import { SettingsTracker } from './settingsTracker'; import { ConfigurationType, LanguageStatusUI, getUI } from './ui'; import { handleChangedFromCppToC, makeLspRange, makeVscodeLocation, makeVscodeRange, withCancellation } from './utils'; +const l10n = vscode.l10n; import minimatch = require("minimatch"); function deepCopy(obj: any) { return JSON.parse(JSON.stringify(obj)); } -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); let ui: LanguageStatusUI; let timeStamp: number = 0; @@ -1098,10 +1096,10 @@ export class DefaultClient implements Client { paths = paths.map(p => p.replace(/[\\/]/g, preferredPathSeparator)); const options: vscode.QuickPickOptions = {}; options.placeHolder = compilersOnly || !vscode.workspace.workspaceFolders || !this.RootFolder ? - localize("select.compiler", "Select a compiler to configure for IntelliSense") : + l10n.t("Select a compiler to configure for IntelliSense") : vscode.workspace.workspaceFolders.length > 1 ? - localize("configure.intelliSense.forFolder", "How would you like to configure IntelliSense for the '{0}' folder?", this.RootFolder.name) : - localize("configure.intelliSense.thisFolder", "How would you like to configure IntelliSense for this folder?"); + l10n.t("How would you like to configure IntelliSense for the '{0}' folder?", this.RootFolder.name) : + l10n.t("How would you like to configure IntelliSense for this folder?"); const items: IndexableQuickPickItem[] = []; let isCompilerSection: boolean = false; @@ -1111,16 +1109,16 @@ export class DefaultClient implements Client { if (isCompiler) { const path: string | undefined = paths[i].replace(compilerName, ""); - const description: string = localize("found.string", "Found at {0}", path); - const label: string = localize("use.compiler", "Use {0}", compilerName); + const description: string = l10n.t("Found at {0}", path); + const label: string = l10n.t("Use {0}", compilerName); items.push({ label: label, description: description, index: i }); } else if (paths[i] === DefaultClient.configurationProvidersLabel) { - items.push({ label: localize("configuration.providers", "configuration providers"), index: i, kind: vscode.QuickPickItemKind.Separator }); + items.push({ label: l10n.t("configuration providers"), index: i, kind: vscode.QuickPickItemKind.Separator }); } else if (paths[i] === DefaultClient.compileCommandsLabel) { items.push({ label: paths[i], index: i, kind: vscode.QuickPickItemKind.Separator }); } else if (paths[i] === DefaultClient.compilersLabel) { isCompilerSection = true; - items.push({ label: localize("compilers", "compilers"), index: i, kind: vscode.QuickPickItemKind.Separator }); + items.push({ label: l10n.t("compilers"), index: i, kind: vscode.QuickPickItemKind.Separator }); } else { items.push({ label: paths[i], index: i }); } @@ -1131,8 +1129,8 @@ export class DefaultClient implements Client { } public async showPrompt(sender?: any): Promise { - const buttonMessage: string = localize("selectIntelliSenseConfiguration.string", "Select IntelliSense Configuration..."); - const value: string | undefined = await vscode.window.showInformationMessage(localize("setCompiler.message", "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional."), buttonMessage); + const buttonMessage: string = l10n.t("Select IntelliSense Configuration..."); + const value: string | undefined = await vscode.window.showInformationMessage(l10n.t("You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional."), buttonMessage); if (value === buttonMessage) { return this.handleIntelliSenseConfigurationQuickPick(sender); } @@ -1145,7 +1143,7 @@ export class DefaultClient implements Client { if (configProviders && configProviders.length > 0) { paths.push(DefaultClient.configurationProvidersLabel); for (const provider of configProviders) { - paths.push(localize("use.provider", "Use {0}", provider.name)); + paths.push(l10n.t("Use {0}", provider.name)); } } const configProvidersIndex: number = paths.length; @@ -1153,7 +1151,7 @@ export class DefaultClient implements Client { if (!showCompilersOnly && this.compileCommandsPaths.length > 0) { paths.push(DefaultClient.compileCommandsLabel); for (const compileCommandsPath of this.compileCommandsPaths) { - paths.push(localize("use.compileCommands", "Use {0}", compileCommandsPath)); + paths.push(l10n.t("Use {0}", compileCommandsPath)); } } const compileCommandsIndex: number = paths.length; @@ -1178,16 +1176,16 @@ export class DefaultClient implements Client { } const compilersIndex: number = paths.length; const compilerCount: number = compilersIndex === compileCommandsIndex ? 0 : compilersIndex - compileCommandsIndex - 1; - paths.push(localize("selectAnotherCompiler.string", "Select another compiler on my machine...")); + paths.push(l10n.t("Select another compiler on my machine...")); let installShown = true; if (isWindows && util.getSenderType(sender) !== 'walkthrough') { - paths.push(localize("installCompiler.string", "Help me install a compiler")); + paths.push(l10n.t("Help me install a compiler")); } else if (!isWindows) { - paths.push(localize("installCompiler.string.nix", "Install a compiler")); + paths.push(l10n.t("Install a compiler")); } else { installShown = false; } - paths.push(localize("noConfig.string", "Do not configure with a compiler (not recommended)")); + paths.push(l10n.t("Do not configure with a compiler (not recommended)")); let preferredPathSeparator: string = settings.preferredPathSeparator; if (preferredPathSeparator === "Forward Slash") { preferredPathSeparator = "/"; @@ -1387,11 +1385,11 @@ export class DefaultClient implements Client { failureMessageShown = true; let additionalInfo: string; if (err.code === "EPERM") { - additionalInfo = localize('check.permissions', "EPERM: Check permissions for '{0}'", getLanguageServerFileName()); + additionalInfo = l10n.t("EPERM: Check permissions for '{0}'", getLanguageServerFileName()); } else { additionalInfo = String(err); } - void vscode.window.showErrorMessage(localize("unable.to.start", "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}", additionalInfo)); + void vscode.window.showErrorMessage(l10n.t("Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}", additionalInfo)); } } @@ -1495,7 +1493,7 @@ export class DefaultClient implements Client { this.isSupported = false; // Running on an OS we don't support yet. if (!failureMessageShown) { failureMessageShown = true; - void vscode.window.showErrorMessage(localize("unable.to.start", "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}", String(err))); + void vscode.window.showErrorMessage(l10n.t("Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}", String(err))); } } @@ -1794,8 +1792,8 @@ export class DefaultClient implements Client { ); }, 1000); - const message: string = restart ? localize('server.crashed.restart', 'The language server crashed. Restarting...') - : localize('server.crashed2', 'The language server crashed 5 times in the last 3 minutes. It will not be restarted.'); + const message: string = restart ? l10n.t('The language server crashed. Restarting...') + : l10n.t('The language server crashed 5 times in the last 3 minutes. It will not be restarted.'); // We manually restart the language server so tell the LanguageClient not to do it automatically for us. return { action: CloseAction.DoNotRestart, message }; @@ -1884,7 +1882,7 @@ export class DefaultClient implements Client { const oldLoggingLevelLogged: boolean = this.loggingLevel > 1; this.loggingLevel = util.getNumericLoggingLevel(changedSettings.loggingLevel); if (oldLoggingLevelLogged || this.loggingLevel > 1) { - getOutputChannelLogger().appendLine(localize({ key: "loggingLevel.changed", comment: ["{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'"] }, "{0} has changed to: {1}", "loggingLevel", changedSettings.loggingLevel)); + getOutputChannelLogger().appendLine(l10n.t({ message: "{0} has changed to: {1}", args: ["loggingLevel", changedSettings.loggingLevel], comment: ["{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'"] })); } } const settings: CppSettings = new CppSettings(); @@ -2368,15 +2366,13 @@ export class DefaultClient implements Client { result = "timeout"; const settings: CppSettings = new CppSettings(this.RootUri); if (settings.isConfigurationWarningsEnabled && !this.isExternalHeader(docUri) && !vscode.debug.activeDebugSession) { - const dismiss: string = localize("dismiss.button", "Dismiss"); - const disable: string = localize("disable.warnings.button", "Disable Warnings"); + const dismiss: string = l10n.t("Dismiss"); + const disable: string = l10n.t("Disable Warnings"); const configName: string | undefined = this.configuration.CurrentConfiguration?.name; if (!configName) { return "noConfigName"; } - let message: string = localize("unable.to.provide.configuration", - "{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.", - provider.name, docUri.fsPath, configName); + let message: string = l10n.t("{0} is unable to provide IntelliSense configuration information for '{1}'. Settings from the '{2}' configuration will be used instead.", provider.name, docUri.fsPath, configName); if (err) { message += ` (${err})`; } @@ -2423,7 +2419,7 @@ export class DefaultClient implements Client { const configurationIndex: number = configurations.findIndex((config) => config.name === configurationName); if (configurationIndex === -1) { - throw new Error(localize("config.not.found", "The requested configuration name is not found: {0}", configurationName)); + throw new Error(l10n.t("The requested configuration name is not found: {0}", configurationName)); } this.configuration.select(configurationIndex); } @@ -2545,7 +2541,7 @@ export class DefaultClient implements Client { * Use `await .ready` when you need to ensure that the client is initialized, and still run in order. */ enqueue(task: () => Promise) { - ok(this.isSupported, localize("unsupported.client", "Unsupported client")); + ok(this.isSupported, l10n.t("Unsupported client")); // create a placeholder promise that is resolved when the task is complete. const result = new ManualPromise(); @@ -2620,7 +2616,7 @@ export class DefaultClient implements Client { if (cancelToken) { cancelToken.cancel(); } - reject(localize("timed.out", "Timed out in {0}ms.", ms)); + reject(l10n.t("Timed out in {0}ms.", ms)); }, ms); }); @@ -2892,13 +2888,9 @@ export class DefaultClient implements Client { if (filesDiscovered > 250000 || parsableFiles > 100000) { // According to telemetry, less than 3% of workspaces have this many files so it seems like a reasonable threshold. - const message = localize( - "parsing.stats.large.project", - 'Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.', - filesDiscovered, - parsableFiles); - const learnMore = localize('learn.more', 'Learn More'); - const dontShowAgain = localize('dont.show.again', 'Don\'t Show Again'); + const message = l10n.t('Enumerated {0} files with {1} C/C++ source files detected. You may want to consider excluding some files for better performance.', filesDiscovered, parsableFiles); + const learnMore = l10n.t('Learn More'); + const dontShowAgain = l10n.t('Don\'t Show Again'); // We only want to show this once per session. this.excessiveFilesWarningShown = true; @@ -2949,7 +2941,7 @@ export class DefaultClient implements Client { const status: IntelliSenseStatus = { status: Status.IntelliSenseCompiling }; testHook.updateStatus(status); } else if (message.endsWith("IntelliSense done")) { - getOutputChannelLogger().appendLineAtLevel(6, localize("update.intellisense.time", "Update IntelliSense time (sec): {0}", (Date.now() - timeStamp) / 1000)); + getOutputChannelLogger().appendLineAtLevel(6, l10n.t("Update IntelliSense time (sec): {0}", (Date.now() - timeStamp) / 1000)); this.model.isUpdatingIntelliSense.Value = false; const status: IntelliSenseStatus = { status: Status.IntelliSenseReady }; testHook.updateStatus(status); @@ -3432,7 +3424,7 @@ export class DefaultClient implements Client { } const out: Logger = getOutputChannelLogger(); - out.appendLineAtLevel(6, localize("configurations.received", "Custom configurations received:")); + out.appendLineAtLevel(6, l10n.t("Custom configurations received:")); const sanitized: SourceFileConfigurationItemAdapter[] = []; configs.forEach(item => { if (this.isSourceFileConfigurationItem(item, providerVersion)) { @@ -3548,7 +3540,7 @@ export class DefaultClient implements Client { return; } - getOutputChannelLogger().appendLineAtLevel(6, localize("browse.configuration.received", "Custom browse configuration received: {0}", JSON.stringify(sanitized, null, 2))); + getOutputChannelLogger().appendLineAtLevel(6, l10n.t("Custom browse configuration received: {0}", JSON.stringify(sanitized, null, 2))); // Separate compiler path and args before sending to language client if (util.isString(sanitized.compilerPath)) { @@ -3946,7 +3938,7 @@ export class DefaultClient implements Client { await vscode.env.clipboard.writeText(result.clipboardText); copiedToClipboard = true; } - void vscode.window.showInformationMessage(result.errorText + (copiedToClipboard ? localize("fallback.clipboard", " Declaration/definition was copied.") : "")); + void vscode.window.showInformationMessage(result.errorText + (copiedToClipboard ? l10n.t(" Declaration/definition was copied.") : "")); return; } @@ -4044,8 +4036,8 @@ export class DefaultClient implements Client { } let functionName: string | undefined = await vscode.window.showInputBox({ - title: localize('handle.extract.name', 'Name the extracted function'), - placeHolder: localize('handle.extract.new.function', 'NewFunction') + title: l10n.t('Name the extracted function'), + placeHolder: l10n.t('NewFunction') }); if (functionName === undefined || functionName === "") { @@ -4078,8 +4070,7 @@ export class DefaultClient implements Client { // Handle error messaging if (result.errorText) { - void vscode.window.showErrorMessage(`${localize("handle.extract.error", - "Extract to function failed: {0}", result.errorText)}`); + void vscode.window.showErrorMessage(`${l10n.t("Extract to function failed: {0}", result.errorText)}`); return; } @@ -4189,8 +4180,7 @@ export class DefaultClient implements Client { currentTextNewFunctionStart; if (rangeStartCharacter < 0) { // functionName is missing -- unexpected error. - void vscode.window.showErrorMessage(`${localize("invalid.edit", - "Extract to function failed. An invalid edit was generated: '{0}'", edit.newText)}`); + void vscode.window.showErrorMessage(`${l10n.t("Extract to function failed. An invalid edit was generated: '{0}'", edit.newText)}`); continue; } const replaceEditRange = new vscode.Range( diff --git a/Extension/src/LanguageServer/codeAnalysis.ts b/Extension/src/LanguageServer/codeAnalysis.ts index 3e9bcec3e..1b1d4511c 100644 --- a/Extension/src/LanguageServer/codeAnalysis.ts +++ b/Extension/src/LanguageServer/codeAnalysis.ts @@ -5,15 +5,12 @@ 'use strict'; import * as vscode from 'vscode'; import { LanguageClient, NotificationType, Range } from 'vscode-languageclient/node'; -import * as nls from 'vscode-nls'; import { Location, WorkspaceEdit } from './commonTypes'; import { CppSourceStr } from './extension'; import { LocalizeStringParams, getLocalizedString } from './localization'; import { CppSettings } from './settings'; import { makeVscodeLocation, makeVscodeRange, makeVscodeTextEdits, rangeEquals } from './utils'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; let diagnosticsCollectionCodeAnalysis: vscode.DiagnosticCollection; @@ -118,7 +115,7 @@ export const codeAnalysisCodeToFixes: Map = new Map< export const codeAnalysisAllFixes: CodeActionAllInfo = { version: 0, fixAllCodeAction: { - title: localize("fix.all.code.analysis.problems", "Fix all code analysis problems"), + title: l10n.t("Fix all code analysis problems"), command: { title: 'FixAllCodeAnalysisProblems', command: 'C_Cpp.FixAllCodeAnalysisProblems', @@ -127,7 +124,7 @@ export const codeAnalysisAllFixes: CodeActionAllInfo = { kind: vscode.CodeActionKind.QuickFix }, removeAllCodeAction: { - title: localize("clear.all.code.analysis.problems", "Clear all code analysis problems"), + title: l10n.t("Clear all code analysis problems"), command: { title: "RemoveAllCodeAnalysisProblems", command: "C_Cpp.RemoveAllCodeAnalysisProblems" }, kind: vscode.CodeActionKind.QuickFix } @@ -175,7 +172,7 @@ function rebuildCodeAnalysisCodeAndAllFixes(): void { } ++numFixTypes; codeToFixes[1].fixAllTypeCodeAction = { - title: localize("fix.all.type.problems", "Fix all {0} problems", codeToFixes[0]), + title: l10n.t("Fix all {0} problems", codeToFixes[0]), command: { title: 'FixAllTypeCodeAnalysisProblems', command: 'C_Cpp.FixAllTypeCodeAnalysisProblems', @@ -187,7 +184,7 @@ function rebuildCodeAnalysisCodeAndAllFixes(): void { if (new CppSettings().clangTidyCodeActionShowDisable) { codeToFixes[1].disableAllTypeCodeAction = { - title: localize("disable.all.type.problems", "Disable all {0} problems", codeToFixes[0]), + title: l10n.t("Disable all {0} problems", codeToFixes[0]), command: { title: 'DisableAllTypeCodeAnalysisProblems', command: 'C_Cpp.DisableAllTypeCodeAnalysisProblems', @@ -201,7 +198,7 @@ function rebuildCodeAnalysisCodeAndAllFixes(): void { if (new CppSettings().clangTidyCodeActionShowClear !== "None") { codeToFixes[1].removeAllTypeCodeAction = { - title: localize("clear.all.type.problems", "Clear all {0} problems", codeToFixes[0]), + title: l10n.t("Clear all {0} problems", codeToFixes[0]), command: { title: 'RemoveAllTypeCodeAnalysisProblems', command: 'C_Cpp.RemoveCodeAnalysisProblems', @@ -265,7 +262,7 @@ export function publishCodeAnalysisDiagnostics(params: PublishCodeAnalysisDiagno range: makeVscodeRange(identifier.range), code: identifier.code, removeCodeAction: { - title: localize("clear.this.problem", "Clear this {0} problem", d.code), + title: l10n.t("Clear this {0} problem", d.code), command: { title: 'RemoveCodeAnalysisProblems', command: 'C_Cpp.RemoveCodeAnalysisProblems', @@ -281,7 +278,7 @@ export function publishCodeAnalysisDiagnostics(params: PublishCodeAnalysisDiagno codeActionWorkspaceEdit.workspaceEdit.set(vscode.Uri.parse(workspaceEdit.file, true), makeVscodeTextEdits(workspaceEdit.edits)); } const fixThisCodeAction: vscode.CodeAction = { - title: localize("fix.this.problem", "Fix this {0} problem", d.code), + title: l10n.t("Fix this {0} problem", d.code), command: { title: 'FixThisCodeAnalysisProblem', command: 'C_Cpp.FixThisCodeAnalysisProblem', @@ -316,7 +313,7 @@ export function publishCodeAnalysisDiagnostics(params: PublishCodeAnalysisDiagno uri: info.location.uri, identifiers: [relatedIdentifier] }; const relatedCodeAction: vscode.CodeAction = { - title: localize("fix.this.problem", "Fix this {0} problem", d.code), + title: l10n.t("Fix this {0} problem", d.code), command: { title: 'FixThisCodeAnalysisProblem', command: 'C_Cpp.FixThisCodeAnalysisProblem', @@ -385,7 +382,7 @@ export function publishCodeAnalysisDiagnostics(params: PublishCodeAnalysisDiagno if (new CppSettings().clangTidyCodeActionShowDocumentation) { if (codeActionCodeInfo.docCodeAction === undefined) { codeActionCodeInfo.docCodeAction = { - title: localize("show.documentation.for", "Show documentation for {0}", primaryCode), + title: l10n.t("Show documentation for {0}", primaryCode), command: { title: 'ShowDocumentation', command: 'C_Cpp.ShowCodeAnalysisDocumentation', diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index b4686505c..1c6226694 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -11,7 +11,6 @@ import * as os from 'os'; import * as path from 'path'; import { setTimeout } from 'timers'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import * as which from 'which'; import { logAndReturn, returns } from '../Utility/Async/returns'; import * as util from '../common'; @@ -25,11 +24,9 @@ import { CppSettings, OtherSettings } from './settings'; import { SettingsPanel } from './settingsPanel'; import { ConfigurationType, getUI } from './ui'; import { Deferral } from './utils'; +const l10n = vscode.l10n; import escapeStringRegExp = require('escape-string-regexp'); -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - const configVersion: number = 4; type Environment = { [key: string]: string | string[] }; @@ -642,7 +639,7 @@ export class CppProperties { if (isValid) { return ""; } else { - return localize("incompatible.intellisense.mode", "IntelliSense mode {0} is incompatible with compiler path.", configuration.intelliSenseMode); + return l10n.t("IntelliSense mode {0} is incompatible with compiler path.", configuration.intelliSenseMode); } } @@ -1392,7 +1389,7 @@ export class CppProperties { void this.applyDefaultIncludePathsAndFrameworks().catch(logAndReturn.undefined); void this.timeOperation(() => this.updateServerOnFolderSettingsChange()).then(result => { - getOutputChannelLogger().appendLineAtLevel(5, localize('resolve.configuration.processed', "Processed c_cpp_properties.json in {0}s", result.duration)); + getOutputChannelLogger().appendLineAtLevel(5, l10n.t("Processed c_cpp_properties.json in {0}s", result.duration)); }).catch(logAndReturn.undefined); } @@ -1429,7 +1426,7 @@ export class CppProperties { } catch (errJS) { const err: Error = errJS as Error; - const failedToCreate: string = localize("failed.to.create.config.folder", 'Failed to create "{0}"', this.configFolder); + const failedToCreate: string = l10n.t('Failed to create "{0}"', this.configFolder); void vscode.window.showErrorMessage(`${failedToCreate}: ${err.message}`); } } @@ -1465,7 +1462,7 @@ export class CppProperties { // TODO?: Handle when jsonc.parse() throws an exception due to invalid JSON contents. const newJson: ConfigurationJson = jsonc.parse(readResults, undefined, true) as any; if (!newJson || !newJson.configurations || newJson.configurations.length === 0) { - throw { message: localize("invalid.configuration.file", "Invalid configuration file. There must be at least one configuration present in the array.") }; + throw { message: l10n.t("Invalid configuration file. There must be at least one configuration present in the array.") }; } if (!this.configurationIncomplete && this.configurationJson && this.configurationJson.configurations && this.CurrentConfigurationIndex >= 0 && this.CurrentConfigurationIndex < this.configurationJson.configurations.length) { @@ -1541,7 +1538,7 @@ export class CppProperties { this.updateToVersion4(); } else { this.configurationJson.version = configVersion; - void vscode.window.showErrorMessage(localize("unknown.properties.version", 'Unknown version number found in c_cpp_properties.json. Some features may not work as expected.')); + void vscode.window.showErrorMessage(l10n.t('Unknown version number found in c_cpp_properties.json. Some features may not work as expected.')); } } @@ -1569,7 +1566,7 @@ export class CppProperties { this.writeToJson(); } catch { // Ignore write errors, the file may be under source control. Updated settings will only be modified in memory. - void vscode.window.showWarningMessage(localize('update.properties.failed', 'Attempt to update "{0}" failed (do you have write access?)', this.propertiesFile.fsPath)); + void vscode.window.showWarningMessage(l10n.t('Attempt to update "{0}" failed (do you have write access?)', this.propertiesFile.fsPath)); success = false; } } @@ -1593,7 +1590,7 @@ export class CppProperties { } } catch (errJS) { const err: Error = errJS as Error; - const failedToParse: string = localize("failed.to.parse.properties", 'Failed to parse "{0}"', this.propertiesFile.fsPath); + const failedToParse: string = l10n.t('Failed to parse "{0}"', this.propertiesFile.fsPath); void vscode.window.showErrorMessage(`${failedToParse}: ${err.message}`); success = false; } @@ -1696,17 +1693,16 @@ export class CppProperties { const compilerPathErrors: string[] = []; if (compilerPathMayNeedQuotes && !pathExists) { - compilerPathErrors.push(localize({ key: "path.with.spaces", comment: ["{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\"."] }, - "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0}).", '"')); + compilerPathErrors.push(l10n.t({ message: "Compiler path with spaces could not be found. If this was intended to include compiler arguments, surround the compiler path with double quotes ({0}).", args: ['"'], comment: ["{Locked=\"{0}\"} The {0} is a double quote character \", and should be located next to the translation for \"double quotes\"."] })); telemetry.CompilerPathMissingQuotes = 1; } if (!pathExists) { - const message: string = localize('cannot.find', "Cannot find: {0}", resolvedCompilerPath); + const message: string = l10n.t("Cannot find: {0}", resolvedCompilerPath); compilerPathErrors.push(message); telemetry.PathNonExistent = 1; } else if (!util.checkExecutableWithoutExtensionExistsSync(resolvedCompilerPath)) { - const message: string = localize("path.is.not.a.file", "Path is not a file: {0}", resolvedCompilerPath); + const message: string = l10n.t("Path is not a file: {0}", resolvedCompilerPath); compilerPathErrors.push(message); telemetry.PathNotAFile = 1; } @@ -1754,9 +1750,9 @@ export class CppProperties { // Validate paths (directories) try { const { result, duration } = await this.timeOperation(() => this.validatePath(config.includePath, { globPaths: true })); - errors.includePath = result ?? duration >= 10 ? localize('resolve.includePath.took.too.long', "The include path validation took {0}s to evaluate", duration) : undefined; + errors.includePath = result ?? duration >= 10 ? l10n.t("The include path validation took {0}s to evaluate", duration) : undefined; } catch (e) { - errors.includePath = localize('resolve.includePath.failed', "Failed to resolve include path. Error: {0}", (e as Error).message); + errors.includePath = l10n.t("Failed to resolve include path. Error: {0}", (e as Error).message); } errors.macFrameworkPath = await this.validatePath(config.macFrameworkPath); errors.browsePath = await this.validatePath(config.browse ? config.browse.path : undefined); @@ -1825,9 +1821,9 @@ export class CppProperties { } if (!pathExists) { - let message: string = localize('cannot.find', "Cannot find: {0}", resolvedPath); + let message: string = l10n.t("Cannot find: {0}", resolvedPath); if (quotedPath) { - message += '. ' + localize('wrapped.with.quotes', 'Do not add extra quotes around paths.'); + message += '. ' + l10n.t('Do not add extra quotes around paths.'); } errors.push(message); continue; @@ -1835,10 +1831,10 @@ export class CppProperties { // Check if path is a directory or file if (isDirectory && !util.checkDirectoryExistsSync(resolvedPath)) { - const message: string = localize("path.is.not.a.directory", "Path is not a directory: {0}", resolvedPath); + const message: string = l10n.t("Path is not a directory: {0}", resolvedPath); errors.push(message); } else if (!isDirectory && !util.checkFileExistsSync(resolvedPath)) { - const message: string = localize("path.is.not.a.file", "Path is not a file: {0}", resolvedPath); + const message: string = l10n.t("Path is not a file: {0}", resolvedPath); errors.push(message); } } @@ -1855,7 +1851,7 @@ export class CppProperties { // TODO: make configName non-case sensitive. const occurrences: number | undefined = this.ConfigurationNames?.filter(function (name): boolean { return name === configName; }).length; if (occurrences && occurrences > 1) { - errorMsg = localize('duplicate.name', "{0} is a duplicate. The configuration name should be unique.", configName); + errorMsg = l10n.t("{0} is a duplicate. The configuration name should be unique.", configName); } return errorMsg; } @@ -1959,7 +1955,7 @@ export class CppProperties { } for (const [configName, allRanges] of configNames) { if (allRanges && allRanges.length > 1) { - dupErrorMsg = localize('duplicate.name', "{0} is a duplicate. The configuration name should be unique.", configName); + dupErrorMsg = l10n.t("{0} is a duplicate. The configuration name should be unique.", configName); allRanges.forEach(nameRange => { const diagnostic: vscode.Diagnostic = new vscode.Diagnostic( new vscode.Range(document.positionAt(nameRange.start.character), @@ -2090,10 +2086,10 @@ export class CppProperties { dotConfigPath = checkPathExists.path; } if (!dotConfigPathExists) { - dotConfigMessage = localize('cannot.find', "Cannot find: {0}", dotConfigPath); + dotConfigMessage = l10n.t("Cannot find: {0}", String(dotConfigPath)); newSquiggleMetrics.PathNonExistent++; } else if (dotConfigPath && !util.checkFileExistsSync(dotConfigPath)) { - dotConfigMessage = localize("path.is.not.a.file", "Path is not a file: {0}", dotConfigPath); + dotConfigMessage = l10n.t("Path is not a file: {0}", dotConfigPath); newSquiggleMetrics.PathNotAFile++; } @@ -2139,7 +2135,7 @@ export class CppProperties { const endOffset = curOffset + curPath.length; const diagnostic: vscode.Diagnostic = new vscode.Diagnostic( new vscode.Range(document.positionAt(curTextStartOffset + curOffset), document.positionAt(curTextStartOffset + endOffset)), - localize('resolve.path.took.too.long', "Path took {0}s to evaluate", duration), + l10n.t("Path took {0}s to evaluate", duration), vscode.DiagnosticSeverity.Warning); diagnostics.push(diagnostic); } @@ -2150,7 +2146,7 @@ export class CppProperties { const endOffset = curOffset + curPath.length; const diagnostic: vscode.Diagnostic = new vscode.Diagnostic( new vscode.Range(document.positionAt(curTextStartOffset + curOffset), document.positionAt(curTextStartOffset + endOffset)), - localize('resolve.path.failed', "Failed to resolve path {0}. Error: {1}", curPath, (e as Error).message), + l10n.t("Failed to resolve path {0}. Error: {1}", curPath, (e as Error).message), vscode.DiagnosticSeverity.Warning); diagnostics.push(diagnostic); } @@ -2223,16 +2219,16 @@ export class CppProperties { } else { badPath = `"${expandedPaths[0]}"`; } - message = localize('cannot.find', "Cannot find: {0}", badPath); + message = l10n.t("Cannot find: {0}", badPath); if (incorrectExpandedPaths.some(p => p.match(/".*"/) !== null)) { - message += '.\n' + localize('wrapped.with.quotes', 'Do not add extra quotes around paths.'); + message += '.\n' + l10n.t('Do not add extra quotes around paths.'); } newSquiggleMetrics.PathNonExistent++; } else { // Check for file versus path mismatches. if (curOffset >= forcedIncludeStart && curOffset <= forcedeIncludeEnd) { if (expandedPaths.length > 1) { - message = localize("multiple.paths.not.allowed", "Multiple paths are not allowed."); + message = l10n.t("Multiple paths are not allowed."); newSquiggleMetrics.MultiplePathsNotAllowed++; } else { const resolvedPath = this.resolvePath(expandedPaths[0]); @@ -2240,13 +2236,13 @@ export class CppProperties { continue; } - message = localize("path.is.not.a.file", "Path is not a file: {0}", expandedPaths[0]); + message = l10n.t("Path is not a file: {0}", expandedPaths[0]); newSquiggleMetrics.PathNotAFile++; } } else if ((curOffset >= compileCommandsStart && curOffset <= compileCommandsEnd) || (curOffset >= compileCommandsArrayStart && curOffset <= compileCommandsArrayEnd)) { if (expandedPaths.length > 1) { - message = localize("multiple.paths.should.be.separate.entries", "Multiple paths should be separate entries in an array."); + message = l10n.t("Multiple paths should be separate entries in an array."); newSquiggleMetrics.MultiplePathsShouldBeSeparated++; } else { const resolvedPath = this.resolvePath(expandedPaths[0]); @@ -2254,7 +2250,7 @@ export class CppProperties { continue; } - message = localize("path.is.not.a.file", "Path is not a file: {0}", expandedPaths[0]); + message = l10n.t("Path is not a file: {0}", expandedPaths[0]); newSquiggleMetrics.PathNotAFile++; } } else { @@ -2269,11 +2265,11 @@ export class CppProperties { let badPath = ""; if (mismatchedPaths.length > 1) { badPath = mismatchedPaths.map(s => `"${s}"`).join(', '); - message = localize('paths.are.not.directories', "Paths are not directories: {0}", badPath); + message = l10n.t("Paths are not directories: {0}", badPath); newSquiggleMetrics.PathNotADirectory++; } else if (mismatchedPaths.length === 1) { badPath = `"${mismatchedPaths[0]}"`; - message = localize('path.is.not.a.directory', "Path is not a directory: {0}", badPath); + message = l10n.t("Path is not a directory: {0}", badPath); newSquiggleMetrics.PathNotADirectory++; } else { continue; @@ -2297,7 +2293,7 @@ export class CppProperties { endOffset = curOffset + curMatch.length; let message: string; if (!pathExists) { - message = localize('cannot.find', "Cannot find: {0}", expandedPaths[0]); + message = l10n.t("Cannot find: {0}", expandedPaths[0]); newSquiggleMetrics.PathNonExistent++; const diagnostic: vscode.Diagnostic = new vscode.Diagnostic( new vscode.Range(document.positionAt(envTextStartOffSet + curOffset), diff --git a/Extension/src/LanguageServer/copilotProviders.ts b/Extension/src/LanguageServer/copilotProviders.ts index 31cf21f3e..88ccc65d6 100644 --- a/Extension/src/LanguageServer/copilotProviders.ts +++ b/Extension/src/LanguageServer/copilotProviders.ts @@ -6,16 +6,13 @@ import { ContextProviderApiV1 } from '@github/copilot-language-server'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import * as util from '../common'; import * as logger from '../logger'; import * as telemetry from '../telemetry'; import { GetIncludesResult } from './client'; import { getClients } from './extension'; import { getProjectContext } from './lmTool'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export interface CopilotTrait { name: string; @@ -101,7 +98,7 @@ export async function registerRelatedFilesProvider(): Promise { throw exception; // Rethrow the cancellation error to be handled by the caller. } else if (exception instanceof Error) { telemetryProperties["error"] = "true"; - logger.getOutputChannelLogger().appendLine(localize("copilot.relatedfilesprovider.error", "Error while retrieving result. Reason: {0}", exception.message)); + logger.getOutputChannelLogger().appendLine(l10n.t("Error while retrieving result. Reason: {0}", exception.message)); } // In case of error retrieving the include files, we signal the caller of absence of the results by returning undefined. diff --git a/Extension/src/LanguageServer/cppBuildTaskProvider.ts b/Extension/src/LanguageServer/cppBuildTaskProvider.ts index e42b429c6..ca84bd332 100644 --- a/Extension/src/LanguageServer/cppBuildTaskProvider.ts +++ b/Extension/src/LanguageServer/cppBuildTaskProvider.ts @@ -6,8 +6,7 @@ import * as cp from "child_process"; import * as os from 'os'; import * as path from 'path'; -import { CustomExecution, Disposable, Event, EventEmitter, ProcessExecution, Pseudoterminal, ShellExecution, Task, TaskDefinition, TaskEndEvent, TaskExecution, TaskGroup, TaskProvider, tasks, TaskScope, TerminalDimensions, TextEditor, window, workspace, WorkspaceFolder } from 'vscode'; -import * as nls from 'vscode-nls'; +import { CustomExecution, Disposable, Event, EventEmitter, l10n, ProcessExecution, Pseudoterminal, ShellExecution, Task, TaskDefinition, TaskEndEvent, TaskExecution, TaskGroup, TaskProvider, tasks, TaskScope, TerminalDimensions, TextEditor, window, workspace, WorkspaceFolder } from 'vscode'; import * as util from '../common'; import * as telemetry from '../telemetry'; import { logAndReturn } from "../Utility/Async/returns"; @@ -17,9 +16,6 @@ import { getEffectiveEnvironment, isEnvironmentOverrideApplied } from "./devcmd" import * as ext from './extension'; import { OtherSettings } from './settings'; -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - export interface CppBuildTaskDefinition extends TaskDefinition { type: string; label: string; // The label appears in tasks.json file. @@ -183,7 +179,7 @@ export class CppBuildTaskProvider implements TaskProvider { if (!definition) { const isWindows: boolean = os.platform() === 'win32'; const taskLabel: string = ((appendSourceToName && !compilerPathBase.startsWith(ext.configPrefix)) ? - ext.configPrefix : "") + compilerPathBase + " " + localize("build.active.file", "build active file"); + ext.configPrefix : "") + compilerPathBase + " " + l10n.t("build active file"); const programName: string = util.defaultExePath(); let args: (string | util.IQuotedString)[] = isCl ? ['/Zi', '/EHsc', '/nologo', `/Fe${programName}`, '${file}'] : @@ -225,7 +221,7 @@ export class CppBuildTaskProvider implements TaskProvider { ), isCl ? '$msCompile' : '$gcc'); task.group = TaskGroup.Build; - task.detail = detail ? detail : localize("compiler.details", "compiler:") + " " + resolvedCompilerPathString; + task.detail = detail ? detail : l10n.t("compiler:") + " " + resolvedCompilerPathString; return task; }; @@ -306,7 +302,7 @@ export class CppBuildTaskProvider implements TaskProvider { ...selectedTask.definition, problemMatcher: selectedTask.problemMatchers, group: setAsDefault ? { kind: "build", isDefault: true } : "build", - detail: localize("task.generated.by.debugger", "Task generated by Debugger.") + detail: l10n.t("Task generated by Debugger.") }; rawTasksJson.tasks.push(newTask); } @@ -373,7 +369,7 @@ class CustomBuildTaskTerminal implements Pseudoterminal { async openAsync(_initialDimensions: TerminalDimensions | undefined): Promise { if (this.buildOptions.taskUsesActiveFile && !util.isCppOrCFile(window.activeTextEditor?.document.uri)) { - this.writeEmitter.fire(localize("cannot.build.non.cpp", 'Cannot build and debug because the active file is not a C or C++ source file.') + this.endOfLine); + this.writeEmitter.fire(l10n.t('Cannot build and debug because the active file is not a C or C++ source file.') + this.endOfLine); this.closeEmitter.fire(-1); return; } @@ -384,7 +380,7 @@ class CustomBuildTaskTerminal implements Pseudoterminal { } telemetry.logLanguageServerEvent("cppBuildTaskStarted"); // At this point we can start using the terminal. - this.writeEmitter.fire(localize("starting.build", "Starting build...") + this.endOfLine); + this.writeEmitter.fire(l10n.t("Starting build...") + this.endOfLine); await this.doBuild(); } @@ -487,7 +483,7 @@ class CustomBuildTaskTerminal implements Pseudoterminal { child.on('close', result => { this.writeEmitter.fire(this.endOfLine); if (result === null) { - this.writeEmitter.fire(localize("build.run.terminated", "Build run was terminated.") + this.endOfLine); + this.writeEmitter.fire(l10n.t("Build run was terminated.") + this.endOfLine); resolve(-1); } else { resolve(result); @@ -504,19 +500,19 @@ class CustomBuildTaskTerminal implements Pseudoterminal { private printBuildSummary(error: string, stdout: string, stderr: string, spawnResult: number): number { if (spawnResult !== 0) { - this.writeEmitter.fire(localize("build.finished.with.error", "Build finished with error(s).") + this.endOfLine); + this.writeEmitter.fire(l10n.t("Build finished with error(s).") + this.endOfLine); return -1; } if (error || (!stdout && stderr && stderr.includes("error")) || (stdout && (stdout.includes("error C") || stdout.includes("LINK : fatal error")))) { // cl.exe compiler errors - this.writeEmitter.fire(localize("build.finished.with.error", "Build finished with error(s).") + this.endOfLine); + this.writeEmitter.fire(l10n.t("Build finished with error(s).") + this.endOfLine); return -1; } else if ((!stdout && stderr) || // gcc/clang (stdout && stdout.includes("warning C"))) { // cl.exe compiler warnings - this.writeEmitter.fire(localize("build.finished.with.warnings", "Build finished with warning(s).") + this.endOfLine); + this.writeEmitter.fire(l10n.t("Build finished with warning(s).") + this.endOfLine); return 0; } else { - this.writeEmitter.fire(localize("build.finished.successfully", "Build finished successfully.") + this.endOfLine); + this.writeEmitter.fire(l10n.t("Build finished successfully.") + this.endOfLine); return 0; } } diff --git a/Extension/src/LanguageServer/devcmd.ts b/Extension/src/LanguageServer/devcmd.ts index ba338f660..d62f2c98f 100644 --- a/Extension/src/LanguageServer/devcmd.ts +++ b/Extension/src/LanguageServer/devcmd.ts @@ -8,25 +8,22 @@ import { vcvars } from 'node-vcvarsall'; import { vswhere } from 'node-vswhere'; import * as path from 'path'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { extensionContext, isString, resolveVariables, whichAsync } from '../common'; import { isWindows } from '../constants'; import { CppSettings } from './settings'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - -const errorNoContext = localize('no.context.provided', 'No context provided'); -const errorNotWindows = localize('not.windows', 'The "Set Visual Studio Developer Environment" command is only available on Windows'); -const errorNoVSFound = localize('error.no.vs', 'A Visual Studio installation with the C++ compiler was not found'); -export const errorOperationCancelled = localize('operation.cancelled', 'The operation was cancelled'); -const errorNoHostsFound = localize('no.hosts', 'No hosts found'); -const configuringDevEnv = localize('config.dev.env', 'Configuring developer environment...'); -const selectVSInstallation = localize('select.vs.install', 'Select a Visual Studio installation'); -const advancedOptions = localize('advanced.options', 'Advanced options...'); -const advancedOptionsDescription = localize('advanced.options.desc', 'Select a specific host and target architecture, toolset version, etc.'); -const selectToolsetVersion = localize('select.toolset', 'Select a toolset version'); -const selectHostTargetArch = localize('select.host.target', 'Select a host and target architecture'); +const l10n = vscode.l10n; + +const errorNoContext = l10n.t('No context provided'); +const errorNotWindows = l10n.t('The "Set Visual Studio Developer Environment" command is only available on Windows'); +const errorNoVSFound = l10n.t('A Visual Studio installation with the C++ compiler was not found'); +export const errorOperationCancelled = l10n.t('The operation was cancelled'); +const errorNoHostsFound = l10n.t('No hosts found'); +const configuringDevEnv = l10n.t('Configuring developer environment...'); +const selectVSInstallation = l10n.t('Select a Visual Studio installation'); +const advancedOptions = l10n.t('Advanced options...'); +const advancedOptionsDescription = l10n.t('Select a specific host and target architecture, toolset version, etc.'); +const selectToolsetVersion = l10n.t('Select a toolset version'); +const selectHostTargetArch = l10n.t('Select a host and target architecture'); export function isEnvironmentOverrideApplied(): boolean { return extensionContext?.environmentVariableCollection.get('VCToolsInstallDir') !== undefined; @@ -83,7 +80,7 @@ export async function setEnvironment(context?: vscode.ExtensionContext) { }, () => vcvars.getVCVars(vs, options)); if (!vars || !vars['INCLUDE']) { - throw new Error(localize('something.wrong', 'Something went wrong: {0}', JSON.stringify(vars))); + throw new Error(l10n.t('Something went wrong: {0}', JSON.stringify(vars))); } const host = vars['VSCMD_ARG_HOST_ARCH']; @@ -98,7 +95,7 @@ export async function setEnvironment(context?: vscode.ExtensionContext) { for (const key of Object.keys(vars)) { context.environmentVariableCollection.replace(key, vars[key].replace(`%${key}%`, '${env:' + key + '}')); } - context.environmentVariableCollection.description = localize('dev.env.for', '{0} developer environment for {1}', arch, vsDisplayNameWithSuffix(vs)); + context.environmentVariableCollection.description = l10n.t('{0} developer environment for {1}', arch, vsDisplayNameWithSuffix(vs)); context.environmentVariableCollection.persistent = settings.persistVSDeveloperEnvironment; return true; @@ -139,7 +136,7 @@ function vsDisplayNameWithSuffix(installation: vswhere.Installation): string { async function chooseVSInstallation(installations: vswhere.Installation[]): Promise { const items: vscode.QuickPickItem[] = installations.map(installation => { label: vsDisplayNameWithSuffix(installation), - detail: localize('default.env', 'Default environment for {0}', installation.catalog.productDisplayVersion) + detail: l10n.t('Default environment for {0}', installation.catalog.productDisplayVersion) }); items.push({ label: advancedOptions, @@ -202,7 +199,7 @@ async function setOptions(compiler: Compiler): Promise { if (hostTargets.length > 1) { const items = hostTargets.map(ht => { label: vcvars.getArchitecture(ht), - description: localize('host.target', 'host = {0}, target = {1}', ht.host, ht.target) + description: l10n.t('host = {0}, target = {1}', ht.host, ht.target) }); const selection = await vscode.window.showQuickPick(items, { placeHolder: selectHostTargetArch diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 55516f626..d839718d2 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -12,7 +12,6 @@ import * as os from 'os'; import * as path from 'path'; import * as vscode from 'vscode'; import { CancellationToken, Range } from 'vscode-languageclient'; -import * as nls from 'vscode-nls'; import { TargetPopulation } from 'vscode-tas-client'; import * as which from 'which'; import { logAndReturn } from '../Utility/Async/returns'; @@ -41,9 +40,8 @@ import { NodeType, TreeNode } from './referencesModel'; import { CppSettings } from './settings'; import { LanguageStatusUI, getUI } from './ui'; import { makeLspRange, rangeEquals, showInstallCompilerWalkthrough } from './utils'; +const l10n = vscode.l10n; -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); export const CppSourceStr: string = "C/C++"; export const configPrefix: string = "C/C++: "; @@ -99,7 +97,7 @@ function getVcpkgHelpAction(): vscode.CodeAction { const dummy: any[] = [{}]; // To distinguish between entry from CodeActions and the command palette return { command: { title: 'vcpkgOnlineHelpSuggested', command: 'C_Cpp.VcpkgOnlineHelpSuggested', arguments: dummy }, - title: localize("learn.how.to.install.a.library", "Learn how to install a library for this header with vcpkg"), + title: l10n.t("Learn how to install a library for this header with vcpkg"), kind: vscode.CodeActionKind.QuickFix }; } @@ -107,7 +105,7 @@ function getVcpkgHelpAction(): vscode.CodeAction { function getVcpkgClipboardInstallAction(port: string): vscode.CodeAction { return { command: { title: 'vcpkgClipboardInstallSuggested', command: 'C_Cpp.VcpkgClipboardInstallSuggested', arguments: [[port]] }, - title: localize("copy.vcpkg.command", "Copy vcpkg command to install '{0}' to the clipboard", port), + title: l10n.t("Copy vcpkg command to install '{0}' to the clipboard", port), kind: vscode.CodeActionKind.QuickFix }; } @@ -447,14 +445,9 @@ export async function registerCommands(enabled: boolean): Promise { } function onDisabledCommand() { - const message: string = localize( - { - key: "on.disabled.command", - comment: [ + const message: string = l10n.t({ message: "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`.", comment: [ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." - ] - }, - "IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`."); + ] }); return vscode.window.showWarningMessage(message); } @@ -526,7 +519,7 @@ async function onSwitchHeaderSource(): Promise { await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, - title: localize('switch.header.source', 'Switching Header/Source...'), + title: l10n.t('Switching Header/Source...'), cancellable: true }, async (_progress, token) => { const cancellationListener: vscode.Disposable = token.onCancellationRequested(() => tokenSource.cancel()); @@ -558,7 +551,7 @@ async function selectClient(): Promise { console.assert("client not found"); } } - throw new Error(localize("client.not.found", "client not found")); + throw new Error(l10n.t("client not found")); } } @@ -583,14 +576,14 @@ async function selectIntelliSenseConfiguration(sender?: any): Promise { async function installCompiler(sender?: any): Promise { const telemetryProperties = { sender: util.getSenderType(sender), platform: os.platform(), ranCommand: 'false' }; - const ok = localize('ok', 'OK'); + const ok = l10n.t('OK'); switch (os.platform()) { case "win32": showInstallCompilerWalkthrough(); break; case "darwin": { - const title = localize('install.compiler.mac.title', 'The clang compiler will now be installed'); - const detail = localize('install.compiler.mac.detail', 'You may be prompted to type your password in the VS Code terminal window to authorize the installation.'); + const title = l10n.t('The clang compiler will now be installed'); + const detail = l10n.t('You may be prompted to type your password in the VS Code terminal window to authorize the installation.'); const response = await vscode.window.showInformationMessage(title, { modal: true, detail }, ok); if (response === ok) { const terminal = vscode.window.createTerminal('Install C++ Compiler'); @@ -623,8 +616,8 @@ async function installCompiler(sender?: any): Promise { return undefined; })(); if (installCommand) { - const title = localize('install.compiler.linux.title', 'The gcc compiler will now be installed'); - const detail = localize('install.compiler.linux.detail', 'You may be prompted to type your password in the VS Code terminal window to authorize the installation.'); + const title = l10n.t('The gcc compiler will now be installed'); + const detail = l10n.t('You may be prompted to type your password in the VS Code terminal window to authorize the installation.'); const response = await vscode.window.showInformationMessage(title, { modal: true, detail }, ok); if (response === ok) { const terminal = vscode.window.createTerminal('Install C++ Compiler'); @@ -640,7 +633,7 @@ async function installCompiler(sender?: any): Promise { async function onSelectConfiguration(config?: string): Promise { if (!isFolderOpen()) { - void vscode.window.showInformationMessage(localize("configuration.select.first", 'Open a folder first to select a configuration.')); + void vscode.window.showInformationMessage(l10n.t('Open a folder first to select a configuration.')); } else { // This only applies to the active client. You cannot change the configuration for // a client that is not active since that client's UI will not be visible. @@ -650,7 +643,7 @@ async function onSelectConfiguration(config?: string): Promise { function onSelectConfigurationProvider(): void { if (!isFolderOpen()) { - void vscode.window.showInformationMessage(localize("configuration.provider.select.first", 'Open a folder first to select a configuration provider.')); + void vscode.window.showInformationMessage(l10n.t('Open a folder first to select a configuration provider.')); } else { void selectClient().then(client => client.handleConfigurationProviderSelectCommand(), logAndReturn.undefined); } @@ -659,7 +652,7 @@ function onSelectConfigurationProvider(): void { function onEditConfigurationJSON(viewColumn: vscode.ViewColumn = vscode.ViewColumn.Active): void { telemetry.logLanguageServerEvent("SettingsCommand", { "palette": "json" }, undefined); if (!isFolderOpen()) { - void vscode.window.showInformationMessage(localize('edit.configurations.open.first', 'Open a folder first to edit configurations')); + void vscode.window.showInformationMessage(l10n.t('Open a folder first to edit configurations')); } else { void selectClient().then(client => client.handleConfigurationEditJSONCommand(viewColumn), logAndReturn.undefined); } @@ -668,7 +661,7 @@ function onEditConfigurationJSON(viewColumn: vscode.ViewColumn = vscode.ViewColu function onEditConfigurationUI(viewColumn: vscode.ViewColumn = vscode.ViewColumn.Active): void { telemetry.logLanguageServerEvent("SettingsCommand", { "palette": "ui" }, undefined); if (!isFolderOpen()) { - void vscode.window.showInformationMessage(localize('edit.configurations.open.first', 'Open a folder first to edit configurations')); + void vscode.window.showInformationMessage(l10n.t('Open a folder first to edit configurations')); } else { void selectClient().then(client => client.handleConfigurationEditUICommand(viewColumn), logAndReturn.undefined); } @@ -676,7 +669,7 @@ function onEditConfigurationUI(viewColumn: vscode.ViewColumn = vscode.ViewColumn function onEditConfiguration(viewColumn: vscode.ViewColumn = vscode.ViewColumn.Active): void { if (!isFolderOpen()) { - void vscode.window.showInformationMessage(localize('edit.configurations.open.first', 'Open a folder first to edit configurations')); + void vscode.window.showInformationMessage(l10n.t('Open a folder first to edit configurations')); } else { void selectClient().then(client => client.handleConfigurationEditCommand(viewColumn), logAndReturn.undefined); } @@ -730,7 +723,7 @@ async function onRemoveCodeAnalysisProblems(refreshSquigglesOnSave: boolean, ide } // Needed due to https://github.com/microsoft/vscode/issues/148723 . -const codeActionAbortedString: string = localize('code.action.aborted', "The code analysis fix could not be applied because the document has changed."); +const codeActionAbortedString: string = l10n.t("The code analysis fix could not be applied because the document has changed."); async function onFixThisCodeAnalysisProblem(version: number, workspaceEdit: vscode.WorkspaceEdit, refreshSquigglesOnSave: boolean, identifiersAndUris: CodeAnalysisDiagnosticIdentifiersAndUri[]): Promise { if (identifiersAndUris.length < 1) { @@ -1524,9 +1517,9 @@ export async function preReleaseCheck(): Promise { // If the user isn't on the pre-release version, but one is available, prompt them to install it. if (preReleaseAvailable) { displayedPreReleasePrompt.Value = true; - const message: string = localize("prerelease.message", "A pre-release version of the C/C++ extension is available. Would you like to switch to it?"); - const yes: string = localize("yes.button", "Yes"); - const no: string = localize("no.button", "No"); + const message: string = l10n.t("A pre-release version of the C/C++ extension is available. Would you like to switch to it?"); + const yes: string = l10n.t("Yes"); + const no: string = l10n.t("No"); void vscode.window.showInformationMessage(message, yes, no).then((selection) => { if (selection === yes) { void vscode.commands.executeCommand("workbench.extensions.installExtension", "ms-vscode.cpptools", { installPreReleaseVersion: true }).then(undefined, logAndReturn.undefined); @@ -1578,8 +1571,8 @@ async function onCopilotHover(): Promise { const fileUri = vscode.Uri.file(file); if (await vscodelm.fileIsIgnored(fileUri, copilotHoverProvider.getCurrentHoverCancellationToken() ?? CancellationToken.None)) { telemetry.logLanguageServerEvent("CopilotHover", { "Message": "Copilot summary is not available due to content exclusion." }); - await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, localize("copilot.hover.unavailable", "Copilot summary is not available.") + "\n\n" + - localize("copilot.hover.excluded", "The file containing this symbol's definition or declaration has been excluded from use with Copilot.")); + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, l10n.t("Copilot summary is not available.") + "\n\n" + + l10n.t("The file containing this symbol's definition or declaration has been excluded from use with Copilot.")); return; } } @@ -1592,7 +1585,7 @@ async function onCopilotHover(): Promise { if (requestInfo.content.length === 0) { // Context is not available for this symbol. telemetry.logLanguageServerEvent("CopilotHover", { "Message": "Copilot summary is not available for this symbol." }); - await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, localize("copilot.hover.unavailable.symbol", "Copilot summary is not available for this symbol.")); + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, l10n.t("Copilot summary is not available for this symbol.")); return; } @@ -1660,7 +1653,7 @@ async function onCopilotHover(): Promise { async function reportCopilotFailure(copilotHoverProvider: CopilotHoverProvider, hoverDocument: vscode.TextDocument, hoverPosition: vscode.Position, errorMessage: string): Promise { telemetry.logLanguageServerEvent("CopilotHoverError", { "ErrorMessage": errorMessage }); // Display the localized default failure message in the hover. - await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, localize("copilot.hover.error", "An error occurred while generating Copilot summary.")); + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, l10n.t("An error occurred while generating Copilot summary.")); } async function showCopilotContent(copilotHoverProvider: CopilotHoverProvider, hoverDocument: vscode.TextDocument, hoverPosition: vscode.Position, content?: string): Promise { diff --git a/Extension/src/LanguageServer/languageConfig.ts b/Extension/src/LanguageServer/languageConfig.ts index 47acbcf6a..69d78e382 100644 --- a/Extension/src/LanguageServer/languageConfig.ts +++ b/Extension/src/LanguageServer/languageConfig.ts @@ -5,13 +5,10 @@ 'use strict'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { isString } from '../common'; import { getOutputChannel } from '../logger'; import { CppSettings } from './settings'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export interface CommentPattern { begin: string; @@ -274,7 +271,7 @@ export function getLanguageConfigFromPatterns(languageId: string, patterns?: (st } }); if (duplicates) { - getOutputChannel().appendLine(localize("duplicate.multiline.patterns", "Duplicate multiline comment patterns detected.")); + getOutputChannel().appendLine(l10n.t("Duplicate multiline comment patterns detected.")); } return { onEnterRules: beginRules.concat(continueRules).concat(endRules).filter(e => e) }; // Remove any 'undefined' entries } diff --git a/Extension/src/LanguageServer/lmTool.ts b/Extension/src/LanguageServer/lmTool.ts index 8cc7cd3bb..cc5a55c24 100644 --- a/Extension/src/LanguageServer/lmTool.ts +++ b/Extension/src/LanguageServer/lmTool.ts @@ -1,195 +1,192 @@ -/* -------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All Rights Reserved. - * See 'LICENSE' in the project root for license information. - * ------------------------------------------------------------------------------------------ */ -'use strict'; - -import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; -import * as util from '../common'; -import * as logger from '../logger'; -import * as telemetry from '../telemetry'; -import { ChatContextResult } from './client'; -import { getClients } from './extension'; -import { checkDuration } from './utils'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - -const MSVC: string = 'MSVC'; -const Clang: string = 'Clang'; -const GCC: string = 'GCC'; -const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: string } } = { - language: { - 'c': 'C', - 'cpp': 'C++', - 'cuda-cpp': 'CUDA C++' - }, - compiler: { - 'msvc': MSVC, - 'clang': Clang, - 'gcc': GCC - }, - standardVersion: { - 'c++98': 'C++98', - 'c++03': 'C++03', - 'c++11': 'C++11', - 'c++14': 'C++14', - 'c++17': 'C++17', - 'c++20': 'C++20', - 'c++23': 'C++23', - 'c++26': 'C++26', - 'c89': "C89", - 'c99': "C99", - 'c11': "C11", - 'c17': "C17", - 'c23': "C23" - }, - targetPlatform: { - 'windows': 'Windows', - 'Linux': 'Linux', - 'macos': 'macOS' - } -}; - -function formatChatContext(context: ChatContextResult): void { - type KnownKeys = 'language' | 'standardVersion' | 'compiler' | 'targetPlatform'; - for (const key in knownValues) { - const knownKey = key as KnownKeys; - if (knownValues[knownKey] && context[knownKey]) { - // Clear the value if it's not in the known values. - context[knownKey] = knownValues[knownKey][context[knownKey]] || ""; - } - } -} - -export interface ProjectContext { - language: string; - standardVersion: string; - compiler: string; - targetPlatform: string; - targetArchitecture: string; -} - -export async function getProjectContext(uri: vscode.Uri, context: { flags: Record }, cancellationToken: vscode.CancellationToken, telemetryProperties: Record, telemetryMetrics: Record): Promise { - try { - const chatContext = await checkDuration(async () => await getClients()?.ActiveClient?.getChatContext(uri, cancellationToken) ?? undefined); - telemetryMetrics["projectContextDuration"] = chatContext.duration; - if (!chatContext.result) { - return undefined; - } - - const originalStandardVersion = chatContext.result.standardVersion; - - formatChatContext(chatContext.result); - - const result: ProjectContext = { - language: chatContext.result.language, - standardVersion: chatContext.result.standardVersion, - compiler: chatContext.result.compiler, - targetPlatform: chatContext.result.targetPlatform, - targetArchitecture: chatContext.result.targetArchitecture - }; - - if (result.language) { - telemetryProperties["language"] = result.language; - } - if (result.compiler) { - telemetryProperties["compiler"] = result.compiler; - } - if (result.standardVersion) { - telemetryProperties["standardVersion"] = result.standardVersion; - } - else { - if (originalStandardVersion) { - telemetryProperties["originalStandardVersion"] = originalStandardVersion; - } - } - if (result.targetPlatform) { - telemetryProperties["targetPlatform"] = result.targetPlatform; - } - if (result.targetArchitecture) { - telemetryProperties["targetArchitecture"] = result.targetArchitecture; - } - - return result; - } - catch (exception) { - try { - const err: Error = exception as Error; - logger.getOutputChannelLogger().appendLine(localize("copilot.projectcontext.error", "Error while retrieving the project context. Reason: {0}", err.message)); - } - catch { - // Intentionally swallow any exception. - } - telemetryProperties["projectContextError"] = "true"; - throw exception; // Throw the exception for auto-retry. - } -} - -export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTool { - public async invoke(options: vscode.LanguageModelToolInvocationOptions, token: vscode.CancellationToken): Promise { - return new vscode.LanguageModelToolResult([ - new vscode.LanguageModelTextPart(await this.getContext(token))]); - } - - private async getContext(token: vscode.CancellationToken): Promise { - const telemetryProperties: Record = {}; - try { - const currentDoc = vscode.window.activeTextEditor?.document; - if (!currentDoc || (!util.isCpp(currentDoc) && !util.isHeaderFile(currentDoc.uri))) { - return 'The active document is not a C, C++, or CUDA file.'; - } - - const chatContext: ChatContextResult | undefined = await (getClients()?.ActiveClient?.getChatContext(currentDoc.uri, token) ?? undefined); - if (!chatContext) { - return 'No configuration information is available for the active document.'; - } - - formatChatContext(chatContext); - - let contextString = ""; - if (chatContext.language) { - contextString += `The user is working on a ${chatContext.language} project. `; - telemetryProperties["language"] = chatContext.language; - } - if (chatContext.standardVersion) { - contextString += `The project uses language version ${chatContext.standardVersion}. `; - telemetryProperties["standardVersion"] = chatContext.standardVersion; - } - if (chatContext.compiler) { - contextString += `The project compiles using the ${chatContext.compiler} compiler. `; - telemetryProperties["compiler"] = chatContext.compiler; - } - if (chatContext.targetPlatform) { - contextString += `The project targets the ${chatContext.targetPlatform} platform. `; - telemetryProperties["targetPlatform"] = chatContext.targetPlatform; - } - if (chatContext.targetArchitecture) { - contextString += `The project targets the ${chatContext.targetArchitecture} architecture. `; - telemetryProperties["targetArchitecture"] = chatContext.targetArchitecture; - } - if (chatContext.usedTestFrameworks.length > 0) { - contextString += `The project uses the following C++ test frameworks: ${chatContext.usedTestFrameworks.join(', ')}. `; - telemetryProperties["testFrameworks"] = chatContext.usedTestFrameworks.join(', '); - } - return contextString; - } - catch { - await this.reportError(); - telemetryProperties["error"] = "true"; - return ""; - } finally { - telemetry.logCopilotEvent('Chat/Tool/cpp', telemetryProperties); - } - } - - private async reportError(): Promise { - try { - logger.getOutputChannelLogger().appendLine(localize("copilot.cppcontext.error", "Error while retrieving the #cpp context.")); - } - catch { - // Intentionally swallow any exception. - } - } -} +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +'use strict'; + +import * as vscode from 'vscode'; +import * as util from '../common'; +import * as logger from '../logger'; +import * as telemetry from '../telemetry'; +import { ChatContextResult } from './client'; +import { getClients } from './extension'; +import { checkDuration } from './utils'; +const l10n = vscode.l10n; + +const MSVC: string = 'MSVC'; +const Clang: string = 'Clang'; +const GCC: string = 'GCC'; +const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: string } } = { + language: { + 'c': 'C', + 'cpp': 'C++', + 'cuda-cpp': 'CUDA C++' + }, + compiler: { + 'msvc': MSVC, + 'clang': Clang, + 'gcc': GCC + }, + standardVersion: { + 'c++98': 'C++98', + 'c++03': 'C++03', + 'c++11': 'C++11', + 'c++14': 'C++14', + 'c++17': 'C++17', + 'c++20': 'C++20', + 'c++23': 'C++23', + 'c++26': 'C++26', + 'c89': "C89", + 'c99': "C99", + 'c11': "C11", + 'c17': "C17", + 'c23': "C23" + }, + targetPlatform: { + 'windows': 'Windows', + 'Linux': 'Linux', + 'macos': 'macOS' + } +}; + +function formatChatContext(context: ChatContextResult): void { + type KnownKeys = 'language' | 'standardVersion' | 'compiler' | 'targetPlatform'; + for (const key in knownValues) { + const knownKey = key as KnownKeys; + if (knownValues[knownKey] && context[knownKey]) { + // Clear the value if it's not in the known values. + context[knownKey] = knownValues[knownKey][context[knownKey]] || ""; + } + } +} + +export interface ProjectContext { + language: string; + standardVersion: string; + compiler: string; + targetPlatform: string; + targetArchitecture: string; +} + +export async function getProjectContext(uri: vscode.Uri, context: { flags: Record }, cancellationToken: vscode.CancellationToken, telemetryProperties: Record, telemetryMetrics: Record): Promise { + try { + const chatContext = await checkDuration(async () => await getClients()?.ActiveClient?.getChatContext(uri, cancellationToken) ?? undefined); + telemetryMetrics["projectContextDuration"] = chatContext.duration; + if (!chatContext.result) { + return undefined; + } + + const originalStandardVersion = chatContext.result.standardVersion; + + formatChatContext(chatContext.result); + + const result: ProjectContext = { + language: chatContext.result.language, + standardVersion: chatContext.result.standardVersion, + compiler: chatContext.result.compiler, + targetPlatform: chatContext.result.targetPlatform, + targetArchitecture: chatContext.result.targetArchitecture + }; + + if (result.language) { + telemetryProperties["language"] = result.language; + } + if (result.compiler) { + telemetryProperties["compiler"] = result.compiler; + } + if (result.standardVersion) { + telemetryProperties["standardVersion"] = result.standardVersion; + } + else { + if (originalStandardVersion) { + telemetryProperties["originalStandardVersion"] = originalStandardVersion; + } + } + if (result.targetPlatform) { + telemetryProperties["targetPlatform"] = result.targetPlatform; + } + if (result.targetArchitecture) { + telemetryProperties["targetArchitecture"] = result.targetArchitecture; + } + + return result; + } + catch (exception) { + try { + const err: Error = exception as Error; + logger.getOutputChannelLogger().appendLine(l10n.t("Error while retrieving the project context. Reason: {0}", err.message)); + } + catch { + // Intentionally swallow any exception. + } + telemetryProperties["projectContextError"] = "true"; + throw exception; // Throw the exception for auto-retry. + } +} + +export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTool { + public async invoke(options: vscode.LanguageModelToolInvocationOptions, token: vscode.CancellationToken): Promise { + return new vscode.LanguageModelToolResult([ + new vscode.LanguageModelTextPart(await this.getContext(token))]); + } + + private async getContext(token: vscode.CancellationToken): Promise { + const telemetryProperties: Record = {}; + try { + const currentDoc = vscode.window.activeTextEditor?.document; + if (!currentDoc || (!util.isCpp(currentDoc) && !util.isHeaderFile(currentDoc.uri))) { + return 'The active document is not a C, C++, or CUDA file.'; + } + + const chatContext: ChatContextResult | undefined = await (getClients()?.ActiveClient?.getChatContext(currentDoc.uri, token) ?? undefined); + if (!chatContext) { + return 'No configuration information is available for the active document.'; + } + + formatChatContext(chatContext); + + let contextString = ""; + if (chatContext.language) { + contextString += `The user is working on a ${chatContext.language} project. `; + telemetryProperties["language"] = chatContext.language; + } + if (chatContext.standardVersion) { + contextString += `The project uses language version ${chatContext.standardVersion}. `; + telemetryProperties["standardVersion"] = chatContext.standardVersion; + } + if (chatContext.compiler) { + contextString += `The project compiles using the ${chatContext.compiler} compiler. `; + telemetryProperties["compiler"] = chatContext.compiler; + } + if (chatContext.targetPlatform) { + contextString += `The project targets the ${chatContext.targetPlatform} platform. `; + telemetryProperties["targetPlatform"] = chatContext.targetPlatform; + } + if (chatContext.targetArchitecture) { + contextString += `The project targets the ${chatContext.targetArchitecture} architecture. `; + telemetryProperties["targetArchitecture"] = chatContext.targetArchitecture; + } + if (chatContext.usedTestFrameworks.length > 0) { + contextString += `The project uses the following C++ test frameworks: ${chatContext.usedTestFrameworks.join(', ')}. `; + telemetryProperties["testFrameworks"] = chatContext.usedTestFrameworks.join(', '); + } + return contextString; + } + catch { + await this.reportError(); + telemetryProperties["error"] = "true"; + return ""; + } finally { + telemetry.logCopilotEvent('Chat/Tool/cpp', telemetryProperties); + } + } + + private async reportError(): Promise { + try { + logger.getOutputChannelLogger().appendLine(l10n.t("Error while retrieving the #cpp context.")); + } + catch { + // Intentionally swallow any exception. + } + } +} diff --git a/Extension/src/LanguageServer/localization.ts b/Extension/src/LanguageServer/localization.ts index fdc98be82..665780b4a 100644 --- a/Extension/src/LanguageServer/localization.ts +++ b/Extension/src/LanguageServer/localization.ts @@ -5,14 +5,12 @@ 'use strict'; import * as fs from 'fs'; -import * as nls from 'vscode-nls'; +import * as vscode from 'vscode'; import { getExtensionFilePath } from '../common'; import { lookupString } from '../nativeStrings'; +const l10n = vscode.l10n; import path = require('path'); -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - export interface LocalizeStringParams { text: string; stringId: number; @@ -68,8 +66,5 @@ export function getLocalizedHtmlPath(originalPath: string): string { } export function getLocalizedSymbolScope(scope: string, detail: string): string { - return localize({ - key: "c.cpp.symbolscope.separator", comment: - ["{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\""] - }, "{0}, {1}", scope, detail); + return l10n.t({ message: "{0}, {1}", args: [scope, detail], comment: ["{0} is an untranslated C++ keyword (e.g. \"private\") and {1} is either another keyword (e.g. \"typedef\") or a localized property (e.g. a localized version of \"declaration\")."] }); } diff --git a/Extension/src/LanguageServer/references.ts b/Extension/src/LanguageServer/references.ts index e8e3567b7..6e835a668 100644 --- a/Extension/src/LanguageServer/references.ts +++ b/Extension/src/LanguageServer/references.ts @@ -1,545 +1,541 @@ -/* -------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All Rights Reserved. - * See 'LICENSE' in the project root for license information. - * ------------------------------------------------------------------------------------------ */ -'use strict'; -import { setInterval } from 'timers'; -import * as vscode from 'vscode'; -import { Position, TextDocumentIdentifier } from 'vscode-languageclient'; -import * as nls from 'vscode-nls'; -import * as util from '../common'; -import * as logger from '../logger'; -import * as telemetry from '../telemetry'; -import { DefaultClient } from './client'; -import { PersistentState } from './persistentState'; -import { FindAllRefsView } from './referencesView'; -import { CppSettings } from './settings'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - -export enum ReferenceType { - Confirmed, - ConfirmationInProgress, - Comment, - String, - Inactive, - CannotConfirm, - NotAReference -} - -export interface ReferenceInfo { - file: string; - position: vscode.Position; - text: string; - type: ReferenceType; -} - -export interface ReferencesParams { - newName: string; - position: Position; - textDocument: TextDocumentIdentifier; -} - -export interface ReferencesResult { - referenceInfos: ReferenceInfo[]; - text: string; - isFinished: boolean; - isCanceled: boolean; -} - -export type ReferencesResultCallback = (result: ReferencesResult | null) => void; - -enum ReferencesProgress { - Started, - StartedRename, - StartedCallHierarchy, - ProcessingSource, - ProcessingTargets -} - -enum TargetReferencesProgress { - WaitingToLex, - Lexing, - WaitingToParse, - Parsing, - ConfirmingReferences, - FinishedWithoutConfirming, - FinishedConfirming -} - -export interface ReportReferencesProgressNotification { - referencesProgress: ReferencesProgress; - targetReferencesProgress: TargetReferencesProgress[]; -} - -export enum ReferencesCommandMode { - None, - Find, - Peek, - Rename, - CallHierarchy -} - -export enum CancellationSender { - /* No cancellations */ - None, - - /* Cancellation was from a new request */ - NewRequest, - - /* Cancellation was from the provider cancellation token */ - ProviderToken, - - /* Cancellation was from the language server */ - LanguageServer, - - /* Cancellation was from the user selecting the cancel button in the reference search progress bar */ - User -} - -export function referencesCommandModeToString(referencesCommandMode: ReferencesCommandMode): string { - switch (referencesCommandMode) { - case ReferencesCommandMode.Find: - return localize("find.all.references", "Find All References"); - case ReferencesCommandMode.Peek: - return localize("peek.references", "Peek References"); - case ReferencesCommandMode.Rename: - return localize("rename", "Rename"); - case ReferencesCommandMode.CallHierarchy: - return localize("call.hierarchy", "Call Hierarchy"); - default: - return ""; - } -} - -export function convertReferenceTypeToString(referenceType: ReferenceType, upperCase?: boolean): string { - if (upperCase) { - switch (referenceType) { - case ReferenceType.Confirmed: return localize("confirmed.reference.upper", "CONFIRMED REFERENCE"); - case ReferenceType.ConfirmationInProgress: return localize("confirmation.in.progress.upper", "CONFIRMATION IN PROGRESS"); - case ReferenceType.Comment: return localize("comment.reference.upper", "COMMENT REFERENCE"); - case ReferenceType.String: return localize("string.reference.upper", "STRING REFERENCE"); - case ReferenceType.Inactive: return localize("inactive.reference.upper", "INACTIVE REFERENCE"); - case ReferenceType.CannotConfirm: return localize("cannot.confirm.reference.upper", "CANNOT CONFIRM REFERENCE"); - case ReferenceType.NotAReference: return localize("not.a.reference.upper", "NOT A REFERENCE"); - } - } else { - switch (referenceType) { - case ReferenceType.Confirmed: return localize("confirmed.reference", "Confirmed reference"); - case ReferenceType.ConfirmationInProgress: return localize("confirmation.in.progress", "Confirmation in progress"); - case ReferenceType.Comment: return localize("comment.reference", "Comment reference"); - case ReferenceType.String: return localize("string.reference", "String reference"); - case ReferenceType.Inactive: return localize("inactive.reference", "Inactive reference"); - case ReferenceType.CannotConfirm: return localize("cannot.confirm.reference", "Cannot confirm reference"); - case ReferenceType.NotAReference: return localize("not.a.reference", "Not a reference"); - } - } -} - -function getReferenceCanceledString(upperCase?: boolean): string { - return upperCase ? - localize("confirmation.canceled.upper", "CONFIRMATION CANCELED") : - localize("confirmation.canceled", "Confirmation canceled"); -} - -export function getReferenceTagString(referenceType: ReferenceType, referenceCanceled: boolean, upperCase?: boolean): string { - return referenceCanceled && referenceType === ReferenceType.ConfirmationInProgress ? getReferenceCanceledString(upperCase) : convertReferenceTypeToString(referenceType, upperCase); -} - -export function getReferenceTypeIconPath(referenceType: ReferenceType): { light: vscode.Uri; dark: vscode.Uri } { - const assetsFolder: string = "assets/"; - const postFixLight: string = "-light.svg"; - const postFixDark: string = "-dark.svg"; - let basePath: string = "ref-cannot-confirm"; - - switch (referenceType) { - case ReferenceType.Confirmed: basePath = "ref-confirmed"; break; - case ReferenceType.Comment: basePath = "ref-comment"; break; - case ReferenceType.String: basePath = "ref-string"; break; - case ReferenceType.Inactive: basePath = "ref-inactive"; break; - case ReferenceType.CannotConfirm: basePath = "ref-cannot-confirm"; break; - case ReferenceType.NotAReference: basePath = "ref-not-a-reference"; break; - case ReferenceType.ConfirmationInProgress: basePath = "ref-confirmation-in-progress"; break; - } - - const lightPath: string = util.getExtensionFilePath(assetsFolder + basePath + postFixLight); - const lightPathUri: vscode.Uri = vscode.Uri.file(lightPath); - const darkPath: string = util.getExtensionFilePath(assetsFolder + basePath + postFixDark); - const darkPathUri: vscode.Uri = vscode.Uri.file(darkPath); - return { - light: lightPathUri, - dark: darkPathUri - }; -} - -function getReferenceCanceledIconPath(): { light: vscode.Uri; dark: vscode.Uri } { - const lightPath: string = util.getExtensionFilePath("assets/ref-canceled-light.svg"); - const lightPathUri: vscode.Uri = vscode.Uri.file(lightPath); - const darkPath: string = util.getExtensionFilePath("assets/ref-canceled-dark.svg"); - const darkPathUri: vscode.Uri = vscode.Uri.file(darkPath); - return { - light: lightPathUri, - dark: darkPathUri - }; -} - -export function getReferenceItemIconPath(type: ReferenceType, isCanceled: boolean): { light: vscode.Uri; dark: vscode.Uri } { - return (isCanceled && type === ReferenceType.ConfirmationInProgress) ? getReferenceCanceledIconPath() : getReferenceTypeIconPath(type); -} - -export class ReferencesManager { - private client: DefaultClient; - private disposables: vscode.Disposable[] = []; - - private referencesChannel?: vscode.OutputChannel; - private findAllRefsView?: FindAllRefsView; - private viewsInitialized: boolean = false; - - public renamePending: boolean = false; - private referenceRequestCanceled = new vscode.EventEmitter(); - - private referencesCurrentProgress?: ReportReferencesProgressNotification; - private referencesPrevProgressIncrement: number = 0; - private referencesPrevProgressMessage: string = ""; - private referencesDelayProgress?: NodeJS.Timeout; - private referencesProgressOptions?: vscode.ProgressOptions; - private referencesStartedWhileTagParsing?: boolean; - private referencesProgressMethod?: (progress: vscode.Progress<{ - message?: string; - increment?: number; - }>, token: vscode.CancellationToken) => Thenable; - private referencesProgressBarStartTime: number = 0; - private referencesCurrentProgressUICounter: number = 0; - private readonly referencesProgressUpdateInterval: number = 1000; - private readonly referencesProgressDelayInterval: number = 2000; - private currentUpdateProgressTimer?: NodeJS.Timeout; - private currentUpdateProgressResolve?: (value: unknown) => void; - - private prevVisibleRangesLength: number = 0; - private visibleRangesDecreased: boolean = false; - private visibleRangesDecreasedTicks: number = 0; - private readonly ticksForDetectingPeek: number = 1000; // TODO: Might need tweaking? - - public groupByFile: PersistentState = new PersistentState("CPP.referencesGroupByFile", false); - - constructor(client: DefaultClient) { - this.client = client; - this.disposables.push(vscode.Disposable.from(this.referenceRequestCanceled)); - } - - initializeViews(): void { - if (!this.viewsInitialized) { - this.findAllRefsView = new FindAllRefsView(); - this.viewsInitialized = true; - } - } - - public get onCancellationRequested(): vscode.Event { - return this.referenceRequestCanceled.event; - } - - public cancelCurrentReferenceRequest(sender: CancellationSender): void { - // Notify the current listener to cancel its request. - this.referenceRequestCanceled.fire(sender); - } - - public dispose(): void { - this.disposables.forEach((d) => d.dispose()); - this.disposables = []; - } - - public toggleGroupView(): void { - this.groupByFile.Value = !this.groupByFile.Value; - if (this.findAllRefsView) { - this.findAllRefsView.setGroupBy(this.groupByFile.Value); - } - } - - public UpdateProgressUICounter(mode: ReferencesCommandMode): void { - if (mode !== ReferencesCommandMode.None) { - ++this.referencesCurrentProgressUICounter; - } - } - - public updateVisibleRange(visibleRangesLength: number): void { - this.visibleRangesDecreased = visibleRangesLength < this.prevVisibleRangesLength; - if (this.visibleRangesDecreased) { - this.visibleRangesDecreasedTicks = Date.now(); - } - this.prevVisibleRangesLength = visibleRangesLength; - } - - private reportProgress(progress: vscode.Progress<{ message?: string; increment?: number }>, forceUpdate: boolean, mode: ReferencesCommandMode): void { - const helpMessage: string = (mode !== ReferencesCommandMode.Find) ? "" : ` ${localize("click.search.icon", "To preview results, click the search icon in the status bar.")}`; - if (this.referencesCurrentProgress) { - switch (this.referencesCurrentProgress.referencesProgress) { - case ReferencesProgress.Started: - case ReferencesProgress.StartedRename: - case ReferencesProgress.StartedCallHierarchy: - progress.report({ message: localize("started", "Started."), increment: 0 }); - break; - case ReferencesProgress.ProcessingSource: - progress.report({ message: localize("processing.source", "Processing source."), increment: 0 }); - break; - case ReferencesProgress.ProcessingTargets: - let numWaitingToLex: number = 0; - let numLexing: number = 0; - let numParsing: number = 0; - let numConfirmingReferences: number = 0; - let numFinishedWithoutConfirming: number = 0; - let numFinishedConfirming: number = 0; - for (const targetLocationProgress of this.referencesCurrentProgress.targetReferencesProgress) { - switch (targetLocationProgress) { - case TargetReferencesProgress.WaitingToLex: - ++numWaitingToLex; - break; - case TargetReferencesProgress.Lexing: - ++numLexing; - break; - case TargetReferencesProgress.WaitingToParse: - // The count is derived. - break; - case TargetReferencesProgress.Parsing: - ++numParsing; - break; - case TargetReferencesProgress.ConfirmingReferences: - ++numConfirmingReferences; - break; - case TargetReferencesProgress.FinishedWithoutConfirming: - ++numFinishedWithoutConfirming; - break; - case TargetReferencesProgress.FinishedConfirming: - ++numFinishedConfirming; - break; - default: - break; - } - } - - let currentMessage: string; - const numTotalToLex: number = this.referencesCurrentProgress.targetReferencesProgress.length; - const numFinishedLexing: number = numTotalToLex - numWaitingToLex - numLexing; - const numTotalToParse: number = this.referencesCurrentProgress.targetReferencesProgress.length - numFinishedWithoutConfirming; - if (numLexing >= (numParsing + numConfirmingReferences) && numFinishedConfirming === 0) { - if (numTotalToLex === 0) { - currentMessage = localize("searching.files", "Searching files."); // TODO: Prevent this from happening. - } else { - currentMessage = localize("files.searched", "{0}/{1} files searched.{2}", numFinishedLexing, numTotalToLex, helpMessage); - } - } else { - currentMessage = localize("files.confirmed", "{0}/{1} files confirmed.{2}", numFinishedConfirming, numTotalToParse, helpMessage); - } - const currentLexProgress: number = numFinishedLexing / numTotalToLex; - const confirmingWeight: number = 0.5; // Count confirming as 50% of parsing time (even though it's a lot less) so that the progress bar change is more noticeable. - const currentParseProgress: number = (numConfirmingReferences * confirmingWeight + numFinishedConfirming) / numTotalToParse; - const averageLexingPercent: number = 25; - const currentIncrement: number = currentLexProgress * averageLexingPercent + currentParseProgress * (100 - averageLexingPercent); - if (forceUpdate || currentIncrement > this.referencesPrevProgressIncrement || currentMessage !== this.referencesPrevProgressMessage) { - progress.report({ message: currentMessage, increment: currentIncrement - this.referencesPrevProgressIncrement }); - this.referencesPrevProgressIncrement = currentIncrement; - this.referencesPrevProgressMessage = currentMessage; - } - break; - } - } - } - - private handleProgressStarted(referencesProgress: ReferencesProgress): void { - this.referencesStartedWhileTagParsing = this.client.IsTagParsing; - - let mode: ReferencesCommandMode = ReferencesCommandMode.None; - if (referencesProgress === ReferencesProgress.StartedCallHierarchy) { - mode = ReferencesCommandMode.CallHierarchy; - } else if (referencesProgress === ReferencesProgress.StartedRename) { - mode = ReferencesCommandMode.Rename; - } else if (this.visibleRangesDecreased && (Date.now() - this.visibleRangesDecreasedTicks < this.ticksForDetectingPeek)) { - mode = ReferencesCommandMode.Peek; - } else { - mode = ReferencesCommandMode.Find; - } - this.client.setReferencesCommandMode(mode); - - this.referencesPrevProgressIncrement = 0; - this.referencesPrevProgressMessage = ""; - this.referencesCurrentProgressUICounter = 0; - this.currentUpdateProgressTimer = undefined; - this.currentUpdateProgressResolve = undefined; - let referencePreviousProgressUICounter: number = 0; - this.referencesProgressBarStartTime = Date.now(); - this.clearViews(); - - if (this.referencesDelayProgress) { - clearInterval(this.referencesDelayProgress); - } - - this.referencesDelayProgress = setInterval(() => { - const progressTitle: string = referencesCommandModeToString(this.client.ReferencesCommandMode); - this.referencesProgressOptions = { location: vscode.ProgressLocation.Notification, title: progressTitle, cancellable: true }; - this.referencesProgressMethod = (progress: vscode.Progress<{ message?: string; increment?: number }>, token: vscode.CancellationToken) => - new Promise((resolve) => { - this.currentUpdateProgressResolve = resolve; - this.reportProgress(progress, true, mode); - this.currentUpdateProgressTimer = setInterval(() => { - if (token.isCancellationRequested) { - this.cancelCurrentReferenceRequest(CancellationSender.User); - if (this.currentUpdateProgressTimer) { - clearInterval(this.currentUpdateProgressTimer); - } - if (this.referencesDelayProgress) { - clearInterval(this.referencesDelayProgress); - } - } - if (this.referencesCurrentProgressUICounter !== referencePreviousProgressUICounter) { - if (this.currentUpdateProgressTimer) { - clearInterval(this.currentUpdateProgressTimer); - } - this.currentUpdateProgressTimer = undefined; - if (this.referencesCurrentProgressUICounter !== referencePreviousProgressUICounter) { - referencePreviousProgressUICounter = this.referencesCurrentProgressUICounter; - this.referencesPrevProgressIncrement = 0; // Causes update bar to not reset. - if (this.referencesProgressOptions && this.referencesProgressMethod) { - void vscode.window.withProgress(this.referencesProgressOptions, this.referencesProgressMethod); - } - } - resolve(undefined); - } else { - this.reportProgress(progress, false, mode); - } - }, this.referencesProgressUpdateInterval); - }); - void vscode.window.withProgress(this.referencesProgressOptions, this.referencesProgressMethod); - if (this.referencesDelayProgress) { - clearInterval(this.referencesDelayProgress); - } - }, this.referencesProgressDelayInterval); - } - - public handleProgress(notificationBody: ReportReferencesProgressNotification): void { - this.initializeViews(); - - switch (notificationBody.referencesProgress) { - case ReferencesProgress.StartedCallHierarchy: - case ReferencesProgress.StartedRename: - case ReferencesProgress.Started: - if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { - telemetry.logLanguageServerEvent("peekReferences"); - } - this.handleProgressStarted(notificationBody.referencesProgress); - break; - default: - this.referencesCurrentProgress = notificationBody; - break; - } - } - - public resetProgressBar(): void { - if (this.referencesDelayProgress) { - clearInterval(this.referencesDelayProgress); - } - if (this.currentUpdateProgressTimer) { - if (this.currentUpdateProgressTimer) { - clearInterval(this.currentUpdateProgressTimer); - } - if (this.currentUpdateProgressResolve) { - this.currentUpdateProgressResolve(undefined); - } - this.currentUpdateProgressResolve = undefined; - this.currentUpdateProgressTimer = undefined; - } - this.referencesProgressBarStartTime = 0; - } - - public startRename(): void { - this.renamePending = true; - } - - public resetReferences(): void { - this.renamePending = false; - this.initializeViews(); - this.client.setReferencesCommandMode(ReferencesCommandMode.None); - } - - public showResultsInPanelView(referencesResult: ReferencesResult): void { - this.initializeViews(); - this.clearViews(); - - if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek && !this.referencesChannel) { - this.referencesChannel = vscode.window.createOutputChannel(localize("c.cpp.peek.references", "C/C++ Peek References")); - this.disposables.push(this.referencesChannel); - } - - if (this.referencesStartedWhileTagParsing) { - const showLog: boolean = util.getNumericLoggingLevel(new CppSettings().loggingLevel) >= 3; - const msg: string = localize("some.references.may.be.missing", "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.", - referencesCommandModeToString(this.client.ReferencesCommandMode)); - if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { - if (this.referencesChannel) { - this.referencesChannel.appendLine(msg); - this.referencesChannel.appendLine(""); - if (showLog) { - this.referencesChannel.show(true); - } - } - } else if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find) { - const logChannel: vscode.OutputChannel = logger.getOutputChannel(); - logChannel.appendLine(msg); - logChannel.appendLine(""); - if (showLog) { - logChannel.show(true); - } - } - } - - if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find || this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { - if (this.findAllRefsView) { - this.findAllRefsView.setData(referencesResult, this.groupByFile.Value); - } - - // Display in "Other References" view or channel based on command mode: "peek references" OR "find all references" - if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { - const showConfirmedReferences: boolean = referencesResult.isCanceled; - if (this.findAllRefsView) { - const peekReferencesResults: string = this.findAllRefsView.getResultsAsText(showConfirmedReferences); - if (peekReferencesResults) { - if (this.referencesChannel) { - this.referencesChannel.appendLine(peekReferencesResults); - this.referencesChannel.show(true); - } - } - } - } else if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find) { - if (this.findAllRefsView) { - this.findAllRefsView.show(true); - } - } - } - - // If this is the final result, reset after process results. - if (referencesResult.isFinished || referencesResult.isCanceled) { - this.resetReferences(); - } - } - - public getCallHierarchyProgressBarDuration(): number | undefined { - let referencesProgressBarDuration: number | undefined; - - if (this.referencesProgressBarStartTime !== 0) { - referencesProgressBarDuration = Date.now() - this.referencesProgressBarStartTime; - this.referencesProgressBarStartTime = 0; - } - return referencesProgressBarDuration; - } - - public clearViews(): void { - // Rename should not clear the Find All References view - if (this.client.ReferencesCommandMode !== ReferencesCommandMode.Rename) { - if (this.referencesChannel) { - this.referencesChannel.clear(); - } - if (this.findAllRefsView) { - this.findAllRefsView.show(false); - } - } - } -} +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +'use strict'; +import { setInterval } from 'timers'; +import * as vscode from 'vscode'; +import { Position, TextDocumentIdentifier } from 'vscode-languageclient'; +import * as util from '../common'; +import * as logger from '../logger'; +import * as telemetry from '../telemetry'; +import { DefaultClient } from './client'; +import { PersistentState } from './persistentState'; +import { FindAllRefsView } from './referencesView'; +import { CppSettings } from './settings'; +const l10n = vscode.l10n; + +export enum ReferenceType { + Confirmed, + ConfirmationInProgress, + Comment, + String, + Inactive, + CannotConfirm, + NotAReference +} + +export interface ReferenceInfo { + file: string; + position: vscode.Position; + text: string; + type: ReferenceType; +} + +export interface ReferencesParams { + newName: string; + position: Position; + textDocument: TextDocumentIdentifier; +} + +export interface ReferencesResult { + referenceInfos: ReferenceInfo[]; + text: string; + isFinished: boolean; + isCanceled: boolean; +} + +export type ReferencesResultCallback = (result: ReferencesResult | null) => void; + +enum ReferencesProgress { + Started, + StartedRename, + StartedCallHierarchy, + ProcessingSource, + ProcessingTargets +} + +enum TargetReferencesProgress { + WaitingToLex, + Lexing, + WaitingToParse, + Parsing, + ConfirmingReferences, + FinishedWithoutConfirming, + FinishedConfirming +} + +export interface ReportReferencesProgressNotification { + referencesProgress: ReferencesProgress; + targetReferencesProgress: TargetReferencesProgress[]; +} + +export enum ReferencesCommandMode { + None, + Find, + Peek, + Rename, + CallHierarchy +} + +export enum CancellationSender { + /* No cancellations */ + None, + + /* Cancellation was from a new request */ + NewRequest, + + /* Cancellation was from the provider cancellation token */ + ProviderToken, + + /* Cancellation was from the language server */ + LanguageServer, + + /* Cancellation was from the user selecting the cancel button in the reference search progress bar */ + User +} + +export function referencesCommandModeToString(referencesCommandMode: ReferencesCommandMode): string { + switch (referencesCommandMode) { + case ReferencesCommandMode.Find: + return l10n.t("Find All References"); + case ReferencesCommandMode.Peek: + return l10n.t("Peek References"); + case ReferencesCommandMode.Rename: + return l10n.t("Rename"); + case ReferencesCommandMode.CallHierarchy: + return l10n.t("Call Hierarchy"); + default: + return ""; + } +} + +export function convertReferenceTypeToString(referenceType: ReferenceType, upperCase?: boolean): string { + if (upperCase) { + switch (referenceType) { + case ReferenceType.Confirmed: return l10n.t("CONFIRMED REFERENCE"); + case ReferenceType.ConfirmationInProgress: return l10n.t("CONFIRMATION IN PROGRESS"); + case ReferenceType.Comment: return l10n.t("COMMENT REFERENCE"); + case ReferenceType.String: return l10n.t("STRING REFERENCE"); + case ReferenceType.Inactive: return l10n.t("INACTIVE REFERENCE"); + case ReferenceType.CannotConfirm: return l10n.t("CANNOT CONFIRM REFERENCE"); + case ReferenceType.NotAReference: return l10n.t("NOT A REFERENCE"); + } + } else { + switch (referenceType) { + case ReferenceType.Confirmed: return l10n.t("Confirmed reference"); + case ReferenceType.ConfirmationInProgress: return l10n.t("Confirmation in progress"); + case ReferenceType.Comment: return l10n.t("Comment reference"); + case ReferenceType.String: return l10n.t("String reference"); + case ReferenceType.Inactive: return l10n.t("Inactive reference"); + case ReferenceType.CannotConfirm: return l10n.t("Cannot confirm reference"); + case ReferenceType.NotAReference: return l10n.t("Not a reference"); + } + } +} + +function getReferenceCanceledString(upperCase?: boolean): string { + return upperCase ? + l10n.t("CONFIRMATION CANCELED") : + l10n.t("Confirmation canceled"); +} + +export function getReferenceTagString(referenceType: ReferenceType, referenceCanceled: boolean, upperCase?: boolean): string { + return referenceCanceled && referenceType === ReferenceType.ConfirmationInProgress ? getReferenceCanceledString(upperCase) : convertReferenceTypeToString(referenceType, upperCase); +} + +export function getReferenceTypeIconPath(referenceType: ReferenceType): { light: vscode.Uri; dark: vscode.Uri } { + const assetsFolder: string = "assets/"; + const postFixLight: string = "-light.svg"; + const postFixDark: string = "-dark.svg"; + let basePath: string = "ref-cannot-confirm"; + + switch (referenceType) { + case ReferenceType.Confirmed: basePath = "ref-confirmed"; break; + case ReferenceType.Comment: basePath = "ref-comment"; break; + case ReferenceType.String: basePath = "ref-string"; break; + case ReferenceType.Inactive: basePath = "ref-inactive"; break; + case ReferenceType.CannotConfirm: basePath = "ref-cannot-confirm"; break; + case ReferenceType.NotAReference: basePath = "ref-not-a-reference"; break; + case ReferenceType.ConfirmationInProgress: basePath = "ref-confirmation-in-progress"; break; + } + + const lightPath: string = util.getExtensionFilePath(assetsFolder + basePath + postFixLight); + const lightPathUri: vscode.Uri = vscode.Uri.file(lightPath); + const darkPath: string = util.getExtensionFilePath(assetsFolder + basePath + postFixDark); + const darkPathUri: vscode.Uri = vscode.Uri.file(darkPath); + return { + light: lightPathUri, + dark: darkPathUri + }; +} + +function getReferenceCanceledIconPath(): { light: vscode.Uri; dark: vscode.Uri } { + const lightPath: string = util.getExtensionFilePath("assets/ref-canceled-light.svg"); + const lightPathUri: vscode.Uri = vscode.Uri.file(lightPath); + const darkPath: string = util.getExtensionFilePath("assets/ref-canceled-dark.svg"); + const darkPathUri: vscode.Uri = vscode.Uri.file(darkPath); + return { + light: lightPathUri, + dark: darkPathUri + }; +} + +export function getReferenceItemIconPath(type: ReferenceType, isCanceled: boolean): { light: vscode.Uri; dark: vscode.Uri } { + return (isCanceled && type === ReferenceType.ConfirmationInProgress) ? getReferenceCanceledIconPath() : getReferenceTypeIconPath(type); +} + +export class ReferencesManager { + private client: DefaultClient; + private disposables: vscode.Disposable[] = []; + + private referencesChannel?: vscode.OutputChannel; + private findAllRefsView?: FindAllRefsView; + private viewsInitialized: boolean = false; + + public renamePending: boolean = false; + private referenceRequestCanceled = new vscode.EventEmitter(); + + private referencesCurrentProgress?: ReportReferencesProgressNotification; + private referencesPrevProgressIncrement: number = 0; + private referencesPrevProgressMessage: string = ""; + private referencesDelayProgress?: NodeJS.Timeout; + private referencesProgressOptions?: vscode.ProgressOptions; + private referencesStartedWhileTagParsing?: boolean; + private referencesProgressMethod?: (progress: vscode.Progress<{ + message?: string; + increment?: number; + }>, token: vscode.CancellationToken) => Thenable; + private referencesProgressBarStartTime: number = 0; + private referencesCurrentProgressUICounter: number = 0; + private readonly referencesProgressUpdateInterval: number = 1000; + private readonly referencesProgressDelayInterval: number = 2000; + private currentUpdateProgressTimer?: NodeJS.Timeout; + private currentUpdateProgressResolve?: (value: unknown) => void; + + private prevVisibleRangesLength: number = 0; + private visibleRangesDecreased: boolean = false; + private visibleRangesDecreasedTicks: number = 0; + private readonly ticksForDetectingPeek: number = 1000; // TODO: Might need tweaking? + + public groupByFile: PersistentState = new PersistentState("CPP.referencesGroupByFile", false); + + constructor(client: DefaultClient) { + this.client = client; + this.disposables.push(vscode.Disposable.from(this.referenceRequestCanceled)); + } + + initializeViews(): void { + if (!this.viewsInitialized) { + this.findAllRefsView = new FindAllRefsView(); + this.viewsInitialized = true; + } + } + + public get onCancellationRequested(): vscode.Event { + return this.referenceRequestCanceled.event; + } + + public cancelCurrentReferenceRequest(sender: CancellationSender): void { + // Notify the current listener to cancel its request. + this.referenceRequestCanceled.fire(sender); + } + + public dispose(): void { + this.disposables.forEach((d) => d.dispose()); + this.disposables = []; + } + + public toggleGroupView(): void { + this.groupByFile.Value = !this.groupByFile.Value; + if (this.findAllRefsView) { + this.findAllRefsView.setGroupBy(this.groupByFile.Value); + } + } + + public UpdateProgressUICounter(mode: ReferencesCommandMode): void { + if (mode !== ReferencesCommandMode.None) { + ++this.referencesCurrentProgressUICounter; + } + } + + public updateVisibleRange(visibleRangesLength: number): void { + this.visibleRangesDecreased = visibleRangesLength < this.prevVisibleRangesLength; + if (this.visibleRangesDecreased) { + this.visibleRangesDecreasedTicks = Date.now(); + } + this.prevVisibleRangesLength = visibleRangesLength; + } + + private reportProgress(progress: vscode.Progress<{ message?: string; increment?: number }>, forceUpdate: boolean, mode: ReferencesCommandMode): void { + const helpMessage: string = (mode !== ReferencesCommandMode.Find) ? "" : ` ${l10n.t("To preview results, click the search icon in the status bar.")}`; + if (this.referencesCurrentProgress) { + switch (this.referencesCurrentProgress.referencesProgress) { + case ReferencesProgress.Started: + case ReferencesProgress.StartedRename: + case ReferencesProgress.StartedCallHierarchy: + progress.report({ message: l10n.t("Started."), increment: 0 }); + break; + case ReferencesProgress.ProcessingSource: + progress.report({ message: l10n.t("Processing source."), increment: 0 }); + break; + case ReferencesProgress.ProcessingTargets: + let numWaitingToLex: number = 0; + let numLexing: number = 0; + let numParsing: number = 0; + let numConfirmingReferences: number = 0; + let numFinishedWithoutConfirming: number = 0; + let numFinishedConfirming: number = 0; + for (const targetLocationProgress of this.referencesCurrentProgress.targetReferencesProgress) { + switch (targetLocationProgress) { + case TargetReferencesProgress.WaitingToLex: + ++numWaitingToLex; + break; + case TargetReferencesProgress.Lexing: + ++numLexing; + break; + case TargetReferencesProgress.WaitingToParse: + // The count is derived. + break; + case TargetReferencesProgress.Parsing: + ++numParsing; + break; + case TargetReferencesProgress.ConfirmingReferences: + ++numConfirmingReferences; + break; + case TargetReferencesProgress.FinishedWithoutConfirming: + ++numFinishedWithoutConfirming; + break; + case TargetReferencesProgress.FinishedConfirming: + ++numFinishedConfirming; + break; + default: + break; + } + } + + let currentMessage: string; + const numTotalToLex: number = this.referencesCurrentProgress.targetReferencesProgress.length; + const numFinishedLexing: number = numTotalToLex - numWaitingToLex - numLexing; + const numTotalToParse: number = this.referencesCurrentProgress.targetReferencesProgress.length - numFinishedWithoutConfirming; + if (numLexing >= (numParsing + numConfirmingReferences) && numFinishedConfirming === 0) { + if (numTotalToLex === 0) { + currentMessage = l10n.t("Searching files."); // TODO: Prevent this from happening. + } else { + currentMessage = l10n.t("{0}/{1} files searched.{2}", numFinishedLexing, numTotalToLex, helpMessage); + } + } else { + currentMessage = l10n.t("{0}/{1} files confirmed.{2}", numFinishedConfirming, numTotalToParse, helpMessage); + } + const currentLexProgress: number = numFinishedLexing / numTotalToLex; + const confirmingWeight: number = 0.5; // Count confirming as 50% of parsing time (even though it's a lot less) so that the progress bar change is more noticeable. + const currentParseProgress: number = (numConfirmingReferences * confirmingWeight + numFinishedConfirming) / numTotalToParse; + const averageLexingPercent: number = 25; + const currentIncrement: number = currentLexProgress * averageLexingPercent + currentParseProgress * (100 - averageLexingPercent); + if (forceUpdate || currentIncrement > this.referencesPrevProgressIncrement || currentMessage !== this.referencesPrevProgressMessage) { + progress.report({ message: currentMessage, increment: currentIncrement - this.referencesPrevProgressIncrement }); + this.referencesPrevProgressIncrement = currentIncrement; + this.referencesPrevProgressMessage = currentMessage; + } + break; + } + } + } + + private handleProgressStarted(referencesProgress: ReferencesProgress): void { + this.referencesStartedWhileTagParsing = this.client.IsTagParsing; + + let mode: ReferencesCommandMode = ReferencesCommandMode.None; + if (referencesProgress === ReferencesProgress.StartedCallHierarchy) { + mode = ReferencesCommandMode.CallHierarchy; + } else if (referencesProgress === ReferencesProgress.StartedRename) { + mode = ReferencesCommandMode.Rename; + } else if (this.visibleRangesDecreased && (Date.now() - this.visibleRangesDecreasedTicks < this.ticksForDetectingPeek)) { + mode = ReferencesCommandMode.Peek; + } else { + mode = ReferencesCommandMode.Find; + } + this.client.setReferencesCommandMode(mode); + + this.referencesPrevProgressIncrement = 0; + this.referencesPrevProgressMessage = ""; + this.referencesCurrentProgressUICounter = 0; + this.currentUpdateProgressTimer = undefined; + this.currentUpdateProgressResolve = undefined; + let referencePreviousProgressUICounter: number = 0; + this.referencesProgressBarStartTime = Date.now(); + this.clearViews(); + + if (this.referencesDelayProgress) { + clearInterval(this.referencesDelayProgress); + } + + this.referencesDelayProgress = setInterval(() => { + const progressTitle: string = referencesCommandModeToString(this.client.ReferencesCommandMode); + this.referencesProgressOptions = { location: vscode.ProgressLocation.Notification, title: progressTitle, cancellable: true }; + this.referencesProgressMethod = (progress: vscode.Progress<{ message?: string; increment?: number }>, token: vscode.CancellationToken) => + new Promise((resolve) => { + this.currentUpdateProgressResolve = resolve; + this.reportProgress(progress, true, mode); + this.currentUpdateProgressTimer = setInterval(() => { + if (token.isCancellationRequested) { + this.cancelCurrentReferenceRequest(CancellationSender.User); + if (this.currentUpdateProgressTimer) { + clearInterval(this.currentUpdateProgressTimer); + } + if (this.referencesDelayProgress) { + clearInterval(this.referencesDelayProgress); + } + } + if (this.referencesCurrentProgressUICounter !== referencePreviousProgressUICounter) { + if (this.currentUpdateProgressTimer) { + clearInterval(this.currentUpdateProgressTimer); + } + this.currentUpdateProgressTimer = undefined; + if (this.referencesCurrentProgressUICounter !== referencePreviousProgressUICounter) { + referencePreviousProgressUICounter = this.referencesCurrentProgressUICounter; + this.referencesPrevProgressIncrement = 0; // Causes update bar to not reset. + if (this.referencesProgressOptions && this.referencesProgressMethod) { + void vscode.window.withProgress(this.referencesProgressOptions, this.referencesProgressMethod); + } + } + resolve(undefined); + } else { + this.reportProgress(progress, false, mode); + } + }, this.referencesProgressUpdateInterval); + }); + void vscode.window.withProgress(this.referencesProgressOptions, this.referencesProgressMethod); + if (this.referencesDelayProgress) { + clearInterval(this.referencesDelayProgress); + } + }, this.referencesProgressDelayInterval); + } + + public handleProgress(notificationBody: ReportReferencesProgressNotification): void { + this.initializeViews(); + + switch (notificationBody.referencesProgress) { + case ReferencesProgress.StartedCallHierarchy: + case ReferencesProgress.StartedRename: + case ReferencesProgress.Started: + if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { + telemetry.logLanguageServerEvent("peekReferences"); + } + this.handleProgressStarted(notificationBody.referencesProgress); + break; + default: + this.referencesCurrentProgress = notificationBody; + break; + } + } + + public resetProgressBar(): void { + if (this.referencesDelayProgress) { + clearInterval(this.referencesDelayProgress); + } + if (this.currentUpdateProgressTimer) { + if (this.currentUpdateProgressTimer) { + clearInterval(this.currentUpdateProgressTimer); + } + if (this.currentUpdateProgressResolve) { + this.currentUpdateProgressResolve(undefined); + } + this.currentUpdateProgressResolve = undefined; + this.currentUpdateProgressTimer = undefined; + } + this.referencesProgressBarStartTime = 0; + } + + public startRename(): void { + this.renamePending = true; + } + + public resetReferences(): void { + this.renamePending = false; + this.initializeViews(); + this.client.setReferencesCommandMode(ReferencesCommandMode.None); + } + + public showResultsInPanelView(referencesResult: ReferencesResult): void { + this.initializeViews(); + this.clearViews(); + + if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek && !this.referencesChannel) { + this.referencesChannel = vscode.window.createOutputChannel(l10n.t("C/C++ Peek References")); + this.disposables.push(this.referencesChannel); + } + + if (this.referencesStartedWhileTagParsing) { + const showLog: boolean = util.getNumericLoggingLevel(new CppSettings().loggingLevel) >= 3; + const msg: string = l10n.t("[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.", referencesCommandModeToString(this.client.ReferencesCommandMode)); + if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { + if (this.referencesChannel) { + this.referencesChannel.appendLine(msg); + this.referencesChannel.appendLine(""); + if (showLog) { + this.referencesChannel.show(true); + } + } + } else if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find) { + const logChannel: vscode.OutputChannel = logger.getOutputChannel(); + logChannel.appendLine(msg); + logChannel.appendLine(""); + if (showLog) { + logChannel.show(true); + } + } + } + + if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find || this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { + if (this.findAllRefsView) { + this.findAllRefsView.setData(referencesResult, this.groupByFile.Value); + } + + // Display in "Other References" view or channel based on command mode: "peek references" OR "find all references" + if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { + const showConfirmedReferences: boolean = referencesResult.isCanceled; + if (this.findAllRefsView) { + const peekReferencesResults: string = this.findAllRefsView.getResultsAsText(showConfirmedReferences); + if (peekReferencesResults) { + if (this.referencesChannel) { + this.referencesChannel.appendLine(peekReferencesResults); + this.referencesChannel.show(true); + } + } + } + } else if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find) { + if (this.findAllRefsView) { + this.findAllRefsView.show(true); + } + } + } + + // If this is the final result, reset after process results. + if (referencesResult.isFinished || referencesResult.isCanceled) { + this.resetReferences(); + } + } + + public getCallHierarchyProgressBarDuration(): number | undefined { + let referencesProgressBarDuration: number | undefined; + + if (this.referencesProgressBarStartTime !== 0) { + referencesProgressBarDuration = Date.now() - this.referencesProgressBarStartTime; + this.referencesProgressBarStartTime = 0; + } + return referencesProgressBarDuration; + } + + public clearViews(): void { + // Rename should not clear the Find All References view + if (this.client.ReferencesCommandMode !== ReferencesCommandMode.Rename) { + if (this.referencesChannel) { + this.referencesChannel.clear(); + } + if (this.findAllRefsView) { + this.findAllRefsView.show(false); + } + } + } +} diff --git a/Extension/src/LanguageServer/referencesTreeDataProvider.ts b/Extension/src/LanguageServer/referencesTreeDataProvider.ts index 080afb7df..b49e069ff 100644 --- a/Extension/src/LanguageServer/referencesTreeDataProvider.ts +++ b/Extension/src/LanguageServer/referencesTreeDataProvider.ts @@ -4,12 +4,9 @@ * ------------------------------------------------------------------------------------------ */ 'use strict'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { getReferenceItemIconPath, getReferenceTagString, ReferenceType } from './references'; import { NodeType, ReferencesModel, TreeNode } from './referencesModel'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export class ReferencesTreeDataProvider implements vscode.TreeDataProvider { private referencesModel: ReferencesModel | undefined; @@ -64,7 +61,7 @@ export class ReferencesTreeDataProvider implements vscode.TreeDataProvider = new PersistentState("Cpp.didEditorConfigNotice", false); if (!didEditorConfigNotice.Value) { - void vscode.window.showInformationMessage(localize({ key: "editorconfig.default.behavior", comment: ["Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text."] }, - "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting.")); + void vscode.window.showInformationMessage(l10n.t({ message: "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the 'default' value of the 'C_Cpp.formatting' setting.", comment: ["Single-quotes are used here, as this message is displayed in a context that does not render markdown. Do not change them to back-ticks. Do not change the contents of the single-quoted text."] })); didEditorConfigNotice.Value = true; } return true; diff --git a/Extension/src/LanguageServer/settingsPanel.ts b/Extension/src/LanguageServer/settingsPanel.ts index efaafc987..af8c8f0da 100644 --- a/Extension/src/LanguageServer/settingsPanel.ts +++ b/Extension/src/LanguageServer/settingsPanel.ts @@ -1,431 +1,428 @@ -/* -------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All Rights Reserved. - * See 'LICENSE' in the project root for license information. - * ------------------------------------------------------------------------------------------ */ -'use strict'; - -import * as fs from 'fs'; -import * as path from 'path'; -import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; -import * as util from '../common'; -import * as telemetry from '../telemetry'; -import * as config from './configurations'; -import { getLocalizedHtmlPath } from './localization'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - -function deepCopy(obj: any) { - return JSON.parse(JSON.stringify(obj)); -} - -// TODO: share ElementId between SettingsPanel and SettingsApp. Investigate why SettingsApp cannot import/export -const elementId: { [key: string]: string } = { - // Basic settings - configName: "configName", - configNameInvalid: "configNameInvalid", - configSelection: "configSelection", - addConfigBtn: "addConfigBtn", - addConfigOk: "addConfigOk", - addConfigCancel: "addConfigCancel", - addConfigName: "addConfigName", - - compilerPath: "compilerPath", - compilerPathInvalid: "compilerPathInvalid", - knownCompilers: "knownCompilers", - compilerArgs: "compilerArgs", - - intelliSenseMode: "intelliSenseMode", - intelliSenseModeInvalid: "intelliSenseModeInvalid", - includePath: "includePath", - includePathInvalid: "includePathInvalid", - defines: "defines", - cStandard: "cStandard", - cppStandard: "cppStandard", - - // Advanced settings - windowsSdkVersion: "windowsSdkVersion", - macFrameworkPath: "macFrameworkPath", - compileCommands: "compileCommands", - dotConfig: "dotConfig", - mergeConfigurations: "mergeConfigurations", - configurationProvider: "configurationProvider", - forcedInclude: "forcedInclude", - recursiveIncludesPriority: "recursiveIncludes.priority", - recursiveIncludesOrder: "recursiveIncludes.order", - - // Browse properties - browsePath: "browsePath", - limitSymbolsToIncludedHeaders: "limitSymbolsToIncludedHeaders", - databaseFilename: "databaseFilename", - - // Other - showAdvancedBtn: "showAdvancedBtn" -}; - -export class SettingsPanel { - private telemetry: { [key: string]: number } = {}; - private disposable?: vscode.Disposable; - - // Events - private settingsPanelActivated = new vscode.EventEmitter(); - private configValuesChanged = new vscode.EventEmitter(); - private configSelectionChanged = new vscode.EventEmitter(); - private addConfigRequested = new vscode.EventEmitter(); - - // Configuration data - private configValues: config.Configuration = { name: "" }; - private isIntelliSenseModeDefined: boolean = false; - private configIndexSelected: number = 0; - private compilerPaths: string[] = []; - - // WebviewPanel objects - private panel?: vscode.WebviewPanel; - private disposablesPanel?: vscode.Disposable; - private static readonly viewType: string = 'settingsPanel'; - private static readonly title: string = localize("c.cpp.configurations", 'C/C++ Configurations'); - - // Used to workaround a VS Code 1.56 regression in which webViewPanel.onDidChangeViewState - // gets called before the SettingsApp constructor is finished running. - // It repros with a higher probability in cases that cause a slower load, - // such as after switching to a Chinese language pack or in the remote scenario. - public initialized: boolean = false; - - constructor() { - this.disposable = vscode.Disposable.from( - this.settingsPanelActivated, - this.configValuesChanged, - this.configSelectionChanged, - this.addConfigRequested - ); - } - - public createOrShow(configSelection: string[], activeConfiguration: config.Configuration, errors: config.ConfigurationErrors, viewColumn?: vscode.ViewColumn): void { - const column: vscode.ViewColumn | undefined = viewColumn ?? vscode.window.activeTextEditor?.viewColumn; - - // Show existing panel - if (this.panel) { - this.panel.reveal(column, false); - return; - } - - this.initialized = false; - - // Create new panel - this.panel = vscode.window.createWebviewPanel( - SettingsPanel.viewType, - SettingsPanel.title, - column || vscode.ViewColumn.One, - { - enableCommandUris: true, - enableScripts: true, - retainContextWhenHidden: true, - - // Restrict the webview to only loading content from these directories - localResourceRoots: [ - vscode.Uri.file(util.extensionPath), - vscode.Uri.file(path.join(util.extensionPath, 'ui')), - vscode.Uri.file(path.join(util.extensionPath, 'dist', 'ui'))] - } - ); - - this.panel.iconPath = vscode.Uri.file(util.getExtensionFilePath("LanguageCCPP_color_128x.png")); - - this.disposablesPanel = vscode.Disposable.from( - this.panel, - this.panel.onDidDispose(this.onPanelDisposed, this), - this.panel.onDidChangeViewState(this.onViewStateChanged, this), - this.panel.webview.onDidReceiveMessage(this.onMessageReceived, this), - vscode.window.onDidChangeWindowState(this.onWindowStateChanged, this) - ); - - this.panel.webview.html = this.getHtml(); - - this.updateWebview(configSelection, activeConfiguration, errors); - } - - public get SettingsPanelActivated(): vscode.Event { - return this.settingsPanelActivated.event; - } - - public get ConfigValuesChanged(): vscode.Event { - return this.configValuesChanged.event; - } - - public get ConfigSelectionChanged(): vscode.Event { - return this.configSelectionChanged.event; - } - - public get AddConfigRequested(): vscode.Event { - return this.addConfigRequested.event; - } - - public get selectedConfigIndex(): number { - return this.configIndexSelected; - } - - public set selectedConfigIndex(index: number) { - this.configIndexSelected = index; - } - - public getLastValuesFromConfigUI(): config.Configuration { - return this.configValues; - } - - public updateConfigUI(configSelection: string[], configuration: config.Configuration, errors: config.ConfigurationErrors | null): void { - if (this.panel) { - this.updateWebview(configSelection, configuration, errors); - } - } - - public setKnownCompilers(knownCompilers?: config.KnownCompiler[], pathSeparator?: string): void { - if (knownCompilers && knownCompilers.length) { - for (const compiler of knownCompilers) { - // Normalize path separators. - let path: string = compiler.path; - if (pathSeparator === "Forward Slash") { - path = path.replace(/\\/g, '/'); - } else { - path = path.replace(/\//g, '\\'); - } - // Do not add duplicate paths in case the default compilers for cpp and c are the same. - if (this.compilerPaths.indexOf(path) === -1) { - this.compilerPaths.push(path); - } - } - } - } - - public updateErrors(errors: config.ConfigurationErrors): void { - if (this.panel) { - void this.panel.webview.postMessage({ command: 'updateErrors', errors: errors }); - } - } - - public dispose(): void { - // Log any telemetry - if (Object.keys(this.telemetry).length) { - telemetry.logLanguageServerEvent("ConfigUI", undefined, this.telemetry); - } - - // Clean up resources - if (this.panel) { - this.panel.dispose(); - } - - if (this.disposable) { - this.disposable.dispose(); - } - - if (this.disposablesPanel) { - this.disposablesPanel.dispose(); - } - } - - private onPanelDisposed(): void { - if (this.disposablesPanel) { - this.disposablesPanel.dispose(); - this.panel = undefined; - } - } - - private updateWebview(configSelection: string[], configuration: config.Configuration, errors: config.ConfigurationErrors | null): void { - this.configValues = deepCopy(configuration); // Copy configuration values - this.isIntelliSenseModeDefined = this.configValues.intelliSenseMode !== undefined; - if (this.panel && this.initialized) { - void this.panel.webview.postMessage({ command: 'setKnownCompilers', compilers: this.compilerPaths }); - void this.panel.webview.postMessage({ command: 'updateConfigSelection', selections: configSelection, selectedIndex: this.configIndexSelected }); - void this.panel.webview.postMessage({ command: 'updateConfig', config: this.configValues }); - if (errors !== null) { - void this.panel.webview.postMessage({ command: 'updateErrors', errors: errors }); - } - } - } - - private onViewStateChanged(e: vscode.WebviewPanelOnDidChangeViewStateEvent): void { - if (e.webviewPanel.active) { - this.settingsPanelActivated.fire(); - } - } - - private onWindowStateChanged(e: vscode.WindowState): void { - if (e.focused) { - this.settingsPanelActivated.fire(); - } - } - - private onMessageReceived(message: any): void { - if (message === null || message === undefined) { - return; - } - switch (message.command) { - case 'change': - this.updateConfig(message); - break; - case 'configSelect': - this.configSelect(message.index); - break; - case 'addConfig': - this.addConfig(message.name); - break; - case 'knownCompilerSelect': - this.knownCompilerSelect(); - break; - case "initialized": - this.initialized = true; - this.settingsPanelActivated.fire(); - break; - } - } - - private addConfig(name: string): void { - this.addConfigRequested.fire(name); - this.logTelemetryForElement(elementId.addConfigName); - } - - private configSelect(index: number): void { - this.configIndexSelected = index; - this.configSelectionChanged.fire(); - this.logTelemetryForElement(elementId.configSelection); - } - - private knownCompilerSelect(): void { - this.logTelemetryForElement(elementId.knownCompilers); - // Remove one count from compilerPath because selecting a different compiler causes a change on the compiler path - if (this.telemetry[elementId.compilerPath]) { - this.telemetry[elementId.compilerPath]--; - } - } - - private updateConfig(message: any): void { - const splitEntries: (input: any) => string[] | undefined = (input: any) => { - const result = input.split("\n").filter((e: string) => e); - return result.length === 0 ? undefined : result; - }; - - switch (message.key) { - case elementId.configName: - this.configValues.name = message.value; - break; - case elementId.compilerPath: - this.configValues.compilerPath = message.value || undefined; - break; - case elementId.compilerArgs: - this.configValues.compilerArgs = splitEntries(message.value); - break; - case elementId.includePath: - this.configValues.includePath = splitEntries(message.value); - break; - case elementId.defines: - this.configValues.defines = splitEntries(message.value); - break; - case elementId.intelliSenseMode: - if (message.value !== "${default}" || this.isIntelliSenseModeDefined) { - this.configValues.intelliSenseMode = message.value; - } else { - this.configValues.intelliSenseMode = undefined; - } - break; - case elementId.cStandard: - this.configValues.cStandard = message.value; - break; - case elementId.cppStandard: - this.configValues.cppStandard = message.value; - break; - case elementId.windowsSdkVersion: - this.configValues.windowsSdkVersion = message.value || undefined; - break; - case elementId.macFrameworkPath: - this.configValues.macFrameworkPath = splitEntries(message.value); - break; - case elementId.compileCommands: - this.configValues.compileCommands = splitEntries(message.value); - break; - case elementId.dotConfig: - this.configValues.dotConfig = message.value || undefined; - break; - case elementId.mergeConfigurations: - this.configValues.mergeConfigurations = message.value; - break; - case elementId.configurationProvider: - this.configValues.configurationProvider = message.value || undefined; - break; - case elementId.forcedInclude: - this.configValues.forcedInclude = splitEntries(message.value); - break; - case elementId.recursiveIncludesPriority: - if (!this.configValues.recursiveIncludes) { - this.configValues.recursiveIncludes = {}; - } - this.configValues.recursiveIncludes.priority = message.value; - break; - case elementId.recursiveIncludesOrder: - if (!this.configValues.recursiveIncludes) { - this.configValues.recursiveIncludes = {}; - } - this.configValues.recursiveIncludes.order = message.value; - break; - case elementId.browsePath: - if (!this.configValues.browse) { - this.configValues.browse = {}; - } - this.configValues.browse.path = splitEntries(message.value); - break; - case elementId.limitSymbolsToIncludedHeaders: - if (!this.configValues.browse) { - this.configValues.browse = {}; - } - this.configValues.browse.limitSymbolsToIncludedHeaders = message.value; - break; - case elementId.databaseFilename: - if (!this.configValues.browse) { - this.configValues.browse = {}; - } - this.configValues.browse.databaseFilename = message.value || undefined; - break; - } - - this.configValuesChanged.fire(); - this.logTelemetryForElement(message.key); - } - - private logTelemetryForElement(elementId: string): void { - if (this.telemetry[elementId] === undefined) { - this.telemetry[elementId] = 0; - } - this.telemetry[elementId]++; - } - - private getHtml(): string { - let content: string | undefined; - - content = fs.readFileSync(getLocalizedHtmlPath("ui/settings.html")).toString(); - - if (this.panel && this.panel.webview) { - const cppImageUri: vscode.Uri = this.panel.webview.asWebviewUri(vscode.Uri.file(path.join(util.extensionPath, 'LanguageCCPP_color_128x.png'))); - content = content.replace( - /{{cpp_image_uri}}/g, - cppImageUri.toString()); - const settingsJsUri: vscode.Uri = this.panel.webview.asWebviewUri(vscode.Uri.file(path.join(util.extensionPath, 'dist/ui/settings.js'))); - content = content.replace( - /{{settings_js_uri}}/g, - settingsJsUri.toString()); - } - - content = content.replace( - /{{nonce}}/g, - this.getNonce()); - - return content; - } - - private getNonce(): string { - let nonce: string = ""; - const possible: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for (let i: number = 0; i < 32; i++) { - nonce += possible.charAt(Math.floor(Math.random() * possible.length)); - } - return nonce; - } -} +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +'use strict'; + +import * as fs from 'fs'; +import * as path from 'path'; +import * as vscode from 'vscode'; +import * as util from '../common'; +import * as telemetry from '../telemetry'; +import * as config from './configurations'; +import { getLocalizedHtmlPath } from './localization'; +const l10n = vscode.l10n; + +function deepCopy(obj: any) { + return JSON.parse(JSON.stringify(obj)); +} + +// TODO: share ElementId between SettingsPanel and SettingsApp. Investigate why SettingsApp cannot import/export +const elementId: { [key: string]: string } = { + // Basic settings + configName: "configName", + configNameInvalid: "configNameInvalid", + configSelection: "configSelection", + addConfigBtn: "addConfigBtn", + addConfigOk: "addConfigOk", + addConfigCancel: "addConfigCancel", + addConfigName: "addConfigName", + + compilerPath: "compilerPath", + compilerPathInvalid: "compilerPathInvalid", + knownCompilers: "knownCompilers", + compilerArgs: "compilerArgs", + + intelliSenseMode: "intelliSenseMode", + intelliSenseModeInvalid: "intelliSenseModeInvalid", + includePath: "includePath", + includePathInvalid: "includePathInvalid", + defines: "defines", + cStandard: "cStandard", + cppStandard: "cppStandard", + + // Advanced settings + windowsSdkVersion: "windowsSdkVersion", + macFrameworkPath: "macFrameworkPath", + compileCommands: "compileCommands", + dotConfig: "dotConfig", + mergeConfigurations: "mergeConfigurations", + configurationProvider: "configurationProvider", + forcedInclude: "forcedInclude", + recursiveIncludesPriority: "recursiveIncludes.priority", + recursiveIncludesOrder: "recursiveIncludes.order", + + // Browse properties + browsePath: "browsePath", + limitSymbolsToIncludedHeaders: "limitSymbolsToIncludedHeaders", + databaseFilename: "databaseFilename", + + // Other + showAdvancedBtn: "showAdvancedBtn" +}; + +export class SettingsPanel { + private telemetry: { [key: string]: number } = {}; + private disposable?: vscode.Disposable; + + // Events + private settingsPanelActivated = new vscode.EventEmitter(); + private configValuesChanged = new vscode.EventEmitter(); + private configSelectionChanged = new vscode.EventEmitter(); + private addConfigRequested = new vscode.EventEmitter(); + + // Configuration data + private configValues: config.Configuration = { name: "" }; + private isIntelliSenseModeDefined: boolean = false; + private configIndexSelected: number = 0; + private compilerPaths: string[] = []; + + // WebviewPanel objects + private panel?: vscode.WebviewPanel; + private disposablesPanel?: vscode.Disposable; + private static readonly viewType: string = 'settingsPanel'; + private static readonly title: string = l10n.t('C/C++ Configurations'); + + // Used to workaround a VS Code 1.56 regression in which webViewPanel.onDidChangeViewState + // gets called before the SettingsApp constructor is finished running. + // It repros with a higher probability in cases that cause a slower load, + // such as after switching to a Chinese language pack or in the remote scenario. + public initialized: boolean = false; + + constructor() { + this.disposable = vscode.Disposable.from( + this.settingsPanelActivated, + this.configValuesChanged, + this.configSelectionChanged, + this.addConfigRequested + ); + } + + public createOrShow(configSelection: string[], activeConfiguration: config.Configuration, errors: config.ConfigurationErrors, viewColumn?: vscode.ViewColumn): void { + const column: vscode.ViewColumn | undefined = viewColumn ?? vscode.window.activeTextEditor?.viewColumn; + + // Show existing panel + if (this.panel) { + this.panel.reveal(column, false); + return; + } + + this.initialized = false; + + // Create new panel + this.panel = vscode.window.createWebviewPanel( + SettingsPanel.viewType, + SettingsPanel.title, + column || vscode.ViewColumn.One, + { + enableCommandUris: true, + enableScripts: true, + retainContextWhenHidden: true, + + // Restrict the webview to only loading content from these directories + localResourceRoots: [ + vscode.Uri.file(util.extensionPath), + vscode.Uri.file(path.join(util.extensionPath, 'ui')), + vscode.Uri.file(path.join(util.extensionPath, 'dist', 'ui'))] + } + ); + + this.panel.iconPath = vscode.Uri.file(util.getExtensionFilePath("LanguageCCPP_color_128x.png")); + + this.disposablesPanel = vscode.Disposable.from( + this.panel, + this.panel.onDidDispose(this.onPanelDisposed, this), + this.panel.onDidChangeViewState(this.onViewStateChanged, this), + this.panel.webview.onDidReceiveMessage(this.onMessageReceived, this), + vscode.window.onDidChangeWindowState(this.onWindowStateChanged, this) + ); + + this.panel.webview.html = this.getHtml(); + + this.updateWebview(configSelection, activeConfiguration, errors); + } + + public get SettingsPanelActivated(): vscode.Event { + return this.settingsPanelActivated.event; + } + + public get ConfigValuesChanged(): vscode.Event { + return this.configValuesChanged.event; + } + + public get ConfigSelectionChanged(): vscode.Event { + return this.configSelectionChanged.event; + } + + public get AddConfigRequested(): vscode.Event { + return this.addConfigRequested.event; + } + + public get selectedConfigIndex(): number { + return this.configIndexSelected; + } + + public set selectedConfigIndex(index: number) { + this.configIndexSelected = index; + } + + public getLastValuesFromConfigUI(): config.Configuration { + return this.configValues; + } + + public updateConfigUI(configSelection: string[], configuration: config.Configuration, errors: config.ConfigurationErrors | null): void { + if (this.panel) { + this.updateWebview(configSelection, configuration, errors); + } + } + + public setKnownCompilers(knownCompilers?: config.KnownCompiler[], pathSeparator?: string): void { + if (knownCompilers && knownCompilers.length) { + for (const compiler of knownCompilers) { + // Normalize path separators. + let path: string = compiler.path; + if (pathSeparator === "Forward Slash") { + path = path.replace(/\\/g, '/'); + } else { + path = path.replace(/\//g, '\\'); + } + // Do not add duplicate paths in case the default compilers for cpp and c are the same. + if (this.compilerPaths.indexOf(path) === -1) { + this.compilerPaths.push(path); + } + } + } + } + + public updateErrors(errors: config.ConfigurationErrors): void { + if (this.panel) { + void this.panel.webview.postMessage({ command: 'updateErrors', errors: errors }); + } + } + + public dispose(): void { + // Log any telemetry + if (Object.keys(this.telemetry).length) { + telemetry.logLanguageServerEvent("ConfigUI", undefined, this.telemetry); + } + + // Clean up resources + if (this.panel) { + this.panel.dispose(); + } + + if (this.disposable) { + this.disposable.dispose(); + } + + if (this.disposablesPanel) { + this.disposablesPanel.dispose(); + } + } + + private onPanelDisposed(): void { + if (this.disposablesPanel) { + this.disposablesPanel.dispose(); + this.panel = undefined; + } + } + + private updateWebview(configSelection: string[], configuration: config.Configuration, errors: config.ConfigurationErrors | null): void { + this.configValues = deepCopy(configuration); // Copy configuration values + this.isIntelliSenseModeDefined = this.configValues.intelliSenseMode !== undefined; + if (this.panel && this.initialized) { + void this.panel.webview.postMessage({ command: 'setKnownCompilers', compilers: this.compilerPaths }); + void this.panel.webview.postMessage({ command: 'updateConfigSelection', selections: configSelection, selectedIndex: this.configIndexSelected }); + void this.panel.webview.postMessage({ command: 'updateConfig', config: this.configValues }); + if (errors !== null) { + void this.panel.webview.postMessage({ command: 'updateErrors', errors: errors }); + } + } + } + + private onViewStateChanged(e: vscode.WebviewPanelOnDidChangeViewStateEvent): void { + if (e.webviewPanel.active) { + this.settingsPanelActivated.fire(); + } + } + + private onWindowStateChanged(e: vscode.WindowState): void { + if (e.focused) { + this.settingsPanelActivated.fire(); + } + } + + private onMessageReceived(message: any): void { + if (message === null || message === undefined) { + return; + } + switch (message.command) { + case 'change': + this.updateConfig(message); + break; + case 'configSelect': + this.configSelect(message.index); + break; + case 'addConfig': + this.addConfig(message.name); + break; + case 'knownCompilerSelect': + this.knownCompilerSelect(); + break; + case "initialized": + this.initialized = true; + this.settingsPanelActivated.fire(); + break; + } + } + + private addConfig(name: string): void { + this.addConfigRequested.fire(name); + this.logTelemetryForElement(elementId.addConfigName); + } + + private configSelect(index: number): void { + this.configIndexSelected = index; + this.configSelectionChanged.fire(); + this.logTelemetryForElement(elementId.configSelection); + } + + private knownCompilerSelect(): void { + this.logTelemetryForElement(elementId.knownCompilers); + // Remove one count from compilerPath because selecting a different compiler causes a change on the compiler path + if (this.telemetry[elementId.compilerPath]) { + this.telemetry[elementId.compilerPath]--; + } + } + + private updateConfig(message: any): void { + const splitEntries: (input: any) => string[] | undefined = (input: any) => { + const result = input.split("\n").filter((e: string) => e); + return result.length === 0 ? undefined : result; + }; + + switch (message.key) { + case elementId.configName: + this.configValues.name = message.value; + break; + case elementId.compilerPath: + this.configValues.compilerPath = message.value || undefined; + break; + case elementId.compilerArgs: + this.configValues.compilerArgs = splitEntries(message.value); + break; + case elementId.includePath: + this.configValues.includePath = splitEntries(message.value); + break; + case elementId.defines: + this.configValues.defines = splitEntries(message.value); + break; + case elementId.intelliSenseMode: + if (message.value !== "${default}" || this.isIntelliSenseModeDefined) { + this.configValues.intelliSenseMode = message.value; + } else { + this.configValues.intelliSenseMode = undefined; + } + break; + case elementId.cStandard: + this.configValues.cStandard = message.value; + break; + case elementId.cppStandard: + this.configValues.cppStandard = message.value; + break; + case elementId.windowsSdkVersion: + this.configValues.windowsSdkVersion = message.value || undefined; + break; + case elementId.macFrameworkPath: + this.configValues.macFrameworkPath = splitEntries(message.value); + break; + case elementId.compileCommands: + this.configValues.compileCommands = splitEntries(message.value); + break; + case elementId.dotConfig: + this.configValues.dotConfig = message.value || undefined; + break; + case elementId.mergeConfigurations: + this.configValues.mergeConfigurations = message.value; + break; + case elementId.configurationProvider: + this.configValues.configurationProvider = message.value || undefined; + break; + case elementId.forcedInclude: + this.configValues.forcedInclude = splitEntries(message.value); + break; + case elementId.recursiveIncludesPriority: + if (!this.configValues.recursiveIncludes) { + this.configValues.recursiveIncludes = {}; + } + this.configValues.recursiveIncludes.priority = message.value; + break; + case elementId.recursiveIncludesOrder: + if (!this.configValues.recursiveIncludes) { + this.configValues.recursiveIncludes = {}; + } + this.configValues.recursiveIncludes.order = message.value; + break; + case elementId.browsePath: + if (!this.configValues.browse) { + this.configValues.browse = {}; + } + this.configValues.browse.path = splitEntries(message.value); + break; + case elementId.limitSymbolsToIncludedHeaders: + if (!this.configValues.browse) { + this.configValues.browse = {}; + } + this.configValues.browse.limitSymbolsToIncludedHeaders = message.value; + break; + case elementId.databaseFilename: + if (!this.configValues.browse) { + this.configValues.browse = {}; + } + this.configValues.browse.databaseFilename = message.value || undefined; + break; + } + + this.configValuesChanged.fire(); + this.logTelemetryForElement(message.key); + } + + private logTelemetryForElement(elementId: string): void { + if (this.telemetry[elementId] === undefined) { + this.telemetry[elementId] = 0; + } + this.telemetry[elementId]++; + } + + private getHtml(): string { + let content: string | undefined; + + content = fs.readFileSync(getLocalizedHtmlPath("ui/settings.html")).toString(); + + if (this.panel && this.panel.webview) { + const cppImageUri: vscode.Uri = this.panel.webview.asWebviewUri(vscode.Uri.file(path.join(util.extensionPath, 'LanguageCCPP_color_128x.png'))); + content = content.replace( + /{{cpp_image_uri}}/g, + cppImageUri.toString()); + const settingsJsUri: vscode.Uri = this.panel.webview.asWebviewUri(vscode.Uri.file(path.join(util.extensionPath, 'dist/ui/settings.js'))); + content = content.replace( + /{{settings_js_uri}}/g, + settingsJsUri.toString()); + } + + content = content.replace( + /{{nonce}}/g, + this.getNonce()); + + return content; + } + + private getNonce(): string { + let nonce: string = ""; + const possible: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for (let i: number = 0; i < 32; i++) { + nonce += possible.charAt(Math.floor(Math.random() * possible.length)); + } + return nonce; + } +} diff --git a/Extension/src/LanguageServer/ui.ts b/Extension/src/LanguageServer/ui.ts index bd976ed8b..3adb23c10 100644 --- a/Extension/src/LanguageServer/ui.ts +++ b/Extension/src/LanguageServer/ui.ts @@ -5,16 +5,13 @@ 'use strict'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import * as util from '../common'; import * as telemetry from '../telemetry'; import { Client } from './client'; import { CustomConfigurationProviderCollection, getCustomConfigProviders, isSameProviderExtensionId } from './customProviders'; import { ReferencesCommandMode, referencesCommandModeToString } from './references'; import { CppSettings } from './settings'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; let ui: LanguageStatusUI; @@ -48,21 +45,21 @@ export class LanguageStatusUI { // IntelliSense language status private intelliSenseStatusItem: vscode.LanguageStatusItem; - private readonly updatingIntelliSenseText: string = localize("updating.intellisense.text", "IntelliSense: Updating"); - private readonly idleIntelliSenseText: string = localize("idle.intellisense.text", "IntelliSense: Ready"); + private readonly updatingIntelliSenseText: string = l10n.t("IntelliSense: Updating"); + private readonly idleIntelliSenseText: string = l10n.t("IntelliSense: Ready"); // Tag parse language status private tagParseStatusItem: vscode.LanguageStatusItem; private isParsingWorkspace: boolean = false; private isParsingWorkspacePaused: boolean = false; private isParsingFiles: boolean = false; private readonly dataBaseIcon: string = "$(database)"; - private readonly workspaceParsingInitializing: string = localize("initializing.tagparser.text", "Initializing Workspace"); - private readonly workspaceParsingIndexing: string = localize("indexing.tagparser.text", "Indexing Workspace"); - private readonly workspaceParsingRunningText: string = localize("running.tagparser.text", "Parsing Workspace"); - private readonly workspaceParsingPausedText: string = localize("paused.tagparser.text", "Parsing Workspace: Paused"); - private readonly workspaceParsingDoneText: string = localize("complete.tagparser.text", "Parsing Complete"); - private readonly workspaceRescanText: string = localize("rescan.tagparse.text", "Rescan Workspace"); - private readonly parsingFilesTooltip: string = localize("c.cpp.parsing.open.files.tooltip", "Parsing Open Files"); + private readonly workspaceParsingInitializing: string = l10n.t("Initializing Workspace"); + private readonly workspaceParsingIndexing: string = l10n.t("Indexing Workspace"); + private readonly workspaceParsingRunningText: string = l10n.t("Parsing Workspace"); + private readonly workspaceParsingPausedText: string = l10n.t("Parsing Workspace: Paused"); + private readonly workspaceParsingDoneText: string = l10n.t("Parsing Complete"); + private readonly workspaceRescanText: string = l10n.t("Rescan Workspace"); + private readonly parsingFilesTooltip: string = l10n.t("Parsing Open Files"); // Code analysis language status private codeAnalysisStatusItem: vscode.LanguageStatusItem; @@ -71,13 +68,13 @@ export class LanguageStatusUI { private codeAnalysisProcessed: number = 0; private codeAnalysisTotal: number = 0; private codeAnalysProgress: string = ""; - private readonly codeAnalysisRunningText: string = localize("running.analysis.text", "Code Analysis: Running"); - private readonly codeAnalysisPausedText: string = localize("paused.analysis.text", "Code Analysis: Paused"); - private readonly codeAnalysisModePrefix: string = localize("mode.analysis.prefix", "Code Analysis Mode: "); + private readonly codeAnalysisRunningText: string = l10n.t("Code Analysis: Running"); + private readonly codeAnalysisPausedText: string = l10n.t("Code Analysis: Paused"); + private readonly codeAnalysisModePrefix: string = l10n.t("Code Analysis Mode: "); // References status bar private referencesStatusBarItem: vscode.StatusBarItem; - private readonly referencesPreviewTooltip: string = ` (${localize("click.to.preview", "click to preview results")})`; + private readonly referencesPreviewTooltip: string = ` (${l10n.t("click to preview results")})`; // Configuration status bar private configurationStatusBarItem: vscode.StatusBarItem; @@ -86,7 +83,7 @@ export class LanguageStatusUI { private configureIntelliSenseStatusBarItem: vscode.StatusBarItem; private showConfigureIntelliSenseButton: boolean = false; private configureIntelliSenseTimeout?: NodeJS.Timeout; - private readonly configureIntelliSenseText: string = localize("c.cpp.configureIntelliSenseStatus.text", "Configure IntelliSense"); + private readonly configureIntelliSenseText: string = l10n.t("Configure IntelliSense"); constructor() { this.intelliSenseStatusItem = this.createIntelliSenseStatusItem(); @@ -110,7 +107,7 @@ export class LanguageStatusUI { //#region IntelliSense language status private createIntelliSenseStatusItem(): vscode.LanguageStatusItem { const item: vscode.LanguageStatusItem = vscode.languages.createLanguageStatusItem(`cpptools.status.${LanguageStatusPriority.High}.intellisense`, util.documentSelector); - item.name = localize("cpptools.status.intellisense", "C/C++ IntelliSense Status"); + item.name = l10n.t("C/C++ IntelliSense Status"); item.text = this.idleIntelliSenseText; return item; } @@ -127,8 +124,8 @@ export class LanguageStatusUI { } this.intelliSenseStatusItem.command = { command: "C_Cpp.RestartIntelliSenseForFile", - title: localize("rescan.intellisense.text", "Rescan"), - tooltip: localize("rescan.intellisense.tooltip", "Rescan IntelliSense"), + title: l10n.t("Rescan"), + tooltip: l10n.t("Rescan IntelliSense"), arguments: commandArguments }; } @@ -137,8 +134,8 @@ export class LanguageStatusUI { //#region Tag parse language status private createTagParseStatusItem(): vscode.LanguageStatusItem { const item: vscode.LanguageStatusItem = vscode.languages.createLanguageStatusItem(`cpptools.status.${LanguageStatusPriority.Mid}.tagparser`, util.documentSelector); - item.name = localize("cpptools.status.tagparser", "C/C++ Tag Parser Status"); - item.detail = localize("cpptools.detail.tagparser", "Initializing..."); + item.name = l10n.t("C/C++ Tag Parser Status"); + item.detail = l10n.t("Initializing..."); item.text = this.dataBaseIcon; item.command = { command: "C_Cpp.RescanWorkspace", @@ -218,12 +215,12 @@ export class LanguageStatusUI { // Pausing/resuming is only applicable to parsing workspace. this.tagParseStatusItem.command = this.isParsingWorkspacePaused ? { command: "C_Cpp.ResumeParsing", - title: localize("tagparser.resume.text", "Resume"), + title: l10n.t("Resume"), arguments: commandArguments, tooltip: this.tagParseStatusItem.command?.tooltip ?? undefined } : { command: "C_Cpp.PauseParsing", - title: localize("tagparser.pause.text", "Pause"), + title: l10n.t("Pause"), arguments: commandArguments, tooltip: this.tagParseStatusItem.command?.tooltip ?? undefined }; @@ -251,11 +248,11 @@ export class LanguageStatusUI { //#region Code analysis language status private createCodeAnalysisStatusItem(): vscode.LanguageStatusItem { const item: vscode.LanguageStatusItem = vscode.languages.createLanguageStatusItem(`cpptools.status.${LanguageStatusPriority.Low}.codeanalysis`, util.documentSelector); - item.name = localize("cpptools.status.codeanalysis", "C/C++ Code Analysis Status"); + item.name = l10n.t("C/C++ Code Analysis Status"); item.text = this.codeAnalysisModePrefix + this.codeAnalysisCurrentMode(); item.command = { command: "C_Cpp.ShowIdleCodeAnalysisCommands", - title: localize("c.cpp.codeanalysis.statusbar.runNow", "Run Now"), + title: l10n.t("Run Now"), arguments: commandArguments }; return item; @@ -280,8 +277,8 @@ export class LanguageStatusUI { private codeAnalysisCurrentMode(): string { const settings: CppSettings = new CppSettings((vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) ? vscode.workspace.workspaceFolders[0]?.uri : undefined); const state: string = (settings.codeAnalysisRunAutomatically && settings.clangTidyEnabled) - ? localize("mode.codeanalysis.status.automatic", "Automatic") - : localize("mode.codeanalysis.status.manual", "Manual"); + ? l10n.t("Automatic") + : l10n.t("Manual"); return state; } @@ -296,20 +293,19 @@ export class LanguageStatusUI { this.refreshCodeAnalysisText(val); this.codeAnalysisStatusItem.command = val ? { command: "C_Cpp.ShowActiveCodeAnalysisCommands", - title: localize("c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions", "Options"), + title: l10n.t("Options"), // Make sure not to overwrite current progress - tooltip: this.codeAnalysisStatusItem.command?.tooltip ?? localize("startup.codeanalysis.status", "Starting..."), + tooltip: this.codeAnalysisStatusItem.command?.tooltip ?? l10n.t("Starting..."), arguments: commandArguments } : { command: "C_Cpp.ShowIdleCodeAnalysisCommands", - title: localize("c.cpp.codeanalysis.statusbar.showRunNowOptions", "Run Now"), + title: l10n.t("Run Now"), arguments: commandArguments }; } private updateCodeAnalysisTooltip(): void { - this.codeAnalysProgress = localize("running.analysis.processed.tooltip", "Running: {0} / {1} ({2}%)", - this.codeAnalysisProcessed, Math.max(this.codeAnalysisTotal, 1), Math.floor(100 * this.codeAnalysisProcessed / Math.max(this.codeAnalysisTotal, 1))); + this.codeAnalysProgress = l10n.t("Running: {0} / {1} ({2}%)", this.codeAnalysisProcessed, Math.max(this.codeAnalysisTotal, 1), Math.floor(100 * this.codeAnalysisProcessed / Math.max(this.codeAnalysisTotal, 1))); if (this.codeAnalysisStatusItem.command) { this.codeAnalysisStatusItem.command.tooltip = this.codeAnalysProgress; @@ -339,29 +335,29 @@ export class LanguageStatusUI { public async showActiveCodeAnalysisCommands(): Promise { const options: vscode.QuickPickOptions = {}; - options.placeHolder = localize("select.code.analysis.command", "Select a code analysis command..."); + options.placeHolder = l10n.t("Select a code analysis command..."); const items: IndexableQuickPickItem[] = []; - items.push({ label: localize("cancel.analysis", "Cancel"), description: "", index: 0 }); + items.push({ label: l10n.t("Cancel"), description: "", index: 0 }); if (this.isCodeAnalysisPaused) { - items.push({ label: localize("resume.analysis", "Resume"), description: "", index: 2 }); + items.push({ label: l10n.t("Resume"), description: "", index: 2 }); } else { - items.push({ label: localize("pause.analysis", "Pause"), description: "", index: 1 }); + items.push({ label: l10n.t("Pause"), description: "", index: 1 }); } - items.push({ label: localize("another.analysis", "Start Another..."), description: "", index: 3 }); + items.push({ label: l10n.t("Start Another..."), description: "", index: 3 }); const selection: IndexableQuickPickItem | undefined = await vscode.window.showQuickPick(items, options); return selection ? selection.index : -1; } public async showIdleCodeAnalysisCommands(): Promise { const options: vscode.QuickPickOptions = {}; - options.placeHolder = localize("select.command", "Select a command..."); + options.placeHolder = l10n.t("Select a command..."); const items: IndexableQuickPickItem[] = []; - items.push({ label: localize("active.analysis", "Run Code Analysis on Active File"), description: "", index: 0 }); - items.push({ label: localize("all.analysis", "Run Code Analysis on All Files"), description: "", index: 1 }); - items.push({ label: localize("open.analysis", "Run Code Analysis on Open Files"), description: "", index: 2 }); + items.push({ label: l10n.t("Run Code Analysis on Active File"), description: "", index: 0 }); + items.push({ label: l10n.t("Run Code Analysis on All Files"), description: "", index: 1 }); + items.push({ label: l10n.t("Run Code Analysis on Open Files"), description: "", index: 2 }); const selection: IndexableQuickPickItem | undefined = await vscode.window.showQuickPick(items, options); return selection ? selection.index : -1; } @@ -370,7 +366,7 @@ export class LanguageStatusUI { //#region References status private createReferencesStatusBarItem(): vscode.StatusBarItem { const item: vscode.StatusBarItem = vscode.window.createStatusBarItem(`c.cpp.references.statusbar`, vscode.StatusBarAlignment.Right, 901); - item.name = localize("c.cpp.references.statusbar", "C/C++ References Status"); + item.name = l10n.t("C/C++ References Status"); item.tooltip = ""; item.command = { command: "C_Cpp.ShowReferencesProgress", @@ -409,7 +405,7 @@ export class LanguageStatusUI { //#region Configuration status bar private createConfigurationStatusBarItem(): vscode.StatusBarItem { - const configTooltip: string = localize("c.cpp.configuration.tooltip", "C/C++ Configuration"); + const configTooltip: string = l10n.t("C/C++ Configuration"); const item: vscode.StatusBarItem = vscode.window.createStatusBarItem("c.cpp.configuration.tooltip", vscode.StatusBarAlignment.Right, 0); item.name = configTooltip; item.tooltip = configTooltip; @@ -436,7 +432,7 @@ export class LanguageStatusUI { //#region Configure IntelliSense status bar private createConfigureIntelliSenseStatusBarItem(): vscode.StatusBarItem { - const cppConfigureIntelliSenseText: string = localize("c.cpp.configureIntelliSenseStatus.cppText", "C/C++ Configure IntelliSense"); + const cppConfigureIntelliSenseText: string = l10n.t("C/C++ Configure IntelliSense"); const item: vscode.StatusBarItem = vscode.window.createStatusBarItem(`c.cpp.configureIntelliSenseStatus.statusbar`, vscode.StatusBarAlignment.Right, 0); item.name = cppConfigureIntelliSenseText; item.tooltip = cppConfigureIntelliSenseText; @@ -522,14 +518,14 @@ export class LanguageStatusUI { public async showConfigurations(configurationNames: string[]): Promise { const options: vscode.QuickPickOptions = {}; - options.placeHolder = localize("select.a.configuration", "Select a Configuration..."); + options.placeHolder = l10n.t("Select a Configuration..."); const items: IndexableQuickPickItem[] = []; for (let i: number = 0; i < configurationNames.length; i++) { items.push({ label: configurationNames[i], description: "", index: i }); } - items.push({ label: localize("edit.configuration.ui", "Edit Configurations (UI)"), description: "", index: configurationNames.length }); - items.push({ label: localize("edit.configuration.json", "Edit Configurations (JSON)"), description: "", index: configurationNames.length + 1 }); + items.push({ label: l10n.t("Edit Configurations (UI)"), description: "", index: configurationNames.length }); + items.push({ label: l10n.t("Edit Configurations (JSON)"), description: "", index: configurationNames.length + 1 }); const selection: IndexableQuickPickItem | undefined = await vscode.window.showQuickPick(items, options); return selection ? selection.index : -1; @@ -537,18 +533,18 @@ export class LanguageStatusUI { public async showConfigurationProviders(currentProvider?: string): Promise { const options: vscode.QuickPickOptions = {}; - options.placeHolder = localize("select.configuration.provider", "Select a Configuration Provider..."); + options.placeHolder = l10n.t("Select a Configuration Provider..."); const providers: CustomConfigurationProviderCollection = getCustomConfigProviders(); const items: KeyedQuickPickItem[] = []; providers.forEach(provider => { let label: string = provider.name; if (isSameProviderExtensionId(currentProvider, provider.extensionId)) { - label += ` (${localize("active", "active")})`; + label += ` (${l10n.t("active")})`; } items.push({ label: label, description: "", key: provider.extensionId }); }); - items.push({ label: `(${localize("none", "none")})`, description: localize("disable.configuration.provider", "Disable the active configuration provider, if applicable."), key: "" }); + items.push({ label: `(${l10n.t("none")})`, description: l10n.t("Disable the active configuration provider, if applicable."), key: "" }); const selection: KeyedQuickPickItem | undefined = await vscode.window.showQuickPick(items, options); return selection ? selection.key : undefined; @@ -556,7 +552,7 @@ export class LanguageStatusUI { public async showWorkspaces(workspaceNames: { name: string; key: string }[]): Promise { const options: vscode.QuickPickOptions = {}; - options.placeHolder = localize("select.workspace", "Select a workspace folder..."); + options.placeHolder = l10n.t("Select a workspace folder..."); const items: KeyedQuickPickItem[] = []; workspaceNames.forEach(name => items.push({ label: name.name, description: "", key: name.key })); diff --git a/Extension/src/SSH/TargetsView/sshTargetsProvider.ts b/Extension/src/SSH/TargetsView/sshTargetsProvider.ts index 2c2249575..13f882d5b 100644 --- a/Extension/src/SSH/TargetsView/sshTargetsProvider.ts +++ b/Extension/src/SSH/TargetsView/sshTargetsProvider.ts @@ -4,14 +4,11 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { extensionContext, ISshConfigHostInfo } from '../../common'; import { getSshConfigHostInfos } from '../sshHosts'; import { addSshTargetCmd, BaseNode, LabelLeafNode, refreshCppSshTargetsViewCmd } from './common'; import { filesWritable, setActiveSshTarget, TargetLeafNode, workspaceState_activeSshTarget, _activeTarget } from './targetNodes'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; let _targets: Map = new Map(); @@ -29,7 +26,7 @@ export class SshTargetsProvider implements vscode.TreeDataProvider, vs const children: BaseNode[] = await this.getTargets(); if (children.length === 0) { - return [new LabelLeafNode(localize('no.ssh.targets', 'No SSH targets'))]; + return [new LabelLeafNode(l10n.t('No SSH targets'))]; } return children; @@ -94,7 +91,7 @@ export async function getActiveSshTarget(selectWhenNotSet: boolean = true): Prom if (!_activeTarget && selectWhenNotSet) { const name: string | undefined = await selectSshTarget(); if (!name) { - throw Error(localize('active.ssh.target.selection.cancelled', 'Active SSH target selection cancelled.')); + throw Error(l10n.t('Active SSH target selection cancelled.')); } await setActiveSshTarget(name); await vscode.commands.executeCommand(refreshCppSshTargetsViewCmd); @@ -102,13 +99,13 @@ export async function getActiveSshTarget(selectWhenNotSet: boolean = true): Prom return _activeTarget; } -const addNewSshTarget: string = localize('add.new.ssh.target', '{0} Add New SSH Target...', '$(plus)'); +const addNewSshTarget: string = l10n.t('{0} Add New SSH Target...', '$(plus)'); export async function selectSshTarget(): Promise { const items: string[] = Array.from(_targets.keys()); // Special item for adding SSH target items.push(addNewSshTarget); - const selection: string | undefined = await vscode.window.showQuickPick(items, { title: localize('select.ssh.target', 'Select an SSH target') }); + const selection: string | undefined = await vscode.window.showQuickPick(items, { title: l10n.t('Select an SSH target') }); if (!selection) { return undefined; } diff --git a/Extension/src/SSH/TargetsView/targetNodes.ts b/Extension/src/SSH/TargetsView/targetNodes.ts index 352083e90..a4d51eb8f 100644 --- a/Extension/src/SSH/TargetsView/targetNodes.ts +++ b/Extension/src/SSH/TargetsView/targetNodes.ts @@ -4,14 +4,10 @@ * ------------------------------------------------------------------------------------------ */ import { constants } from 'fs'; -import { TreeItem } from "vscode"; -import * as nls from 'vscode-nls'; +import { l10n, TreeItem } from "vscode"; import { extensionContext, ISshConfigHostInfo, pathAccessible } from "../../common"; import { LabelLeafNode } from "./common"; -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - export const workspaceState_activeSshTarget: string = 'workspaceState_activeSshTarget'; // File path => writable @@ -36,7 +32,7 @@ export class TargetLeafNode extends LabelLeafNode { const item: TreeItem = await super.getTreeItem(); const removable: boolean = await isWritable(this.sshConfigHostInfo.file); if (_activeTarget === this.name) { - item.description = localize('ssh.target.active.description', '[Active]'); + item.description = l10n.t('[Active]'); if (removable) { item.contextValue = 'CppSshTargetsView.targetLeafRemovable'; } diff --git a/Extension/src/SSH/commandInteractors.ts b/Extension/src/SSH/commandInteractors.ts index ce676c070..cf2444c69 100644 --- a/Extension/src/SSH/commandInteractors.ts +++ b/Extension/src/SSH/commandInteractors.ts @@ -4,13 +4,10 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { escapeStringForRegex, extensionContext, getFullHostAddress, ISshHostInfo, stripEscapeSequences } from '../common'; import { isWindows } from '../constants'; import { getOutputChannelLogger } from '../logger'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; /** * The users that we autofilled their passwords. @@ -344,7 +341,7 @@ export class ConnectionFailureInteractor implements IInteractor { const result: IInteraction = { postAction: 'keep' }; if (data.includes('Connection refused') || data.includes('Could not resolve hostname')) { result.postAction = 'consume'; - void getOutputChannelLogger().showErrorMessage(localize('failed.to.connect', 'Failed to connect to {0}', this.hostName)); + void getOutputChannelLogger().showErrorMessage(l10n.t('Failed to connect to {0}', this.hostName)); } return result; } diff --git a/Extension/src/SSH/commands.ts b/Extension/src/SSH/commands.ts index 159138f31..8d33d812f 100644 --- a/Extension/src/SSH/commands.ts +++ b/Extension/src/SSH/commands.ts @@ -4,13 +4,10 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { getFullHostAddress, getFullHostAddressNoPort, ISshHostInfo, ISshLocalForwardInfo, ProcessReturnType } from '../common'; import { defaultSystemInteractor } from './commandInteractors'; import { runSshTerminalCommandWithLogin } from './sshCommandRunner'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export async function scp(files: vscode.Uri[], host: ISshHostInfo, targetDir: string, recursive: boolean = true, scpPath?: string, jumpHosts?: ISshHostInfo[], cancellationToken?: vscode.CancellationToken): Promise { const args: string[] = []; @@ -82,16 +79,16 @@ export function ssh(host: ISshHostInfo, command: string, sshPath?: string, jumpH function localForwardToArgs(localForward: ISshLocalForwardInfo): string[] { // Do not combine error checking and arg conversion for clarity. if (localForward.localSocket && (localForward.bindAddress || localForward.port)) { - throw Error(localize('local.forward.local.conflict', '"localSocket" cannot be specified at the same time with "bindAddress" or "port" in localForwards')); + throw Error(l10n.t('"localSocket" cannot be specified at the same time with "bindAddress" or "port" in localForwards')); } if (!localForward.localSocket && !localForward.port) { - throw Error(localize('local.forward.local.missing', '"port" or "localSocket" required in localForwards')); + throw Error(l10n.t('"port" or "localSocket" required in localForwards')); } if (localForward.remoteSocket && (localForward.host || localForward.hostPort)) { - throw Error(localize('local.forward.remote.conflict', '"remoteSocket" cannot be specified at the same time with "host" or "hostPort" in localForwards')); + throw Error(l10n.t('"remoteSocket" cannot be specified at the same time with "host" or "hostPort" in localForwards')); } if (!localForward.remoteSocket && (!localForward.host || !localForward.hostPort)) { - throw Error(localize('local.forward.remote.missing', '"host" and "hostPort", or "remoteSocket" required in localForwards')); + throw Error(l10n.t('"host" and "hostPort", or "remoteSocket" required in localForwards')); } let arg: string = ''; diff --git a/Extension/src/SSH/sshCommandRunner.ts b/Extension/src/SSH/sshCommandRunner.ts index be60f83db..5ce1f0324 100644 --- a/Extension/src/SSH/sshCommandRunner.ts +++ b/Extension/src/SSH/sshCommandRunner.ts @@ -6,7 +6,6 @@ import * as os from 'os'; import * as path from 'path'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { CppSettings } from '../LanguageServer/settings'; import { ManualPromise } from '../Utility/Async/manualPromise'; import { ISshHostInfo, ProcessReturnType, getNumericLoggingLevel, splitLines, stripEscapeSequences } from '../common'; @@ -21,13 +20,11 @@ import { TwoFacInteractor, autoFilledPasswordForUsers } from './commandInteractors'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export class CanceledError extends Error { constructor() { - super(localize('ssh.canceled', 'SSH command canceled')); + super(l10n.t('SSH command canceled')); } } @@ -42,7 +39,7 @@ export function showPassphraseInputBox( cancelToken?: vscode.CancellationToken ): Promise { const keyStr: string = keyName ? `"${keyName}"` : ''; - const msg: string = localize('ssh.passphrase.input.box', 'Enter passphrase for ssh key {0}', keyStr); + const msg: string = l10n.t('Enter passphrase for ssh key {0}', keyStr); return showInputBox(msg, prompt, cancelToken); } @@ -51,7 +48,7 @@ export function showPasswordInputBox( prompt?: string, cancelToken?: vscode.CancellationToken ): Promise { - const msg: string = user ? localize('ssh.enter.password.for.user', 'Enter password for user "{0}"', user) : localize('ssh.message.enter.password', 'Enter password'); + const msg: string = user ? l10n.t('Enter password for user "{0}"', user) : l10n.t('Enter password'); return showInputBox(msg, prompt, cancelToken); } @@ -108,7 +105,7 @@ class ConfirmationItem implements vscode.QuickPickItem, vscode.MessageItem { } } -const continueConfirmationPlaceholder: string = localize('ssh.continue.confirmation.placeholder', 'Are you sure you want to continue?'); +const continueConfirmationPlaceholder: string = l10n.t('Are you sure you want to continue?'); export async function showHostKeyConfirmation( host: string, @@ -116,7 +113,7 @@ export async function showHostKeyConfirmation( cancelToken?: vscode.CancellationToken ): Promise { return showConfirmationPicker( - localize('ssh.host.key.confirmation.title', '"{0}" has fingerprint "{1}".', host, fingerprint), + l10n.t('"{0}" has fingerprint "{1}".', host, fingerprint), continueConfirmationPlaceholder, cancelToken ); @@ -137,7 +134,7 @@ async function showConfirmationPicker( return new Promise((resolve, reject) => { const quickPick: vscode.QuickPick = vscode.window.createQuickPick(); quickPick.canSelectMany = false; - quickPick.items = [new ConfirmationItem(localize('continue', 'Continue'), 'yes'), new ConfirmationItem(localize('cancel', 'Cancel'), 'no')]; + quickPick.items = [new ConfirmationItem(l10n.t('Continue'), 'yes'), new ConfirmationItem(l10n.t('Cancel'), 'no')]; quickPick.title = title; quickPick.placeholder = placeholder; @@ -291,11 +288,11 @@ export function runInteractiveSshTerminalCommand(args: ITerminalCommandArgs): Pr if (!noClean) { clean(); } - getSshChannel().appendLine(cancel ? localize('ssh.terminal.command.canceled', '"{0}" terminal command canceled.', nickname) : localize('ssh.terminal.command.done', '"{0}" terminal command done.', nickname)); + getSshChannel().appendLine(cancel ? l10n.t('"{0}" terminal command canceled.', nickname) : l10n.t('"{0}" terminal command done.', nickname)); if (cancel) { if (continueWithoutExiting) { - const warningMessage: string = localize('ssh.continuing.command.canceled', 'Task \'{0}\' is canceled, but the underlying command may not be terminated. Please check manually.', command); + const warningMessage: string = l10n.t('Task \'{0}\' is canceled, but the underlying command may not be terminated. Please check manually.', command); getSshChannel().appendLine(warningMessage); void vscode.window.showWarningMessage(warningMessage); } @@ -309,7 +306,7 @@ export function runInteractiveSshTerminalCommand(args: ITerminalCommandArgs): Pr const failed = (error?: any) => { clean(); - const errorMessage: string = localize('ssh.process.failed', '"{0}" process failed: {1}', nickname, error); + const errorMessage: string = l10n.t('"{0}" process failed: {1}', nickname, error); getSshChannel().appendLine(errorMessage); void vscode.window.showErrorMessage(errorMessage); result.reject(error); @@ -397,7 +394,7 @@ export function runInteractiveSshTerminalCommand(args: ITerminalCommandArgs): Pr ? interaction.response.replace(/./g, '*') : interaction.response; if (loggingLevel >= 5) { - getSshChannel().appendLine(localize('ssh.wrote.data.to.terminal', '"{0}" wrote data to terminal: "{1}".', nickname, logOutput)); + getSshChannel().appendLine(l10n.t('"{0}" wrote data to terminal: "{1}".', nickname, logOutput)); } } } @@ -461,7 +458,7 @@ export function runInteractiveSshTerminalCommand(args: ITerminalCommandArgs): Pr terminal.sendText(sendText); if (loggingLevel >= 5) { - getSshChannel().appendLine(localize('ssh.wrote.data.to.terminal', '"{0}" wrote data to terminal: "{1}".', nickname, args.sendText)); + getSshChannel().appendLine(l10n.t('"{0}" wrote data to terminal: "{1}".', nickname, args.sendText)); } } diff --git a/Extension/src/SSH/sshHosts.ts b/Extension/src/SSH/sshHosts.ts index b1b37f4b7..11cce74c6 100644 --- a/Extension/src/SSH/sshHosts.ts +++ b/Extension/src/SSH/sshHosts.ts @@ -17,13 +17,10 @@ import { } from 'ssh-config'; import { promisify } from 'util'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { ISshConfigHostInfo, resolveHome } from "../common"; import { isWindows } from '../constants'; import { getSshChannel } from '../logger'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; const globAsync: (pattern: string, options?: glob.IOptions | undefined) => Promise = promisify(glob); @@ -62,8 +59,7 @@ function extractHostNames(parsedConfig: Configuration): { [host: string]: string try { resolvedConfig = parsedConfig.compute(host); } catch { - getSshChannel().appendLine(localize("failed.to.find.user.info.for.SSH", - "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.")); + getSshChannel().appendLine(l10n.t("Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.")); } if (resolvedConfig?.HostName !== undefined) { hostNames[host] = resolvedConfig.HostName; @@ -89,7 +85,7 @@ export async function getSshConfiguration(configurationPath: string, resolveIncl parsedSrc = parse(src); } catch (err) { parseFailures.set(configurationPath, true); - getSshChannel().appendLine(localize("failed.to.parse.SSH.config", "Failed to parse SSH configuration file {0}: {1}", configurationPath, (err as Error).message)); + getSshChannel().appendLine(l10n.t("Failed to parse SSH configuration file {0}: {1}", configurationPath, (err as Error).message)); return parse(''); } const config: Configuration = caseNormalizeConfigProps(parsedSrc); @@ -161,7 +157,7 @@ async function getIncludedConfigFile( try { includedContents = (await fs.readFile(includePath)).toString(); } catch { - getSshChannel().appendLine(localize("failed.to.read.file", "Failed to read file {0}.", includePath)); + getSshChannel().appendLine(l10n.t("Failed to read file {0}.", includePath)); return; } @@ -169,7 +165,7 @@ async function getIncludedConfigFile( try { parsedIncludedContents = parse(includedContents); } catch (err) { - getSshChannel().appendLine(localize("failed.to.parse.SSH.config", "Failed to parse SSH configuration file {0}: {1}", includePath, (err as Error).message)); + getSshChannel().appendLine(l10n.t("Failed to parse SSH configuration file {0}: {1}", includePath, (err as Error).message)); return; } await resolveConfigIncludes(parsedIncludedContents, includePath, processedIncludePaths, processedIncludeEntries); @@ -182,7 +178,7 @@ export async function writeSshConfiguration(configurationPath: string, configura await vscode.workspace.fs.createDirectory(vscode.Uri.file(path.dirname(configurationPath))); await fs.writeFile(configurationPath, configuration.toString()); } catch { - getSshChannel().appendLine(localize("failed.to.write.file", "Failed to write to file {0}.", configurationPath)); + getSshChannel().appendLine(l10n.t("Failed to write to file {0}.", configurationPath)); } } @@ -196,7 +192,7 @@ async function getSshConfigSource(configurationPath: string): Promise { if ((e as NodeJS.ErrnoException).code === 'ENOENT') { return ''; } - getSshChannel().appendLine(localize("failed.to.read.file", "Failed to read file {0}.", configurationPath)); + getSshChannel().appendLine(l10n.t("Failed to read file {0}.", configurationPath)); } return ''; diff --git a/Extension/src/common.ts b/Extension/src/common.ts index 7bfda0ec8..41579a429 100644 --- a/Extension/src/common.ts +++ b/Extension/src/common.ts @@ -12,7 +12,6 @@ import * as path from 'path'; import * as tmp from 'tmp'; import * as vscode from 'vscode'; import { DocumentFilter, Range } from 'vscode-languageclient'; -import * as nls from 'vscode-nls'; import { TargetPopulation } from 'vscode-tas-client'; import { ManualPromise } from './Utility/Async/manualPromise'; import { isWindows } from './constants'; @@ -20,10 +19,9 @@ import { getOutputChannelLogger, showOutputChannel } from './logger'; import { PlatformInformation } from './platform'; import * as Telemetry from './telemetry'; import which = require('which'); +const l10n = vscode.l10n; -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); -export const failedToParseJson: string = localize("failed.to.parse.json", "Failed to parse json file, possibly due to comments or trailing commas."); +export const failedToParseJson: string = l10n.t("Failed to parse json file, possibly due to comments or trailing commas."); export type Mutable = { // eslint-disable-next-line @typescript-eslint/array-type @@ -229,7 +227,7 @@ export function isCppOrRelated(document: vscode.TextDocument): boolean { } let isExtensionNotReadyPromptDisplayed: boolean = false; -export const extensionNotReadyString: string = localize("extension.not.ready", 'The C/C++ extension is still installing. See the output window for more information.'); +export const extensionNotReadyString: string = l10n.t('The C/C++ extension is still installing. See the output window for more information.'); export function displayExtensionNotReadyPrompt(): void { if (!isExtensionNotReadyPromptDisplayed) { @@ -711,7 +709,7 @@ export function deleteDirectory(directoryPath: string): Promise { export function getReadmeMessage(): string { const readmePath: string = getExtensionFilePath("README.md"); - const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues"); + const readmeMessage: string = l10n.t("Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues"); return readmeMessage; } @@ -777,14 +775,14 @@ export async function spawnChildProcess(program: string, args: string[] = [], co const programOutput: ProcessOutput = await spawnChildProcessImpl(program, args, continueOn, skipLogging, cancellationToken); const exitCode: number | NodeJS.Signals | undefined = programOutput.exitCode; if (programOutput.exitCode) { - return { succeeded: false, exitCode, outputError: programOutput.stderr, output: programOutput.stderr || programOutput.stdout || localize('process.exited', 'Process exited with code {0}', exitCode) }; + return { succeeded: false, exitCode, outputError: programOutput.stderr, output: programOutput.stderr || programOutput.stdout || l10n.t('Process exited with code {0}', String(exitCode)) }; } else { let stdout: string; if (programOutput.stdout.length) { // Type system doesn't work very well here, so we need call toString stdout = programOutput.stdout; } else { - stdout = localize('process.succeeded', 'Process executed successfully.'); + stdout = l10n.t('Process executed successfully.'); } return { succeeded: true, exitCode, outputError: programOutput.stderr, output: stdout }; } @@ -807,7 +805,7 @@ async function spawnChildProcessImpl(program: string, args: string[], continueOn } const cancellationTokenListener: vscode.Disposable | undefined = cancellationToken?.onCancellationRequested(() => { - getOutputChannelLogger().appendLine(localize('killing.process', 'Killing process {0}', program)); + getOutputChannelLogger().appendLine(l10n.t('Killing process {0}', program)); proc.kill(); }); @@ -871,7 +869,7 @@ export async function allowExecution(file: string): Promise { } } else { getOutputChannelLogger().appendLine(""); - getOutputChannelLogger().appendLine(localize("warning.file.missing", "Warning: Expected file {0} is missing.", file)); + getOutputChannelLogger().appendLine(l10n.t("Warning: Expected file {0} is missing.", file)); } } } @@ -904,7 +902,7 @@ export function checkDistro(platformInfo: PlatformInformation): void { if (platformInfo.platform !== 'win32' && platformInfo.platform !== 'linux' && platformInfo.platform !== 'darwin') { // this should never happen because VSCode doesn't run on FreeBSD // or SunOS (the other platforms supported by node) - getOutputChannelLogger().appendLine(localize("warning.debugging.not.tested", "Warning: Debugging has not been tested for this platform.") + " " + getReadmeMessage()); + getOutputChannelLogger().appendLine(l10n.t("Warning: Debugging has not been tested for this platform.") + " " + getReadmeMessage()); } } @@ -931,11 +929,11 @@ export async function renameAsync(oldName: string, newName: string): Promise { - await promptReloadWindow(localize("reload.workspace.for.changes", "Reload the workspace for the settings change to take effect.")); + await promptReloadWindow(l10n.t("Reload the workspace for the settings change to take effect.")); } export async function promptReloadWindow(message: string): Promise { - const reload: string = localize("reload.string", "Reload"); + const reload: string = l10n.t("Reload"); const value: string | undefined = await vscode.window.showInformationMessage(message, reload); if (value === reload) { return vscode.commands.executeCommand("workbench.action.reloadWindow"); diff --git a/Extension/src/cppTools.ts b/Extension/src/cppTools.ts index 21152f8bc..aad2c97c5 100644 --- a/Extension/src/cppTools.ts +++ b/Extension/src/cppTools.ts @@ -4,16 +4,14 @@ * ------------------------------------------------------------------------------------------ */ 'use strict'; +import * as vscode from 'vscode'; import { CustomConfigurationProvider, Version } from 'vscode-cpptools'; import { CppToolsTestApi, CppToolsTestHook } from 'vscode-cpptools/out/testApi'; -import * as nls from 'vscode-nls'; import { CustomConfigurationProvider1, CustomConfigurationProviderCollection, getCustomConfigProviders } from './LanguageServer/customProviders'; import * as LanguageServer from './LanguageServer/extension'; import { getOutputChannelLogger } from './logger'; import * as test from './testHook'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export class CppTools implements CppToolsTestApi { private version: Version; @@ -59,7 +57,7 @@ export class CppTools implements CppToolsTestApi { if (providers.add(provider, this.version)) { const added: CustomConfigurationProvider1 | undefined = providers.get(provider); if (added) { - getOutputChannelLogger().appendLineAtLevel(5, localize("provider.registered", "Custom configuration provider '{0}' registered", added.name)); + getOutputChannelLogger().appendLineAtLevel(5, l10n.t("Custom configuration provider '{0}' registered", added.name)); this.providers.push(added); LanguageServer.getClients().forEach(client => void client.onRegisterCustomConfigurationProvider(added)); this.addNotifyReadyTimer(added); diff --git a/Extension/src/expand.ts b/Extension/src/expand.ts index f3586a54b..161cec9af 100644 --- a/Extension/src/expand.ts +++ b/Extension/src/expand.ts @@ -6,9 +6,9 @@ /* eslint-disable no-cond-assign */ import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { isString, replaceAll } from './common'; import { getOutputChannelLogger } from './logger'; +const l10n = vscode.l10n; /** * Support ExpansionVars (${var}), env (${env:var}), and optionally VS CODE commands (${command:commandID}). @@ -16,9 +16,6 @@ import { getOutputChannelLogger } from './logger'; * Expand options and functions are mofidifed from https://github.com/microsoft/vscode-cmake-tools/blob/main/src/expand.ts */ -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); - export interface ExpansionVars { [key: string]: string; workspaceFolder: string; @@ -56,7 +53,7 @@ export async function expandString(input: string, options: ExpansionOptions): Pr } while (i < MAX_RECURSION && options.recursive && didReplacement); if (i === MAX_RECURSION && didReplacement) { - void getOutputChannelLogger().showErrorMessage(localize('max.recursion.reached', 'Reached max string expansion recursion. Possible circular reference.')); + void getOutputChannelLogger().showErrorMessage(l10n.t('Reached max string expansion recursion. Possible circular reference.')); } return replaceAll(result, '${dollar}', '$'); @@ -81,7 +78,7 @@ async function expandStringImpl(input: string, options: ExpansionOptions): Promi // Replace dollar sign at the very end of the expanding process const repl: string = options.vars[key]; if (!repl) { - void getOutputChannelLogger().showWarningMessage(localize('invalid.var.reference', 'Invalid variable reference {0} in string: {1}.', full, input)); + void getOutputChannelLogger().showWarningMessage(l10n.t('Invalid variable reference {0} in string: {1}.', full, input)); } else { subs.set(full, repl); } @@ -97,7 +94,7 @@ async function expandStringImpl(input: string, options: ExpansionOptions): Promi const full: string = match[0]; const varname: string = match[1]; if (process.env[varname] === undefined) { - void getOutputChannelLogger().showWarningMessage(localize('env.var.not.found', 'Environment variable {0} not found', varname)); + void getOutputChannelLogger().showWarningMessage(l10n.t('Environment variable {0} not found', varname)); } const repl: string = process.env[varname] || ''; subs.set(full, repl); @@ -106,7 +103,7 @@ async function expandStringImpl(input: string, options: ExpansionOptions): Promi const command_re: RegExp = RegExp(`\\$\\{command:(${varValueRegexp})\\}`, "g"); while (match = command_re.exec(input)) { if (options.doNotSupportCommands) { - void getOutputChannelLogger().showWarningMessage(localize('commands.not.supported', 'Commands are not supported for string: {0}.', input)); + void getOutputChannelLogger().showWarningMessage(l10n.t('Commands are not supported for string: {0}.', input)); break; } const full: string = match[0]; @@ -118,7 +115,7 @@ async function expandStringImpl(input: string, options: ExpansionOptions): Promi const command_ret: unknown = await vscode.commands.executeCommand(command, options.vars.workspaceFolder); subs.set(full, `${command_ret}`); } catch (e: any) { - void getOutputChannelLogger().showWarningMessage(localize('exception.executing.command', 'Exception while executing command {0} for string: {1} {2}.', command, input, e)); + void getOutputChannelLogger().showWarningMessage(l10n.t('Exception while executing command {0} for string: {1} {2}.', command, input, e)); } } diff --git a/Extension/src/logger.ts b/Extension/src/logger.ts index d14bb531f..aa614d233 100644 --- a/Extension/src/logger.ts +++ b/Extension/src/logger.ts @@ -6,14 +6,11 @@ import * as os from 'os'; import * as vscode from 'vscode'; -import * as nls from 'vscode-nls'; import { getLoggingLevel } from './common'; import { sendInstrumentation } from './instrumentation'; import { CppSourceStr } from './LanguageServer/extension'; import { getLocalizedString, LocalizeStringParams } from './LanguageServer/localization'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; // This is used for testing purposes let Subscriber: (message: string) => void; @@ -102,24 +99,22 @@ export function getOutputChannel(): vscode.OutputChannel { export function getDiagnosticsChannel(): vscode.OutputChannel { if (!diagnosticsChannel) { - diagnosticsChannel = vscode.window.createOutputChannel(localize("c.cpp.diagnostics", "C/C++ Diagnostics")); + diagnosticsChannel = vscode.window.createOutputChannel(l10n.t("C/C++ Diagnostics")); } return diagnosticsChannel; } export function getCrashCallStacksChannel(): vscode.OutputChannel { if (!crashCallStacksChannel) { - crashCallStacksChannel = vscode.window.createOutputChannel(localize("c.cpp.crash.call.stacks.title", "C/C++ Crash Call Stacks")); - crashCallStacksChannel.appendLine(localize({ key: "c.cpp.crash.call.stacks.description", comment: ["{0} is a URL."] }, - "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}.", - "https://github.com/Microsoft/vscode-cpptools/issues")); + crashCallStacksChannel = vscode.window.createOutputChannel(l10n.t("C/C++ Crash Call Stacks")); + crashCallStacksChannel.appendLine(l10n.t({ message: "A C/C++ extension process has crashed. The crashing process name, date/time, signal, and call stack are below -- it would be helpful to include that in a bug report at {0}.", args: ["https://github.com/Microsoft/vscode-cpptools/issues"], comment: ["{0} is a URL."] })); } return crashCallStacksChannel; } export function getSshChannel(): vscode.OutputChannel { if (!sshChannel) { - sshChannel = vscode.window.createOutputChannel(localize("c.cpp.ssh.channel", "{0}: SSH", "Cpptools")); + sshChannel = vscode.window.createOutputChannel(l10n.t("{0}: SSH", "Cpptools")); } return sshChannel; } @@ -149,7 +144,7 @@ export interface DebugProtocolParams { export function logDebugProtocol(output: DebugProtocolParams): void { if (!debugChannel) { - debugChannel = vscode.window.createOutputChannel(`${localize("c.cpp.debug.protocol", "C/C++ Debug Protocol")}`); + debugChannel = vscode.window.createOutputChannel(`${l10n.t("C/C++ Debug Protocol")}`); } debugChannel.appendLine(""); debugChannel.appendLine("************************************************************************************************************************"); @@ -164,7 +159,7 @@ export function showWarning(params: ShowWarningParams): void { const message: string = getLocalizedString(params.localizeStringParams); let showChannel: boolean = false; if (!warningChannel) { - warningChannel = vscode.window.createOutputChannel(`${localize("c.cpp.warnings", "C/C++ Configuration Warnings")}`); + warningChannel = vscode.window.createOutputChannel(`${l10n.t("C/C++ Configuration Warnings")}`); showChannel = true; } // Append before showing the channel, to avoid a delay. diff --git a/Extension/src/main.ts b/Extension/src/main.ts index 45c1ef903..47c7b9d22 100644 --- a/Extension/src/main.ts +++ b/Extension/src/main.ts @@ -14,7 +14,6 @@ import * as Telemetry from './telemetry'; import * as semver from 'semver'; import { CppToolsApi, CppToolsExtension } from 'vscode-cpptools'; -import * as nls from 'vscode-nls'; import { TargetPopulation } from 'vscode-tas-client'; import { CppBuildTaskProvider, cppBuildTaskProvider } from './LanguageServer/cppBuildTaskProvider'; import { getLocaleId, getLocalizedHtmlPath } from './LanguageServer/localization'; @@ -26,9 +25,7 @@ import { logMachineIdMappings } from './id'; import { instrument, sendInstrumentation } from './instrumentation'; import { disposeOutputChannels, log } from './logger'; import { PlatformInformation } from './platform'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; const cppTools: CppTools1 = new CppTools1(); let languageServiceDisabled: boolean = false; @@ -100,7 +97,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { console.log("Unrecognized TargetPlatform in .vsixmanifest"); break; } - const moreInfoButton: string = localize("more.info.button", "More Info"); - const ignoreButton: string = localize("ignore.button", "Ignore"); + const moreInfoButton: string = l10n.t("More Info"); + const ignoreButton: string = l10n.t("Ignore"); let promise: Thenable | undefined; if (!isPlatformCompatible) { - promise = vscode.window.showErrorMessage(localize("vsix.platform.incompatible", "The C/C++ extension installed does not match your system.", vsixTargetPlatform), moreInfoButton); + promise = vscode.window.showErrorMessage(l10n.t("The C/C++ extension installed does not match your system.", vsixTargetPlatform), moreInfoButton); } else if (!isPlatformMatching) { if (!ignoreMismatchedCompatibleVsix.Value) { resetIgnoreMismatchedCompatibleVsix = false; - promise = vscode.window.showWarningMessage(localize("vsix.platform.mismatching", "The C/C++ extension installed is compatible with but does not match your system.", vsixTargetPlatform), moreInfoButton, ignoreButton); + promise = vscode.window.showWarningMessage(l10n.t("The C/C++ extension installed is compatible with but does not match your system.", vsixTargetPlatform), moreInfoButton, ignoreButton); } } diff --git a/Extension/src/platform.ts b/Extension/src/platform.ts index 09ddce3e9..5c700419d 100644 --- a/Extension/src/platform.ts +++ b/Extension/src/platform.ts @@ -3,17 +3,15 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ +import * as vscode from 'vscode'; import * as fs from 'fs'; import * as os from 'os'; import * as plist from 'plist'; -import * as nls from 'vscode-nls'; import * as util from './common'; import { LinuxDistribution } from './linuxDistribution'; import * as logger from './logger'; import { SessionState, SupportedWindowsVersions } from './sessionState'; - -nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); -const localize: nls.LocalizeFunc = nls.loadMessageBundle(); +const l10n = vscode.l10n; export function GetOSName(processPlatform: string | undefined): string | undefined { switch (processPlatform) { @@ -44,7 +42,7 @@ export class PlatformInformation { version = await PlatformInformation.GetDarwinVersion(); break; default: - throw new Error(localize("unknown.os.platform", "Unknown OS platform")); + throw new Error(l10n.t("Unknown OS platform")); } return new PlatformInformation(platform, architecture, distribution, version); @@ -75,10 +73,10 @@ export class PlatformInformation { if (systemVersionData) { productDarwinVersion = systemVersionData.ProductVersion; } else { - errorMessage = localize("missing.plist.productversion", "Could not get ProduceVersion from SystemVersion.plist"); + errorMessage = l10n.t("Could not get ProductVersion from SystemVersion.plist"); } } else { - errorMessage = localize("missing.darwin.systemversion.file", "Failed to find SystemVersion.plist in {0}.", DARWIN_SYSTEM_VERSION_PLIST); + errorMessage = l10n.t("Failed to find SystemVersion.plist in {0}.", DARWIN_SYSTEM_VERSION_PLIST); } if (errorMessage) { diff --git a/Extension/webpack.config.js b/Extension/webpack.config.js index 032dae009..ab038aa80 100644 --- a/Extension/webpack.config.js +++ b/Extension/webpack.config.js @@ -58,17 +58,8 @@ const config = { } } -module.exports = (env) => { - if (env.vscode_nls) { - // rewrite nls call when being asked for - // @ts-ignore - config.module.rules.unshift({ - loader: 'vscode-nls-dev/lib/webpack-loader', - options: { - base: `${__dirname}/src` - } - }) - } - +module.exports = () => { + // Localization is handled by VS Code's built-in l10n support (the "l10n" field in + // package.json and vscode.l10n.t() call sites), so no nls rewriting loader is needed. return config }; diff --git a/Extension/yarn.lock b/Extension/yarn.lock index 0e9de11fe..c2d97b843 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -14,6 +14,29 @@ dependencies: "@azu/format-text" "^1.0.1" +"@azure-rest/ai-translation-text@^1.0.0-beta.1": + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure-rest/ai-translation-text/-/ai-translation-text-1.0.2.tgz#21dbbaaeeab22250f860e7ff598f5afafb063a77" + integrity sha1-Idu6ruqyIlD4YOf/WY9a+vsGOnc= + dependencies: + "@azure-rest/core-client" "^2.3.1" + "@azure/core-auth" "^1.9.0" + "@azure/core-rest-pipeline" "^1.19.0" + "@azure/logger" "^1.1.4" + tslib "^2.8.1" + +"@azure-rest/core-client@^2.3.1": + version "2.7.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure-rest/core-client/-/core-client-2.7.0.tgz#0d804bd0d7cfd36576362e2691efa5cf299d516b" + integrity sha1-DYBL0NfP02V2Ni4mke+lzymdUWs= + dependencies: + "@azure/abort-controller" "^2.1.2" + "@azure/core-auth" "^1.10.0" + "@azure/core-rest-pipeline" "^1.24.0" + "@azure/core-tracing" "^1.3.0" + "@typespec/ts-http-runtime" "^0.3.0" + tslib "^2.6.2" + "@azure/abort-controller@^2.0.0", "@azure/abort-controller@^2.1.2": version "2.1.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/abort-controller/-/abort-controller-2.1.2.tgz#42fe0ccab23841d9905812c58f1082d27784566d" @@ -56,6 +79,19 @@ "@typespec/ts-http-runtime" "^0.3.0" tslib "^2.6.2" +"@azure/core-rest-pipeline@^1.19.0", "@azure/core-rest-pipeline@^1.24.0": + version "1.24.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/core-rest-pipeline/-/core-rest-pipeline-1.24.0.tgz#7582157ffebfe60d0a7fc00fd292203d8cbd3f40" + integrity sha1-dYIVf/6/5g0Kf8AP0pIgPYy9P0A= + dependencies: + "@azure/abort-controller" "^2.1.2" + "@azure/core-auth" "^1.10.0" + "@azure/core-tracing" "^1.3.0" + "@azure/core-util" "^1.13.0" + "@azure/logger" "^1.3.0" + "@typespec/ts-http-runtime" "^0.3.4" + tslib "^2.6.2" + "@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.3.0": version "1.3.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/core-tracing/-/core-tracing-1.3.1.tgz#e971045c901ea9c110616b0e1db272507781d5f6" @@ -89,7 +125,7 @@ open "^10.1.0" tslib "^2.2.0" -"@azure/logger@^1.0.0", "@azure/logger@^1.3.0": +"@azure/logger@^1.0.0", "@azure/logger@^1.1.4", "@azure/logger@^1.3.0": version "1.3.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/logger/-/logger-1.3.0.tgz#5501cf85d4f52630602a8cc75df76568c969a827" integrity sha1-VQHPhdT1JjBgKozHXfdlaMlpqCc= @@ -324,6 +360,18 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" integrity sha1-wrnS43TuYsWG062+qHGZsdenpro= +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha1-s3Znt7wYHBaHgiWbq0JHT79StVA= + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@isaacs/cliui@^9.0.0": version "9.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@isaacs/cliui/-/cliui-9.0.0.tgz#4d0a3f127058043bf2e7ee169eaf30ed901302f3" @@ -591,6 +639,11 @@ dependencies: "@octokit/openapi-types" "^25.1.0" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM= + "@pkgr/core@^0.1.0": version "0.1.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@pkgr/core/-/core-0.1.2.tgz#1cf95080bb7072fafaa3cb13b442fab4695c3893" @@ -1035,6 +1088,15 @@ https-proxy-agent "^7.0.0" tslib "^2.6.2" +"@typespec/ts-http-runtime@^0.3.4": + version "0.3.6" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.6.tgz#eda78b5fffb39ca86a4dadbb5a0c2600131d3570" + integrity sha1-7aeLX/+znKhqTa27WgwmABMdNXA= + dependencies: + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.0" + tslib "^2.6.2" + "@vscode/debugadapter@^1.65.0": version "1.68.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/debugadapter/-/debugadapter-1.68.0.tgz#abb23463cb750ca4a6f0834c5d4db659258dc159" @@ -1065,6 +1127,22 @@ "@microsoft/1ds-post-js" "^4.3.4" "@microsoft/applicationinsights-web-basic" "^3.3.4" +"@vscode/l10n-dev@^0.0.35": + version "0.0.35" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/l10n-dev/-/l10n-dev-0.0.35.tgz#cdd8106a56b7dc8feef62d10c413d6d8d94b2d5c" + integrity sha1-zdgQala33I/u9i0QxBPW2NlLLVw= + dependencies: + "@azure-rest/ai-translation-text" "^1.0.0-beta.1" + debug "^4.3.4" + deepmerge-json "^1.5.0" + glob "^10.0.0" + markdown-it "^14.0.0" + node-html-markdown "^1.3.0" + pseudo-localization "^2.4.0" + web-tree-sitter "^0.20.8" + xml2js "^0.5.0" + yargs "^17.7.1" + "@vscode/test-electron@^2.3.10": version "2.5.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/test-electron/-/test-electron-2.5.2.tgz#f7d4078e8230ce9c94322f2a29cc16c17954085d" @@ -1402,7 +1480,7 @@ ansi-colors@^3.0.5: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha1-46PaS/uubIapwoViXeEkojQCb78= -ansi-colors@^4.1.1, ansi-colors@^4.1.3: +ansi-colors@^4.1.3: version "4.1.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs= @@ -1414,13 +1492,6 @@ ansi-escapes@^7.0.0: dependencies: environment "^1.0.0" -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= - dependencies: - ansi-wrap "0.1.0" - ansi-regex@^5.0.1: version "5.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -1438,7 +1509,12 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: +ansi-styles@^6.1.0: + version "6.2.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha1-wETV3MUhoHZBNHJZehrLHxA8QEE= + +ansi-wrap@^0.1.0: version "0.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= @@ -1754,7 +1830,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: +brace-expansion@^2.0.1, brace-expansion@^2.0.2: version "2.1.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.1.1.tgz#c68b1c4111c76aae3a6fba55d496cee10c39dad8" integrity sha1-xoscQRHHaq46b7pV1JbO4Qw52tg= @@ -2022,11 +2098,6 @@ color-name@~1.1.4: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= -color-support@^1.1.3: - version "1.1.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI= - colorette@^2.0.14: version "2.0.20" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" @@ -2225,6 +2296,11 @@ deep-is@^0.1.3: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE= +deepmerge-json@^1.5.0: + version "1.5.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/deepmerge-json/-/deepmerge-json-1.5.0.tgz#6daa3600d53fc1f646604853bc99e95e260fbda0" + integrity sha1-bao2ANU/wfZGYEhTvJnpXiYPvaA= + default-browser-id@^5.0.0: version "5.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/default-browser-id/-/default-browser-id-5.0.1.tgz#f7a7ccb8f5104bf8e0f71ba3b1ccfa5eafdb21e8" @@ -2365,6 +2441,11 @@ each-props@^3.0.0: is-plain-object "^5.0.0" object.defaults "^1.1.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s= + ecdsa-sig-formatter@1.0.11: version "1.0.11" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -2394,6 +2475,11 @@ emoji-regex@^8.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI= + emojis-list@^3.0.0: version "3.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -2807,19 +2893,6 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" -event-stream@^3.3.4: - version "3.3.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/event-stream/-/event-stream-3.3.5.tgz#e5dd8989543630d94c6cf4d657120341fa31636b" - integrity sha1-5d2JiVQ2MNlMbPTWVxIDQfoxY2s= - dependencies: - duplexer "^0.1.1" - from "^0.1.7" - map-stream "0.0.7" - pause-stream "^0.0.11" - split "^1.0.1" - stream-combiner "^0.2.2" - through "^2.3.8" - event-stream@^4.0.1: version "4.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/event-stream/-/event-stream-4.0.1.tgz#4092808ec995d0dd75ea4580c1df6a74db2cde65" @@ -2877,16 +2950,6 @@ extend@^3.0.0, extend@^3.0.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= -fancy-log@^1.3.3: - version "1.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" - integrity sha1-28GRVPVYaQFQojlToK29A1vkX8c= - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - parse-node-version "^1.0.0" - time-stamp "^1.0.0" - fast-content-type-parse@^2.0.0: version "2.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz#c236124534ee2cb427c8d8e5ba35a4856947847b" @@ -3061,7 +3124,7 @@ for-own@^1.0.0: dependencies: for-in "^1.0.1" -foreground-child@^3.3.1: +foreground-child@^3.1.0, foreground-child@^3.3.1: version "3.3.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" integrity sha1-Mujp7Rtoo0l777msK2rfkqY4V28= @@ -3195,6 +3258,11 @@ get-proto@^1.0.1: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha1-jV3pjxUXGhJcXlFmQ8em0OqKlvY= + get-symbol-description@^1.1.0: version "1.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" @@ -3266,6 +3334,18 @@ glob-watcher@^6.0.0: async-done "^2.0.0" chokidar "^3.5.3" +glob@^10.0.0: + version "10.5.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" + integrity sha1-jsA1WRnNMzjChCiiPU8k7MX+c4w= + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + glob@^11.0.0: version "11.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6" @@ -3278,7 +3358,7 @@ glob@^11.0.0: package-json-from-dist "^1.0.0" path-scurry "^2.0.0" -glob@^7.1.1, glob@^7.2.0, glob@^7.2.3: +glob@^7.1.1, glob@^7.2.3: version "7.2.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha1-uN8PuAK7+o6JvR2Ti04WV47UTys= @@ -3495,7 +3575,7 @@ hasown@^2.0.4: dependencies: function-bind "^1.1.2" -he@^1.2.0: +he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= @@ -3947,11 +4027,6 @@ is-wsl@^3.1.0: dependencies: is-inside-container "^1.0.0" -is@^3.3.0: - version "3.3.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is/-/is-3.3.2.tgz#dfc285f4937f08564675f2f17cc6ac6cd2113ace" - integrity sha1-38KF9JN/CFZGdfLxfMasbNIROs4= - isarray@^2.0.5: version "2.0.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -3981,6 +4056,15 @@ istextorbinary@^9.5.0: editions "^6.21.0" textextensions "^6.11.0" +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha1-iDOp2Jq0rN5hiJQr0cU7Y5DtWoo= + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jackspeak@^4.1.1: version "4.2.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/jackspeak/-/jackspeak-4.2.3.tgz#27ef80f33b93412037c3bea4f8eddf80e1931483" @@ -4291,7 +4375,7 @@ log-symbols@^6.0.0: chalk "^5.3.0" is-unicode-supported "^1.3.0" -lru-cache@^10.0.1: +lru-cache@^10.0.1, lru-cache@^10.2.0: version "10.4.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha1-QQ/IoXtw5ZgBPfJXwkRrfzOD8Rk= @@ -4330,7 +4414,7 @@ map-stream@0.0.7: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= -markdown-it@^14.1.0: +markdown-it@^14.0.0, markdown-it@^14.1.0: version "14.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.2.0.tgz#06d48d9035e77d5b1c85adb315482fc8240289ef" integrity sha1-BtSNkDXnfVscha2zFUgvyCQCie8= @@ -4444,12 +4528,19 @@ minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.4: + version "9.0.9" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimatch/-/minimatch-9.0.9.tgz#9b0cb9fcb78087f6fd7eababe2511c4d3d60574e" + integrity sha1-mwy5/LeAh/b9fqur4lEcTT1gV04= + dependencies: + brace-expansion "^2.0.2" + minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha1-waRk52kzAuCCoHXO4MBXdBrEdyw= -minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: version "7.1.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" integrity sha1-eTibTrG7LQA6m7qH1JLyvTe9xls= @@ -4565,6 +4656,21 @@ node-fetch@^2.7.0: dependencies: whatwg-url "^5.0.0" +node-html-markdown@^1.3.0: + version "1.3.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-html-markdown/-/node-html-markdown-1.3.0.tgz#ef0b19a3bbfc0f1a880abb9ff2a0c9aa6bbff2a9" + integrity sha1-7wsZo7v8DxqICruf8qDJqmu/8qk= + dependencies: + node-html-parser "^6.1.1" + +node-html-parser@^6.1.1: + version "6.1.13" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-html-parser/-/node-html-parser-6.1.13.tgz#a1df799b83df5c6743fcd92740ba14682083b7e4" + integrity sha1-od95m4PfXGdD/NknQLoUaCCDt+Q= + dependencies: + css-select "^5.1.0" + he "1.2.0" + node-loader@^2.0.0: version "2.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-loader/-/node-loader-2.1.0.tgz#8c4eb926e8bdcacb7349d17b40ebcc49fd2458d5" @@ -4867,11 +4973,6 @@ parse-json@^8.0.0: index-to-position "^1.1.0" type-fest "^4.39.1" -parse-node-version@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs= - parse-passwd@^1.0.0: version "1.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -4943,6 +5044,14 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha1-eWCmaIiFlKByCxKpEdGnQqufEdI= + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry@^2.0.0: version "2.0.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-scurry/-/path-scurry-2.0.2.tgz#6be0d0ee02a10d9e0de7a98bae65e182c9061f85" @@ -5083,6 +5192,16 @@ proxyquire@^2.1.3: module-not-found-error "^1.0.1" resolve "^1.11.1" +pseudo-localization@^2.4.0: + version "2.4.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/pseudo-localization/-/pseudo-localization-2.4.0.tgz#5c19da35bc182ad7fc00d82d33dd42e88005e241" + integrity sha1-XBnaNbwYKtf8ANgtM91C6IAF4kE= + dependencies: + flat "^5.0.2" + get-stdin "^7.0.0" + typescript "^4.7.4" + yargs "^17.2.1" + pump@^2.0.0: version "2.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -5743,6 +5862,15 @@ streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: fast-fifo "^1.3.2" text-decoder "^1.1.0" +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -5752,6 +5880,15 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha1-FPja7G2B5yIdKjV+Zoyrc728p5Q= + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string-width@^7.2.0: version "7.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" @@ -5807,6 +5944,13 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk= + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -5814,7 +5958,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.1.0: +strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" integrity sha1-0iomlSKDamJ6+NBLXD/Sx/o+MuM= @@ -6016,11 +6160,6 @@ through@2, through@^2.3.8, through@~2.3, through@~2.3.4: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= - timers-ext@^0.1.7: version "0.1.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/timers-ext/-/timers-ext-0.1.8.tgz#b4e442f10b7624a29dd2aa42c295e257150cf16c" @@ -6121,7 +6260,7 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^2.2.0, tslib@^2.6.2: +tslib@^2.2.0, tslib@^2.6.2, tslib@^2.8.1: version "2.8.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha1-YS7+TtI11Wfoq6Xypfq3AoCt6D8= @@ -6219,7 +6358,7 @@ typed-rest-client@^1.8.4: tunnel "0.0.6" underscore "^1.12.1" -typescript@^4.5.4: +typescript@^4.7.4: version "4.9.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo= @@ -6451,7 +6590,7 @@ vinyl-sourcemap@^2.0.0: vinyl "^3.0.0" vinyl-contents "^2.0.0" -vinyl@^2.0.0, vinyl@^2.1.0, vinyl@^2.2.1: +vinyl@^2.0.0, vinyl@^2.1.0: version "2.2.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" integrity sha1-I8+4u6tezjgDqiwKHrKK98u6GXQ= @@ -6505,29 +6644,6 @@ vscode-languageserver-types@3.17.5: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" integrity sha1-MnNnbwzy6rQLP0TQhay7fwijnYo= -vscode-nls-dev@^4.0.4: - version "4.0.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-nls-dev/-/vscode-nls-dev-4.0.4.tgz#1d842a809525990aca5346f8031a0a0bf63e01ef" - integrity sha1-HYQqgJUlmQrKU0b4AxoKC/Y+Ae8= - dependencies: - ansi-colors "^4.1.1" - clone "^2.1.2" - event-stream "^3.3.4" - fancy-log "^1.3.3" - glob "^7.2.0" - iconv-lite "^0.6.3" - is "^3.3.0" - source-map "^0.6.1" - typescript "^4.5.4" - vinyl "^2.2.1" - xml2js "^0.5.0" - yargs "^17.3.0" - -vscode-nls@^5.2.0: - version "5.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" - integrity sha1-PLaJPdm9aVJE2KAkvfdG7qZlzD8= - vscode-tas-client@^0.1.84: version "0.1.84" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-tas-client/-/vscode-tas-client-0.1.84.tgz#906bdcfd8c9e1dc04321d6bc0335184f9119968e" @@ -6543,6 +6659,11 @@ watchpack@^2.5.1: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +web-tree-sitter@^0.20.8: + version "0.20.8" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz#1e371cb577584789cadd75cb49c7ddfbc99d04c8" + integrity sha1-HjcctXdYR4nK3XXLScfd+8mdBMg= + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -6714,6 +6835,15 @@ workerpool@^6.5.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" integrity sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ= +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^7.0.0: version "7.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -6723,6 +6853,15 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha1-VtwiNo7lcPrOG0mBmXXZuaXq0hQ= + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -6809,10 +6948,10 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.3.0: - version "17.7.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha1-mR3zmspnWhkrgW4eA2P5110qomk= +yargs@^17.2.1, yargs@^17.7.1: + version "17.7.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yargs/-/yargs-17.7.3.tgz#779dffe6bcafec596a7172e983289a588647faaa" + integrity sha1-d53/5ryv7FlqcXLpgyiaWIZH+qo= dependencies: cliui "^8.0.1" escalade "^3.1.1"