feat: add lara-powered app localization

This commit is contained in:
Disheng Qiu
2026-04-27 13:06:59 +02:00
parent b1a97834c9
commit 926db0eeb5
41 changed files with 6552 additions and 940 deletions

View File

@@ -12,3 +12,7 @@ VITE_SENTRY_DSN=
# PostHog (https://posthog.com → Project → Settings → Project API Key)
VITE_POSTHOG_KEY=
VITE_POSTHOG_HOST=https://eu.i.posthog.com
# Lara CLI (https://github.com/translated/lara-cli)
LARA_ACCESS_KEY_ID=
LARA_ACCESS_KEY_SECRET=

1
.gitignore vendored
View File

@@ -70,5 +70,6 @@ CODE-HEALTH-REPORT.md
*.key.pub
# Local environment variables (never commit)
.env
.env.local
.env.*.local

View File

@@ -586,12 +586,13 @@ The app uses internal light and dark themes owned by Tolaria (see [ADR-0081](adr
## Localization
App UI strings are centralized in `src/lib/i18n.ts` (see [ADR-0084](adr/0084-app-localization-foundation.md)):
App UI strings are resolved through `src/lib/i18n.ts`, with flat JSON catalogs in `src/lib/locales/*.json` (see [ADR-0087](adr/0087-json-catalogs-and-lara-cli-localization.md)):
- `AppLocale`: currently `'en' | 'zh-Hans'`
- `AppLocale`: canonical locale tags such as `'en'`, `'zh-CN'`, `'fr-FR'`, `'es-419'`
- `UiLanguagePreference`: `'system' | AppLocale`; persisted settings serialize `system` as `null`
- `resolveEffectiveLocale()`: maps an explicit preference or system/browser language list to the effective supported locale
- `resolveEffectiveLocale()`: maps an explicit preference or system/browser language list to the effective supported locale, including legacy aliases
- `translate()` / `createTranslator()`: resolve keys with English fallback and simple `{name}` interpolation
- `scripts/validate-locales.mjs`: asserts every checked-in locale catalog matches the English keyset and stays flat-string-only
`App.tsx` owns the effective locale and passes it to localized app chrome through props. Settings and command-palette language commands call back into `saveSettings`, so UI language changes update the current session without touching vault content or reopening the vault.
@@ -705,12 +706,12 @@ interface Settings {
anonymous_id: string | null
release_channel: string | null // null = stable default, "alpha" = every-push prerelease feed
theme_mode: 'light' | 'dark' | null
ui_language: 'en' | 'zh-Hans' | null
ui_language: AppLocale | null
default_ai_agent: 'claude_code' | 'codex' | null
}
```
Managed by `useSettings` hook and `SettingsPanel` component. `theme_mode` is installation-local because it controls device comfort rather than vault structure. `ui_language` is also installation-local: `null` follows the supported system language with English fallback, while explicit values pin the UI language for this installation. `default_ai_agent` is an installation-local preference that selects which supported CLI agent the AI panel, command palette AI mode, and status bar should target by default. The AutoGit fields are also installation-local: `useAutoGit` consumes them to schedule automatic checkpoints, while `useCommitFlow` and the status bar quick action reuse the same checkpoint runner and deterministic automatic commit message generation.
Managed by `useSettings` hook and `SettingsPanel` component. `theme_mode` is installation-local because it controls device comfort rather than vault structure. `ui_language` is also installation-local: `null` follows the supported system language with English fallback, while explicit values pin the UI language for this installation. Stored legacy aliases such as `zh-Hans` are normalized to canonical locale codes before the setting reaches React state. `default_ai_agent` is an installation-local preference that selects which supported CLI agent the AI panel, command palette AI mode, and status bar should target by default. The AutoGit fields are also installation-local: `useAutoGit` consumes them to schedule automatic checkpoints, while `useCommitFlow` and the status bar quick action reuse the same checkpoint runner and deterministic automatic commit message generation.
## Telemetry

View File

@@ -32,7 +32,7 @@ Examples:
- ✅ Vault: `_pinned_properties` in a Type note (every device should show the same pinned properties)
- ✅ Vault: `_icon: shapes` in a Type note (icon is part of the type's identity)
- ✅ App settings: `zoom: 1.3` (machine-specific preference)
- ✅ App settings: `ui_language: "zh-Hans"` (installation-specific UI language)
- ✅ App settings: `ui_language: "zh-CN"` (installation-specific UI language)
### No hardcoded exceptions
@@ -100,7 +100,7 @@ flowchart LR
| Frontmatter parsing | gray_matter | 0.2 |
| AI (agent panel) | CLI agent adapters (Claude Code + Codex) | - |
| Search | Keyword (walkdir-based file scan) | - |
| Localization | App-owned dictionary (`src/lib/i18n.ts`) | English fallback + `zh-Hans` |
| Localization | App-owned runtime + JSON catalogs (`src/lib/i18n.ts`, `src/lib/locales/*.json`, `lara.yaml`) | English fallback + Lara CLI sync |
| MCP | @modelcontextprotocol/sdk | 1.0 |
| Tests | Vitest (unit), Playwright (E2E/smoke), cargo test (Rust) | - |
| Package manager | pnpm | - |
@@ -420,7 +420,7 @@ The app uses internal app-owned light and dark themes (see [ADR-0081](adr/0081-i
## Localization
Tolaria's app chrome uses an app-owned localization layer in `src/lib/i18n.ts` (see [ADR-0084](adr/0084-app-localization-foundation.md)). English is the canonical fallback, and Simplified Chinese (`zh-Hans`) is the first additional locale. The installation-local `ui_language` setting stores an explicit locale when the user chooses one; `null` means "follow the system language when Tolaria supports it, otherwise English." Missing translation keys fall back to English so partially translated locales do not render broken placeholders.
Tolaria's app chrome uses an app-owned localization runtime in `src/lib/i18n.ts`, backed by flat JSON catalogs in `src/lib/locales/` and Lara CLI synchronization through `lara.yaml` (see [ADR-0087](adr/0087-json-catalogs-and-lara-cli-localization.md)). `en.json` is the canonical source catalog, locale files are one file per locale, and English remains the fallback for any missing locale file or key. The installation-local `ui_language` setting stores an explicit locale when the user chooses one; `null` means "follow the system language when Tolaria supports it, otherwise English." Legacy stored values such as `zh-Hans` are normalized to canonical locale codes like `zh-CN`.
`App.tsx` derives the effective locale from settings and browser/system language hints, then passes it down to localized surfaces. Settings exposes a keyboard-accessible shadcn `Select`, and the command palette includes actions to open language settings or switch directly to a supported language.

View File

@@ -157,7 +157,8 @@ tolaria/
│ ├── lib/
│ │ ├── aiAgents.ts # Shared agent registry + status helpers
│ │ ├── appUpdater.ts # Frontend wrapper around channel-aware updater commands
│ │ ├── i18n.ts # App-owned localization dictionary and locale resolution
│ │ ├── i18n.ts # App-owned localization runtime and locale resolution
│ │ ├── locales/ # JSON locale catalogs (English source + translated locales)
│ │ ├── releaseChannel.ts # Alpha/stable normalization helpers
│ │ └── utils.ts # Tailwind merge + cn() helper
│ │
@@ -212,6 +213,7 @@ tolaria/
├── scripts/ # Build/utility scripts
├── package.json # Frontend dependencies + scripts
├── lara.yaml # Lara CLI locale sync configuration
├── vite.config.ts # Vite bundler config
├── tsconfig.json # TypeScript config
├── playwright.config.ts # Full Playwright regression config

View File

@@ -0,0 +1,39 @@
---
type: ADR
id: "0087"
title: "JSON locale catalogs with Lara CLI synchronization"
status: active
date: 2026-04-27
supersedes:
- "0084"
---
## Context
ADR-0084 established an app-owned localization layer in `src/lib/i18n.ts` with English fallback and hand-maintained TypeScript dictionaries. That was enough for the first localized UI surface, but it does not scale well to a broader locale matrix or machine-assisted translation workflows.
We now want Tolaria to support a wider set of locales and to automate translation updates with Lara CLI while keeping the runtime dependency-light and preserving the existing English fallback behavior.
## Decision
Tolaria will keep its app-owned runtime localization layer, but the translation source-of-truth moves to flat JSON catalogs in `src/lib/locales/`.
- `src/lib/locales/en.json` is the canonical source catalog.
- Additional locale files use one JSON file per locale code (for example `zh-CN.json`, `fr-FR.json`).
- `src/lib/i18n.ts` keeps fallback, interpolation, locale resolution, and props-down locale wiring, but it now loads locale catalogs from JSON files instead of TypeScript objects.
- Lara CLI configuration lives in `lara.yaml`, and translation runs happen through repo scripts (`pnpm l10n:translate`, `pnpm l10n:translate:force`).
- `scripts/validate-locales.mjs` verifies that every locale catalog present in the repo matches the English keyset and only contains flat string values.
- Legacy stored preferences such as `zh-Hans` are normalized to the canonical `zh-CN` locale.
## Alternatives considered
- **Keep TypeScript dictionaries and point Lara at `.ts` files**: possible, but JSON is the more standard interchange format for translation tooling and keeps diffs simpler for translators and reviewers.
- **Adopt a full frontend i18n framework now**: rejected because Tolaria already has working locale propagation and fallback behavior, and the immediate need is better content management plus translation automation.
- **Store translated strings outside the app repo**: rejected because Tolaria's chrome localization should stay versioned with the app code that consumes it.
## Consequences
- Translators and automation tools now work against plain JSON catalogs instead of editing source code.
- The runtime keeps English fallback behavior, so a missing locale file or missing key does not break app chrome.
- Locale additions become a data/config change first: add the locale metadata, run Lara, review JSON output, then ship.
- Localization work now has a dedicated validation step that can run in CI or before commit.

406
lara.lock Normal file
View File

@@ -0,0 +1,406 @@
version: 1.1.0
files:
e6ab9bf36c30b9d72bc97897e0d89a16:
command.noMatches: a2a97d96e196148e04c51c47d985e327
command.palettePlaceholder: 6d6b61b4c08ed382ad7ba406a9ba395d
command.footerNavigate: e3808db59d29bcfc91532d6539c4f9ae
command.footerSelect: 6d73339906ed42e20f6be91bf7f5f4a9
command.footerClose: dcf77460e548fe215ef28583f092a496
command.footerSend: 6b19fc9694fd8b7b3f1aafaca83db864
command.aiMode: 7197e3c5f9afd24022377176611f35cb
command.openSettings: 638c05f4f159a403e04aebe94b46a2a8
command.openSettings.keywords: ab6b5e03395f4db955ed9cbfd4de33b7
command.openLanguageSettings: e5a425aa6222fab3df66c0e1e0ca4183
command.openLanguageSettings.keywords: 68efcb7e847b1a9d472baa609824be80
command.useSystemLanguage: b7f0315c47d4a59faa2a49571fcf1fca
command.openH1Setting: 05b4f6edc0e98b29670e8ee902cdb9bf
command.contribute: 9887a4451812854f0f1b6f669a874307
command.checkUpdates: f77f38f684c8b974dd4a56bb321cfd5f
command.group.navigation: 846495f9ceed11accf8879f555936a7d
command.group.note: 3b0649c72650c313a357338dcdfb64ec
command.group.git: 0bcc70105ad279503e31fe7b3f47b665
command.group.view: 4351cfebe4b61d8aa5efa1d020710005
command.group.settings: f4f70727dc34561dfde1a3c529b6205c
command.navigation.searchNotes: d8002e888293774162e43b263658cbb5
command.navigation.goAllNotes: 7030dcbbb85b6f01d3c8b2fdcb6a5cff
command.navigation.goArchived: b620b8cb8fef8a287b986ff83a992a2a
command.navigation.goChanges: c6dd094ce55f8a765b68cef40a1c6bd9
command.navigation.goHistory: 39b86b661267053a240ffe89b9eca847
command.navigation.goBack: 4f2f5e1d6e2a13469ad431474a68ab82
command.navigation.goForward: d13c318438f67d749cfc0904e3fafcda
command.navigation.goInbox: 522af71c26bc7e3ce1dae6204c2fbe9f
command.navigation.renameFolder: a3d3b0f787c52a984af61085c577bff2
command.navigation.deleteFolder: 991e322cd8225c369a963bb60b0a9688
command.navigation.showOpenNotes: bd1905c340d0518187865f4a6694e14d
command.navigation.showArchivedNotes: 241399b908884adfe8608a3ab827ca74
command.navigation.listType: 4f70c27c6826a37543c8ada561397c22
command.note.newNote: 23c4edda8b815f750782f01870d27271
command.note.newType: adce5108f18945cc502a06c02445e32d
command.note.newTypedNote: 1493eda772c2179cb6247169d00723b2
command.note.saveNote: 2a309cda46e95b00d2a5a8afb3cc0047
command.note.findInNote: f72f8f93d8e6119d5d08b60eb3a7b3bc
command.note.replaceInNote: b008e2e20c5e4cd202f4386271d6bed1
command.note.deleteNote: 56f727a2ee11d15159f1aa6373314cb6
command.note.archiveNote: 6043509fda6dd7f6f167e4108033f8e8
command.note.unarchiveNote: 6937fb694d00b11d579c21cd4bf103a2
command.note.addFavorite: 782d6b28dce4e5d0b2ac92142c6624ba
command.note.removeFavorite: 4f9b5fa08f2ef86fdc5d0ceefc271981
command.note.markOrganized: 505ad63357f533fb39e4276a2bfb9496
command.note.markUnorganized: 1c62f1bffcb793c63d729096d2794ced
command.note.restoreDeleted: d704f8283ca322a9b3713d2ccf9a6cd4
command.note.setIcon: 99b81d2663266c53e45e4d9c62c87a29
command.note.removeIcon: 4bccbad66025e506b37b4218498b299c
command.note.changeType: 4a54ffd47ed1f65ee97f34bfe8c3de14
command.note.moveToFolder: 3a0f26c42b9168ad839960d134065905
command.note.openNewWindow: 6f67b2857093fa0fd45b1122dff4865d
command.git.initialize: 54a57cdc7105db6fb22dca661ce01ad6
command.git.commitPush: 8cb5faa4019716f43dd69c41496b1d46
command.git.addRemote: 7eef951b3f909340a68dc9811be83e9e
command.git.pull: 3988d61f4a4546381f61a4eaf61315b4
command.git.resolveConflicts: 871ac36968cfca3d2297a89b28b25dee
command.git.viewChanges: b2699edf69d8e1031afce2b2f94e5c8d
command.view.editorOnly: 8355e056b32086b9190d639be290dda8
command.view.editorNoteList: b9604b1609eb6f581cd9570dca72d3f0
command.view.fullLayout: 1cebdf839eee2b1713828731aaa3b507
command.view.toggleProperties: 54f12756a363401243d82cbd0466117e
command.view.toggleDiff: 148a10ef6f04f897e73289f529ecae86
command.view.toggleRaw: 9b622257cd6345ceaf58e42b1410899b
command.view.leftLayout: 5046a7166675e2d0175b9da3befdcaca
command.view.centerLayout: 3bc6759c005178aae519aa3dd227cb74
command.view.toggleAiPanel: 4279cbf31767465f25feff6e7bdd336e
command.view.newAiChat: 1b0a886d6e77f628ec96c2d71cdb0a9b
command.view.toggleBacklinks: b3c4be2d2c07bb8df181355a2c3658a7
command.view.zoomIn: ae4a8e406b707636392b6673fca0e6a6
command.view.zoomOut: 97326f8cd9df886a6b19af180fb7dcc9
command.view.resetZoom: 193ee8c32391fc5cc303a51617cfd046
command.settings.createEmptyVault: d7c9673bb6c62a2b8aef009546ce8b23
command.settings.openVault: c40e74822da9417fdf52eb4a37bb23f2
command.settings.removeVault: 390e2b2031cde0dd18381efee0923bea
command.settings.restoreGettingStarted: b3358dc1c7b873b2a02ac6f05473fe4d
command.settings.manageExternalAi: c36b9bd171f11a18a1e624365d2b57ac
command.settings.setupExternalAi: 24eea679eb699763daa2e3f2a67fcf9a
command.settings.reloadVault: f6e506dad6b6cf2be24d9438d458ae54
command.settings.repairVault: cee560b1fd5ad9d1ff1c19a0a2afe77a
command.ai.openAgents: 612abe804edd0f5ae228a534f77f3d23
command.ai.restoreGuidance: 23331fecc692d11d85cf24838ed273f2
command.ai.switchToAgent: 5bb02187e653b360ab7ed661403271f2
command.ai.switchDefault: 42724de254240d598fbcc40fdb5b18a3
command.ai.switchDefaultWithAgent: d405f7914bb1cd86172f108f3c33d953
settings.title: f4f70727dc34561dfde1a3c529b6205c
settings.close: 7812b3644f897c5d3efb0dd63440e751
settings.sync.title: 36f62a237420dcdc7096ad3a9018c4d9
settings.sync.description: 06a6957c40867be2c28783183dc1bf5f
settings.pullInterval: 4f95ca677398604bca241427261ed07b
settings.releaseChannel: 2da37055e15a217f18bd403922085c3f
settings.releaseStable: fa3aff3c185c6dc7754235f397c2099a
settings.releaseAlpha: 6132295fcf5570fb8b0a944ef322a598
settings.appearance.title: a1c58e94227389415de133efdf78ea6e
settings.appearance.description: ca7b75a4c10ab8a540707e3a96cd3592
settings.theme.label: d721757161f7f70c5b0949fdb6ec2c30
settings.theme.light: 9914a0ce04a7b7b6a8e39bec55064b82
settings.theme.dark: a18366b217ebf811ad1886e4f4f865b2
settings.language.title: 4994a8ffeba4ac3140beb89e8d41f174
settings.language.description: e2bb9b523067fdc32a494b1d6fd97906
settings.language.label: 244c7b77926f077b863c33ff1244e1ec
settings.language.system: 41e2252344aa441e925589ddcb762e6d
settings.language.summary: edc83f1f48ce29bc80bf2f2f90e24997
settings.autogit.title: e59f720605ec1cfa42b3b97d89d7e883
settings.autogit.description.enabled: e65bec70ca4d7921be56f84d10836018
settings.autogit.description.disabled: 1143ef6ee00614816785e3c6fc299d51
settings.autogit.enable: 9b205a4ae0e3ad4e6708155880ce9c75
settings.autogit.enableDescription: a7424a8f90c0b7f290a8144d12374554
settings.autogit.idleThreshold: 28016cc6fccd951a904ee3020cd733b6
settings.autogit.inactiveThreshold: d28cb60d1e70e020ae8d1294e32dd474
settings.titles.title: 761443f70a5067ecf015c6fb3fae9cef
settings.titles.description: b94aeeca78dd376cc19b9aa019e53f6c
settings.titles.autoRename: 5383db8e790ebf5f956d9c59cb4c4f67
settings.titles.autoRenameDescription: cc28c28d8817736e658082a2261d9a6e
settings.aiAgents.title: 27f08387b26e1ceeb1b60bd9c97e7a47
settings.aiAgents.description: a13222e67eb121676ff6dfc7b085f02d
settings.aiAgents.default: 6af573559fd05d8c35bc57b41cc78e24
settings.aiAgents.installed: 73329564760013a7824ff9d5d1af91ff
settings.aiAgents.missing: ea21841da70e6405af19fabc4ff8bdd9
settings.aiAgents.ready: 909a648c713be25fcd050725d0a41e37
settings.aiAgents.notInstalled: 0ac3f76ef78bfdbab6331731ee56ba22
settings.workflow.title: 24f47cdbe9ddba774a7cc53e51d9032e
settings.workflow.description: aa9a07539b87cf407c3edc8a22732d45
settings.workflow.explicit: 54a5b5c27937d25271c3127d093e8361
settings.workflow.explicitDescription: ce523427b5dd0f9895f63d1fbb90ad24
settings.workflow.autoAdvance: 9ed337f5bc61603d19a1ef35f3a3a243
settings.workflow.autoAdvanceDescription: ae58ad8abf03df7cbdae8c3a725258f7
settings.privacy.title: 0dd6c14e00cc9f45a68c1bca88d1317d
settings.privacy.description: 33d53059be620b58e38b8e5c5ab26b27
settings.privacy.crashReporting: b4efc5b61526566d431e99242f5c21b4
settings.privacy.crashReportingDescription: e9d7c7efce44adc08d0460be1aad5c42
settings.privacy.analytics: 29d55bb222ea76e1a17396375dfab228
settings.privacy.analyticsDescription: a0f8b61d555d6d3fd279de2f47aaca76
settings.footerShortcut: 7dc840d6b0ef9f422a663ba41975871e
settings.cancel: ea4788705e6873b424c65e91c2846b19
settings.save: c9cc8cce247e49bae79f15173ce97354
common.cancel: ea4788705e6873b424c65e91c2846b19
locale.en: 78463a384a5aa4fad5fa73e2f506ecfc
sidebar.nav.inbox: 3882d32c66e7e768145ecd8f104b0c08
sidebar.nav.allNotes: cd76cf851b08a9d2feafaf255bc1f4d5
sidebar.nav.archive: e727b00944f81e1d0a95c12886ac4641
sidebar.group.favorites: 953bf4d5e8a1807c15dec4e255384b1d
sidebar.group.views: 8f56a72923a6ca8ff53462533d89e567
sidebar.group.types: 6b20155008db90cf7589c07baa7334e9
sidebar.group.folders: d86e2756f698bea5aac3e2276639f042
sidebar.action.createView: ba019414ea8c7fcdb4a83a70ec1bb639
sidebar.action.editView: acdf34bd08b0692b906d446e590b1eb9
sidebar.action.deleteView: c8f4f9cd8ff820f955474e5c9f70ff39
sidebar.action.customizeSections: 050a134cad1e9c6f04abe5d635592703
sidebar.action.renameSection: 8936914051df04e7550d0eeb4a31e0e0
sidebar.action.customizeIconColor: 9a2f685c74d261ab483ef00dee5314fe
sidebar.action.createType: 6cfb8b8aa3fdce38e675819691b48f5c
sidebar.action.collapse: 00873bdddd457791609bff1243c40a6b
sidebar.action.expand: 8f98e9696f6eed958573012f52710faa
sidebar.action.createFolder: 5dc1e97c14fbe72d8b566ce29c39f010
sidebar.action.renameFolder: db76034f8218cda07dadb746a5643019
sidebar.action.deleteFolder: 2a2f15300f6f7c81d69860ac1796b517
sidebar.action.revealFolderMenu: 76f4ed52da9937ae432dcf5a108fabb4
sidebar.action.copyFolderPathMenu: 1779ec6018a385912c1a5499a1bbf2b2
sidebar.action.renameFolderMenu: deb1d8fa030292e7eda2c244b313aca2
sidebar.action.deleteFolderMenu: c78c889ac7396dc148fc859c9221e545
sidebar.folder.name: 710417c4e57a6a01500fe4c0c448ce3d
sidebar.folder.newName: e0ad5b2db20359a85de80c1231323bea
sidebar.folder.expand: b7545cb143816942ff096d890090fb6f
sidebar.folder.collapse: e9f8c6da708219313d72d99cc3998388
sidebar.section.name: c3642037e309db278bbbfe0590114c02
sidebar.section.showInSidebar: e38d073926d6fb3dfc4d4347708e3cf5
sidebar.section.toggle: 2992ffbc76e607a2dc0e99781f101637
sidebar.disabled.comingSoon: 81151a1669ebd695e837f304a0d8ec79
noteList.title.archive: e727b00944f81e1d0a95c12886ac4641
noteList.title.changes: c112bb3542e98308d12d5ecb10a67abc
noteList.title.inbox: 3882d32c66e7e768145ecd8f104b0c08
noteList.title.history: 16d2b386b2034b9488996466aaae0b57
noteList.title.view: 4351cfebe4b61d8aa5efa1d020710005
noteList.title.notes: f4c6f851b00d5518bf888815de279aba
noteList.searchPlaceholder: 4857cd2689a0a40eb4a77cdc745c518e
noteList.searchAction: 5012120fc480c67686dd22ee2f9493cd
noteList.createNote: f1484bc40bd3fe3430c13fb89e2ce1af
noteList.empty.changesError: 4fca500c4b70f61f7d9413c57c34bdc4
noteList.empty.noChanges: ad82ac153532f5625760c29c176c5d5f
noteList.empty.noArchived: 75fa9e2aaa902f65d433be856a2e8331
noteList.empty.noMatching: 22838e3b8d3d174d33d7986ab6bdd693
noteList.empty.allOrganized: ea8fbb54d21c03fae1469635e7043b9b
noteList.empty.noNotes: 910bd677fdd52f3e6edb4abc1d03ade8
noteList.empty.noMatchingItems: 25cd76c4bbd00b682a45687705b41a14
noteList.empty.noRelatedItems: 67eecd103b56ef0e56fd892d379b5a5e
noteList.sort.modified: 35e0c8c0b180c95d4e122e55ed62cc64
noteList.sort.created: 0eceeb45861f9585dd7a97a3e36f85c6
noteList.sort.title: b78a3223503896721cca1303f776159b
noteList.sort.status: ec53a8c4f07baed5d8825072c89799be
noteList.sort.by: 5cd12b67b005056a94f06368a7645b8e
noteList.sort.menu: 62bfadcf958eb6ad238e6c71e312a0ce
noteList.sort.ascending: cf3fb1ff52ea1eed3347ac5401ee7f0c
noteList.sort.descending: e3cf5ac19407b1a62c6fccaff675a53b
noteList.filter.open: c3bf447eabe632720a3aa1a7ce401274
noteList.filter.archived: 7d69b3cb4cada18ae61811304f8fbcb5
noteList.filter.week: d2ce009594dcc60befa6a4e6cbeb71fc
noteList.filter.month: 7cbb885aa1164b390a0bc050a64e1812
noteList.filter.all: b1c94ca2fbc3e78fc30069c8d0f01680
noteList.properties.customizeColumns: be39bb193d872e11bb21388add6eca23
noteList.properties.customizeAllColumns: 0d382ece9a9d08bb9ddf10ed2c88d726
noteList.properties.customizeInboxColumns: e7cf53b914ce1079801eeee603875660
noteList.properties.customizeViewColumns: a5612e5d2aa2e86941d536a85b27c8b4
noteList.properties.showInNoteList: f22a57c5fc14ff477000cc66d837c344
noteList.properties.searchPlaceholder: 9c7569eb531ff041b2b7cf4de1e5a619
noteList.properties.searchLabel: de1bc9695d5e79a75296abf74dc25056
noteList.properties.noMatches: 1627ecc53b9e97c94b2b6b1b93a58721
noteList.properties.reorder: c0955c7efaa1ce90d449a23cbc52b553
noteList.changes.restoreNote: d6e99303c0e0b7b2abce06fe9214788b
noteList.changes.discardChanges: 98313f623bb6f464b9a154eca0b99bf3
noteList.changes.restoreDescription: 45e13380b0538e6cbff330f99c260c0a
noteList.changes.discardDescription: cd953f51a81e10f8c90135e0106a45d6
noteList.changes.thisFile: 976b976e66879a470635bf0f660e81fc
noteList.changes.restore: 2bd339d85ee3b33e513359ce781b60cc
noteList.changes.discard: d94b42030b9785fd754d5c1754961269
noteList.changes.cancel: ea4788705e6873b424c65e91c2846b19
editor.empty.selectNote: a71ec7c80aefe49c59f6aba033bf453e
editor.empty.shortcuts: 1133fdf3ecef6a09dd9e2a185e1bd4ec
editor.raw.label: 7a9754c15264b0604aa31dfea32321ea
editor.find.findLabel: 4cfa6c981549e990fe2344e4c805405e
editor.find.findPlaceholder: 4cfa6c981549e990fe2344e4c805405e
editor.find.replaceLabel: 0ebe6df8a3ac338e0512acc741823fdb
editor.find.replacePlaceholder: 0ebe6df8a3ac338e0512acc741823fdb
editor.find.matchCount: 29d3cd243c6850f5fbac283e79d6d6a7
editor.find.noMatches: 3b470c1f6a10f58c8a8cb6b904577786
editor.find.invalidRegex: 9704b2ccc6158864810a313702019d68
editor.find.regexMustMatchText: 267728c2e7f2889b39847ee9b9b38891
editor.find.previousMatch: afb1b7e6bbdfaa97114e1b519a817f13
editor.find.nextMatch: 7f4d218b4f566ea7ff69ab8d912ba7b9
editor.find.showReplace: 82c8fdb73dfe8baa1759a36c6c0fb282
editor.find.hideReplace: a85baf9735f9acf26aa15b70f2ee55fb
editor.find.regex: 7486f19f279f95357c84706dd09ce9da
editor.find.matchCase: ba945280b8802ee1a7a50140e2fe94e2
editor.find.close: b040fbda901d2135cad53e54e0127071
editor.find.replace: 0ebe6df8a3ac338e0512acc741823fdb
editor.find.replaceAll: b1c94ca2fbc3e78fc30069c8d0f01680
editor.toolbar.rawReturn: 5ddcf5e0dc8b933b344bb6ca3d8e131d
editor.toolbar.rawOpen: 89ad60735a649b60dacd2301cda0c4ec
editor.toolbar.centerLayout: 3fabf7e9b285eeec90704d271f1049b7
editor.toolbar.leftLayout: acab6c8612816e012ff9f4220a42e485
editor.toolbar.removeFavorite: 7188286e36fc6c1892dd53aaa54237fb
editor.toolbar.addFavorite: 910885435dbc44a22b68cb45c79e4a7e
editor.toolbar.markUnorganized: 83fb1b23a3609fab493737fe7af0a198
editor.toolbar.markOrganized: 9d170c916afae3d7a82456838728ffa5
editor.toolbar.noDiff: b2c4189f90648aaeb5cd2e81f9bd8d94
editor.toolbar.loadingDiff: 430386d6aae3570fd399a133e41c7372
editor.toolbar.showDiff: 08d579de8d3abdcdfce0953a797362c6
editor.toolbar.openAi: d2e93006570a66709c8ce0dc27082ef1
editor.toolbar.closeAi: cd46973ef73076d612dff9903ce54498
editor.toolbar.restoreArchived: 1bff5cf4943af64c05b2e9aeadccbc84
editor.toolbar.archive: 63dc964c32e715217b49f8739d49636b
editor.toolbar.delete: f48134a07b016a1de05d4ba6d2fbfb41
editor.toolbar.revealFile: 76f4ed52da9937ae432dcf5a108fabb4
editor.toolbar.copyFilePath: 64c6cec5ca57efbb8c9c93ae5fbccd27
editor.toolbar.openProperties: 948b90b60b8ce827f179e8c5b85b112e
editor.filename.rename: c31c2b468229232ad6287e734fe67d96
editor.filename.renameToTitle: bff34a6a2dd1eb87c59403946679237f
editor.filename.trigger: 4e9739c2f937c828bbf5d1f935fe7fb9
editor.banner.archived: 7d69b3cb4cada18ae61811304f8fbcb5
editor.banner.unarchive: 9fd02d2eb5ce348a74372eea202a0aec
editor.banner.conflict: 384fc5a4b31c662b1e3426a7ef56441e
editor.banner.keepMine: 544a2f2e8e09f93919f10e1920d1b69e
editor.banner.keepMineTooltip: 9988cb86b051dd728e2d2f852f0283e4
editor.banner.keepTheirs: 46131020af44cc6ec4bfa0a8ff39e044
editor.banner.keepTheirsTooltip: 9e5b845c4459747d6ab0df6438ccfac4
inspector.title.properties: 9fc2d28c05ed9eb1d75ba4465abf15a9
inspector.title.propertiesShortcut: 427d1cbdc813cf54c5fac2508d38d407
inspector.title.closePropertiesShortcut: 97b953e45042d4143dd19624dc345d29
inspector.empty.noNoteSelected: 046d95682b747a30ed8a7b0b1d581629
inspector.empty.noProperties: 6864166e0f65d81b1eb474e41fde8822
inspector.empty.initializeProperties: edf249d214b68f5afe8634c577b709c4
inspector.empty.invalidProperties: 2ee2429c1ffbabcda9f57f91fb6c0b9d
inspector.empty.fixInEditor: b86d4934630d68bc5333c0feb25e5f3f
inspector.properties.addProperty: 9820ade036bf1bdf80c0b7da24a4ce0a
inspector.properties.deleteProperty: f1d0ab48c8596108e949dfc90e13050b
inspector.properties.none: 6adf97f83acf6453d4a6a4b1070f3754
inspector.properties.missingType: 9179080e7bcc72408f3de7cb944ff400
inspector.properties.missingTypeAria: 582c2c46117cff0534d13e7c8a45a3ba
inspector.properties.searchTypes: 84c8d94846183a79444bf36667e8d7ea
inspector.properties.noMatchingTypes: 9b64c31214171ba3b2d591743990b840
inspector.properties.yes: 93cba07454f06a4a960172bbd6e2a435
inspector.properties.no: bafd7322c6e97d25b6299b5d6fe8920b
inspector.properties.pickDate: e8e91fbba934dc8adfd7e433f5193911
inspector.properties.valuePlaceholder: 689202409e48743b914713f96d93947c
inspector.properties.propertyName: 7e9982311d69d66d38809e5d85377a08
inspector.relationship.add: ec211f7c20af43e742bf2570c3cb84f9
inspector.relationship.addRelationship: d2b0cb45dcdbb00ee70db397c36f73ad
inspector.relationship.name: 7ed3fccc071d6939eff211b1a6fd9696
inspector.relationship.noteTitle: f72ea00f174785710f0369b23c53963c
inspector.relationship.createAndOpen: 55bb53fea743c584c4024e7439c55bfe
inspector.info.title: 4059b0251f66a18cb56f544728796875
inspector.info.modified: 35e0c8c0b180c95d4e122e55ed62cc64
inspector.info.created: 0eceeb45861f9585dd7a97a3e36f85c6
inspector.info.words: 6f15b8d4b7287d60a8ea3d1c5cbadc84
inspector.info.size: 6f6cb72d544962fa333e2e34ce64f719
update.available: 992477975168b876be8e77ce2975e390
update.releaseNotes: 5dd03e8d039863e563e049be198c3fd3
update.updateNow: 99b1054c0f320be9f109c877a5efd0b2
update.dismiss: c8a59e7135a20b362f9c768b09454fdb
update.downloading: 2c7fdcafb08f831420f661810f826549
update.readyRestart: 4d7487b02d955a44d599189ec383e469
update.restartNow: 2d9c2140c53daf05855033aaceeaa8fd
status.update.check: eb1b4bb3667dd670210c7822badc2f1d
status.zoom.reset: dbf36ab275e5fbd256590e65aa1ca9a3
status.feedback.contribute: 96ab5025e38aef43fdb73c9830795264
status.feedback.label: 9887a4451812854f0f1b6f669a874307
status.theme.light: 4abf27a209985375949aaa426c7c7f3d
status.theme.dark: 541be2a55a52b518b8e510c476c7cc95
status.settings.open: bae08226d065231df6f01b08cd681c9b
status.build.unknown: d250349dd489bdfeb0cb0750b8b3ff89
status.vault.switch: 8a2ad262643c556ff0cfa99497aaa529
status.vault.default: 5b70a213f150f01f0776fa9481ef2ddf
status.vault.createEmpty: f37c03f236fbf1516222360a936249e8
status.vault.openLocal: a367344e0429a12a5cc9a6cecbbfcde5
status.vault.cloneGit: a7d0aef7c6237a36e54fd5a26e9c23fe
status.vault.cloneGettingStarted: 9953a11a477b441976a626a9acf5d7df
status.vault.notFound: 3119b7fa94c96209bca571b7c7ed0b7e
status.vault.remove: 7f3b4f76df23626170940dbc55c70728
status.remote.noneConfigured: 18a4edd4e8d862ccb343937f45585fb1
status.remote.inSync: a56f571b4df55d88fb06e61e343b3c91
status.remote.aheadTitle: 1516f4b92671b83c17441b4cddf25a7a
status.remote.behindTitle: 55ee20469bc46b7c61e7515fbfdc0b5d
status.remote.ahead: 681557ace3a84e15060ffca1623b75e6
status.remote.behind: 1825bb12c857a71861280e490e29debd
status.remote.add: f292f8ef85219f0acde6b66eb9c9c0f4
status.remote.none: ed3f2ebe0d847584fd62fc9e0db2df33
status.remote.noneDescription: f47636010c21c88a6f81cc41a962b26c
status.sync.syncing: b21888f3f83c224b3451901da243d00a
status.sync.conflict: f1d4ac54357cc0932f385d56814ba7e4
status.sync.failed: 85b08b086888f8ee2680ddd3398f3574
status.sync.pullRequired: 1ea27a2d3048b078a18665b24e8dcd91
status.sync.notSynced: d18d6927f7ffe96f72e18b4da12e306b
status.sync.justNow: 7b9275ee2786ef410555041b92b36bb3
status.sync.minutesAgo: b3ac76d1e2595531940035a8e2e2d13c
status.sync.resolveConflicts: b9f44cc5ee01c964f004f16e3a2833ca
status.sync.inProgress: 278d2bf6768809fbf6e97e7bb319a7c0
status.sync.pullAndPush: e07c084a9e734a54bd079d5327a924e7
status.sync.retry: ca43e18d4f930e8a3e6d403f31d30a39
status.sync.now: c03fafa3a653240e6104348e1293bb88
status.sync.synced: 5befab0dde764b6dd8b24a34dc30afa7
status.sync.conflicts: d35cef9595a935771f5e8158f387227b
status.sync.error: 902b0d55fddef6f8d651fe1035b7d4bd
status.sync.status: 76590d5f9708692e3735891bdca40903
status.sync.pull: 718f59718640c6506b3721fbc8bf3a4d
status.conflict.count: 46293d20ed2071fb30762b71fdaa5894
status.offline.title: 3bf45a7003646cc4f963810b0b7ac0f5
status.offline.label: 8d9da4bc0e49a50e09ac9f7e56789d39
status.changes.view: 6d60d24d8f475ddaef94bbbc58514b5a
status.changes.label: c112bb3542e98308d12d5ecb10a67abc
status.commit.local: 6474fe7e2ed525df3da3eb447943bfcd
status.commit.push: a4aaf10ef20cf17a982bb5b6dad198e0
status.commit.label: 59d5b10c3a447f036d85cb5ce524c96c
status.commit.openOnGitHub: 445ad18680a573c2aab062c3273ae16a
status.git.disabledTooltip: 6981fe5b4993e4b3299c774b185ecd70
status.git.disabled: 7f822b0ee91b8922b0c41723da867bd1
status.history.onlyGit: 7da5397c33ada1b73a81c5a449cbab16
status.history.open: 802ec1fd97592612c19ebef7bebbb5c2
status.history.label: 16d2b386b2034b9488996466aaae0b57
status.mcp.notConnected: 7e8850f4a564088ced4f592996a39309
status.mcp.unknown: 051ff29ff900592f75974d0ef554c2eb
status.claude.missing: 89021856e6152467f54ed33faed55e2f
status.claude.label: 38c66b824d5769e42c3866005296525b
status.claude.install: 1f4688bc2a2acc268811c9edcec810a1
status.ai.noAgents: 0876a176a6297e79366d0a2935851f81
status.ai.noAgentsTooltip: 1bdc02ec2dd7f9701b4371ffd5770318
status.ai.selectedMissing: a37f3dbc73725219e90d709fe0d3ad97
status.ai.defaultAgent: 79650d57d1678e56c75dbbcba6ea87f7
status.ai.restoreDetails: 47a913b58ce40add6521bc93e807476f
status.ai.withGuidance: 1eafd34810db6bba54dac7aa549b5182
status.ai.active: 059e3a3167c2ab00f4ca872e82a48d98
status.ai.unavailable: 0d3e6e3afef545710aa24ed2ea4990af
status.ai.install: 349838fb1d851d3e2014b9fe39203275
status.ai.installAgent: 78ac3395d977f8b86ca9a02f781f4af8
status.ai.vaultGuidance: 7bb4644efe6ae7cec9993c8bd85f1519
status.ai.restoreGuidance: 23331fecc692d11d85cf24838ed273f2
status.ai.openOptions: d387b1ab67586c7a2d83db8900a4dd8e
pulse.title: 16d2b386b2034b9488996466aaae0b57
pulse.today: 1dd1c5fb7f25cd41b291d43a89e3aefd
pulse.yesterday: ebfe9ce86e6e9fb953aa7a25b59c1956
pulse.commitCount: 17dc5f11868c946f55ff8164d318856d
pulse.commitSingular: fffca4d67ea0a788813031b8bbc3b329
pulse.commitPlural: a90814b38bbdfe717205f6d24183f6a7
pulse.openOnGitHub: ddab0146d46f585f2ab36072c92a0048
pulse.expandFiles: 53c567ce9f999dd937fc954c39853e81
pulse.collapseFiles: 0ae74096d72faf840cd7d35635aa0cf9
pulse.noActivity: cfbd8245c849f5f00b495d61ea14dfdf
pulse.emptyDescription: b5ee4968b62908444166182fe8e593c1
pulse.retry: 6327b4e59f58137083214a1fec358855
pulse.loadingActivity: 26bf6a6bc2fd8148cd8753542a0ddf86
pulse.loading: 5f02f05c744a0f875aebb8625ae1486f
pulse.loadError: 63c17996fe219e6bd33b27d2b7ce0c96
command.switchLanguage: 60f1a6760c7d1da0b1f7f6d0529608ee
locale.itIT: 4be8e06d27bca7e1828f2fa9a49ca985
locale.frFR: ad225f707802ba118c22987186dd38e8
locale.deDE: 86bc3115eb4e9873ac96904a4a68e19e
locale.ruRU: deba6920e70615401385fe1fb5a379ec
locale.esES: cdbe021be1976335ab583a845edf7ed6
locale.ptBR: 26d5352ead4a731f3d11eb2e85d0e297
locale.ptPT: 71bfc0d79772120b52c1c0782450ff84
locale.es419: edbf64ac382b82a54795fb409beb54be
locale.zhCN: 1e81fc32fea0e9f3a978661e4b5e484d
locale.jaJP: f32ced6a9ba164c4b3c047fd1d7c882e
locale.koKR: d0bdb3cde477d82e766da05ebda50ccb

30
lara.yaml Normal file
View File

@@ -0,0 +1,30 @@
version: "1.0.0"
project:
instruction: >
Tolaria is a desktop knowledge-management app. Keep product names, CLI names,
markdown wikilinks, frontmatter keys, file paths, and placeholders like
{agent}, {zoom}, {language}, {name}, {label}, {file}, and {count} unchanged.
locales:
source: en
target:
- it-IT
- fr-FR
- de-DE
- ru-RU
- es-ES
- pt-BR
- pt-PT
- es-419
- zh-CN
- ja-JP
- ko-KR
files:
json:
include:
- "src/lib/locales/[locale].json"
exclude: []
lockedKeys: []
ignoredKeys: []

View File

@@ -9,6 +9,9 @@
"build": "tsc -b && vite build",
"bundle-mcp": "node scripts/bundle-mcp-server.mjs",
"lint": "eslint .",
"l10n:translate": "lara-cli translate",
"l10n:translate:force": "lara-cli translate --force",
"l10n:validate": "node scripts/validate-locales.mjs",
"preview": "vite preview",
"tauri": "tauri",
"test": "vitest run",
@@ -72,6 +75,7 @@
"unicode-emoji-json": "^0.8.0"
},
"devDependencies": {
"@translated/lara-cli": "^1.3.2",
"@eslint/js": "^9.39.1",
"@playwright/test": "^1.58.2",
"@tauri-apps/cli": "^2.10.0",

893
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,61 @@
import fs from 'node:fs'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
const localesDir = path.join(root, 'src/lib/locales')
const sourcePath = path.join(localesDir, 'en.json')
function readCatalog(filePath) {
return JSON.parse(fs.readFileSync(filePath, 'utf8'))
}
function assertFlatStringCatalog(locale, catalog) {
if (!catalog || typeof catalog !== 'object' || Array.isArray(catalog)) {
throw new Error(`${locale}: expected a flat object of translation keys`)
}
for (const [key, value] of Object.entries(catalog)) {
if (typeof value !== 'string') {
throw new Error(`${locale}: key "${key}" must map to a string`)
}
}
}
const sourceCatalog = readCatalog(sourcePath)
assertFlatStringCatalog('en', sourceCatalog)
const sourceKeys = Object.keys(sourceCatalog).sort()
const localeFiles = fs.readdirSync(localesDir).filter((file) => file.endsWith('.json'))
const issues = []
for (const file of localeFiles) {
const locale = file.replace(/\.json$/, '')
const filePath = path.join(localesDir, file)
const catalog = readCatalog(filePath)
assertFlatStringCatalog(locale, catalog)
if (locale === 'en') continue
const keys = Object.keys(catalog).sort()
const missing = sourceKeys.filter((key) => !keys.includes(key))
const extra = keys.filter((key) => !sourceKeys.includes(key))
if (missing.length > 0) {
issues.push(`${locale}: missing ${missing.length} key(s)`)
}
if (extra.length > 0) {
issues.push(`${locale}: extra ${extra.length} key(s)`)
}
}
if (issues.length > 0) {
console.error('Locale validation failed:')
for (const issue of issues) {
console.error(`- ${issue}`)
}
process.exit(1)
}
console.log(`Validated ${localeFiles.length} locale catalog(s) against ${sourceKeys.length} English keys.`)

View File

@@ -244,7 +244,7 @@ describe('CommandPalette', () => {
})
it('localizes command palette chrome', () => {
render(<CommandPalette open={true} commands={commands} locale="zh-Hans" onClose={onClose} />)
render(<CommandPalette open={true} commands={commands} locale="zh-CN" onClose={onClose} />)
const input = screen.getByPlaceholderText('输入命令...')
fireEvent.change(input, { target: { value: 'zzzzzzz' } })

View File

@@ -209,7 +209,7 @@ describe('DynamicPropertiesPanel', () => {
renderPanel({
frontmatter: { Status: 'Active', 'Belongs to': 'some-team' },
onAddProperty,
locale: 'zh-Hans',
locale: 'zh-CN',
})
expect(screen.getByText('Type')).toBeInTheDocument()

View File

@@ -5,7 +5,7 @@ import { isTauri, mockInvoke } from '../mock-tauri'
import { useDragRegion } from '../hooks/useDragRegion'
import type { PulseCommit, PulseFile } from '../types'
import { relativeDate } from '../utils/noteListHelpers'
import { translate, type AppLocale } from '../lib/i18n'
import { getLocaleDateLocale, translate, type AppLocale } from '../lib/i18n'
import {
Plus, Minus, PencilSimple, GitCommit, ArrowSquareOut,
FileText, CaretDown, CaretRight, Pulse,
@@ -57,7 +57,7 @@ function formatDayLabel(dateKey: string, locale: AppLocale): string {
if (isYesterday(dateKey)) return translate(locale, 'pulse.yesterday')
const date = new Date(`${dateKey}T00:00:00`)
const dateLocale = locale === 'zh-Hans' ? 'zh-CN' : 'en-US'
const dateLocale = getLocaleDateLocale(locale)
return date.toLocaleDateString(dateLocale, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })
}

View File

@@ -78,7 +78,7 @@ describe('SettingsPanel', () => {
rerender(
<SettingsPanel
open={true}
settings={{ ...emptySettings, ui_language: 'zh-Hans' }}
settings={{ ...emptySettings, ui_language: 'zh-CN' }}
onSave={onSave}
onClose={onClose}
/>
@@ -122,7 +122,7 @@ describe('SettingsPanel', () => {
open={true}
settings={emptySettings}
locale="en"
systemLocale="zh-Hans"
systemLocale="zh-CN"
onSave={onSave}
onClose={onClose}
/>
@@ -157,7 +157,7 @@ describe('SettingsPanel', () => {
fireEvent.click(screen.getByTestId('settings-save'))
expect(onSave).toHaveBeenCalledWith(expect.objectContaining({
ui_language: 'zh-Hans',
ui_language: 'zh-CN',
}))
})

View File

@@ -18,6 +18,7 @@ import {
import { Moon, Sun, X } from '@phosphor-icons/react'
import type { Settings } from '../types'
import {
APP_LOCALES,
SYSTEM_UI_LANGUAGE,
createTranslator,
localeDisplayName,
@@ -673,8 +674,10 @@ function buildLanguageOptions(t: Translate, locale: AppLocale, systemLocale: App
language: localeDisplayName(systemLocale, locale),
}),
},
{ value: 'en', label: t('settings.language.en') },
{ value: 'zh-Hans', label: t('settings.language.zhHans') },
...APP_LOCALES.map((appLocale) => ({
value: appLocale,
label: localeDisplayName(appLocale, locale),
})),
]
}

View File

@@ -50,7 +50,7 @@ function makeReadyStatus(overrides?: Partial<Extract<UpdateStatus, { state: 'rea
}
}
function renderBanner(status: UpdateStatus, actions = makeActions(), locale: 'en' | 'zh-Hans' = 'en') {
function renderBanner(status: UpdateStatus, actions = makeActions(), locale: 'en' | 'zh-CN' = 'en') {
const view = render(<UpdateBanner status={status} actions={actions} locale={locale} />)
return { ...view, actions }
}
@@ -87,7 +87,7 @@ describe('UpdateBanner', () => {
renderBanner(makeAvailableStatus({
version: '2026.4.16-alpha.3',
displayVersion: 'Alpha 2026.4.16.3',
}), makeActions(), 'zh-Hans')
}), makeActions(), 'zh-CN')
expect(screen.getByText(/Tolaria Alpha 2026\.4\.16\.3/)).toBeTruthy()
expect(screen.getByText(/可用/)).toBeTruthy()

View File

@@ -1,16 +1,12 @@
import type { VaultEntry } from '../../types'
import { Info } from '@phosphor-icons/react'
import { countWords } from '../../utils/wikilinks'
import { translate, type AppLocale } from '../../lib/i18n'
function dateLocale(locale: AppLocale): string {
return locale === 'zh-Hans' ? 'zh-CN' : 'en-US'
}
import { getLocaleDateLocale, translate, type AppLocale } from '../../lib/i18n'
function formatDate(timestamp: number | null, locale: AppLocale): string {
if (!timestamp) return '\u2014'
const d = new Date(timestamp * 1000)
return d.toLocaleDateString(dateLocale(locale), { year: 'numeric', month: 'short', day: 'numeric' })
return d.toLocaleDateString(getLocaleDateLocale(locale), { year: 'numeric', month: 'short', day: 'numeric' })
}
function formatFileSize(bytes: number): string {

View File

@@ -40,7 +40,7 @@ describe('resolveHeaderTitle', () => {
it('localizes built-in note list titles', () => {
const selection: SidebarSelection = { kind: 'filter', filter: 'archived' }
expect(resolveHeaderTitle(selection, null, [], 'zh-Hans')).toBe('归档')
expect(resolveHeaderTitle(selection, null, [], 'zh-CN')).toBe('归档')
})
it('keeps user-authored view names unchanged', () => {

View File

@@ -57,21 +57,21 @@ describe('buildSettingsCommands', () => {
onSetUiLanguage,
})
const chinese = commands.find((item) => item.id === 'switch-language-zh-hans')
const chinese = commands.find((item) => item.id === 'switch-language-zh-cn')
expect(chinese).toMatchObject({
label: 'Switch Language to Simplified Chinese',
enabled: true,
})
chinese?.execute()
expect(onSetUiLanguage).toHaveBeenCalledWith('zh-Hans')
expect(onSetUiLanguage).toHaveBeenCalledWith('zh-CN')
})
it('localizes language commands', () => {
const commands = buildSettingsCommands({
onOpenSettings: vi.fn(),
locale: 'zh-Hans',
systemLocale: 'zh-Hans',
locale: 'zh-CN',
systemLocale: 'zh-CN',
selectedUiLanguage: 'system',
onSetUiLanguage: vi.fn(),
})

View File

@@ -2,9 +2,11 @@ import { APP_COMMAND_IDS, getAppCommandShortcutDisplay } from '../appCommandCata
import type { CommandAction } from './types'
import { rememberFeedbackDialogOpener } from '../../lib/feedbackDialogOpener'
import {
APP_LOCALES,
SYSTEM_UI_LANGUAGE,
createTranslator,
localeDisplayName,
localeSearchKeywords,
type AppLocale,
type UiLanguagePreference,
} from '../../lib/i18n'
@@ -100,22 +102,20 @@ function buildLanguageCommands({
enabled: canSwitchLanguage && selectedUiLanguage !== SYSTEM_UI_LANGUAGE,
execute: () => onSetUiLanguage?.(SYSTEM_UI_LANGUAGE),
},
{
id: 'switch-language-en',
label: t('command.switchToEnglish'),
group: 'Settings',
keywords: ['language', 'locale', 'english', 'en'],
enabled: canSwitchLanguage && selectedUiLanguage !== 'en',
execute: () => onSetUiLanguage?.('en'),
},
{
id: 'switch-language-zh-hans',
label: t('command.switchToChinese'),
group: 'Settings',
keywords: ['language', 'locale', 'chinese', 'simplified', 'zh', '中文'],
enabled: canSwitchLanguage && selectedUiLanguage !== 'zh-Hans',
execute: () => onSetUiLanguage?.('zh-Hans'),
},
...APP_LOCALES.map((targetLocale) => ({
id: `switch-language-${targetLocale.toLowerCase()}`,
label: t('command.switchLanguage', {
language: localeDisplayName(targetLocale, locale),
}),
group: 'Settings' as const,
keywords: [
'language',
'locale',
...localeSearchKeywords(targetLocale),
],
enabled: canSwitchLanguage && selectedUiLanguage !== targetLocale,
execute: () => onSetUiLanguage?.(targetLocale),
})),
]
}

View File

@@ -81,7 +81,7 @@ function changedSettings(): Settings {
anonymous_id: null,
release_channel: null,
theme_mode: null,
ui_language: 'zh-Hans',
ui_language: 'zh-CN',
default_ai_agent: null,
}
}
@@ -119,7 +119,7 @@ describe('useSettings', () => {
const settings = await renderLoadedSettings()
expect(settings.ui_language).toBe('zh-Hans')
expect(settings.ui_language).toBe('zh-CN')
expect(mockInvokeFn).not.toHaveBeenCalledWith('get_settings', {})
})
@@ -136,7 +136,7 @@ describe('useSettings', () => {
it('normalizes unsupported language preferences on load', async () => {
mockSettingsStore = {
...savedSettings,
ui_language: 'fr-FR' as Settings['ui_language'],
ui_language: 'xx-ZZ' as Settings['ui_language'],
}
const settings = await renderLoadedSettings()

View File

@@ -1,36 +1,59 @@
import { describe, expect, it } from 'vitest'
import {
APP_LOCALES,
EN_TRANSLATIONS,
ZH_HANS_TRANSLATIONS,
localeCatalogLocales,
localeDisplayName,
normalizeUiLanguagePreference,
resolveEffectiveLocale,
serializeUiLanguagePreference,
translate,
} from './i18n'
describe('i18n', () => {
it('uses supported system languages before falling back to English', () => {
expect(resolveEffectiveLocale(null, ['zh-CN'])).toBe('zh-Hans')
expect(resolveEffectiveLocale('system', ['fr-FR'])).toBe('en')
expect(resolveEffectiveLocale(null, ['zh-CN'])).toBe('zh-CN')
expect(resolveEffectiveLocale(null, ['es-MX'])).toBe('es-419')
expect(resolveEffectiveLocale('system', ['fr-FR'])).toBe('fr-FR')
expect(resolveEffectiveLocale('system', ['xx-ZZ'])).toBe('en')
})
it('normalizes stored language preferences', () => {
expect(normalizeUiLanguagePreference(' zh-cn ')).toBe('zh-Hans')
it('normalizes current and legacy language preferences', () => {
expect(normalizeUiLanguagePreference(' zh-cn ')).toBe('zh-CN')
expect(normalizeUiLanguagePreference('zh-Hans')).toBe('zh-CN')
expect(normalizeUiLanguagePreference('fr-FR')).toBe('fr-FR')
expect(normalizeUiLanguagePreference('auto')).toBe('system')
expect(normalizeUiLanguagePreference('fr-FR')).toBeNull()
expect(normalizeUiLanguagePreference('xx-ZZ')).toBeNull()
})
it('serializes system preference as the settings default', () => {
expect(serializeUiLanguagePreference('system')).toBeNull()
expect(serializeUiLanguagePreference('zh-Hans')).toBe('zh-Hans')
expect(serializeUiLanguagePreference('zh-Hans')).toBe('zh-CN')
})
it('keeps Simplified Chinese aligned with the canonical English keys', () => {
expect(Object.keys(ZH_HANS_TRANSLATIONS).sort()).toEqual(Object.keys(EN_TRANSLATIONS).sort())
it('keeps English locale metadata aligned with the locale registry', () => {
expect(APP_LOCALES).toContain('zh-CN')
expect(APP_LOCALES).toContain('ko-KR')
expect(localeDisplayName('pt-BR', 'en')).toBe('Portuguese (Brazil)')
})
it('formats locale display names in the active language', () => {
expect(localeDisplayName('zh-Hans', 'zh-Hans')).toBe('简体中文')
expect(localeDisplayName('en', 'zh-Hans')).toBe('英文')
expect(localeDisplayName('zh-CN', 'zh-CN')).toBe('简体中文')
expect(localeDisplayName('en', 'zh-CN')).toBe('英文')
expect(localeDisplayName('es-419', 'en')).toBe('Spanish (Latin America)')
})
it('keeps locale label keys present in English', () => {
expect(EN_TRANSLATIONS['locale.itIT']).toBe('Italian')
expect(EN_TRANSLATIONS['locale.koKR']).toBe('Korean')
})
it('loads a translation catalog for every configured locale', () => {
expect(localeCatalogLocales()).toEqual(APP_LOCALES)
})
it('drops English-only plural suffix values for non-English locales', () => {
expect(translate('en', 'status.conflict.count', { count: 2, plural: 's' })).toBe('2 conflicts')
expect(translate('zh-CN', 'status.conflict.count', { count: 2, plural: 's' })).toBe('2 个冲突')
})
})

View File

@@ -1,22 +1,190 @@
import { EN_TRANSLATIONS } from './locales/en'
import { ZH_HANS_TRANSLATIONS } from './locales/zh-Hans'
import EN_TRANSLATIONS from './locales/en.json'
export const DEFAULT_APP_LOCALE = 'en'
export const SYSTEM_UI_LANGUAGE = 'system'
export const APP_LOCALES = ['en', 'zh-Hans'] as const
export const APP_LOCALES = [
'en',
'it-IT',
'fr-FR',
'de-DE',
'ru-RU',
'es-ES',
'pt-BR',
'pt-PT',
'es-419',
'zh-CN',
'ja-JP',
'ko-KR',
] as const
export type AppLocale = typeof APP_LOCALES[number]
export type UiLanguagePreference = typeof SYSTEM_UI_LANGUAGE | AppLocale
export type TranslationKey = keyof typeof EN_TRANSLATIONS
export type TranslationCatalog = typeof EN_TRANSLATIONS
export type TranslationKey = keyof TranslationCatalog
export type TranslationValues = Record<string, string | number>
export { EN_TRANSLATIONS, ZH_HANS_TRANSLATIONS }
type LocaleDefinition = {
code: AppLocale
dateLocale: string
labelKey: TranslationKey
aliases: readonly string[]
searchKeywords: readonly string[]
}
const SIMPLIFIED_CHINESE_LANGUAGE_CODES = new Set(['zh', 'zh-cn', 'zh-hans', 'zh-sg'])
const LOCALE_DEFINITIONS: Record<AppLocale, LocaleDefinition> = {
en: {
code: 'en',
dateLocale: 'en-US',
labelKey: 'locale.en',
aliases: ['en', 'en-us', 'en-gb', 'en-ca', 'en-au'],
searchKeywords: ['english', 'en'],
},
'it-IT': {
code: 'it-IT',
dateLocale: 'it-IT',
labelKey: 'locale.itIT',
aliases: ['it', 'it-it'],
searchKeywords: ['italian', 'italiano', 'it', 'it-it'],
},
'fr-FR': {
code: 'fr-FR',
dateLocale: 'fr-FR',
labelKey: 'locale.frFR',
aliases: ['fr', 'fr-fr'],
searchKeywords: ['french', 'francais', 'français', 'fr', 'fr-fr'],
},
'de-DE': {
code: 'de-DE',
dateLocale: 'de-DE',
labelKey: 'locale.deDE',
aliases: ['de', 'de-de'],
searchKeywords: ['german', 'deutsch', 'de', 'de-de'],
},
'ru-RU': {
code: 'ru-RU',
dateLocale: 'ru-RU',
labelKey: 'locale.ruRU',
aliases: ['ru', 'ru-ru'],
searchKeywords: ['russian', 'russkiy', 'русский', 'ru', 'ru-ru'],
},
'es-ES': {
code: 'es-ES',
dateLocale: 'es-ES',
labelKey: 'locale.esES',
aliases: ['es-es'],
searchKeywords: ['spanish', 'espanol', 'español', 'spain', 'es', 'es-es'],
},
'pt-BR': {
code: 'pt-BR',
dateLocale: 'pt-BR',
labelKey: 'locale.ptBR',
aliases: ['pt-br'],
searchKeywords: ['portuguese', 'brasil', 'brazilian', 'pt', 'pt-br'],
},
'pt-PT': {
code: 'pt-PT',
dateLocale: 'pt-PT',
labelKey: 'locale.ptPT',
aliases: ['pt-pt'],
searchKeywords: ['portuguese', 'portugal', 'european', 'pt-pt'],
},
'es-419': {
code: 'es-419',
dateLocale: 'es-419',
labelKey: 'locale.es419',
aliases: [
'es-419',
'es-ar',
'es-bo',
'es-cl',
'es-co',
'es-cr',
'es-cu',
'es-do',
'es-ec',
'es-gt',
'es-hn',
'es-mx',
'es-ni',
'es-pa',
'es-pe',
'es-pr',
'es-py',
'es-sv',
'es-us',
'es-uy',
'es-ve',
],
searchKeywords: ['spanish', 'latin', 'latam', 'latin america', 'es-419'],
},
'zh-CN': {
code: 'zh-CN',
dateLocale: 'zh-CN',
labelKey: 'locale.zhCN',
aliases: ['zh', 'zh-cn', 'zh-hans', 'zh-sg'],
searchKeywords: ['chinese', 'simplified', 'zh', 'zh-cn', '中文', '简体中文'],
},
'ja-JP': {
code: 'ja-JP',
dateLocale: 'ja-JP',
labelKey: 'locale.jaJP',
aliases: ['ja', 'ja-jp'],
searchKeywords: ['japanese', 'nihongo', '日本語', 'ja', 'ja-jp'],
},
'ko-KR': {
code: 'ko-KR',
dateLocale: 'ko-KR',
labelKey: 'locale.koKR',
aliases: ['ko', 'ko-kr'],
searchKeywords: ['korean', 'hangul', '한국어', 'ko', 'ko-kr'],
},
}
const TRANSLATIONS: Record<AppLocale, Partial<Record<TranslationKey, string>>> = {
en: EN_TRANSLATIONS,
'zh-Hans': ZH_HANS_TRANSLATIONS,
const APP_LOCALE_SET = new Set<AppLocale>(APP_LOCALES)
const NORMALIZED_LOCALE_LOOKUP = new Map<string, AppLocale>()
for (const locale of APP_LOCALES) {
const definition = LOCALE_DEFINITIONS[locale]
NORMALIZED_LOCALE_LOOKUP.set(locale.toLowerCase(), locale)
for (const alias of definition.aliases) {
NORMALIZED_LOCALE_LOOKUP.set(alias, locale)
}
}
const LOCALE_MODULES = import.meta.glob('./locales/*.json', { eager: true, import: 'default' }) as Record<string, TranslationCatalog>
const TRANSLATIONS: Partial<Record<AppLocale, Partial<Record<TranslationKey, string>>>> = buildTranslations()
export const APP_LOCALE_DEFINITIONS = APP_LOCALES.map((locale) => LOCALE_DEFINITIONS[locale])
export { EN_TRANSLATIONS }
function buildTranslations() {
const translations: Partial<Record<AppLocale, Partial<Record<TranslationKey, string>>>> = {
en: EN_TRANSLATIONS,
}
for (const [path, catalog] of Object.entries(LOCALE_MODULES)) {
const match = path.match(/\/([^/]+)\.json$/)
if (!match) continue
const locale = normalizeLocaleCode(match[1])
if (!locale || locale === 'en') continue
translations[locale] = catalog
}
return translations
}
function isAppLocale(value: string): value is AppLocale {
return APP_LOCALE_SET.has(value as AppLocale)
}
export function getLocaleDefinition(locale: AppLocale): LocaleDefinition {
return LOCALE_DEFINITIONS[locale]
}
export function getLocaleDateLocale(locale: AppLocale): string {
return LOCALE_DEFINITIONS[locale].dateLocale
}
export function interpolate(template: string, values: TranslationValues = {}): string {
@@ -26,9 +194,14 @@ export function interpolate(template: string, values: TranslationValues = {}): s
})
}
function localizedInterpolationValues(locale: AppLocale, values?: TranslationValues): TranslationValues | undefined {
if (!values || locale === 'en' || values.plural === undefined) return values
return { ...values, plural: '' }
}
export function translate(locale: AppLocale, key: TranslationKey, values?: TranslationValues): string {
const template = TRANSLATIONS[locale]?.[key] ?? EN_TRANSLATIONS[key]
return interpolate(template, values)
return interpolate(template, localizedInterpolationValues(locale, values))
}
export function createTranslator(locale: AppLocale = DEFAULT_APP_LOCALE) {
@@ -36,10 +209,14 @@ export function createTranslator(locale: AppLocale = DEFAULT_APP_LOCALE) {
}
function normalizeLocaleCode(value: string): AppLocale | null {
const normalized = value.trim().replace('_', '-').toLowerCase()
if (normalized === 'en' || normalized.startsWith('en-')) return 'en'
if (SIMPLIFIED_CHINESE_LANGUAGE_CODES.has(normalized)) return 'zh-Hans'
return null
const normalized = value.trim().replaceAll('_', '-').toLowerCase()
if (!normalized) return null
const exactMatch = NORMALIZED_LOCALE_LOOKUP.get(normalized)
if (exactMatch) return exactMatch
const languageMatches = APP_LOCALES.filter((locale) => locale.toLowerCase().startsWith(`${normalized}-`))
return languageMatches.length === 1 ? languageMatches[0] : null
}
export function normalizeUiLanguagePreference(value: unknown): UiLanguagePreference | null {
@@ -82,5 +259,21 @@ export function resolveEffectiveLocale(
}
export function localeDisplayName(locale: AppLocale, displayLocale: AppLocale = locale): string {
return translate(displayLocale, locale === 'zh-Hans' ? 'locale.zhHans' : 'locale.en')
return translate(displayLocale, LOCALE_DEFINITIONS[locale].labelKey)
}
export function localeSearchKeywords(locale: AppLocale): readonly string[] {
return LOCALE_DEFINITIONS[locale].searchKeywords
}
export function hasLocaleCatalog(locale: AppLocale): boolean {
return locale === 'en' || !!TRANSLATIONS[locale]
}
export function localeCatalogLocales(): AppLocale[] {
return APP_LOCALES.filter((locale) => hasLocaleCatalog(locale))
}
export function isCanonicalAppLocale(value: string): value is AppLocale {
return isAppLocale(value)
}

405
src/lib/locales/de-DE.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "Keine passenden Befehle",
"command.palettePlaceholder": "Geben Sie einen Befehl ein …",
"command.footerNavigate": "↑↓ navigieren",
"command.footerSelect": "↵ Auswählen",
"command.footerClose": "esc schließen",
"command.footerSend": "↵ Senden",
"command.aiMode": "{agent}-Modus",
"command.openSettings": "Einstellungen öffnen",
"command.openSettings.keywords": "Einstellungen Konfiguration",
"command.openLanguageSettings": "Spracheinstellungen öffnen",
"command.openLanguageSettings.keywords": "Sprache Gebietsschema i18n Internationalisierung Lokalisierung Englisch Italienisch Französisch Deutsch Russisch Spanisch Portugiesisch Chinesisch Japanisch Koreanisch 中文",
"command.useSystemLanguage": "Systemsprache verwenden",
"command.openH1Setting": "Einstellung für automatische H1-Umbenennung öffnen",
"command.contribute": "Mitwirken",
"command.checkUpdates": "Nach Updates suchen",
"command.group.navigation": "Navigation",
"command.group.note": "Notiz",
"command.group.git": "Git",
"command.group.view": "Anzeigen",
"command.group.settings": "Einstellungen",
"command.navigation.searchNotes": "Notizen durchsuchen",
"command.navigation.goAllNotes": "Zu allen Notizen",
"command.navigation.goArchived": "Zu Archivierten Notizen",
"command.navigation.goChanges": "Zu den Änderungen",
"command.navigation.goHistory": "Zum Verlauf",
"command.navigation.goBack": "Zurück",
"command.navigation.goForward": "Vorwärts",
"command.navigation.goInbox": "Zum Posteingang",
"command.navigation.renameFolder": "Ordner umbenennen",
"command.navigation.deleteFolder": "Ordner löschen",
"command.navigation.showOpenNotes": "Offene Notizen anzeigen",
"command.navigation.showArchivedNotes": "Archivierte Notizen anzeigen",
"command.navigation.listType": "{type}-Liste",
"command.note.newNote": "Neue Notiz",
"command.note.newType": "Neuer Typ",
"command.note.newTypedNote": "Neuer {type}",
"command.note.saveNote": "Notiz speichern",
"command.note.findInNote": "In Notiz suchen",
"command.note.replaceInNote": "In Notiz ersetzen",
"command.note.deleteNote": "Notiz löschen",
"command.note.archiveNote": "Notiz archivieren",
"command.note.unarchiveNote": "Notiz aus dem Archiv holen",
"command.note.addFavorite": "Zu Favoriten hinzufügen",
"command.note.removeFavorite": "Aus Favoriten entfernen",
"command.note.markOrganized": "Als organisiert markieren",
"command.note.markUnorganized": "Als unorganisiert markieren",
"command.note.restoreDeleted": "Gelöschte Notiz wiederherstellen",
"command.note.setIcon": "Notizsymbol festlegen",
"command.note.removeIcon": "Notizsymbol entfernen",
"command.note.changeType": "Notiztyp ändern …",
"command.note.moveToFolder": "Notiz in Ordner verschieben …",
"command.note.openNewWindow": "In neuem Fenster öffnen",
"command.git.initialize": "Git für den aktuellen Vault initialisieren",
"command.git.commitPush": "Commit & Push",
"command.git.addRemote": "Remote zum aktuellen Vault hinzufügen",
"command.git.pull": "Von Remote abrufen",
"command.git.resolveConflicts": "Konflikte auflösen",
"command.git.viewChanges": "Ausstehende Änderungen anzeigen",
"command.view.editorOnly": "Nur Editor",
"command.view.editorNoteList": "Editor + Notizenliste",
"command.view.fullLayout": "Vollständiges Layout",
"command.view.toggleProperties": "Eigenschaften-Panel ein-/ausblenden",
"command.view.toggleDiff": "Diff-Modus umschalten",
"command.view.toggleRaw": "Raw-Editor umschalten",
"command.view.leftLayout": "Linksbündiges Notizenlayout verwenden",
"command.view.centerLayout": "Zentriertes Notizen-Layout verwenden",
"command.view.toggleAiPanel": "KI-Panel umschalten",
"command.view.newAiChat": "Neuer KI-Chat",
"command.view.toggleBacklinks": "Backlinks ein-/ausblenden",
"command.view.zoomIn": "Vergrößern ({zoom} %)",
"command.view.zoomOut": "Verkleinern ({zoom} %)",
"command.view.resetZoom": "Zoom zurücksetzen",
"command.settings.createEmptyVault": "Leeren Vault erstellen …",
"command.settings.openVault": "Vault öffnen …",
"command.settings.removeVault": "Vault aus der Liste entfernen",
"command.settings.restoreGettingStarted": "Getting-Started-Vault wiederherstellen",
"command.settings.manageExternalAi": "Externe KI-Tools verwalten …",
"command.settings.setupExternalAi": "Externe KI-Tools einrichten …",
"command.settings.reloadVault": "Vault neu laden",
"command.settings.repairVault": "Vault reparieren",
"command.ai.openAgents": "KI-Agents öffnen",
"command.ai.restoreGuidance": "Tolaria-KI-Anleitung wiederherstellen",
"command.ai.switchToAgent": "KI-Agent auf {agent} umstellen",
"command.ai.switchDefault": "Standard-AI-Agent wechseln",
"command.ai.switchDefaultWithAgent": "Standard-AI-Agent ({agent}) wechseln",
"settings.title": "Einstellungen",
"settings.close": "Einstellungen schließen",
"settings.sync.title": "Synchronisierung & Updates",
"settings.sync.description": "Konfigurieren Sie das Abrufen im Hintergrund und legen Sie fest, welchem Update-Feed Tolaria folgt. Stable erhält nur manuell promotete Releases, während Alpha jedem Push auf main folgt.",
"settings.pullInterval": "Pull-Intervall (Minuten)",
"settings.releaseChannel": "Release-Kanal",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Darstellung",
"settings.appearance.description": "Wählen Sie den App-Farbmodus aus, der für Tolaria Chrome, Editor-Oberflächen, Menüs und Dialoge verwendet werden soll.",
"settings.theme.label": "Design",
"settings.theme.light": "Hell",
"settings.theme.dark": "Dunkel",
"settings.language.title": "Sprache",
"settings.language.description": "Wählen Sie die Anzeigesprache für Tolaria Chrome aus. Das System folgt macOS, wenn diese Sprache unterstützt wird, wobei Englisch als Ausweichsprache dient.",
"settings.language.label": "Anzeigesprache",
"settings.language.system": "System ({language})",
"settings.language.summary": "Fehlende Übersetzungen fallen auf Englisch zurück, sodass teilweise übersetzte Locales weiterhin nutzbar bleiben.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Erstellt nach Bearbeitungspausen oder wenn die App nicht mehr aktiv ist automatisch konservative Git-Checkpoints.",
"settings.autogit.description.disabled": "AutoGit ist erst verfügbar, wenn der aktuelle Vault Git-fähig ist. Initialisieren Sie zunächst Git für diesen Vault.",
"settings.autogit.enable": "AutoGit aktivieren",
"settings.autogit.enableDescription": "Wenn diese Option aktiviert ist, führt Tolaria nach einer Inaktivitätspause oder nachdem die App inaktiv geworden ist, automatisch ein Commit und einen Push der gespeicherten lokalen Änderungen durch.",
"settings.autogit.idleThreshold": "Leerlaufschwelle (Sekunden)",
"settings.autogit.inactiveThreshold": "Kulanzzeitraum bei inaktiver App (Sekunden)",
"settings.titles.title": "Titel & Dateinamen",
"settings.titles.description": "Legen Sie fest, ob Tolaria Dateinamen von unbenannten Notizen automatisch anhand der ersten H1-Überschrift synchronisiert.",
"settings.titles.autoRename": "Unbenannte Notizen automatisch anhand der ersten H1-Uberschrift umbenennen",
"settings.titles.autoRenameDescription": "Wenn diese Option aktiviert ist, benennt Tolaria Dateien mit unbenannten Notizen um, sobald die erste H1-Überschrift zu einem echten Titel wird. Deaktivieren Sie diese Option, um den Dateinamen unverändert zu lassen, bis Sie ihn manuell über die Breadcrumb-Leiste umbenennen.",
"settings.aiAgents.title": "KI-Agents",
"settings.aiAgents.description": "Wählen Sie aus, welchen CLI-KI-Agenten Tolaria im KI-Panel und in der Befehlspalette verwendet.",
"settings.aiAgents.default": "Standard-KI-Agent",
"settings.aiAgents.installed": "installiert",
"settings.aiAgents.missing": "fehlt",
"settings.aiAgents.ready": "{agent}{version} ist einsatzbereit.",
"settings.aiAgents.notInstalled": "{agent} ist noch nicht installiert. Sie können ihn trotzdem jetzt auswählen und später installieren.",
"settings.workflow.title": "Workflow",
"settings.workflow.description": "Legen Sie fest, ob Tolaria den Inbox-Workflow anzeigt und wie Tolaria bei der Triage durch die Elemente navigiert.",
"settings.workflow.explicit": "Notizen explizit organisieren",
"settings.workflow.explicitDescription": "Wenn diese Option aktiviert ist, werden in einem Abschnitt der Inbox unorganisierte Notizen angezeigt, und über einen Schalter können Sie Notizen als organisiert markiert werden.",
"settings.workflow.autoAdvance": "Automatisch zum nächsten Inbox-Element wechseln",
"settings.workflow.autoAdvanceDescription": "Wenn diese Option aktiviert ist, wird beim Markieren einer Inbox-Notiz als organisiert sofort die nächste sichtbare Inbox-Notiz geöffnet.",
"settings.privacy.title": "Datenschutz & Telemetrie",
"settings.privacy.description": "Anonyme Daten helfen uns, Fehler zu beheben und Tolaria zu verbessern. Es werden niemals Vault-Inhalte, Notiztitel oder Dateipfade gesendet.",
"settings.privacy.crashReporting": "Absturzberichte",
"settings.privacy.crashReportingDescription": "Anonyme Fehlerberichte senden",
"settings.privacy.analytics": "Nutzungsanalysen",
"settings.privacy.analyticsDescription": "Anonyme Nutzungsmuster teilen",
"settings.footerShortcut": "⌘, um die Einstellungen zu öffnen",
"settings.cancel": "Abbrechen",
"settings.save": "Speichern",
"common.cancel": "Abbrechen",
"locale.en": "Englisch",
"sidebar.nav.inbox": "Posteingang",
"sidebar.nav.allNotes": "Alle Notizen",
"sidebar.nav.archive": "Archivieren",
"sidebar.group.favorites": "FAVORITEN",
"sidebar.group.views": "AUFRUFE",
"sidebar.group.types": "TYPEN",
"sidebar.group.folders": "ORDNER",
"sidebar.action.createView": "Ansicht erstellen",
"sidebar.action.editView": "Ansicht bearbeiten",
"sidebar.action.deleteView": "Ansicht löschen",
"sidebar.action.customizeSections": "Abschnitte anpassen",
"sidebar.action.renameSection": "Abschnitt umbenennen …",
"sidebar.action.customizeIconColor": "Symbol und Farbe anpassen …",
"sidebar.action.createType": "Neuen Typ erstellen",
"sidebar.action.collapse": "Seitenleiste einklappen",
"sidebar.action.expand": "Seitenleiste erweitern",
"sidebar.action.createFolder": "Ordner erstellen",
"sidebar.action.renameFolder": "Ordner umbenennen",
"sidebar.action.deleteFolder": "Ordner löschen",
"sidebar.action.revealFolderMenu": "Im Finder anzeigen",
"sidebar.action.copyFolderPathMenu": "Ordnerpfad kopieren",
"sidebar.action.renameFolderMenu": "Ordner umbenennen …",
"sidebar.action.deleteFolderMenu": "Ordner löschen …",
"sidebar.folder.name": "Ordnername",
"sidebar.folder.newName": "Neuer Ordnername",
"sidebar.folder.expand": "{name} erweitern",
"sidebar.folder.collapse": "{name} einklappen",
"sidebar.section.name": "Abschnittsname",
"sidebar.section.showInSidebar": "In der Seitenleiste anzeigen",
"sidebar.section.toggle": "{label} umschalten",
"sidebar.disabled.comingSoon": "Demnächst verfügbar",
"noteList.title.archive": "Archivieren",
"noteList.title.changes": "Änderungen",
"noteList.title.inbox": "Inbox",
"noteList.title.history": "Verlauf",
"noteList.title.view": "Anzeigen",
"noteList.title.notes": "Notizen",
"noteList.searchPlaceholder": "Notizen durchsuchen …",
"noteList.searchAction": "Notizen durchsuchen",
"noteList.createNote": "Neue Notiz erstellen",
"noteList.empty.changesError": "Änderungen konnten nicht geladen werden: {error}",
"noteList.empty.noChanges": "Keine ausstehenden Änderungen",
"noteList.empty.noArchived": "Keine archivierten Notizen",
"noteList.empty.noMatching": "Keine passenden Notizen",
"noteList.empty.allOrganized": "Alle Notizen sind organisiert",
"noteList.empty.noNotes": "Keine Notizen gefunden",
"noteList.empty.noMatchingItems": "Keine passenden Elemente",
"noteList.empty.noRelatedItems": "Keine verwandten Elemente",
"noteList.sort.modified": "Geändert",
"noteList.sort.created": "Erstellt",
"noteList.sort.title": "Titel",
"noteList.sort.status": "Status",
"noteList.sort.by": "Nach {label} sortieren",
"noteList.sort.menu": "{label} sortieren",
"noteList.sort.ascending": "Aufsteigend",
"noteList.sort.descending": "Absteigend",
"noteList.filter.open": "Offen",
"noteList.filter.archived": "Archiviert",
"noteList.filter.week": "Woche",
"noteList.filter.month": "Monat",
"noteList.filter.all": "Alle",
"noteList.properties.customizeColumns": "Spalten anpassen",
"noteList.properties.customizeAllColumns": "Alle Notes-Spalten anpassen",
"noteList.properties.customizeInboxColumns": "Spalten im Posteingang anpassen",
"noteList.properties.customizeViewColumns": "{name}-Spalten anpassen",
"noteList.properties.showInNoteList": "In Notizenliste anzeigen",
"noteList.properties.searchPlaceholder": "Eigenschaften suchen …",
"noteList.properties.searchLabel": "Eigenschaften der Notizenliste suchen",
"noteList.properties.noMatches": "Keine Eigenschaften entsprechen dieser Suche.",
"noteList.properties.reorder": "{name} neu anordnen",
"noteList.changes.restoreNote": "Notiz wiederherstellen",
"noteList.changes.discardChanges": "Änderungen verwerfen",
"noteList.changes.restoreDescription": "{file} aus Git wiederherstellen?",
"noteList.changes.discardDescription": "Änderungen an {file} verwerfen? Dieser Vorgang kann nicht rückgängig gemacht werden.",
"noteList.changes.thisFile": "diese Datei",
"noteList.changes.restore": "Wiederherstellen",
"noteList.changes.discard": "Verwerfen",
"noteList.changes.cancel": "Abbrechen",
"editor.empty.selectNote": "Wählen Sie eine Notiz aus, um mit der Bearbeitung zu beginnen",
"editor.empty.shortcuts": "{quickOpen} zum Suchen · {newNote} zum Erstellen",
"editor.raw.label": "Raw-Editor",
"editor.find.findLabel": "Suchen",
"editor.find.findPlaceholder": "Suchen",
"editor.find.replaceLabel": "Ersetzen",
"editor.find.replacePlaceholder": "Ersetzen",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "Keine Übereinstimmungen",
"editor.find.invalidRegex": "Ungültiger Regex",
"editor.find.regexMustMatchText": "Regex muss mit dem Text übereinstimmen",
"editor.find.previousMatch": "Vorheriges Match",
"editor.find.nextMatch": "Nächste Übereinstimmung",
"editor.find.showReplace": "Ersetzen anzeigen",
"editor.find.hideReplace": "Ersetzen ausblenden",
"editor.find.regex": "Regulären Ausdruck verwenden",
"editor.find.matchCase": "Groß-/Kleinschreibung beachten",
"editor.find.close": "Suche schließen",
"editor.find.replace": "Ersetzen",
"editor.find.replaceAll": "Alle",
"editor.toolbar.rawReturn": "Zum Editor zurückkehren",
"editor.toolbar.rawOpen": "Raw-Editor öffnen",
"editor.toolbar.centerLayout": "Zum zentrierten Notizen-Layout wechseln",
"editor.toolbar.leftLayout": "Zum linksbündigen Notizen-Layout wechseln",
"editor.toolbar.removeFavorite": "Aus Favoriten entfernen",
"editor.toolbar.addFavorite": "Zu Favoriten hinzufügen",
"editor.toolbar.markUnorganized": "Notiz als „Nicht organisiert“ markieren",
"editor.toolbar.markOrganized": "Notiz als organisiert markieren",
"editor.toolbar.noDiff": "Noch kein Diff verfügbar",
"editor.toolbar.loadingDiff": "Diff wird geladen",
"editor.toolbar.showDiff": "Aktuellen Diff anzeigen",
"editor.toolbar.openAi": "AI-Panel öffnen",
"editor.toolbar.closeAi": "AI-Panel schließen",
"editor.toolbar.restoreArchived": "Diese archivierte Notiz wiederherstellen",
"editor.toolbar.archive": "Diese Notiz archivieren",
"editor.toolbar.delete": "Diese Notiz löschen",
"editor.toolbar.revealFile": "Im Finder anzeigen",
"editor.toolbar.copyFilePath": "Dateipfad kopieren",
"editor.toolbar.openProperties": "Eigenschaften-Panel öffnen",
"editor.filename.rename": "Dateinamen umbenennen",
"editor.filename.renameToTitle": "Datei entsprechend dem Titel umbenennen",
"editor.filename.trigger": "Dateiname {filename}. Zum Umbenennen die Eingabetaste drücken",
"editor.banner.archived": "Archiviert",
"editor.banner.unarchive": "Aus dem Archiv holen",
"editor.banner.conflict": "Diese Notiz weist einen Merge-Konflikt auf",
"editor.banner.keepMine": "Meine behalten",
"editor.banner.keepMineTooltip": "Meine lokale Version behalten",
"editor.banner.keepTheirs": "Ihre Version behalten",
"editor.banner.keepTheirsTooltip": "Remote-Version beibehalten",
"inspector.title.properties": "Eigenschaften",
"inspector.title.propertiesShortcut": "Eigenschaften (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Eigenschaften schließen (⌘⇧I)",
"inspector.empty.noNoteSelected": "Keine Notiz ausgewählt",
"inspector.empty.noProperties": "Diese Notiz hat noch keine Eigenschaften",
"inspector.empty.initializeProperties": "Eigenschaften initialisieren",
"inspector.empty.invalidProperties": "Ungültige Eigenschaften",
"inspector.empty.fixInEditor": "Im Editor korrigieren",
"inspector.properties.addProperty": "Eigenschaft hinzufügen",
"inspector.properties.deleteProperty": "Eigenschaft löschen",
"inspector.properties.none": "Keine",
"inspector.properties.missingType": "Fehlender Typ",
"inspector.properties.missingTypeAria": "Typ {type} fehlt. Klicken Sie, um diesen Typ zu erstellen.",
"inspector.properties.searchTypes": "Typen suchen …",
"inspector.properties.noMatchingTypes": "Keine passenden Typen",
"inspector.properties.yes": "Ja",
"inspector.properties.no": "Nein",
"inspector.properties.pickDate": "Datum auswählen …",
"inspector.properties.valuePlaceholder": "Wert",
"inspector.properties.propertyName": "Eigenschaftsname",
"inspector.relationship.add": "Hinzufügen",
"inspector.relationship.addRelationship": "+ Beziehung hinzufügen",
"inspector.relationship.name": "Beziehungsname",
"inspector.relationship.noteTitle": "Notiztitel",
"inspector.relationship.createAndOpen": "Erstellen & öffnen",
"inspector.info.title": "Info",
"inspector.info.modified": "Geändert",
"inspector.info.created": "Erstellt",
"inspector.info.words": "Wörter",
"inspector.info.size": "Größe",
"update.available": "ist verfügbar",
"update.releaseNotes": "Versionshinweise",
"update.updateNow": "Jetzt aktualisieren",
"update.dismiss": "Ausblenden",
"update.downloading": "Tolaria {version} wird heruntergeladen …",
"update.readyRestart": "ist bereit  zum Übernehmen neu starten",
"update.restartNow": "Jetzt neu starten",
"status.update.check": "Nach Updates suchen",
"status.zoom.reset": "Zoomstufe zurücksetzen",
"status.feedback.contribute": "Zu Tolaria beitragen",
"status.feedback.label": "Beitragen",
"status.theme.light": "In den hellen Modus wechseln",
"status.theme.dark": "In den Dunkelmodus wechseln",
"status.settings.open": "Einstellungen öffnen",
"status.build.unknown": "b?",
"status.vault.switch": "Vault wechseln",
"status.vault.default": "Vault",
"status.vault.createEmpty": "Leeren Vault erstellen",
"status.vault.openLocal": "Lokalen Ordner öffnen",
"status.vault.cloneGit": "Git-Repo klonen",
"status.vault.cloneGettingStarted": "Getting-Started-Vault klonen",
"status.vault.notFound": "Vault nicht gefunden: {path}",
"status.vault.remove": "{label} aus der Liste entfernen",
"status.remote.noneConfigured": "Kein Remote konfiguriert",
"status.remote.inSync": "Mit Remote synchronisiert",
"status.remote.aheadTitle": "{count} Commit{plural} vor dem Remote-Branch",
"status.remote.behindTitle": "{count} Commit{plural} hinter dem Remote-Branch",
"status.remote.ahead": "{count} voraus",
"status.remote.behind": "{count} hinterher",
"status.remote.add": "Remote zu diesem Vault hinzufügen",
"status.remote.none": "Kein Remote",
"status.remote.noneDescription": "Für diesen Git-Vault ist kein Remote konfiguriert. Commits bleiben lokal, bis Sie einen Remote-Vault hinzufügen.",
"status.sync.syncing": "Wird synchronisiert …",
"status.sync.conflict": "Konflikt",
"status.sync.failed": "Synchronisierung fehlgeschlagen",
"status.sync.pullRequired": "Pull erforderlich",
"status.sync.notSynced": "Nicht synchronisiert",
"status.sync.justNow": "Gerade synchronisiert",
"status.sync.minutesAgo": "Vor {minutes} Min. synchronisiert",
"status.sync.resolveConflicts": "Merge-Konflikte beheben",
"status.sync.inProgress": "Synchronisierung läuft",
"status.sync.pullAndPush": "Von Remote abrufen und pushen",
"status.sync.retry": "Synchronisierung erneut versuchen",
"status.sync.now": "Jetzt synchronisieren",
"status.sync.synced": "Synchronisiert",
"status.sync.conflicts": "Konflikte",
"status.sync.error": "Fehler",
"status.sync.status": "Status: {status}",
"status.sync.pull": "Pull",
"status.conflict.count": "{count} Konflikt{plural}",
"status.offline.title": "Keine Internetverbindung",
"status.offline.label": "Offline",
"status.changes.view": "Ausstehende Änderungen anzeigen",
"status.changes.label": "Änderungen",
"status.commit.local": "Änderungen lokal committen",
"status.commit.push": "Änderungen commiten und pushen",
"status.commit.label": "Commit",
"status.commit.openOnGitHub": "Commit {hash} auf GitHub öffnen",
"status.git.disabledTooltip": "Git ist für diesen Vault deaktiviert. Initialisieren Sie Git, um den Verlauf, die Synchronisierung, Commits und Änderungsansichten zu aktivieren.",
"status.git.disabled": "Git deaktiviert",
"status.history.onlyGit": "Der Verlauf ist nur für Git-fähige Vaults verfügbar.",
"status.history.open": "Änderungsverlauf öffnen",
"status.history.label": "Verlauf",
"status.mcp.notConnected": "Externe KI-Tools nicht verbunden  zum Einrichten klicken",
"status.mcp.unknown": "MCP-Status unbekannt",
"status.claude.missing": "Claude Code fehlt",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude-Code nicht gefunden  zum Installieren klicken",
"status.ai.noAgents": "Keine KI-Agents erkannt",
"status.ai.noAgentsTooltip": "Keine KI-Agents erkannt  zum Anzeigen der Setup-Details klicken",
"status.ai.selectedMissing": "{agent} ist ausgewählt, aber nicht installiert  zum Anzeigen der Setup-Details klicken",
"status.ai.defaultAgent": "Standard-AI-Agent: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary}  Zum Anzeigen der Wiederherstellungsdetails klicken",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Aktiver KI-Agent: {agent}",
"status.ai.unavailable": "Ausgewählter KI-Agent nicht verfügbar: {agent}",
"status.ai.install": "Installieren",
"status.ai.installAgent": "{agent} installieren",
"status.ai.vaultGuidance": "Vault-Anleitung",
"status.ai.restoreGuidance": "Tolaria-KI-Anleitung wiederherstellen",
"status.ai.openOptions": "AI-Agent-Optionen öffnen",
"pulse.title": "Verlauf",
"pulse.today": "Heute",
"pulse.yesterday": "Gestern",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "Commit",
"pulse.commitPlural": "Commits",
"pulse.openOnGitHub": "Auf GitHub öffnen",
"pulse.expandFiles": "Dateien erweitern",
"pulse.collapseFiles": "Dateien einklappen",
"pulse.noActivity": "Noch keine Aktivität",
"pulse.emptyDescription": "Änderungen commiten, um den Verlauf Ihres Vaults anzuzeigen",
"pulse.retry": "Erneut versuchen",
"pulse.loadingActivity": "Aktivität wird geladen …",
"pulse.loading": "Wird geladen …",
"pulse.loadError": "Fehler beim Laden der Aktivität",
"command.switchLanguage": "Sprache auf {language} umstellen",
"locale.itIT": "Italienisch",
"locale.frFR": "Französisch",
"locale.deDE": "Deutsch",
"locale.ruRU": "Russisch",
"locale.esES": "Español (España)",
"locale.ptBR": "Português (Brasil)",
"locale.ptPT": "葡萄牙语(葡萄牙)",
"locale.es419": "西班牙语(拉丁美洲)",
"locale.zhCN": "简体中文",
"locale.jaJP": "日本語",
"locale.koKR": "Coreano"
}

405
src/lib/locales/en.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "No matching commands",
"command.palettePlaceholder": "Type a command...",
"command.footerNavigate": "↑↓ navigate",
"command.footerSelect": "↵ select",
"command.footerClose": "esc close",
"command.footerSend": "↵ send",
"command.aiMode": "{agent} mode",
"command.openSettings": "Open Settings",
"command.openSettings.keywords": "preferences config",
"command.openLanguageSettings": "Open Language Settings",
"command.openLanguageSettings.keywords": "language locale i18n internationalization localization english italian french german russian spanish portuguese chinese japanese korean 中文",
"command.useSystemLanguage": "Use System Language",
"command.openH1Setting": "Open H1 Auto-Rename Setting",
"command.contribute": "Contribute",
"command.checkUpdates": "Check for Updates",
"command.group.navigation": "Navigation",
"command.group.note": "Note",
"command.group.git": "Git",
"command.group.view": "View",
"command.group.settings": "Settings",
"command.navigation.searchNotes": "Search Notes",
"command.navigation.goAllNotes": "Go to All Notes",
"command.navigation.goArchived": "Go to Archived",
"command.navigation.goChanges": "Go to Changes",
"command.navigation.goHistory": "Go to History",
"command.navigation.goBack": "Go Back",
"command.navigation.goForward": "Go Forward",
"command.navigation.goInbox": "Go to Inbox",
"command.navigation.renameFolder": "Rename Folder",
"command.navigation.deleteFolder": "Delete Folder",
"command.navigation.showOpenNotes": "Show Open Notes",
"command.navigation.showArchivedNotes": "Show Archived Notes",
"command.navigation.listType": "List {type}",
"command.note.newNote": "New Note",
"command.note.newType": "New Type",
"command.note.newTypedNote": "New {type}",
"command.note.saveNote": "Save Note",
"command.note.findInNote": "Find in Note",
"command.note.replaceInNote": "Replace in Note",
"command.note.deleteNote": "Delete Note",
"command.note.archiveNote": "Archive Note",
"command.note.unarchiveNote": "Unarchive Note",
"command.note.addFavorite": "Add to Favorites",
"command.note.removeFavorite": "Remove from Favorites",
"command.note.markOrganized": "Mark as Organized",
"command.note.markUnorganized": "Mark as Unorganized",
"command.note.restoreDeleted": "Restore Deleted Note",
"command.note.setIcon": "Set Note Icon",
"command.note.removeIcon": "Remove Note Icon",
"command.note.changeType": "Change Note Type…",
"command.note.moveToFolder": "Move Note to Folder…",
"command.note.openNewWindow": "Open in New Window",
"command.git.initialize": "Initialize Git for Current Vault",
"command.git.commitPush": "Commit & Push",
"command.git.addRemote": "Add Remote to Current Vault",
"command.git.pull": "Pull from Remote",
"command.git.resolveConflicts": "Resolve Conflicts",
"command.git.viewChanges": "View Pending Changes",
"command.view.editorOnly": "Editor Only",
"command.view.editorNoteList": "Editor + Note List",
"command.view.fullLayout": "Full Layout",
"command.view.toggleProperties": "Toggle Properties Panel",
"command.view.toggleDiff": "Toggle Diff Mode",
"command.view.toggleRaw": "Toggle Raw Editor",
"command.view.leftLayout": "Use Left-Aligned Note Layout",
"command.view.centerLayout": "Use Centered Note Layout",
"command.view.toggleAiPanel": "Toggle AI Panel",
"command.view.newAiChat": "New AI chat",
"command.view.toggleBacklinks": "Toggle Backlinks",
"command.view.zoomIn": "Zoom In ({zoom}%)",
"command.view.zoomOut": "Zoom Out ({zoom}%)",
"command.view.resetZoom": "Reset Zoom",
"command.settings.createEmptyVault": "Create Empty Vault…",
"command.settings.openVault": "Open Vault…",
"command.settings.removeVault": "Remove Vault from List",
"command.settings.restoreGettingStarted": "Restore Getting Started Vault",
"command.settings.manageExternalAi": "Manage External AI Tools…",
"command.settings.setupExternalAi": "Set Up External AI Tools…",
"command.settings.reloadVault": "Reload Vault",
"command.settings.repairVault": "Repair Vault",
"command.ai.openAgents": "Open AI Agents",
"command.ai.restoreGuidance": "Restore Tolaria AI Guidance",
"command.ai.switchToAgent": "Switch AI Agent to {agent}",
"command.ai.switchDefault": "Switch Default AI Agent",
"command.ai.switchDefaultWithAgent": "Switch Default AI Agent ({agent})",
"settings.title": "Settings",
"settings.close": "Close settings",
"settings.sync.title": "Sync & Updates",
"settings.sync.description": "Configure background pulling and which update feed Tolaria follows. Stable only receives manually promoted releases, while Alpha follows every push to main.",
"settings.pullInterval": "Pull interval (minutes)",
"settings.releaseChannel": "Release channel",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Appearance",
"settings.appearance.description": "Choose the app color mode used for Tolaria chrome, editor surfaces, menus, and dialogs.",
"settings.theme.label": "Theme",
"settings.theme.light": "Light",
"settings.theme.dark": "Dark",
"settings.language.title": "Language",
"settings.language.description": "Choose the display language for Tolaria chrome. System follows macOS when that language is supported, with English as the fallback.",
"settings.language.label": "Display language",
"settings.language.system": "System ({language})",
"settings.language.summary": "Missing translations fall back to English so partially translated locales stay usable.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Automatically create conservative Git checkpoints after editing pauses or when the app is no longer active.",
"settings.autogit.description.disabled": "AutoGit is unavailable until the current vault is Git-enabled. Initialize Git for this vault first.",
"settings.autogit.enable": "Enable AutoGit",
"settings.autogit.enableDescription": "When enabled, Tolaria will commit and push saved local changes automatically after an idle pause or after the app becomes inactive.",
"settings.autogit.idleThreshold": "Idle threshold (seconds)",
"settings.autogit.inactiveThreshold": "Inactive-app grace period (seconds)",
"settings.titles.title": "Titles & Filenames",
"settings.titles.description": "Choose whether Tolaria automatically syncs untitled note filenames from the first H1 title.",
"settings.titles.autoRename": "Auto-rename untitled notes from first H1",
"settings.titles.autoRenameDescription": "When enabled, Tolaria renames untitled-note files as soon as the first H1 becomes a real title. Turn this off to keep the filename unchanged until you rename it manually from the breadcrumb bar.",
"settings.aiAgents.title": "AI Agents",
"settings.aiAgents.description": "Choose which CLI AI agent Tolaria uses in the AI panel and command palette.",
"settings.aiAgents.default": "Default AI agent",
"settings.aiAgents.installed": "installed",
"settings.aiAgents.missing": "missing",
"settings.aiAgents.ready": "{agent}{version} is ready to use.",
"settings.aiAgents.notInstalled": "{agent} is not installed yet. You can still select it now and install it later.",
"settings.workflow.title": "Workflow",
"settings.workflow.description": "Choose whether Tolaria shows the Inbox workflow, plus how it moves through items while you triage them.",
"settings.workflow.explicit": "Organize notes explicitly",
"settings.workflow.explicitDescription": "When enabled, an Inbox section shows unorganized notes, and a toggle lets you mark notes as organized.",
"settings.workflow.autoAdvance": "Auto-advance to next Inbox item",
"settings.workflow.autoAdvanceDescription": "When enabled, marking an Inbox note as organized immediately opens the next visible Inbox note.",
"settings.privacy.title": "Privacy & Telemetry",
"settings.privacy.description": "Anonymous data helps us fix bugs and improve Tolaria. No vault content, note titles, or file paths are ever sent.",
"settings.privacy.crashReporting": "Crash reporting",
"settings.privacy.crashReportingDescription": "Send anonymous error reports",
"settings.privacy.analytics": "Usage analytics",
"settings.privacy.analyticsDescription": "Share anonymous usage patterns",
"settings.footerShortcut": "⌘, to open settings",
"settings.cancel": "Cancel",
"settings.save": "Save",
"common.cancel": "Cancel",
"locale.en": "English",
"sidebar.nav.inbox": "Inbox",
"sidebar.nav.allNotes": "All Notes",
"sidebar.nav.archive": "Archive",
"sidebar.group.favorites": "FAVORITES",
"sidebar.group.views": "VIEWS",
"sidebar.group.types": "TYPES",
"sidebar.group.folders": "FOLDERS",
"sidebar.action.createView": "Create view",
"sidebar.action.editView": "Edit view",
"sidebar.action.deleteView": "Delete view",
"sidebar.action.customizeSections": "Customize sections",
"sidebar.action.renameSection": "Rename section…",
"sidebar.action.customizeIconColor": "Customize icon & color…",
"sidebar.action.createType": "Create new type",
"sidebar.action.collapse": "Collapse sidebar",
"sidebar.action.expand": "Expand sidebar",
"sidebar.action.createFolder": "Create folder",
"sidebar.action.renameFolder": "Rename folder",
"sidebar.action.deleteFolder": "Delete folder",
"sidebar.action.revealFolderMenu": "Reveal in Finder",
"sidebar.action.copyFolderPathMenu": "Copy folder path",
"sidebar.action.renameFolderMenu": "Rename folder...",
"sidebar.action.deleteFolderMenu": "Delete folder...",
"sidebar.folder.name": "Folder name",
"sidebar.folder.newName": "New folder name",
"sidebar.folder.expand": "Expand {name}",
"sidebar.folder.collapse": "Collapse {name}",
"sidebar.section.name": "Section name",
"sidebar.section.showInSidebar": "Show in sidebar",
"sidebar.section.toggle": "Toggle {label}",
"sidebar.disabled.comingSoon": "Coming soon",
"noteList.title.archive": "Archive",
"noteList.title.changes": "Changes",
"noteList.title.inbox": "Inbox",
"noteList.title.history": "History",
"noteList.title.view": "View",
"noteList.title.notes": "Notes",
"noteList.searchPlaceholder": "Search notes...",
"noteList.searchAction": "Search notes",
"noteList.createNote": "Create new note",
"noteList.empty.changesError": "Failed to load changes: {error}",
"noteList.empty.noChanges": "No pending changes",
"noteList.empty.noArchived": "No archived notes",
"noteList.empty.noMatching": "No matching notes",
"noteList.empty.allOrganized": "All notes are organized",
"noteList.empty.noNotes": "No notes found",
"noteList.empty.noMatchingItems": "No matching items",
"noteList.empty.noRelatedItems": "No related items",
"noteList.sort.modified": "Modified",
"noteList.sort.created": "Created",
"noteList.sort.title": "Title",
"noteList.sort.status": "Status",
"noteList.sort.by": "Sort by {label}",
"noteList.sort.menu": "Sort {label}",
"noteList.sort.ascending": "Ascending",
"noteList.sort.descending": "Descending",
"noteList.filter.open": "Open",
"noteList.filter.archived": "Archived",
"noteList.filter.week": "Week",
"noteList.filter.month": "Month",
"noteList.filter.all": "All",
"noteList.properties.customizeColumns": "Customize columns",
"noteList.properties.customizeAllColumns": "Customize All Notes columns",
"noteList.properties.customizeInboxColumns": "Customize Inbox columns",
"noteList.properties.customizeViewColumns": "Customize {name} columns",
"noteList.properties.showInNoteList": "Show in note list",
"noteList.properties.searchPlaceholder": "Search properties...",
"noteList.properties.searchLabel": "Search note-list properties",
"noteList.properties.noMatches": "No properties match this search.",
"noteList.properties.reorder": "Reorder {name}",
"noteList.changes.restoreNote": "Restore note",
"noteList.changes.discardChanges": "Discard changes",
"noteList.changes.restoreDescription": "Restore {file} from Git?",
"noteList.changes.discardDescription": "Discard changes to {file}? This cannot be undone.",
"noteList.changes.thisFile": "this file",
"noteList.changes.restore": "Restore",
"noteList.changes.discard": "Discard",
"noteList.changes.cancel": "Cancel",
"editor.empty.selectNote": "Select a note to start editing",
"editor.empty.shortcuts": "{quickOpen} to search · {newNote} to create",
"editor.raw.label": "Raw editor",
"editor.find.findLabel": "Find",
"editor.find.findPlaceholder": "Find",
"editor.find.replaceLabel": "Replace",
"editor.find.replacePlaceholder": "Replace",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "No matches",
"editor.find.invalidRegex": "Invalid regex",
"editor.find.regexMustMatchText": "Regex must match text",
"editor.find.previousMatch": "Previous match",
"editor.find.nextMatch": "Next match",
"editor.find.showReplace": "Show replace",
"editor.find.hideReplace": "Hide replace",
"editor.find.regex": "Use regular expression",
"editor.find.matchCase": "Match case",
"editor.find.close": "Close find",
"editor.find.replace": "Replace",
"editor.find.replaceAll": "All",
"editor.toolbar.rawReturn": "Return to the editor",
"editor.toolbar.rawOpen": "Open the raw editor",
"editor.toolbar.centerLayout": "Switch to centered note layout",
"editor.toolbar.leftLayout": "Switch to left-aligned note layout",
"editor.toolbar.removeFavorite": "Remove from favorites",
"editor.toolbar.addFavorite": "Add to favorites",
"editor.toolbar.markUnorganized": "Set note as not organized",
"editor.toolbar.markOrganized": "Set note as organized",
"editor.toolbar.noDiff": "No diff is available yet",
"editor.toolbar.loadingDiff": "Loading the diff",
"editor.toolbar.showDiff": "Show the current diff",
"editor.toolbar.openAi": "Open the AI panel",
"editor.toolbar.closeAi": "Close the AI panel",
"editor.toolbar.restoreArchived": "Restore this archived note",
"editor.toolbar.archive": "Archive this note",
"editor.toolbar.delete": "Delete this note",
"editor.toolbar.revealFile": "Reveal in Finder",
"editor.toolbar.copyFilePath": "Copy file path",
"editor.toolbar.openProperties": "Open the properties panel",
"editor.filename.rename": "Rename filename",
"editor.filename.renameToTitle": "Rename the file to match the title",
"editor.filename.trigger": "Filename {filename}. Press Enter to rename",
"editor.banner.archived": "Archived",
"editor.banner.unarchive": "Unarchive",
"editor.banner.conflict": "This note has a merge conflict",
"editor.banner.keepMine": "Keep mine",
"editor.banner.keepMineTooltip": "Keep my local version",
"editor.banner.keepTheirs": "Keep theirs",
"editor.banner.keepTheirsTooltip": "Keep the remote version",
"inspector.title.properties": "Properties",
"inspector.title.propertiesShortcut": "Properties (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Close Properties (⌘⇧I)",
"inspector.empty.noNoteSelected": "No note selected",
"inspector.empty.noProperties": "This note has no properties yet",
"inspector.empty.initializeProperties": "Initialize properties",
"inspector.empty.invalidProperties": "Invalid properties",
"inspector.empty.fixInEditor": "Fix in editor",
"inspector.properties.addProperty": "Add property",
"inspector.properties.deleteProperty": "Delete property",
"inspector.properties.none": "None",
"inspector.properties.missingType": "Missing type",
"inspector.properties.missingTypeAria": "Missing type {type}. Click to create this type.",
"inspector.properties.searchTypes": "Search types...",
"inspector.properties.noMatchingTypes": "No matching types",
"inspector.properties.yes": "Yes",
"inspector.properties.no": "No",
"inspector.properties.pickDate": "Pick a date…",
"inspector.properties.valuePlaceholder": "Value",
"inspector.properties.propertyName": "Property name",
"inspector.relationship.add": "Add",
"inspector.relationship.addRelationship": "+ Add relationship",
"inspector.relationship.name": "Relationship name",
"inspector.relationship.noteTitle": "Note title",
"inspector.relationship.createAndOpen": "Create & open",
"inspector.info.title": "Info",
"inspector.info.modified": "Modified",
"inspector.info.created": "Created",
"inspector.info.words": "Words",
"inspector.info.size": "Size",
"update.available": "is available",
"update.releaseNotes": "Release Notes",
"update.updateNow": "Update Now",
"update.dismiss": "Dismiss",
"update.downloading": "Downloading Tolaria {version}...",
"update.readyRestart": "is ready - restart to apply",
"update.restartNow": "Restart Now",
"status.update.check": "Check for updates",
"status.zoom.reset": "Reset the zoom level",
"status.feedback.contribute": "Contribute to Tolaria",
"status.feedback.label": "Contribute",
"status.theme.light": "Switch to light mode",
"status.theme.dark": "Switch to dark mode",
"status.settings.open": "Open settings",
"status.build.unknown": "b?",
"status.vault.switch": "Switch vault",
"status.vault.default": "Vault",
"status.vault.createEmpty": "Create empty vault",
"status.vault.openLocal": "Open local folder",
"status.vault.cloneGit": "Clone Git repo",
"status.vault.cloneGettingStarted": "Clone Getting Started Vault",
"status.vault.notFound": "Vault not found: {path}",
"status.vault.remove": "Remove {label} from list",
"status.remote.noneConfigured": "No remote configured",
"status.remote.inSync": "In sync with remote",
"status.remote.aheadTitle": "{count} commit{plural} ahead of remote",
"status.remote.behindTitle": "{count} commit{plural} behind remote",
"status.remote.ahead": "{count} ahead",
"status.remote.behind": "{count} behind",
"status.remote.add": "Add a remote to this vault",
"status.remote.none": "No remote",
"status.remote.noneDescription": "This git vault has no remote configured. Commits stay local until you add one.",
"status.sync.syncing": "Syncing...",
"status.sync.conflict": "Conflict",
"status.sync.failed": "Sync failed",
"status.sync.pullRequired": "Pull required",
"status.sync.notSynced": "Not synced",
"status.sync.justNow": "Synced just now",
"status.sync.minutesAgo": "Synced {minutes}m ago",
"status.sync.resolveConflicts": "Resolve merge conflicts",
"status.sync.inProgress": "Sync in progress",
"status.sync.pullAndPush": "Pull from remote and push",
"status.sync.retry": "Retry sync",
"status.sync.now": "Sync now",
"status.sync.synced": "Synced",
"status.sync.conflicts": "Conflicts",
"status.sync.error": "Error",
"status.sync.status": "Status: {status}",
"status.sync.pull": "Pull",
"status.conflict.count": "{count} conflict{plural}",
"status.offline.title": "No internet connection",
"status.offline.label": "Offline",
"status.changes.view": "View pending changes",
"status.changes.label": "Changes",
"status.commit.local": "Commit changes locally",
"status.commit.push": "Commit and push changes",
"status.commit.label": "Commit",
"status.commit.openOnGitHub": "Open commit {hash} on GitHub",
"status.git.disabledTooltip": "Git is disabled for this vault. Initialize Git to enable history, sync, commits, and change views.",
"status.git.disabled": "Git disabled",
"status.history.onlyGit": "History is only available for git-enabled vaults",
"status.history.open": "Open change history",
"status.history.label": "History",
"status.mcp.notConnected": "External AI tools not connected — click to set up",
"status.mcp.unknown": "MCP status unknown",
"status.claude.missing": "Claude Code missing",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code not found — click to install",
"status.ai.noAgents": "No AI agents detected",
"status.ai.noAgentsTooltip": "No AI agents detected — click for setup details",
"status.ai.selectedMissing": "{agent} is selected but not installed — click for setup details",
"status.ai.defaultAgent": "Default AI agent: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — click for restore details",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Active AI agent: {agent}",
"status.ai.unavailable": "Selected AI agent unavailable: {agent}",
"status.ai.install": "Install",
"status.ai.installAgent": "Install {agent}",
"status.ai.vaultGuidance": "Vault guidance",
"status.ai.restoreGuidance": "Restore Tolaria AI Guidance",
"status.ai.openOptions": "Open AI agent options",
"pulse.title": "History",
"pulse.today": "Today",
"pulse.yesterday": "Yesterday",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "commits",
"pulse.openOnGitHub": "Open on GitHub",
"pulse.expandFiles": "Expand files",
"pulse.collapseFiles": "Collapse files",
"pulse.noActivity": "No activity yet",
"pulse.emptyDescription": "Commit changes to see your vault's history",
"pulse.retry": "Retry",
"pulse.loadingActivity": "Loading activity…",
"pulse.loading": "Loading…",
"pulse.loadError": "Failed to load activity",
"command.switchLanguage": "Switch Language to {language}",
"locale.itIT": "Italian",
"locale.frFR": "French",
"locale.deDE": "German",
"locale.ruRU": "Russian",
"locale.esES": "Spanish (Spain)",
"locale.ptBR": "Portuguese (Brazil)",
"locale.ptPT": "Portuguese (Portugal)",
"locale.es419": "Spanish (Latin America)",
"locale.zhCN": "Simplified Chinese",
"locale.jaJP": "Japanese",
"locale.koKR": "Korean"
}

View File

@@ -1,408 +0,0 @@
export const EN_TRANSLATIONS = {
'command.noMatches': 'No matching commands',
'command.palettePlaceholder': 'Type a command...',
'command.footerNavigate': '↑↓ navigate',
'command.footerSelect': '↵ select',
'command.footerClose': 'esc close',
'command.footerSend': '↵ send',
'command.aiMode': '{agent} mode',
'command.openSettings': 'Open Settings',
'command.openSettings.keywords': 'preferences config',
'command.openLanguageSettings': 'Open Language Settings',
'command.openLanguageSettings.keywords': 'language locale i18n internationalization localization chinese english 中文',
'command.useSystemLanguage': 'Use System Language',
'command.switchToEnglish': 'Switch Language to English',
'command.switchToChinese': 'Switch Language to Simplified Chinese',
'command.openH1Setting': 'Open H1 Auto-Rename Setting',
'command.contribute': 'Contribute',
'command.checkUpdates': 'Check for Updates',
'command.group.navigation': 'Navigation',
'command.group.note': 'Note',
'command.group.git': 'Git',
'command.group.view': 'View',
'command.group.settings': 'Settings',
'command.navigation.searchNotes': 'Search Notes',
'command.navigation.goAllNotes': 'Go to All Notes',
'command.navigation.goArchived': 'Go to Archived',
'command.navigation.goChanges': 'Go to Changes',
'command.navigation.goHistory': 'Go to History',
'command.navigation.goBack': 'Go Back',
'command.navigation.goForward': 'Go Forward',
'command.navigation.goInbox': 'Go to Inbox',
'command.navigation.renameFolder': 'Rename Folder',
'command.navigation.deleteFolder': 'Delete Folder',
'command.navigation.showOpenNotes': 'Show Open Notes',
'command.navigation.showArchivedNotes': 'Show Archived Notes',
'command.navigation.listType': 'List {type}',
'command.note.newNote': 'New Note',
'command.note.newType': 'New Type',
'command.note.newTypedNote': 'New {type}',
'command.note.saveNote': 'Save Note',
'command.note.findInNote': 'Find in Note',
'command.note.replaceInNote': 'Replace in Note',
'command.note.deleteNote': 'Delete Note',
'command.note.archiveNote': 'Archive Note',
'command.note.unarchiveNote': 'Unarchive Note',
'command.note.addFavorite': 'Add to Favorites',
'command.note.removeFavorite': 'Remove from Favorites',
'command.note.markOrganized': 'Mark as Organized',
'command.note.markUnorganized': 'Mark as Unorganized',
'command.note.restoreDeleted': 'Restore Deleted Note',
'command.note.setIcon': 'Set Note Icon',
'command.note.removeIcon': 'Remove Note Icon',
'command.note.changeType': 'Change Note Type…',
'command.note.moveToFolder': 'Move Note to Folder…',
'command.note.openNewWindow': 'Open in New Window',
'command.git.initialize': 'Initialize Git for Current Vault',
'command.git.commitPush': 'Commit & Push',
'command.git.addRemote': 'Add Remote to Current Vault',
'command.git.pull': 'Pull from Remote',
'command.git.resolveConflicts': 'Resolve Conflicts',
'command.git.viewChanges': 'View Pending Changes',
'command.view.editorOnly': 'Editor Only',
'command.view.editorNoteList': 'Editor + Note List',
'command.view.fullLayout': 'Full Layout',
'command.view.toggleProperties': 'Toggle Properties Panel',
'command.view.toggleDiff': 'Toggle Diff Mode',
'command.view.toggleRaw': 'Toggle Raw Editor',
'command.view.leftLayout': 'Use Left-Aligned Note Layout',
'command.view.centerLayout': 'Use Centered Note Layout',
'command.view.toggleAiPanel': 'Toggle AI Panel',
'command.view.newAiChat': 'New AI chat',
'command.view.toggleBacklinks': 'Toggle Backlinks',
'command.view.zoomIn': 'Zoom In ({zoom}%)',
'command.view.zoomOut': 'Zoom Out ({zoom}%)',
'command.view.resetZoom': 'Reset Zoom',
'command.settings.createEmptyVault': 'Create Empty Vault…',
'command.settings.openVault': 'Open Vault…',
'command.settings.removeVault': 'Remove Vault from List',
'command.settings.restoreGettingStarted': 'Restore Getting Started Vault',
'command.settings.manageExternalAi': 'Manage External AI Tools…',
'command.settings.setupExternalAi': 'Set Up External AI Tools…',
'command.settings.reloadVault': 'Reload Vault',
'command.settings.repairVault': 'Repair Vault',
'command.ai.openAgents': 'Open AI Agents',
'command.ai.restoreGuidance': 'Restore Tolaria AI Guidance',
'command.ai.switchToAgent': 'Switch AI Agent to {agent}',
'command.ai.switchDefault': 'Switch Default AI Agent',
'command.ai.switchDefaultWithAgent': 'Switch Default AI Agent ({agent})',
'settings.title': 'Settings',
'settings.close': 'Close settings',
'settings.sync.title': 'Sync & Updates',
'settings.sync.description': 'Configure background pulling and which update feed Tolaria follows. Stable only receives manually promoted releases, while Alpha follows every push to main.',
'settings.pullInterval': 'Pull interval (minutes)',
'settings.releaseChannel': 'Release channel',
'settings.releaseStable': 'Stable',
'settings.releaseAlpha': 'Alpha',
'settings.appearance.title': 'Appearance',
'settings.appearance.description': 'Choose the app color mode used for Tolaria chrome, editor surfaces, menus, and dialogs.',
'settings.theme.label': 'Theme',
'settings.theme.light': 'Light',
'settings.theme.dark': 'Dark',
'settings.language.title': 'Language',
'settings.language.description': 'Choose the display language for Tolaria chrome. System follows macOS when that language is supported, with English as the fallback.',
'settings.language.label': 'Display language',
'settings.language.system': 'System ({language})',
'settings.language.en': 'English',
'settings.language.zhHans': 'Simplified Chinese',
'settings.language.summary': 'Missing translations fall back to English so partially translated locales stay usable.',
'settings.autogit.title': 'AutoGit',
'settings.autogit.description.enabled': 'Automatically create conservative Git checkpoints after editing pauses or when the app is no longer active.',
'settings.autogit.description.disabled': 'AutoGit is unavailable until the current vault is Git-enabled. Initialize Git for this vault first.',
'settings.autogit.enable': 'Enable AutoGit',
'settings.autogit.enableDescription': 'When enabled, Tolaria will commit and push saved local changes automatically after an idle pause or after the app becomes inactive.',
'settings.autogit.idleThreshold': 'Idle threshold (seconds)',
'settings.autogit.inactiveThreshold': 'Inactive-app grace period (seconds)',
'settings.titles.title': 'Titles & Filenames',
'settings.titles.description': 'Choose whether Tolaria automatically syncs untitled note filenames from the first H1 title.',
'settings.titles.autoRename': 'Auto-rename untitled notes from first H1',
'settings.titles.autoRenameDescription': 'When enabled, Tolaria renames untitled-note files as soon as the first H1 becomes a real title. Turn this off to keep the filename unchanged until you rename it manually from the breadcrumb bar.',
'settings.aiAgents.title': 'AI Agents',
'settings.aiAgents.description': 'Choose which CLI AI agent Tolaria uses in the AI panel and command palette.',
'settings.aiAgents.default': 'Default AI agent',
'settings.aiAgents.installed': 'installed',
'settings.aiAgents.missing': 'missing',
'settings.aiAgents.ready': '{agent}{version} is ready to use.',
'settings.aiAgents.notInstalled': '{agent} is not installed yet. You can still select it now and install it later.',
'settings.workflow.title': 'Workflow',
'settings.workflow.description': 'Choose whether Tolaria shows the Inbox workflow, plus how it moves through items while you triage them.',
'settings.workflow.explicit': 'Organize notes explicitly',
'settings.workflow.explicitDescription': 'When enabled, an Inbox section shows unorganized notes, and a toggle lets you mark notes as organized.',
'settings.workflow.autoAdvance': 'Auto-advance to next Inbox item',
'settings.workflow.autoAdvanceDescription': 'When enabled, marking an Inbox note as organized immediately opens the next visible Inbox note.',
'settings.privacy.title': 'Privacy & Telemetry',
'settings.privacy.description': 'Anonymous data helps us fix bugs and improve Tolaria. No vault content, note titles, or file paths are ever sent.',
'settings.privacy.crashReporting': 'Crash reporting',
'settings.privacy.crashReportingDescription': 'Send anonymous error reports',
'settings.privacy.analytics': 'Usage analytics',
'settings.privacy.analyticsDescription': 'Share anonymous usage patterns',
'settings.footerShortcut': '⌘, to open settings',
'settings.cancel': 'Cancel',
'settings.save': 'Save',
'common.cancel': 'Cancel',
'locale.en': 'English',
'locale.zhHans': 'Simplified Chinese',
'sidebar.nav.inbox': 'Inbox',
'sidebar.nav.allNotes': 'All Notes',
'sidebar.nav.archive': 'Archive',
'sidebar.group.favorites': 'FAVORITES',
'sidebar.group.views': 'VIEWS',
'sidebar.group.types': 'TYPES',
'sidebar.group.folders': 'FOLDERS',
'sidebar.action.createView': 'Create view',
'sidebar.action.editView': 'Edit view',
'sidebar.action.deleteView': 'Delete view',
'sidebar.action.customizeSections': 'Customize sections',
'sidebar.action.renameSection': 'Rename section…',
'sidebar.action.customizeIconColor': 'Customize icon & color…',
'sidebar.action.createType': 'Create new type',
'sidebar.action.collapse': 'Collapse sidebar',
'sidebar.action.expand': 'Expand sidebar',
'sidebar.action.createFolder': 'Create folder',
'sidebar.action.renameFolder': 'Rename folder',
'sidebar.action.deleteFolder': 'Delete folder',
'sidebar.action.revealFolderMenu': 'Reveal in Finder',
'sidebar.action.copyFolderPathMenu': 'Copy folder path',
'sidebar.action.renameFolderMenu': 'Rename folder...',
'sidebar.action.deleteFolderMenu': 'Delete folder...',
'sidebar.folder.name': 'Folder name',
'sidebar.folder.newName': 'New folder name',
'sidebar.folder.expand': 'Expand {name}',
'sidebar.folder.collapse': 'Collapse {name}',
'sidebar.section.name': 'Section name',
'sidebar.section.showInSidebar': 'Show in sidebar',
'sidebar.section.toggle': 'Toggle {label}',
'sidebar.disabled.comingSoon': 'Coming soon',
'noteList.title.archive': 'Archive',
'noteList.title.changes': 'Changes',
'noteList.title.inbox': 'Inbox',
'noteList.title.history': 'History',
'noteList.title.view': 'View',
'noteList.title.notes': 'Notes',
'noteList.searchPlaceholder': 'Search notes...',
'noteList.searchAction': 'Search notes',
'noteList.createNote': 'Create new note',
'noteList.empty.changesError': 'Failed to load changes: {error}',
'noteList.empty.noChanges': 'No pending changes',
'noteList.empty.noArchived': 'No archived notes',
'noteList.empty.noMatching': 'No matching notes',
'noteList.empty.allOrganized': 'All notes are organized',
'noteList.empty.noNotes': 'No notes found',
'noteList.empty.noMatchingItems': 'No matching items',
'noteList.empty.noRelatedItems': 'No related items',
'noteList.sort.modified': 'Modified',
'noteList.sort.created': 'Created',
'noteList.sort.title': 'Title',
'noteList.sort.status': 'Status',
'noteList.sort.by': 'Sort by {label}',
'noteList.sort.menu': 'Sort {label}',
'noteList.sort.ascending': 'Ascending',
'noteList.sort.descending': 'Descending',
'noteList.filter.open': 'Open',
'noteList.filter.archived': 'Archived',
'noteList.filter.week': 'Week',
'noteList.filter.month': 'Month',
'noteList.filter.all': 'All',
'noteList.properties.customizeColumns': 'Customize columns',
'noteList.properties.customizeAllColumns': 'Customize All Notes columns',
'noteList.properties.customizeInboxColumns': 'Customize Inbox columns',
'noteList.properties.customizeViewColumns': 'Customize {name} columns',
'noteList.properties.showInNoteList': 'Show in note list',
'noteList.properties.searchPlaceholder': 'Search properties...',
'noteList.properties.searchLabel': 'Search note-list properties',
'noteList.properties.noMatches': 'No properties match this search.',
'noteList.properties.reorder': 'Reorder {name}',
'noteList.changes.restoreNote': 'Restore note',
'noteList.changes.discardChanges': 'Discard changes',
'noteList.changes.restoreDescription': 'Restore {file} from Git?',
'noteList.changes.discardDescription': 'Discard changes to {file}? This cannot be undone.',
'noteList.changes.thisFile': 'this file',
'noteList.changes.restore': 'Restore',
'noteList.changes.discard': 'Discard',
'noteList.changes.cancel': 'Cancel',
'editor.empty.selectNote': 'Select a note to start editing',
'editor.empty.shortcuts': '{quickOpen} to search · {newNote} to create',
'editor.raw.label': 'Raw editor',
'editor.find.findLabel': 'Find',
'editor.find.findPlaceholder': 'Find',
'editor.find.replaceLabel': 'Replace',
'editor.find.replacePlaceholder': 'Replace',
'editor.find.matchCount': '{current} / {total}',
'editor.find.noMatches': 'No matches',
'editor.find.invalidRegex': 'Invalid regex',
'editor.find.regexMustMatchText': 'Regex must match text',
'editor.find.previousMatch': 'Previous match',
'editor.find.nextMatch': 'Next match',
'editor.find.showReplace': 'Show replace',
'editor.find.hideReplace': 'Hide replace',
'editor.find.regex': 'Use regular expression',
'editor.find.matchCase': 'Match case',
'editor.find.close': 'Close find',
'editor.find.replace': 'Replace',
'editor.find.replaceAll': 'All',
'editor.toolbar.rawReturn': 'Return to the editor',
'editor.toolbar.rawOpen': 'Open the raw editor',
'editor.toolbar.centerLayout': 'Switch to centered note layout',
'editor.toolbar.leftLayout': 'Switch to left-aligned note layout',
'editor.toolbar.removeFavorite': 'Remove from favorites',
'editor.toolbar.addFavorite': 'Add to favorites',
'editor.toolbar.markUnorganized': 'Set note as not organized',
'editor.toolbar.markOrganized': 'Set note as organized',
'editor.toolbar.noDiff': 'No diff is available yet',
'editor.toolbar.loadingDiff': 'Loading the diff',
'editor.toolbar.showDiff': 'Show the current diff',
'editor.toolbar.openAi': 'Open the AI panel',
'editor.toolbar.closeAi': 'Close the AI panel',
'editor.toolbar.restoreArchived': 'Restore this archived note',
'editor.toolbar.archive': 'Archive this note',
'editor.toolbar.delete': 'Delete this note',
'editor.toolbar.revealFile': 'Reveal in Finder',
'editor.toolbar.copyFilePath': 'Copy file path',
'editor.toolbar.openProperties': 'Open the properties panel',
'editor.filename.rename': 'Rename filename',
'editor.filename.renameToTitle': 'Rename the file to match the title',
'editor.filename.trigger': 'Filename {filename}. Press Enter to rename',
'editor.banner.archived': 'Archived',
'editor.banner.unarchive': 'Unarchive',
'editor.banner.conflict': 'This note has a merge conflict',
'editor.banner.keepMine': 'Keep mine',
'editor.banner.keepMineTooltip': 'Keep my local version',
'editor.banner.keepTheirs': 'Keep theirs',
'editor.banner.keepTheirsTooltip': 'Keep the remote version',
'inspector.title.properties': 'Properties',
'inspector.title.propertiesShortcut': 'Properties (⌘⇧I)',
'inspector.title.closePropertiesShortcut': 'Close Properties (⌘⇧I)',
'inspector.empty.noNoteSelected': 'No note selected',
'inspector.empty.noProperties': 'This note has no properties yet',
'inspector.empty.initializeProperties': 'Initialize properties',
'inspector.empty.invalidProperties': 'Invalid properties',
'inspector.empty.fixInEditor': 'Fix in editor',
'inspector.properties.addProperty': 'Add property',
'inspector.properties.deleteProperty': 'Delete property',
'inspector.properties.none': 'None',
'inspector.properties.missingType': 'Missing type',
'inspector.properties.missingTypeAria': 'Missing type {type}. Click to create this type.',
'inspector.properties.searchTypes': 'Search types...',
'inspector.properties.noMatchingTypes': 'No matching types',
'inspector.properties.yes': 'Yes',
'inspector.properties.no': 'No',
'inspector.properties.pickDate': 'Pick a date…',
'inspector.properties.valuePlaceholder': 'Value',
'inspector.properties.propertyName': 'Property name',
'inspector.relationship.add': 'Add',
'inspector.relationship.addRelationship': '+ Add relationship',
'inspector.relationship.name': 'Relationship name',
'inspector.relationship.noteTitle': 'Note title',
'inspector.relationship.createAndOpen': 'Create & open',
'inspector.info.title': 'Info',
'inspector.info.modified': 'Modified',
'inspector.info.created': 'Created',
'inspector.info.words': 'Words',
'inspector.info.size': 'Size',
'update.available': 'is available',
'update.releaseNotes': 'Release Notes',
'update.updateNow': 'Update Now',
'update.dismiss': 'Dismiss',
'update.downloading': 'Downloading Tolaria {version}...',
'update.readyRestart': 'is ready - restart to apply',
'update.restartNow': 'Restart Now',
'status.update.check': 'Check for updates',
'status.zoom.reset': 'Reset the zoom level',
'status.feedback.contribute': 'Contribute to Tolaria',
'status.feedback.label': 'Contribute',
'status.theme.light': 'Switch to light mode',
'status.theme.dark': 'Switch to dark mode',
'status.settings.open': 'Open settings',
'status.build.unknown': 'b?',
'status.vault.switch': 'Switch vault',
'status.vault.default': 'Vault',
'status.vault.createEmpty': 'Create empty vault',
'status.vault.openLocal': 'Open local folder',
'status.vault.cloneGit': 'Clone Git repo',
'status.vault.cloneGettingStarted': 'Clone Getting Started Vault',
'status.vault.notFound': 'Vault not found: {path}',
'status.vault.remove': 'Remove {label} from list',
'status.remote.noneConfigured': 'No remote configured',
'status.remote.inSync': 'In sync with remote',
'status.remote.aheadTitle': '{count} commit{plural} ahead of remote',
'status.remote.behindTitle': '{count} commit{plural} behind remote',
'status.remote.ahead': '{count} ahead',
'status.remote.behind': '{count} behind',
'status.remote.add': 'Add a remote to this vault',
'status.remote.none': 'No remote',
'status.remote.noneDescription': 'This git vault has no remote configured. Commits stay local until you add one.',
'status.sync.syncing': 'Syncing...',
'status.sync.conflict': 'Conflict',
'status.sync.failed': 'Sync failed',
'status.sync.pullRequired': 'Pull required',
'status.sync.notSynced': 'Not synced',
'status.sync.justNow': 'Synced just now',
'status.sync.minutesAgo': 'Synced {minutes}m ago',
'status.sync.resolveConflicts': 'Resolve merge conflicts',
'status.sync.inProgress': 'Sync in progress',
'status.sync.pullAndPush': 'Pull from remote and push',
'status.sync.retry': 'Retry sync',
'status.sync.now': 'Sync now',
'status.sync.synced': 'Synced',
'status.sync.conflicts': 'Conflicts',
'status.sync.error': 'Error',
'status.sync.status': 'Status: {status}',
'status.sync.pull': 'Pull',
'status.conflict.count': '{count} conflict{plural}',
'status.offline.title': 'No internet connection',
'status.offline.label': 'Offline',
'status.changes.view': 'View pending changes',
'status.changes.label': 'Changes',
'status.commit.local': 'Commit changes locally',
'status.commit.push': 'Commit and push changes',
'status.commit.label': 'Commit',
'status.commit.openOnGitHub': 'Open commit {hash} on GitHub',
'status.git.disabledTooltip': 'Git is disabled for this vault. Initialize Git to enable history, sync, commits, and change views.',
'status.git.disabled': 'Git disabled',
'status.history.onlyGit': 'History is only available for git-enabled vaults',
'status.history.open': 'Open change history',
'status.history.label': 'History',
'status.mcp.notConnected': 'External AI tools not connected — click to set up',
'status.mcp.unknown': 'MCP status unknown',
'status.claude.missing': 'Claude Code missing',
'status.claude.label': 'Claude Code',
'status.claude.install': 'Claude Code not found — click to install',
'status.ai.noAgents': 'No AI agents detected',
'status.ai.noAgentsTooltip': 'No AI agents detected — click for setup details',
'status.ai.selectedMissing': '{agent} is selected but not installed — click for setup details',
'status.ai.defaultAgent': 'Default AI agent: {agent}{version}',
'status.ai.restoreDetails': '{base}. {summary} — click for restore details',
'status.ai.withGuidance': '{base}. {summary}',
'status.ai.active': 'Active AI agent: {agent}',
'status.ai.unavailable': 'Selected AI agent unavailable: {agent}',
'status.ai.install': 'Install',
'status.ai.installAgent': 'Install {agent}',
'status.ai.vaultGuidance': 'Vault guidance',
'status.ai.restoreGuidance': 'Restore Tolaria AI Guidance',
'status.ai.openOptions': 'Open AI agent options',
'pulse.title': 'History',
'pulse.today': 'Today',
'pulse.yesterday': 'Yesterday',
'pulse.commitCount': '{count} {label}',
'pulse.commitSingular': 'commit',
'pulse.commitPlural': 'commits',
'pulse.openOnGitHub': 'Open on GitHub',
'pulse.expandFiles': 'Expand files',
'pulse.collapseFiles': 'Collapse files',
'pulse.noActivity': 'No activity yet',
'pulse.emptyDescription': "Commit changes to see your vault's history",
'pulse.retry': 'Retry',
'pulse.loadingActivity': 'Loading activity…',
'pulse.loading': 'Loading…',
'pulse.loadError': 'Failed to load activity',
} as const

405
src/lib/locales/es-419.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "No hay comandos que coincidan",
"command.palettePlaceholder": "Escriba un comando...",
"command.footerNavigate": "↑↓ navegar",
"command.footerSelect": "↵ seleccionar",
"command.footerClose": "esc cerrar",
"command.footerSend": "↵ enviar",
"command.aiMode": "Modo {agent}",
"command.openSettings": "Abrir Configuración",
"command.openSettings.keywords": "configuración de preferencias",
"command.openLanguageSettings": "Abrir la configuración de idioma",
"command.openLanguageSettings.keywords": "idioma configuración regional i18n internacionalización localización inglés italiano francés alemán ruso español portugués chino japonés coreano 中文",
"command.useSystemLanguage": "Usar el idioma del sistema",
"command.openH1Setting": "Abrir la configuración de renombrado automático de H1",
"command.contribute": "Contribuir",
"command.checkUpdates": "Buscar actualizaciones",
"command.group.navigation": "Navegación",
"command.group.note": "Nota",
"command.group.git": "Git",
"command.group.view": "Ver",
"command.group.settings": "Configuración",
"command.navigation.searchNotes": "Buscar notas",
"command.navigation.goAllNotes": "Ir a Todas las notas",
"command.navigation.goArchived": "Ir a Archivadas",
"command.navigation.goChanges": "Ir a Cambios",
"command.navigation.goHistory": "Ir a Historial",
"command.navigation.goBack": "Volver",
"command.navigation.goForward": "Avanzar",
"command.navigation.goInbox": "Ir a la bandeja de entrada",
"command.navigation.renameFolder": "Cambiar el nombre de la carpeta",
"command.navigation.deleteFolder": "Eliminar carpeta",
"command.navigation.showOpenNotes": "Mostrar notas abiertas",
"command.navigation.showArchivedNotes": "Mostrar notas archivadas",
"command.navigation.listType": "Lista {type}",
"command.note.newNote": "Nueva nota",
"command.note.newType": "Nuevo tipo",
"command.note.newTypedNote": "Nuevo {type}",
"command.note.saveNote": "Guardar nota",
"command.note.findInNote": "Buscar en la nota",
"command.note.replaceInNote": "Reemplazar en la nota",
"command.note.deleteNote": "Eliminar nota",
"command.note.archiveNote": "Archivar nota",
"command.note.unarchiveNote": "Desarchivar nota",
"command.note.addFavorite": "Agregar a Favoritos",
"command.note.removeFavorite": "Eliminar de Favoritos",
"command.note.markOrganized": "Marcar como organizada",
"command.note.markUnorganized": "Marcar como no organizada",
"command.note.restoreDeleted": "Restaurar nota eliminada",
"command.note.setIcon": "Establecer ícono de nota",
"command.note.removeIcon": "Eliminar ícono de nota",
"command.note.changeType": "Cambiar tipo de nota…",
"command.note.moveToFolder": "Mover nota a la carpeta…",
"command.note.openNewWindow": "Abrir en una ventana nueva",
"command.git.initialize": "Inicializar Git para el repositorio actual",
"command.git.commitPush": "Confirmar y enviar",
"command.git.addRemote": "Agregar repositorio remoto al repositorio actual",
"command.git.pull": "Extraer desde el repositorio remoto",
"command.git.resolveConflicts": "Resolver conflictos",
"command.git.viewChanges": "Ver cambios pendientes",
"command.view.editorOnly": "Solo editor",
"command.view.editorNoteList": "Editor + Lista de notas",
"command.view.fullLayout": "Diseño completo",
"command.view.toggleProperties": "Activar/desactivar el panel de propiedades",
"command.view.toggleDiff": "Activar/desactivar el modo de diferencias",
"command.view.toggleRaw": "Activar/desactivar el editor sin formato",
"command.view.leftLayout": "Usar diseño de nota alineado a la izquierda",
"command.view.centerLayout": "Usar diseño de nota centrado",
"command.view.toggleAiPanel": "Activar/desactivar el panel de IA",
"command.view.newAiChat": "Nuevo chat de IA",
"command.view.toggleBacklinks": "Activar/desactivar enlaces de retroceso",
"command.view.zoomIn": "Acercar ({zoom} %)",
"command.view.zoomOut": "Alejar ({zoom} %)",
"command.view.resetZoom": "Restablecer el zoom",
"command.settings.createEmptyVault": "Crear bóveda vacía…",
"command.settings.openVault": "Abrir bóveda…",
"command.settings.removeVault": "Eliminar caja fuerte de la lista",
"command.settings.restoreGettingStarted": "Restaurar el almacén de introducción",
"command.settings.manageExternalAi": "Administrar herramientas de IA externas…",
"command.settings.setupExternalAi": "Configurar herramientas de IA externas…",
"command.settings.reloadVault": "Volver a cargar el almacén",
"command.settings.repairVault": "Reparar el repositorio",
"command.ai.openAgents": "Abrir agentes de IA",
"command.ai.restoreGuidance": "Restaurar la guía de IA de Tolaria",
"command.ai.switchToAgent": "Cambiar el agente de IA a {agent}",
"command.ai.switchDefault": "Cambiar el agente de IA predeterminado",
"command.ai.switchDefaultWithAgent": "Cambiar agente de IA predeterminado ({agent})",
"settings.title": "Configuración",
"settings.close": "Cerrar la configuración",
"settings.sync.title": "Sincronización y actualizaciones",
"settings.sync.description": "Configure la extracción en segundo plano y el feed de actualizaciones que sigue Tolaria. Stable solo recibe las versiones promocionadas manualmente, mientras que Alpha sigue cada push a main.",
"settings.pullInterval": "Intervalo de extracción (minutos)",
"settings.releaseChannel": "Canal de versiones",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Apariencia",
"settings.appearance.description": "Elija el modo de color de la aplicación que se utilizará para Tolaria Chrome, las superficies del editor, los menús y los cuadros de diálogo.",
"settings.theme.label": "Tema",
"settings.theme.light": "Claro",
"settings.theme.dark": "Oscuro",
"settings.language.title": "Idioma",
"settings.language.description": "Elija el idioma de visualización para Tolaria Chrome. El sistema sigue la configuración de macOS cuando ese idioma es compatible; de lo contrario, se utiliza el inglés.",
"settings.language.label": "Idioma de la interfaz",
"settings.language.system": "Sistema ({language})",
"settings.language.summary": "Cuando faltan traducciones, se utiliza el inglés como idioma predeterminado para que las localizaciones parcialmente traducidas sigan siendo utilizables.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Crea automáticamente puntos de control Git conservadores después de pausas en la edición o cuando la aplicación deje de estar activa.",
"settings.autogit.description.disabled": "AutoGit no está disponible hasta que el almacén actual esté habilitado para Git. Primero, inicialice Git para este almacén.",
"settings.autogit.enable": "Habilitar AutoGit",
"settings.autogit.enableDescription": "Cuando esté habilitado, Tolaria confirmará y enviará automáticamente los cambios locales guardados después de una pausa por inactividad o cuando la aplicación deje de estar activa.",
"settings.autogit.idleThreshold": "Umbral de inactividad (segundos)",
"settings.autogit.inactiveThreshold": "Periodo de gracia de la aplicación inactiva (segundos)",
"settings.titles.title": "Títulos y nombres de archivo",
"settings.titles.description": "Elija si desea que Tolaria sincronice automáticamente los nombres de los archivos de notas sin título a partir del primer título H1.",
"settings.titles.autoRename": "Cambiar automáticamente el nombre de las notas sin título a partir del primer H1",
"settings.titles.autoRenameDescription": "Cuando esta opción está activada, Tolaria cambia el nombre de los archivos de notas sin título tan pronto como el primer H1 se convierte en un título real. Desactive esta opción para que el nombre del archivo no se modifique hasta que lo cambie manualmente desde la barra de navegación.",
"settings.aiAgents.title": "Agentes de IA",
"settings.aiAgents.description": "Elija qué agente de IA de CLI utiliza Tolaria en el panel de IA y en la paleta de comandos.",
"settings.aiAgents.default": "Agente de IA predeterminado",
"settings.aiAgents.installed": "instalado",
"settings.aiAgents.missing": "faltante",
"settings.aiAgents.ready": "{agent}{version} está listo para usarse.",
"settings.aiAgents.notInstalled": "{agent} aún no está instalado. Aún puede seleccionarlo ahora e instalarlo más adelante.",
"settings.workflow.title": "Flujo de trabajo",
"settings.workflow.description": "Elija si desea que Tolaria muestre el flujo de trabajo de la bandeja de entrada y cómo avanza por los elementos mientras usted los clasifica.",
"settings.workflow.explicit": "Organizar las notas de forma explícita",
"settings.workflow.explicitDescription": "Cuando esta opción está activada, se muestra una sección de la bandeja de entrada con las notas no organizadas, y un botón le permite marcar las notas como organizadas.",
"settings.workflow.autoAdvance": "Avance automático al siguiente elemento de la bandeja de entrada",
"settings.workflow.autoAdvanceDescription": "Cuando esta opción está activada, al marcar una nota de la bandeja de entrada como organizada, se abre de inmediato la siguiente nota visible de la bandeja de entrada.",
"settings.privacy.title": "Privacidad y telemetría",
"settings.privacy.description": "Los datos anónimos nos ayudan a corregir errores y a mejorar Tolaria. Nunca se envía contenido de la bóveda, títulos de notas ni rutas de archivos.",
"settings.privacy.crashReporting": "Informes de fallos",
"settings.privacy.crashReportingDescription": "Enviar informes de errores anónimos",
"settings.privacy.analytics": "Análisis de uso",
"settings.privacy.analyticsDescription": "Compartir patrones de uso anónimos",
"settings.footerShortcut": "⌘, para abrir la configuración",
"settings.cancel": "Cancelar",
"settings.save": "Guardar",
"common.cancel": "Cancelar",
"locale.en": "Inglés",
"sidebar.nav.inbox": "Bandeja de entrada",
"sidebar.nav.allNotes": "Todas las notas",
"sidebar.nav.archive": "Archivar",
"sidebar.group.favorites": "FAVORITOS",
"sidebar.group.views": "VISTAS",
"sidebar.group.types": "TIPOS",
"sidebar.group.folders": "CARPETAS",
"sidebar.action.createView": "Crear vista",
"sidebar.action.editView": "Editar vista",
"sidebar.action.deleteView": "Eliminar vista",
"sidebar.action.customizeSections": "Personalizar secciones",
"sidebar.action.renameSection": "Cambiar el nombre de la sección…",
"sidebar.action.customizeIconColor": "Personalizar ícono y color…",
"sidebar.action.createType": "Crear nuevo tipo",
"sidebar.action.collapse": "Ocultar la barra lateral",
"sidebar.action.expand": "Expandir la barra lateral",
"sidebar.action.createFolder": "Crear carpeta",
"sidebar.action.renameFolder": "Cambiar el nombre de la carpeta",
"sidebar.action.deleteFolder": "Eliminar carpeta",
"sidebar.action.revealFolderMenu": "Mostrar en el Finder",
"sidebar.action.copyFolderPathMenu": "Copiar ruta de la carpeta",
"sidebar.action.renameFolderMenu": "Cambiar el nombre de la carpeta...",
"sidebar.action.deleteFolderMenu": "Eliminar carpeta...",
"sidebar.folder.name": "Nombre de la carpeta",
"sidebar.folder.newName": "Nuevo nombre de carpeta",
"sidebar.folder.expand": "Expandir {name}",
"sidebar.folder.collapse": "Ocultar {name}",
"sidebar.section.name": "Nombre de la sección",
"sidebar.section.showInSidebar": "Mostrar en la barra lateral",
"sidebar.section.toggle": "Alternar {label}",
"sidebar.disabled.comingSoon": "Próximamente",
"noteList.title.archive": "Archivar",
"noteList.title.changes": "Cambios",
"noteList.title.inbox": "Bandeja de entrada",
"noteList.title.history": "Historial",
"noteList.title.view": "Ver",
"noteList.title.notes": "Notas",
"noteList.searchPlaceholder": "Buscar notas...",
"noteList.searchAction": "Buscar notas",
"noteList.createNote": "Crear nueva nota",
"noteList.empty.changesError": "Error al cargar los cambios: {error}",
"noteList.empty.noChanges": "No hay cambios pendientes",
"noteList.empty.noArchived": "No hay notas archivadas",
"noteList.empty.noMatching": "No hay notas que coincidan",
"noteList.empty.allOrganized": "Todas las notas están organizadas",
"noteList.empty.noNotes": "No se encontraron notas",
"noteList.empty.noMatchingItems": "No hay elementos que coincidan",
"noteList.empty.noRelatedItems": "No hay elementos relacionados",
"noteList.sort.modified": "Modificada",
"noteList.sort.created": "Creada",
"noteList.sort.title": "Título",
"noteList.sort.status": "Estado",
"noteList.sort.by": "Ordenar por {label}",
"noteList.sort.menu": "Ordenar por {label}",
"noteList.sort.ascending": "Ascendente",
"noteList.sort.descending": "Descendente",
"noteList.filter.open": "Abierto",
"noteList.filter.archived": "Archivado",
"noteList.filter.week": "Semana",
"noteList.filter.month": "Mes",
"noteList.filter.all": "Todo",
"noteList.properties.customizeColumns": "Personalizar columnas",
"noteList.properties.customizeAllColumns": "Personalizar todas las columnas de Notas",
"noteList.properties.customizeInboxColumns": "Personalizar las columnas de la bandeja de entrada",
"noteList.properties.customizeViewColumns": "Personalizar las columnas de {name}",
"noteList.properties.showInNoteList": "Mostrar en la lista de notas",
"noteList.properties.searchPlaceholder": "Buscar propiedades...",
"noteList.properties.searchLabel": "Buscar propiedades de la lista de notas",
"noteList.properties.noMatches": "Ninguna propiedad coincide con esta búsqueda.",
"noteList.properties.reorder": "Reordenar {name}",
"noteList.changes.restoreNote": "Restaurar nota",
"noteList.changes.discardChanges": "Descartar cambios",
"noteList.changes.restoreDescription": "¿Restaurar {file} desde Git?",
"noteList.changes.discardDescription": "¿Desea descartar los cambios en {file}? Esta acción no se puede deshacer.",
"noteList.changes.thisFile": "este archivo",
"noteList.changes.restore": "Restaurar",
"noteList.changes.discard": "Descartar",
"noteList.changes.cancel": "Cancelar",
"editor.empty.selectNote": "Seleccione una nota para comenzar a editarla",
"editor.empty.shortcuts": "{quickOpen} para buscar · {newNote} para crear",
"editor.raw.label": "Editor sin formato",
"editor.find.findLabel": "Buscar",
"editor.find.findPlaceholder": "Buscar",
"editor.find.replaceLabel": "Reemplazar",
"editor.find.replacePlaceholder": "Reemplazar",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "No hay coincidencias",
"editor.find.invalidRegex": "Expresión regular no válida",
"editor.find.regexMustMatchText": "La expresión regular (regex) debe coincidir con el texto",
"editor.find.previousMatch": "Coincidencia anterior",
"editor.find.nextMatch": "Siguiente coincidencia",
"editor.find.showReplace": "Mostrar reemplazo",
"editor.find.hideReplace": "Ocultar reemplazo",
"editor.find.regex": "Usar expresión regular",
"editor.find.matchCase": "Distinguir mayúsculas y minúsculas",
"editor.find.close": "Cerrar búsqueda",
"editor.find.replace": "Reemplazar",
"editor.find.replaceAll": "Todo",
"editor.toolbar.rawReturn": "Volver al editor",
"editor.toolbar.rawOpen": "Abrir el editor sin formato",
"editor.toolbar.centerLayout": "Cambiar al diseño de nota centrado",
"editor.toolbar.leftLayout": "Cambiar al diseño de nota alineado a la izquierda",
"editor.toolbar.removeFavorite": "Eliminar de favoritos",
"editor.toolbar.addFavorite": "Agregar a favoritos",
"editor.toolbar.markUnorganized": "Marcar la nota como no organizada",
"editor.toolbar.markOrganized": "Marcar la nota como organizada",
"editor.toolbar.noDiff": "Aún no hay ningún diff disponible",
"editor.toolbar.loadingDiff": "Cargando el diff",
"editor.toolbar.showDiff": "Mostrar el diff actual",
"editor.toolbar.openAi": "Abrir el panel de IA",
"editor.toolbar.closeAi": "Cerrar el panel de IA",
"editor.toolbar.restoreArchived": "Restaurar esta nota archivada",
"editor.toolbar.archive": "Archivar esta nota",
"editor.toolbar.delete": "Eliminar esta nota",
"editor.toolbar.revealFile": "Mostrar en el Finder",
"editor.toolbar.copyFilePath": "Copiar la ruta del archivo",
"editor.toolbar.openProperties": "Abrir el panel de propiedades",
"editor.filename.rename": "Cambiar el nombre del archivo",
"editor.filename.renameToTitle": "Cambiar el nombre del archivo para que coincida con el título",
"editor.filename.trigger": "Nombre de archivo {filename}. Presione Entrar para cambiar el nombre.",
"editor.banner.archived": "Archivada",
"editor.banner.unarchive": "Desarchivar",
"editor.banner.conflict": "Esta nota tiene un conflicto de fusión",
"editor.banner.keepMine": "Conservar la mía",
"editor.banner.keepMineTooltip": "Conservar mi versión local",
"editor.banner.keepTheirs": "Conservar la suya",
"editor.banner.keepTheirsTooltip": "Conservar la versión remota",
"inspector.title.properties": "Propiedades",
"inspector.title.propertiesShortcut": "Propiedades (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Cerrar Propiedades (⌘⇧I)",
"inspector.empty.noNoteSelected": "No se seleccionó ninguna nota",
"inspector.empty.noProperties": "Esta nota aún no tiene propiedades",
"inspector.empty.initializeProperties": "Inicializar propiedades",
"inspector.empty.invalidProperties": "Propiedades no válidas",
"inspector.empty.fixInEditor": "Corregir en el editor",
"inspector.properties.addProperty": "Agregar propiedad",
"inspector.properties.deleteProperty": "Eliminar propiedad",
"inspector.properties.none": "Ninguna",
"inspector.properties.missingType": "Falta el tipo",
"inspector.properties.missingTypeAria": "Falta el tipo {type}. Haga clic para crear este tipo.",
"inspector.properties.searchTypes": "Buscar tipos...",
"inspector.properties.noMatchingTypes": "No hay tipos que coincidan",
"inspector.properties.yes": "Sí",
"inspector.properties.no": "No",
"inspector.properties.pickDate": "Elija una fecha…",
"inspector.properties.valuePlaceholder": "Valor",
"inspector.properties.propertyName": "Nombre de la propiedad",
"inspector.relationship.add": "Agregar",
"inspector.relationship.addRelationship": "+ Agregar relación",
"inspector.relationship.name": "Nombre de la relación",
"inspector.relationship.noteTitle": "Título de la nota",
"inspector.relationship.createAndOpen": "Crear y abrir",
"inspector.info.title": "Información",
"inspector.info.modified": "Modificada",
"inspector.info.created": "Creada",
"inspector.info.words": "Palabras",
"inspector.info.size": "Tamaño",
"update.available": "está disponible",
"update.releaseNotes": "Notas de la versión",
"update.updateNow": "Actualizar ahora",
"update.dismiss": "Omitir",
"update.downloading": "Descargando Tolaria {version}...",
"update.readyRestart": "Está lista: reinicie para aplicar la actualización",
"update.restartNow": "Reiniciar ahora",
"status.update.check": "Buscar actualizaciones",
"status.zoom.reset": "Restablecer el nivel de zoom",
"status.feedback.contribute": "Contribuir a Tolaria",
"status.feedback.label": "Contribuir",
"status.theme.light": "Cambiar al modo claro",
"status.theme.dark": "Cambiar al modo oscuro",
"status.settings.open": "Abrir la configuración",
"status.build.unknown": "b?",
"status.vault.switch": "Cambiar de vault",
"status.vault.default": "Vault",
"status.vault.createEmpty": "Crear bóveda vacía",
"status.vault.openLocal": "Abrir carpeta local",
"status.vault.cloneGit": "Clonar repositorio Git",
"status.vault.cloneGettingStarted": "Clonar el vault de introducción",
"status.vault.notFound": "No se encontró el almacén: {path}",
"status.vault.remove": "Eliminar {label} de la lista",
"status.remote.noneConfigured": "No se ha configurado ningún repositorio remoto",
"status.remote.inSync": "Sincronizado con el repositorio remoto",
"status.remote.aheadTitle": "{count} commit{plural} por delante del repositorio remoto",
"status.remote.behindTitle": "{count} commit{plural} por detrás del repositorio remoto",
"status.remote.ahead": "{count} por delante",
"status.remote.behind": "{count} por detrás",
"status.remote.add": "Agregar un repositorio remoto a este vault",
"status.remote.none": "Sin repositorio remoto",
"status.remote.noneDescription": "Este repositorio Git no tiene ningún repositorio remoto configurado. Las confirmaciones se quedan a nivel local hasta que agregue un repositorio remoto.",
"status.sync.syncing": "Sincronizando...",
"status.sync.conflict": "Conflicto",
"status.sync.failed": "Error de sincronización",
"status.sync.pullRequired": "Se requiere una extracción",
"status.sync.notSynced": "No sincronizado",
"status.sync.justNow": "Sincronizado hace un momento",
"status.sync.minutesAgo": "Sincronizado hace {minutes} min",
"status.sync.resolveConflicts": "Resolver conflictos de fusión",
"status.sync.inProgress": "Sincronización en curso",
"status.sync.pullAndPush": "Extraer del repositorio remoto y enviar",
"status.sync.retry": "Reintentar sincronización",
"status.sync.now": "Sincronizar ahora",
"status.sync.synced": "Sincronizado",
"status.sync.conflicts": "Conflictos",
"status.sync.error": "Error",
"status.sync.status": "Estado: {status}",
"status.sync.pull": "Extraer",
"status.conflict.count": "{count} conflicto{plural}",
"status.offline.title": "Sin conexión a Internet",
"status.offline.label": "Sin conexión",
"status.changes.view": "Ver cambios pendientes",
"status.changes.label": "Cambios",
"status.commit.local": "Confirmar cambios localmente",
"status.commit.push": "Confirmar y enviar los cambios",
"status.commit.label": "Confirmar",
"status.commit.openOnGitHub": "Abrir la confirmación {hash} en GitHub",
"status.git.disabledTooltip": "Git está desactivado para esta bóveda. Inicialice Git para habilitar el historial, la sincronización, las confirmaciones y las vistas de cambios.",
"status.git.disabled": "Git desactivado",
"status.history.onlyGit": "El historial solo está disponible para los almacenes con Git habilitado",
"status.history.open": "Abrir historial de cambios",
"status.history.label": "Historial",
"status.mcp.notConnected": "Herramientas de IA externas no conectadas: haga clic para configurarlas",
"status.mcp.unknown": "Estado de MCP desconocido",
"status.claude.missing": "Falta Claude Code",
"status.claude.label": "Claude Code",
"status.claude.install": "No se encontró Claude Code: haga clic para instalarlo",
"status.ai.noAgents": "No se detectaron agentes de IA",
"status.ai.noAgentsTooltip": "No se detectaron agentes de IA: haga clic para obtener detalles de la configuración",
"status.ai.selectedMissing": "{agent} está seleccionado, pero no instalado — haga clic para obtener los detalles de la configuración",
"status.ai.defaultAgent": "Agente de IA predeterminado: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — Haga clic para ver los detalles de la restauración",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Agente de IA activo: {agent}",
"status.ai.unavailable": "Agente de IA seleccionado no disponible: {agent}",
"status.ai.install": "Instalar",
"status.ai.installAgent": "Instalar {agent}",
"status.ai.vaultGuidance": "Guía del repositorio",
"status.ai.restoreGuidance": "Restaurar la guía de IA de Tolaria",
"status.ai.openOptions": "Abrir opciones del agente de IA",
"pulse.title": "Historial",
"pulse.today": "Hoy",
"pulse.yesterday": "Ayer",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "confirmaciones",
"pulse.openOnGitHub": "Abrir en GitHub",
"pulse.expandFiles": "Expandir archivos",
"pulse.collapseFiles": "Ocultar archivos",
"pulse.noActivity": "Aún no hay actividad",
"pulse.emptyDescription": "Confirme los cambios para ver el historial de su bóveda",
"pulse.retry": "Reintentar",
"pulse.loadingActivity": "Cargando actividad…",
"pulse.loading": "Cargando…",
"pulse.loadError": "Error al cargar la actividad",
"command.switchLanguage": "Cambiar idioma a {language}",
"locale.itIT": "Italiano",
"locale.frFR": "Francés",
"locale.deDE": "Alemán",
"locale.ruRU": "Ruso",
"locale.esES": "Español (España)",
"locale.ptBR": "Portugués (Brasil)",
"locale.ptPT": "Portugués (Portugal)",
"locale.es419": "Español (Latinoamérica)",
"locale.zhCN": "Chino simplificado",
"locale.jaJP": "Japonés",
"locale.koKR": "Coreano"
}

405
src/lib/locales/es-ES.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "No hay comandos que coincidan",
"command.palettePlaceholder": "Escribe un comando...",
"command.footerNavigate": "↑↓ navegar",
"command.footerSelect": "↵ seleccionar",
"command.footerClose": "esc cerrar",
"command.footerSend": "↵ enviar",
"command.aiMode": "Modo {agent}",
"command.openSettings": "Abrir Ajustes",
"command.openSettings.keywords": "preferencias config",
"command.openLanguageSettings": "Abrir la configuración de idioma",
"command.openLanguageSettings.keywords": "idioma configuración regional i18n internacionalización localización inglés italiano francés alemán ruso español portugués chino japonés coreano 中文",
"command.useSystemLanguage": "Usar el idioma del sistema",
"command.openH1Setting": "Abrir la configuración de renombrado automático de H1",
"command.contribute": "Contribuir",
"command.checkUpdates": "Buscar actualizaciones",
"command.group.navigation": "Navegación",
"command.group.note": "Nota",
"command.group.git": "Git",
"command.group.view": "Ver",
"command.group.settings": "Ajustes",
"command.navigation.searchNotes": "Buscar en las notas",
"command.navigation.goAllNotes": "Ir a Todas las notas",
"command.navigation.goArchived": "Ir a Archivadas",
"command.navigation.goChanges": "Ir a Cambios",
"command.navigation.goHistory": "Ir al historial",
"command.navigation.goBack": "Volver atrás",
"command.navigation.goForward": "Ir adelante",
"command.navigation.goInbox": "Ir a la bandeja de entrada",
"command.navigation.renameFolder": "Cambiar el nombre de la carpeta",
"command.navigation.deleteFolder": "Eliminar carpeta",
"command.navigation.showOpenNotes": "Mostrar notas abiertas",
"command.navigation.showArchivedNotes": "Mostrar notas archivadas",
"command.navigation.listType": "Lista {type}",
"command.note.newNote": "Nueva nota",
"command.note.newType": "Nuevo tipo",
"command.note.newTypedNote": "Nuevo {type}",
"command.note.saveNote": "Guardar nota",
"command.note.findInNote": "Buscar en la nota",
"command.note.replaceInNote": "Reemplazar en la nota",
"command.note.deleteNote": "Eliminar nota",
"command.note.archiveNote": "Archivar nota",
"command.note.unarchiveNote": "Desarchivar nota",
"command.note.addFavorite": "Añadir a Favoritos",
"command.note.removeFavorite": "Eliminar de Favoritos",
"command.note.markOrganized": "Marcar como organizada",
"command.note.markUnorganized": "Marcar como no organizada",
"command.note.restoreDeleted": "Restaurar nota eliminada",
"command.note.setIcon": "Establecer icono de nota",
"command.note.removeIcon": "Eliminar icono de nota",
"command.note.changeType": "Cambiar tipo de nota…",
"command.note.moveToFolder": "Mover nota a la carpeta…",
"command.note.openNewWindow": "Abrir en una ventana nueva",
"command.git.initialize": "Inicializar Git para el almacén actual",
"command.git.commitPush": "Confirmar y enviar",
"command.git.addRemote": "Añadir repositorio remoto al almacén actual",
"command.git.pull": "Extraer del repositorio remoto",
"command.git.resolveConflicts": "Resolver conflictos",
"command.git.viewChanges": "Ver cambios pendientes",
"command.view.editorOnly": "Solo editor",
"command.view.editorNoteList": "Editor + Lista de notas",
"command.view.fullLayout": "Diseño completo",
"command.view.toggleProperties": "Activar/desactivar el panel de propiedades",
"command.view.toggleDiff": "Activar/desactivar el modo de diferencias",
"command.view.toggleRaw": "Activar/desactivar el editor sin formato",
"command.view.leftLayout": "Usar diseño de nota alineado a la izquierda",
"command.view.centerLayout": "Usar diseño de nota centrado",
"command.view.toggleAiPanel": "Activar/desactivar el panel de IA",
"command.view.newAiChat": "Nuevo chat de IA",
"command.view.toggleBacklinks": "Activar/desactivar los enlaces de retroceso",
"command.view.zoomIn": "Acercar ({zoom} %)",
"command.view.zoomOut": "Alejar ({zoom} %)",
"command.view.resetZoom": "Restablecer el zoom",
"command.settings.createEmptyVault": "Crear caja fuerte vacía…",
"command.settings.openVault": "Abrir caja fuerte…",
"command.settings.removeVault": "Eliminar caja fuerte de la lista",
"command.settings.restoreGettingStarted": "Restaurar el almacén de introducción",
"command.settings.manageExternalAi": "Gestionar herramientas externas de IA…",
"command.settings.setupExternalAi": "Configurar herramientas de IA externas…",
"command.settings.reloadVault": "Volver a cargar el almacén",
"command.settings.repairVault": "Reparar el almacén",
"command.ai.openAgents": "Abrir agentes de IA",
"command.ai.restoreGuidance": "Restaurar la guía de IA de Tolaria",
"command.ai.switchToAgent": "Cambiar el agente de IA a {agent}",
"command.ai.switchDefault": "Cambiar agente de IA predeterminado",
"command.ai.switchDefaultWithAgent": "Cambiar agente de IA predeterminado ({agent})",
"settings.title": "Ajustes",
"settings.close": "Cerrar ajustes",
"settings.sync.title": "Sincronización y actualizaciones",
"settings.sync.description": "Configurar la descarga en segundo plano y el canal de actualizaciones que sigue Tolaria. Stable solo recibe las versiones promocionadas manualmente, mientras que Alpha sigue todos los pushes a main.",
"settings.pullInterval": "Intervalo de extracción (minutos)",
"settings.releaseChannel": "Canal de versiones",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Apariencia",
"settings.appearance.description": "Seleccione el modo de color de la aplicación que se utilizará para Tolaria Chrome, las superficies del editor, los menús y los cuadros de diálogo.",
"settings.theme.label": "Tema",
"settings.theme.light": "Claro",
"settings.theme.dark": "Oscuro",
"settings.language.title": "Idioma",
"settings.language.description": "Elija el idioma de visualización de Tolaria Chrome. El sistema sigue la configuración de macOS cuando ese idioma es compatible; en caso contrario, se utiliza el inglés.",
"settings.language.label": "Idioma de la interfaz",
"settings.language.system": "Sistema ({language})",
"settings.language.summary": "Cuando faltan traducciones, se utiliza el inglés como idioma predeterminado para que las localizaciones parcialmente traducidas sigan siendo utilizables.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Crea automáticamente puntos de control Git conservadores después de pausas en la edición o cuando la aplicación deje de estar activa.",
"settings.autogit.description.disabled": "AutoGit no está disponible hasta que el almacén actual esté habilitado para Git. Primero, inicialice Git para este almacén.",
"settings.autogit.enable": "Habilitar AutoGit",
"settings.autogit.enableDescription": "Cuando esté habilitado, Tolaria confirmará y enviará automáticamente los cambios locales guardados después de una pausa por inactividad o cuando la aplicación deje de estar activa.",
"settings.autogit.idleThreshold": "Umbral de inactividad (segundos)",
"settings.autogit.inactiveThreshold": "Periodo de gracia de la aplicación inactiva (segundos)",
"settings.titles.title": "Títulos y nombres de archivo",
"settings.titles.description": "Decida si Tolaria sincroniza automáticamente los nombres de los archivos de las notas sin título a partir del primer título H1.",
"settings.titles.autoRename": "Cambiar automático del nombre de las notas sin título a partir del primer H1",
"settings.titles.autoRenameDescription": "Cuando esta opción está activada, Tolaria cambia el nombre de los archivos de notas sin título en cuanto el primer H1 se convierte en un título real. Desactive esta opción para que el nombre del archivo no cambie hasta que lo renombre manualmente desde la barra de navegación.",
"settings.aiAgents.title": "Agentes de IA",
"settings.aiAgents.description": "Elija qué agente de IA de CLI utiliza Tolaria en el panel de IA y en la paleta de comandos.",
"settings.aiAgents.default": "Agente de IA predeterminado",
"settings.aiAgents.installed": "instalado",
"settings.aiAgents.missing": "falta",
"settings.aiAgents.ready": "{agent}{version} está listo para usarse.",
"settings.aiAgents.notInstalled": "{agent} aún no está instalado. Aún puedes seleccionarlo ahora e instalarlo más tarde.",
"settings.workflow.title": "Flujo de trabajo",
"settings.workflow.description": "Decide si Tolaria muestra el flujo de trabajo de la bandeja de entrada y cómo avanza por los elementos mientras los clasificas.",
"settings.workflow.explicit": "Organizar las notas explícitamente",
"settings.workflow.explicitDescription": "Cuando esta opción está activada, se muestra una sección de la bandeja de entrada con las notas no organizadas y un botón que permite marcar las notas como organizadas.",
"settings.workflow.autoAdvance": "Avance automático al siguiente elemento de la bandeja de entrada",
"settings.workflow.autoAdvanceDescription": "Cuando esta opción está activada, al marcar una nota de la bandeja de entrada como organizada, se abre inmediatamente la siguiente nota visible de la bandeja de entrada.",
"settings.privacy.title": "Privacidad y telemetría",
"settings.privacy.description": "Los datos anónimos nos ayudan a corregir errores y a mejorar Tolaria. Nunca se envía contenido de la bóveda, títulos de notas ni rutas de archivos.",
"settings.privacy.crashReporting": "Informes de fallos",
"settings.privacy.crashReportingDescription": "Enviar informes de errores anónimos",
"settings.privacy.analytics": "Análisis de uso",
"settings.privacy.analyticsDescription": "Compartir patrones de uso anónimos",
"settings.footerShortcut": "⌘, para abrir los ajustes",
"settings.cancel": "Cancelar",
"settings.save": "Guardar",
"common.cancel": "Cancelar",
"locale.en": "Español",
"sidebar.nav.inbox": "Bandeja de entrada",
"sidebar.nav.allNotes": "Todas las notas",
"sidebar.nav.archive": "Archivar",
"sidebar.group.favorites": "FAVORITOS",
"sidebar.group.views": "VISUALIZACIONES",
"sidebar.group.types": "TIPOS",
"sidebar.group.folders": "CARPETAS",
"sidebar.action.createView": "Crear vista",
"sidebar.action.editView": "Editar vista",
"sidebar.action.deleteView": "Eliminar vista",
"sidebar.action.customizeSections": "Personalizar secciones",
"sidebar.action.renameSection": "Cambiar el nombre de la sección…",
"sidebar.action.customizeIconColor": "Personalizar icono y color…",
"sidebar.action.createType": "Crear nuevo tipo",
"sidebar.action.collapse": "Contraer la barra lateral",
"sidebar.action.expand": "Expandir la barra lateral",
"sidebar.action.createFolder": "Crear carpeta",
"sidebar.action.renameFolder": "Cambiar el nombre de la carpeta",
"sidebar.action.deleteFolder": "Eliminar carpeta",
"sidebar.action.revealFolderMenu": "Mostrar en el Finder",
"sidebar.action.copyFolderPathMenu": "Copiar ruta de la carpeta",
"sidebar.action.renameFolderMenu": "Cambiar el nombre de la carpeta...",
"sidebar.action.deleteFolderMenu": "Eliminar carpeta...",
"sidebar.folder.name": "Nombre de la carpeta",
"sidebar.folder.newName": "Nuevo nombre de carpeta",
"sidebar.folder.expand": "Expandir {name}",
"sidebar.folder.collapse": "Contraer {name}",
"sidebar.section.name": "Nombre de la sección",
"sidebar.section.showInSidebar": "Mostrar en la barra lateral",
"sidebar.section.toggle": "Activar/desactivar {label}",
"sidebar.disabled.comingSoon": "Próximamente",
"noteList.title.archive": "Archivar",
"noteList.title.changes": "Cambios",
"noteList.title.inbox": "Bandeja de entrada",
"noteList.title.history": "Historial",
"noteList.title.view": "Ver",
"noteList.title.notes": "Notas",
"noteList.searchPlaceholder": "Buscar notas…",
"noteList.searchAction": "Buscar notas",
"noteList.createNote": "Crear nueva nota",
"noteList.empty.changesError": "Error al cargar los cambios: {error}",
"noteList.empty.noChanges": "No hay cambios pendientes",
"noteList.empty.noArchived": "No hay notas archivadas",
"noteList.empty.noMatching": "No hay notas que coincidan",
"noteList.empty.allOrganized": "Todas las notas están organizadas",
"noteList.empty.noNotes": "No se han encontrado notas",
"noteList.empty.noMatchingItems": "No hay elementos que coincidan",
"noteList.empty.noRelatedItems": "No hay elementos relacionados",
"noteList.sort.modified": "Modificada",
"noteList.sort.created": "Creada",
"noteList.sort.title": "Título",
"noteList.sort.status": "Estado",
"noteList.sort.by": "Ordenar por {label}",
"noteList.sort.menu": "Ordenar por {label}",
"noteList.sort.ascending": "Ascendente",
"noteList.sort.descending": "Descendente",
"noteList.filter.open": "Abierto",
"noteList.filter.archived": "Archivado",
"noteList.filter.week": "Semana",
"noteList.filter.month": "Mes",
"noteList.filter.all": "Todo",
"noteList.properties.customizeColumns": "Personalizar columnas",
"noteList.properties.customizeAllColumns": "Personalizar todas las columnas de Notas",
"noteList.properties.customizeInboxColumns": "Personalizar las columnas de la bandeja de entrada",
"noteList.properties.customizeViewColumns": "Personalizar las columnas de {name}",
"noteList.properties.showInNoteList": "Mostrar en la lista de notas",
"noteList.properties.searchPlaceholder": "Buscar propiedades...",
"noteList.properties.searchLabel": "Buscar propiedades de la lista de notas",
"noteList.properties.noMatches": "Ninguna propiedad coincide con esta búsqueda.",
"noteList.properties.reorder": "Reordenar {name}",
"noteList.changes.restoreNote": "Restaurar nota",
"noteList.changes.discardChanges": "Descartar cambios",
"noteList.changes.restoreDescription": "¿Restaurar {file} desde Git?",
"noteList.changes.discardDescription": "¿Descartar los cambios en {file}? Esta acción no se puede deshacer.",
"noteList.changes.thisFile": "este archivo",
"noteList.changes.restore": "Restaurar",
"noteList.changes.discard": "Descartar",
"noteList.changes.cancel": "Cancelar",
"editor.empty.selectNote": "Selecciona una nota para empezar a editarla",
"editor.empty.shortcuts": "{quickOpen} para buscar · {newNote} para crear",
"editor.raw.label": "Editor sin formato",
"editor.find.findLabel": "Buscar",
"editor.find.findPlaceholder": "Buscar",
"editor.find.replaceLabel": "Reemplazar",
"editor.find.replacePlaceholder": "Reemplazar",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "No hay coincidencias",
"editor.find.invalidRegex": "Expresión regular no válida",
"editor.find.regexMustMatchText": "La expresión regular debe coincidir con el texto",
"editor.find.previousMatch": "Coincidencia anterior",
"editor.find.nextMatch": "Siguiente coincidencia",
"editor.find.showReplace": "Mostrar reemplazo",
"editor.find.hideReplace": "Ocultar reemplazo",
"editor.find.regex": "Usar expresión regular",
"editor.find.matchCase": "Distinguir mayúsculas y minúsculas",
"editor.find.close": "Cerrar búsqueda",
"editor.find.replace": "Reemplazar",
"editor.find.replaceAll": "Todo",
"editor.toolbar.rawReturn": "Volver al editor",
"editor.toolbar.rawOpen": "Abrir el editor sin formato",
"editor.toolbar.centerLayout": "Cambiar al diseño de nota centrado",
"editor.toolbar.leftLayout": "Cambiar al diseño de nota alineado a la izquierda",
"editor.toolbar.removeFavorite": "Eliminar de favoritos",
"editor.toolbar.addFavorite": "Añadir a favoritos",
"editor.toolbar.markUnorganized": "Marcar la nota como no organizada",
"editor.toolbar.markOrganized": "Marcar nota como organizada",
"editor.toolbar.noDiff": "Aún no hay ningún diff disponible",
"editor.toolbar.loadingDiff": "Cargando el diff",
"editor.toolbar.showDiff": "Mostrar el diff actual",
"editor.toolbar.openAi": "Abrir el panel de IA",
"editor.toolbar.closeAi": "Cerrar el panel de IA",
"editor.toolbar.restoreArchived": "Restaurar esta nota archivada",
"editor.toolbar.archive": "Archivar esta nota",
"editor.toolbar.delete": "Eliminar esta nota",
"editor.toolbar.revealFile": "Mostrar en el Finder",
"editor.toolbar.copyFilePath": "Copiar la ruta del archivo",
"editor.toolbar.openProperties": "Abrir el panel de propiedades",
"editor.filename.rename": "Cambiar el nombre del archivo",
"editor.filename.renameToTitle": "Cambiar el nombre del archivo para que coincida con el título",
"editor.filename.trigger": "Nombre de archivo {filename}. Pulsa Intro para cambiar el nombre",
"editor.banner.archived": "Archivada",
"editor.banner.unarchive": "Desarchivar",
"editor.banner.conflict": "Esta nota tiene un conflicto de fusión",
"editor.banner.keepMine": "Conservar la mía",
"editor.banner.keepMineTooltip": "Conservar mi versión local",
"editor.banner.keepTheirs": "Conservar la suya",
"editor.banner.keepTheirsTooltip": "Conservar la versión remota",
"inspector.title.properties": "Propiedades",
"inspector.title.propertiesShortcut": "Propiedades (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Cerrar Propiedades (⌘⇧I)",
"inspector.empty.noNoteSelected": "Ninguna nota seleccionada",
"inspector.empty.noProperties": "Esta nota aún no tiene propiedades",
"inspector.empty.initializeProperties": "Inicializar propiedades",
"inspector.empty.invalidProperties": "Propiedades no válidas",
"inspector.empty.fixInEditor": "Corregir en el editor",
"inspector.properties.addProperty": "Añadir propiedad",
"inspector.properties.deleteProperty": "Eliminar propiedad",
"inspector.properties.none": "Ninguna",
"inspector.properties.missingType": "Falta el tipo",
"inspector.properties.missingTypeAria": "Falta el tipo {type}. Haga clic para crear este tipo.",
"inspector.properties.searchTypes": "Buscar tipos…",
"inspector.properties.noMatchingTypes": "No hay tipos que coincidan",
"inspector.properties.yes": "Sí",
"inspector.properties.no": "No",
"inspector.properties.pickDate": "Seleccione una fecha…",
"inspector.properties.valuePlaceholder": "Valor",
"inspector.properties.propertyName": "Nombre de la propiedad",
"inspector.relationship.add": "Añadir",
"inspector.relationship.addRelationship": "+ Añadir relación",
"inspector.relationship.name": "Nombre de la relación",
"inspector.relationship.noteTitle": "Título de la nota",
"inspector.relationship.createAndOpen": "Crear y abrir",
"inspector.info.title": "Información",
"inspector.info.modified": "Modificada",
"inspector.info.created": "Creada",
"inspector.info.words": "Palabras",
"inspector.info.size": "Tamaño",
"update.available": "está disponible",
"update.releaseNotes": "Notas de la versión",
"update.updateNow": "Actualizar ahora",
"update.dismiss": "Omitir",
"update.downloading": "Descargando Tolaria {version}...",
"update.readyRestart": "está lista - reinicie para aplicarla",
"update.restartNow": "Reiniciar ahora",
"status.update.check": "Buscar actualizaciones",
"status.zoom.reset": "Restablecer el nivel de zoom",
"status.feedback.contribute": "Contribuir a Tolaria",
"status.feedback.label": "Contribuir",
"status.theme.light": "Cambiar al modo claro",
"status.theme.dark": "Cambiar al modo oscuro",
"status.settings.open": "Abrir ajustes",
"status.build.unknown": "b?",
"status.vault.switch": "Cambiar de almacén",
"status.vault.default": "Almacén",
"status.vault.createEmpty": "Crear almacén vacío",
"status.vault.openLocal": "Abrir carpeta local",
"status.vault.cloneGit": "Clonar repositorio Git",
"status.vault.cloneGettingStarted": "Clonar el almacén «Primeros pasos»",
"status.vault.notFound": "No se ha encontrado el almacén: {path}",
"status.vault.remove": "Eliminar {label} de la lista",
"status.remote.noneConfigured": "No hay ningún repositorio remoto configurado",
"status.remote.inSync": "Sincronizado con el repositorio remoto",
"status.remote.aheadTitle": "{count} commit{plural} por delante del repositorio remoto",
"status.remote.behindTitle": "{count} commit{plural} por detrás del remoto",
"status.remote.ahead": "{count} por delante",
"status.remote.behind": "{count} por detrás",
"status.remote.add": "Añadir un repositorio remoto a este repositorio GitVault",
"status.remote.none": "Sin repositorio remoto",
"status.remote.noneDescription": "Este repositorio Git no tiene ningún repositorio remoto configurado. Las confirmaciones se quedan en local hasta que añadas un repositorio remoto.",
"status.sync.syncing": "Sincronizando...",
"status.sync.conflict": "Conflicto",
"status.sync.failed": "Error en la sincronización",
"status.sync.pullRequired": "Se requiere una extracción",
"status.sync.notSynced": "Sin sincronizar",
"status.sync.justNow": "Sincronizado hace un momento",
"status.sync.minutesAgo": "Sincronizado hace {minutes} min",
"status.sync.resolveConflicts": "Resolver conflictos de fusión",
"status.sync.inProgress": "Sincronización en curso",
"status.sync.pullAndPush": "Extraer del repositorio remoto y enviar",
"status.sync.retry": "Reintentar la sincronización",
"status.sync.now": "Sincronizar ahora",
"status.sync.synced": "Sincronizado",
"status.sync.conflicts": "Conflictos",
"status.sync.error": "Error",
"status.sync.status": "Estado: {status}",
"status.sync.pull": "Extraer",
"status.conflict.count": "{count} conflicto{plural}",
"status.offline.title": "Sin conexión a Internet",
"status.offline.label": "Sin conexión",
"status.changes.view": "Ver cambios pendientes",
"status.changes.label": "Cambios",
"status.commit.local": "Confirmar los cambios localmente",
"status.commit.push": "Confirmar y enviar los cambios",
"status.commit.label": "Confirmar",
"status.commit.openOnGitHub": "Abrir la confirmación {hash} en GitHub",
"status.git.disabledTooltip": "Git está desactivado para este almacén. Inicialice Git para habilitar el historial, la sincronización, las confirmaciones y las vistas de cambios.",
"status.git.disabled": "Git desactivado",
"status.history.onlyGit": "El historial solo está disponible en los almacenes con Git habilitado",
"status.history.open": "Abrir el historial de cambios",
"status.history.label": "Historial",
"status.mcp.notConnected": "Herramientas de IA externas no conectadas — Haga clic para configurarlas",
"status.mcp.unknown": "Estado de MCP desconocido",
"status.claude.missing": "Falta Claude Code",
"status.claude.label": "Claude Code",
"status.claude.install": "No se ha encontrado Claude Code — Haga clic para instalarlo",
"status.ai.noAgents": "No se han detectado agentes de IA",
"status.ai.noAgentsTooltip": "No se han detectado agentes de IA — Haga clic para ver los detalles de la configuración",
"status.ai.selectedMissing": "{agent} está seleccionado, pero no instalado — haga clic para ver los detalles de la configuración",
"status.ai.defaultAgent": "Agente de IA predeterminado: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — Haga clic para ver los detalles de la restauración",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Agente de IA activo: {agent}",
"status.ai.unavailable": "Agente de IA seleccionado no disponible: {agent}",
"status.ai.install": "Instalar",
"status.ai.installAgent": "Instalar {agent}",
"status.ai.vaultGuidance": "Guía del repositorio",
"status.ai.restoreGuidance": "Restaurar la guía de IA de Tolaria",
"status.ai.openOptions": "Abrir las opciones del agente de IA",
"pulse.title": "Historial",
"pulse.today": "Hoy",
"pulse.yesterday": "Ayer",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "commits",
"pulse.openOnGitHub": "Abrir en GitHub",
"pulse.expandFiles": "Expandir archivos",
"pulse.collapseFiles": "Contraer archivos",
"pulse.noActivity": "Aún no hay actividad",
"pulse.emptyDescription": "Confirme los cambios para ver el historial de su almacén",
"pulse.retry": "Reintentar",
"pulse.loadingActivity": "Cargando actividad…",
"pulse.loading": "Cargando…",
"pulse.loadError": "Error al cargar la actividad",
"command.switchLanguage": "Cambiar idioma a {language}",
"locale.itIT": "Italiano",
"locale.frFR": "Francés",
"locale.deDE": "Alemán",
"locale.ruRU": "Ruso",
"locale.esES": "Español (España)",
"locale.ptBR": "Portugués (Brasil)",
"locale.ptPT": "Portugués (Portugal)",
"locale.es419": "Español (Latinoamérica)",
"locale.zhCN": "中国简体",
"locale.jaJP": "Japonés",
"locale.koKR": "Coreano"
}

405
src/lib/locales/fr-FR.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "Aucune commande correspondante",
"command.palettePlaceholder": "Saisir une commande…",
"command.footerNavigate": "↑↓ naviguer",
"command.footerSelect": "↵ sélectionner",
"command.footerClose": "esc fermer",
"command.footerSend": "↵ envoyer",
"command.aiMode": "Mode {agent}",
"command.openSettings": "Ouvrir les paramètres",
"command.openSettings.keywords": "préférences config",
"command.openLanguageSettings": "Ouvrir les paramètres de langue",
"command.openLanguageSettings.keywords": "langue paramètres régionaux i18n internationalisation localisation anglais italien français allemand russe espagnol portugais chinois japonais coréen 中文",
"command.useSystemLanguage": "Utiliser la langue du système",
"command.openH1Setting": "Ouvrir le paramètre de renommage automatique des titres H1",
"command.contribute": "Contribuer",
"command.checkUpdates": "Rechercher les mises à jour",
"command.group.navigation": "Navigation",
"command.group.note": "Note",
"command.group.git": "Git",
"command.group.view": "Afficher",
"command.group.settings": "Paramètres",
"command.navigation.searchNotes": "Rechercher dans les notes",
"command.navigation.goAllNotes": "Accéder à toutes les notes",
"command.navigation.goArchived": "Accéder aux notes archivées",
"command.navigation.goChanges": "Accéder aux modifications",
"command.navigation.goHistory": "Accéder à l'historique",
"command.navigation.goBack": "Retour en arrière",
"command.navigation.goForward": "Aller en avant",
"command.navigation.goInbox": "Accéder à la boîte de réception",
"command.navigation.renameFolder": "Renommer le dossier",
"command.navigation.deleteFolder": "Supprimer le dossier",
"command.navigation.showOpenNotes": "Afficher les notes ouvertes",
"command.navigation.showArchivedNotes": "Afficher les notes archivées",
"command.navigation.listType": "Liste {type}",
"command.note.newNote": "Nouvelle note",
"command.note.newType": "Nouveau type",
"command.note.newTypedNote": "Nouveau {type}",
"command.note.saveNote": "Enregistrer la note",
"command.note.findInNote": "Rechercher dans la note",
"command.note.replaceInNote": "Remplacer dans la note",
"command.note.deleteNote": "Supprimer la note",
"command.note.archiveNote": "Archiver la note",
"command.note.unarchiveNote": "Désarchiver la note",
"command.note.addFavorite": "Ajouter aux favoris",
"command.note.removeFavorite": "Supprimer des favoris",
"command.note.markOrganized": "Marquer comme organisée",
"command.note.markUnorganized": "Marquer comme non organisée",
"command.note.restoreDeleted": "Restaurer la note supprimée",
"command.note.setIcon": "Définir l'icône de la note",
"command.note.removeIcon": "Supprimer l'icône de la note",
"command.note.changeType": "Modifier le type de note…",
"command.note.moveToFolder": "Déplacer la note vers le dossier…",
"command.note.openNewWindow": "Ouvrir dans une nouvelle fenêtre",
"command.git.initialize": "Initialiser Git pour le coffre-fort actuel",
"command.git.commitPush": "Valider et pousser",
"command.git.addRemote": "Ajouter le dépôt distant au coffre-fort actuel",
"command.git.pull": "Extraire depuis le dépôt distant",
"command.git.resolveConflicts": "Résoudre les conflits",
"command.git.viewChanges": "Afficher les modifications en attente",
"command.view.editorOnly": "Éditeur uniquement",
"command.view.editorNoteList": "Éditeur + liste de notes",
"command.view.fullLayout": "Mise en page complète",
"command.view.toggleProperties": "Activer/désactiver le panneau des propriétés",
"command.view.toggleDiff": "Activer/désactiver le mode Diff",
"command.view.toggleRaw": "Activer/désactiver l'éditeur Raw",
"command.view.leftLayout": "Utiliser la mise en page des notes alignée à gauche",
"command.view.centerLayout": "Utiliser la mise en page centrée pour les notes",
"command.view.toggleAiPanel": "Activer/désactiver le panneau d'IA",
"command.view.newAiChat": "Nouveau chat IA",
"command.view.toggleBacklinks": "Activer/désactiver les backlinks",
"command.view.zoomIn": "Zoom avant ({zoom} %)",
"command.view.zoomOut": "Zoom arrière ({zoom} %)",
"command.view.resetZoom": "Réinitialiser le zoom",
"command.settings.createEmptyVault": "Créer un coffre-fort vide…",
"command.settings.openVault": "Ouvrir le coffre-fort…",
"command.settings.removeVault": "Supprimer le coffre de la liste",
"command.settings.restoreGettingStarted": "Restaurer le coffre-fort « Premiers pas »",
"command.settings.manageExternalAi": "Gérer les outils d'IA externes…",
"command.settings.setupExternalAi": "Configurer des outils d'IA externes…",
"command.settings.reloadVault": "Recharger le coffre-fort",
"command.settings.repairVault": "Réparer le coffre-fort",
"command.ai.openAgents": "Ouvrir les agents d'IA",
"command.ai.restoreGuidance": "Restaurer les conseils de l'IA Tolaria",
"command.ai.switchToAgent": "Basculer l'agent d'IA sur {agent}",
"command.ai.switchDefault": "Changer d'agent d'IA par défaut",
"command.ai.switchDefaultWithAgent": "Changer d'agent d'IA par défaut ({agent})",
"settings.title": "Paramètres",
"settings.close": "Fermer les paramètres",
"settings.sync.title": "Synchronisation et mises à jour",
"settings.sync.description": "Configurer la récupération en arrière-plan et le flux de mises à jour suivi par Tolaria. Stable ne reçoit que les versions promues manuellement, tandis qu'Alpha suit chaque push vers main.",
"settings.pullInterval": "Intervalle de pull (minutes)",
"settings.releaseChannel": "Canal de publication",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Apparence",
"settings.appearance.description": "Choisissez le mode de couleur de l'application utilisé pour Tolaria Chrome, les surfaces de l'éditeur, les menus et les boîtes de dialogue.",
"settings.theme.label": "Thème",
"settings.theme.light": "Clair",
"settings.theme.dark": "Sombre",
"settings.language.title": "Langue",
"settings.language.description": "Choisissez la langue d'affichage de Tolaria Chrome. Le système suit macOS lorsque cette langue est prise en charge, l'anglais étant la langue de secours.",
"settings.language.label": "Langue d'affichage",
"settings.language.system": "Système ({language})",
"settings.language.summary": "En l'absence de traduction, l'anglais est utilisé par défaut, ce qui permet de continuer à utiliser les localisations partiellement traduites.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Crée automatiquement des points de contrôle Git conservateurs après les pauses d'édition ou lorsque l'application n'est plus active.",
"settings.autogit.description.disabled": "AutoGit n'est pas disponible tant que le coffre-fort actuel n'est pas compatible avec Git. Veuillez d'abord initialiser Git pour ce coffre-fort.",
"settings.autogit.enable": "Activer AutoGit",
"settings.autogit.enableDescription": "Lorsque cette option est activée, Tolaria valide et pousse automatiquement les modifications locales enregistrées après une pause d'inactivité ou lorsque l'application devient inactive.",
"settings.autogit.idleThreshold": "Seuil d'inactivité (secondes)",
"settings.autogit.inactiveThreshold": "Délai de grâce en cas d'application inactive (secondes)",
"settings.titles.title": "Titres et noms de fichiers",
"settings.titles.description": "Indiquez si Tolaria doit synchroniser automatiquement les noms de fichier des notes sans titre à partir du premier titre H1.",
"settings.titles.autoRename": "Renommer automatiquement les notes sans titre à partir du premier H1",
"settings.titles.autoRenameDescription": "Lorsque cette option est activée, Tolaria renomme les fichiers de notes sans titre dès que le premier H1 devient un véritable titre. Désactivez cette option pour que le nom de fichier reste inchangé jusqu'à ce que vous le renommiez manuellement depuis la barre de navigation.",
"settings.aiAgents.title": "Agents d'IA",
"settings.aiAgents.description": "Choisissez l'agent d'IA CLI que Tolaria utilise dans le panneau d'IA et la palette de commandes.",
"settings.aiAgents.default": "Agent d'IA par défaut",
"settings.aiAgents.installed": "installé",
"settings.aiAgents.missing": "manquant",
"settings.aiAgents.ready": "{agent}{version} est prêt à l'emploi.",
"settings.aiAgents.notInstalled": "{agent} n'est pas encore installé. Vous pouvez toujours le sélectionner maintenant et l'installer plus tard.",
"settings.workflow.title": "Flux de travail",
"settings.workflow.description": "Choisissez si Tolaria affiche le flux de travail de la boîte de réception, ainsi que la manière dont il parcourt les éléments pendant que vous les triez.",
"settings.workflow.explicit": "Organiser les notes de manière explicite",
"settings.workflow.explicitDescription": "Lorsque cette option est activée, une section de la boîte de réception affiche les notes non organisées, et un bouton vous permet de marquer les notes comme organisées.",
"settings.workflow.autoAdvance": "Passer automatiquement à l'élément suivant de la boîte de réception",
"settings.workflow.autoAdvanceDescription": "Lorsque cette option est activée, le fait de marquer une note de la boîte de réception comme organisée ouvre immédiatement la note de la boîte de réception visible suivante.",
"settings.privacy.title": "Confidentialité et télémétrie",
"settings.privacy.description": "Les données anonymes nous aident à corriger les bugs et à améliorer Tolaria. Aucun contenu du coffre-fort, aucun titre de note et aucun chemin de fichier ne sont jamais envoyés.",
"settings.privacy.crashReporting": "Rapports d'erreur",
"settings.privacy.crashReportingDescription": "Envoyer des rapports d'erreur anonymes",
"settings.privacy.analytics": "Analyse de l'utilisation",
"settings.privacy.analyticsDescription": "Partager des habitudes d'utilisation de manière anonyme",
"settings.footerShortcut": "⌘, pour ouvrir les paramètres",
"settings.cancel": "Annuler",
"settings.save": "Enregistrer",
"common.cancel": "Annuler",
"locale.en": "Français",
"sidebar.nav.inbox": "Boîte de réception",
"sidebar.nav.allNotes": "Toutes les notes",
"sidebar.nav.archive": "Archiver",
"sidebar.group.favorites": "FAVORIS",
"sidebar.group.views": "VUES",
"sidebar.group.types": "TYPES",
"sidebar.group.folders": "DOSSIERS",
"sidebar.action.createView": "Créer une vue",
"sidebar.action.editView": "Modifier la vue",
"sidebar.action.deleteView": "Supprimer la vue",
"sidebar.action.customizeSections": "Personnaliser les sections",
"sidebar.action.renameSection": "Renommer la section…",
"sidebar.action.customizeIconColor": "Personnaliser l'icône et la couleur…",
"sidebar.action.createType": "Créer un nouveau type",
"sidebar.action.collapse": "Réduire la barre latérale",
"sidebar.action.expand": "Développer la barre latérale",
"sidebar.action.createFolder": "Créer un dossier",
"sidebar.action.renameFolder": "Renommer le dossier",
"sidebar.action.deleteFolder": "Supprimer le dossier",
"sidebar.action.revealFolderMenu": "Afficher dans le Finder",
"sidebar.action.copyFolderPathMenu": "Copier le chemin du dossier",
"sidebar.action.renameFolderMenu": "Renommer le dossier…",
"sidebar.action.deleteFolderMenu": "Supprimer le dossier…",
"sidebar.folder.name": "Nom du dossier",
"sidebar.folder.newName": "Nouveau nom du dossier",
"sidebar.folder.expand": "Développer {name}",
"sidebar.folder.collapse": "Réduire {name}",
"sidebar.section.name": "Nom de la section",
"sidebar.section.showInSidebar": "Afficher dans la barre latérale",
"sidebar.section.toggle": "Activer/désactiver {label}",
"sidebar.disabled.comingSoon": "Bientôt disponible",
"noteList.title.archive": "Archiver",
"noteList.title.changes": "Modifications",
"noteList.title.inbox": "Boîte de réception",
"noteList.title.history": "Historique",
"noteList.title.view": "Afficher",
"noteList.title.notes": "Notes",
"noteList.searchPlaceholder": "Rechercher des notes…",
"noteList.searchAction": "Rechercher dans les notes",
"noteList.createNote": "Créer une nouvelle note",
"noteList.empty.changesError": "Échec du chargement des modifications : {error}",
"noteList.empty.noChanges": "Aucune modification en attente",
"noteList.empty.noArchived": "Aucune note archivée",
"noteList.empty.noMatching": "Aucune note correspondante",
"noteList.empty.allOrganized": "Toutes les notes sont organisées",
"noteList.empty.noNotes": "Aucune note trouvée",
"noteList.empty.noMatchingItems": "Aucun élément correspondant",
"noteList.empty.noRelatedItems": "Aucun élément associé",
"noteList.sort.modified": "Modifiée",
"noteList.sort.created": "Créé",
"noteList.sort.title": "Titre",
"noteList.sort.status": "Statut",
"noteList.sort.by": "Trier par {label}",
"noteList.sort.menu": "Trier par {label}",
"noteList.sort.ascending": "Croissant",
"noteList.sort.descending": "Décroissant",
"noteList.filter.open": "Ouvert",
"noteList.filter.archived": "Archivé",
"noteList.filter.week": "Semaine",
"noteList.filter.month": "Mois",
"noteList.filter.all": "Tout",
"noteList.properties.customizeColumns": "Personnaliser les colonnes",
"noteList.properties.customizeAllColumns": "Personnaliser toutes les colonnes des notes",
"noteList.properties.customizeInboxColumns": "Personnaliser les colonnes de la boîte de réception",
"noteList.properties.customizeViewColumns": "Personnaliser les colonnes de {name}",
"noteList.properties.showInNoteList": "Afficher dans la liste des notes",
"noteList.properties.searchPlaceholder": "Rechercher des propriétés…",
"noteList.properties.searchLabel": "Rechercher des propriétés de la liste de notes",
"noteList.properties.noMatches": "Aucune propriété ne correspond à cette recherche.",
"noteList.properties.reorder": "Réorganiser {name}",
"noteList.changes.restoreNote": "Restaurer la note",
"noteList.changes.discardChanges": "Abandonner les modifications",
"noteList.changes.restoreDescription": "Restaurer {file} à partir de Git ?",
"noteList.changes.discardDescription": "Abandonner les modifications apportées à {file} ? Cette action est irréversible.",
"noteList.changes.thisFile": "ce fichier",
"noteList.changes.restore": "Restaurer",
"noteList.changes.discard": "Abandonner",
"noteList.changes.cancel": "Annuler",
"editor.empty.selectNote": "Sélectionner une note pour commencer à la modifier",
"editor.empty.shortcuts": "{quickOpen} pour rechercher · {newNote} pour créer",
"editor.raw.label": "Éditeur brut",
"editor.find.findLabel": "Rechercher",
"editor.find.findPlaceholder": "Rechercher",
"editor.find.replaceLabel": "Remplacer",
"editor.find.replacePlaceholder": "Remplacer",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "Aucune correspondance",
"editor.find.invalidRegex": "Expression rationnelle non valide",
"editor.find.regexMustMatchText": "L'expression rationnelle doit correspondre au texte",
"editor.find.previousMatch": "Correspondance précédente",
"editor.find.nextMatch": "Correspondance suivante",
"editor.find.showReplace": "Afficher le remplacement",
"editor.find.hideReplace": "Masquer le remplacement",
"editor.find.regex": "Utiliser une expression régulière",
"editor.find.matchCase": "Respecter la casse",
"editor.find.close": "Fermer la recherche",
"editor.find.replace": "Remplacer",
"editor.find.replaceAll": "Tout",
"editor.toolbar.rawReturn": "Retourner à l'éditeur",
"editor.toolbar.rawOpen": "Ouvrir l'éditeur Raw",
"editor.toolbar.centerLayout": "Passer à la mise en page centrée de la note",
"editor.toolbar.leftLayout": "Passer à mise en page de la note en alignement à gauche",
"editor.toolbar.removeFavorite": "Supprimer des favoris",
"editor.toolbar.addFavorite": "Ajouter aux favoris",
"editor.toolbar.markUnorganized": "Définir la note comme non organisée",
"editor.toolbar.markOrganized": "Définir la note comme organisée",
"editor.toolbar.noDiff": "Aucun diff n'est disponible pour le moment",
"editor.toolbar.loadingDiff": "Chargement du diff",
"editor.toolbar.showDiff": "Afficher le diff actuel",
"editor.toolbar.openAi": "Ouvrir le panneau d'IA",
"editor.toolbar.closeAi": "Fermer le panneau d'IA",
"editor.toolbar.restoreArchived": "Restaurer cette note archivée",
"editor.toolbar.archive": "Archiver cette note",
"editor.toolbar.delete": "Supprimer cette note",
"editor.toolbar.revealFile": "Afficher dans le Finder",
"editor.toolbar.copyFilePath": "Copier le chemin du fichier",
"editor.toolbar.openProperties": "Ouvrir le panneau des propriétés",
"editor.filename.rename": "Renommer le fichier",
"editor.filename.renameToTitle": "Renommer le fichier pour qu'il corresponde au titre",
"editor.filename.trigger": "Nom de fichier {filename}. Appuyez sur Entrée pour le renommer",
"editor.banner.archived": "Archivé",
"editor.banner.unarchive": "Désarchiver",
"editor.banner.conflict": "Cette note présente un conflit de fusion",
"editor.banner.keepMine": "Conserver la mienne",
"editor.banner.keepMineTooltip": "Conserver ma version locale",
"editor.banner.keepTheirs": "Conserver la leur",
"editor.banner.keepTheirsTooltip": "Conserver la version distante",
"inspector.title.properties": "Propriétés",
"inspector.title.propertiesShortcut": "Propriétés (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Fermer les propriétés (⌘⇧I)",
"inspector.empty.noNoteSelected": "Aucune note sélectionnée",
"inspector.empty.noProperties": "Cette note n'a pas encore de propriétés",
"inspector.empty.initializeProperties": "Initialiser les propriétés",
"inspector.empty.invalidProperties": "Propriétés non valides",
"inspector.empty.fixInEditor": "Corriger dans l'éditeur",
"inspector.properties.addProperty": "Ajouter une propriété",
"inspector.properties.deleteProperty": "Supprimer la propriété",
"inspector.properties.none": "Aucun",
"inspector.properties.missingType": "Type manquant",
"inspector.properties.missingTypeAria": "Type {type} manquant. Cliquez pour créer ce type.",
"inspector.properties.searchTypes": "Rechercher des types…",
"inspector.properties.noMatchingTypes": "Aucun type correspondant",
"inspector.properties.yes": "Oui",
"inspector.properties.no": "Non",
"inspector.properties.pickDate": "Choisir une date…",
"inspector.properties.valuePlaceholder": "Valeur",
"inspector.properties.propertyName": "Nom de la propriété",
"inspector.relationship.add": "Ajouter",
"inspector.relationship.addRelationship": "+ Ajouter une relation",
"inspector.relationship.name": "Nom de la relation",
"inspector.relationship.noteTitle": "Titre de la note",
"inspector.relationship.createAndOpen": "Créer et ouvrir",
"inspector.info.title": "Informations",
"inspector.info.modified": "Modifiée",
"inspector.info.created": "Créée",
"inspector.info.words": "Mots",
"inspector.info.size": "Taille",
"update.available": "est disponible",
"update.releaseNotes": "Notes de version",
"update.updateNow": "Mettre à jour maintenant",
"update.dismiss": "Ignorer",
"update.downloading": "Téléchargement de Tolaria {version} en cours…",
"update.readyRestart": "est prête  redémarrez pour appliquer la mise à jour",
"update.restartNow": "Redémarrer maintenant",
"status.update.check": "Rechercher les mises à jour",
"status.zoom.reset": "Réinitialiser le niveau de zoom",
"status.feedback.contribute": "Contribuer à Tolaria",
"status.feedback.label": "Contribuer",
"status.theme.light": "Passer en mode clair",
"status.theme.dark": "Passer en mode sombre",
"status.settings.open": "Ouvrir les paramètres",
"status.build.unknown": "b ?",
"status.vault.switch": "Changer de coffre",
"status.vault.default": "Coffre-fort",
"status.vault.createEmpty": "Créer un coffre-fort vide",
"status.vault.openLocal": "Ouvrir le dossier local",
"status.vault.cloneGit": "Cloner le dépôt Git",
"status.vault.cloneGettingStarted": "Cloner le coffre-fort « Premiers pas »",
"status.vault.notFound": "Coffre-fort introuvable : {path}",
"status.vault.remove": "Supprimer {label} de la liste",
"status.remote.noneConfigured": "Aucun serveur distant configuré",
"status.remote.inSync": "Synchronisé avec le dépôt distant",
"status.remote.aheadTitle": "{count} commit{plural} en avance sur le dépôt distant",
"status.remote.behindTitle": "{count} commit{plural} de retard sur le dépôt distant",
"status.remote.ahead": "{count} en avance",
"status.remote.behind": "{count} en retard",
"status.remote.add": "Ajouter un dépôt distant à ce coffre-fort",
"status.remote.none": "Aucun dépôt distant",
"status.remote.noneDescription": "Aucun dépôt distant n'est configuré pour ce coffre-fort Git. Les commits restent locaux jusqu'à ce que vous en ajoutiez un.",
"status.sync.syncing": "Synchronisation en cours…",
"status.sync.conflict": "Conflit",
"status.sync.failed": "Échec de la synchronisation",
"status.sync.pullRequired": "Pull requis",
"status.sync.notSynced": "Non synchronisé",
"status.sync.justNow": "Synchronisé à l'instant",
"status.sync.minutesAgo": "Synchronisé il y a {minutes} min",
"status.sync.resolveConflicts": "Résoudre les conflits de fusion",
"status.sync.inProgress": "Synchronisation en cours",
"status.sync.pullAndPush": "Effectuer un pull depuis le dépôt distant et un push",
"status.sync.retry": "Réessayer la synchronisation",
"status.sync.now": "Synchroniser maintenant",
"status.sync.synced": "Synchronisé",
"status.sync.conflicts": "Conflits",
"status.sync.error": "Erreur",
"status.sync.status": "Statut : {status}",
"status.sync.pull": "Extraire",
"status.conflict.count": "{count} conflit{plural}",
"status.offline.title": "Pas de connexion Internet",
"status.offline.label": "Hors ligne",
"status.changes.view": "Afficher les modifications en attente",
"status.changes.label": "Modifications",
"status.commit.local": "Valider les modifications localement",
"status.commit.push": "Valider et pousser les modifications",
"status.commit.label": "Valider",
"status.commit.openOnGitHub": "Ouvrir le commit {hash} sur GitHub",
"status.git.disabledTooltip": "Git est désactivé pour ce coffre-fort. Initialisez Git pour activer l'historique, la synchronisation, les validations et les vues des modifications.",
"status.git.disabled": "Git désactivé",
"status.history.onlyGit": "L'historique n'est disponible que pour les coffres-forts compatibles Git",
"status.history.open": "Ouvrir l'historique des modifications",
"status.history.label": "Historique",
"status.mcp.notConnected": "Outils d'IA externes non connectés  cliquez pour les configurer",
"status.mcp.unknown": "Statut MCP inconnu",
"status.claude.missing": "Claude Code manquant",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code introuvable  cliquez pour l'installer",
"status.ai.noAgents": "Aucun agent d'IA détecté",
"status.ai.noAgentsTooltip": "Aucun agent d'IA détecté  cliquez pour afficher les détails de la configuration",
"status.ai.selectedMissing": "{agent} est sélectionné mais n'est pas installé — cliquez pour afficher les détails de la configuration",
"status.ai.defaultAgent": "Agent d'IA par défaut : {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — cliquez pour afficher les détails de la restauration",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Agent d'IA actif : {agent}",
"status.ai.unavailable": "Agent d'IA sélectionné indisponible : {agent}",
"status.ai.install": "Installer",
"status.ai.installAgent": "Installer {agent}",
"status.ai.vaultGuidance": "Conseils relatifs au coffre-fort",
"status.ai.restoreGuidance": "Restaurer Tolaria AI Guidance",
"status.ai.openOptions": "Ouvrir les options de l'agent d'IA",
"pulse.title": "Historique",
"pulse.today": "Aujourd'hui",
"pulse.yesterday": "Hier",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "validations",
"pulse.openOnGitHub": "Ouvrir sur GitHub",
"pulse.expandFiles": "Développer les fichiers",
"pulse.collapseFiles": "Réduire les fichiers",
"pulse.noActivity": "Aucune activité pour le moment",
"pulse.emptyDescription": "Validez les modifications pour afficher l'historique de votre coffre-fort",
"pulse.retry": "Réessayer",
"pulse.loadingActivity": "Chargement de l'activité…",
"pulse.loading": "Chargement en cours…",
"pulse.loadError": "Échec du chargement de l'activité",
"command.switchLanguage": "Changer de langue : {language}",
"locale.itIT": "Italien",
"locale.frFR": "Français",
"locale.deDE": "Allemand",
"locale.ruRU": "Russe",
"locale.esES": "Espagnol (Espagne)",
"locale.ptBR": "Portugais (Brésil)",
"locale.ptPT": "Portugais (Portugal)",
"locale.es419": "Espagnol (Amérique latine)",
"locale.zhCN": "Chinois simplifié",
"locale.jaJP": "Japonais",
"locale.koKR": "Coréen"
}

405
src/lib/locales/it-IT.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "Nessun comando corrispondente",
"command.palettePlaceholder": "Digita un comando...",
"command.footerNavigate": "↑↓ naviga",
"command.footerSelect": "↵ seleziona",
"command.footerClose": "esc chiudi",
"command.footerSend": "↵ invia",
"command.aiMode": "Modalità {agent}",
"command.openSettings": "Apri le impostazioni",
"command.openSettings.keywords": "preferences config",
"command.openLanguageSettings": "Apri le impostazioni della lingua",
"command.openLanguageSettings.keywords": "lingua locale i18n internazionalizzazione localizzazione inglese italiano francese tedesco russo spagnolo portoghese cinese giapponese coreano 中文",
"command.useSystemLanguage": "Usa la lingua di sistema",
"command.openH1Setting": "Apri l'impostazione di rinomina automatica H1",
"command.contribute": "Contribuisci",
"command.checkUpdates": "Verifica disponibilità aggiornamenti",
"command.group.navigation": "Navigazione",
"command.group.note": "Nota",
"command.group.git": "Git",
"command.group.view": "Visualizza",
"command.group.settings": "Impostazioni",
"command.navigation.searchNotes": "Cerca note",
"command.navigation.goAllNotes": "Vai a Tutte le note",
"command.navigation.goArchived": "Vai ad Archiviate",
"command.navigation.goChanges": "Vai a Modifiche",
"command.navigation.goHistory": "Vai a Cronologia",
"command.navigation.goBack": "Torna indietro",
"command.navigation.goForward": "Vai avanti",
"command.navigation.goInbox": "Vai alla Posta in arrivo",
"command.navigation.renameFolder": "Rinomina cartella",
"command.navigation.deleteFolder": "Elimina cartella",
"command.navigation.showOpenNotes": "Mostra note aperte",
"command.navigation.showArchivedNotes": "Mostra note archiviate",
"command.navigation.listType": "Elenco {type}",
"command.note.newNote": "Nuova nota",
"command.note.newType": "Nuovo tipo",
"command.note.newTypedNote": "Nuovo {type}",
"command.note.saveNote": "Salva nota",
"command.note.findInNote": "Trova nella nota",
"command.note.replaceInNote": "Sostituisci nella nota",
"command.note.deleteNote": "Elimina nota",
"command.note.archiveNote": "Archivia nota",
"command.note.unarchiveNote": "Annulla archiviazione nota",
"command.note.addFavorite": "Aggiungi ai preferiti",
"command.note.removeFavorite": "Rimuovi dai Preferiti",
"command.note.markOrganized": "Contrassegna come organizzata",
"command.note.markUnorganized": "Contrassegna come Non organizzata",
"command.note.restoreDeleted": "Ripristina nota eliminata",
"command.note.setIcon": "Imposta icona nota",
"command.note.removeIcon": "Rimuovi icona nota",
"command.note.changeType": "Modifica tipo di nota…",
"command.note.moveToFolder": "Sposta nota nella cartella…",
"command.note.openNewWindow": "Apri in una nuova finestra",
"command.git.initialize": "Inizializza Git per il vault corrente",
"command.git.commitPush": "Commit e push",
"command.git.addRemote": "Aggiungi repository remoto al vault corrente",
"command.git.pull": "Esegui il pull dal repository remoto",
"command.git.resolveConflicts": "Risolvi conflitti",
"command.git.viewChanges": "Visualizza modifiche in sospeso",
"command.view.editorOnly": "Solo editor",
"command.view.editorNoteList": "Editor + Elenco note",
"command.view.fullLayout": "Layout completo",
"command.view.toggleProperties": "Attiva/disattiva pannello Proprietà",
"command.view.toggleDiff": "Attiva/disattiva modalità Diff",
"command.view.toggleRaw": "Attiva/disattiva editor RAW",
"command.view.leftLayout": "Usa layout delle note allineato a sinistra",
"command.view.centerLayout": "Usa layout delle note centrato",
"command.view.toggleAiPanel": "Attiva/disattiva pannello IA",
"command.view.newAiChat": "Nuova chat con l'IA",
"command.view.toggleBacklinks": "Attiva/disattiva backlink",
"command.view.zoomIn": "Ingrandisci ({zoom}%)",
"command.view.zoomOut": "Riduci ({zoom}%)",
"command.view.resetZoom": "Ripristina zoom",
"command.settings.createEmptyVault": "Crea vault vuoto…",
"command.settings.openVault": "Apri vault…",
"command.settings.removeVault": "Rimuovi vault dall'elenco",
"command.settings.restoreGettingStarted": "Ripristina il vault Getting Started",
"command.settings.manageExternalAi": "Gestisci strumenti di IA esterni…",
"command.settings.setupExternalAi": "Configura strumenti di IA esterni…",
"command.settings.reloadVault": "Ricarica Vault",
"command.settings.repairVault": "Ripara Vault",
"command.ai.openAgents": "Apri agenti IA",
"command.ai.restoreGuidance": "Ripristina la guida IA di Tolaria",
"command.ai.switchToAgent": "Passa ad agente IA {agent}",
"command.ai.switchDefault": "Cambia agente IA predefinito",
"command.ai.switchDefaultWithAgent": "Cambia agente IA predefinito ({agent})",
"settings.title": "Impostazioni",
"settings.close": "Chiudi le impostazioni",
"settings.sync.title": "Sincronizzazione e aggiornamenti",
"settings.sync.description": "Configura il pulling in background e scegli quale feed di aggiornamenti deve seguire Tolaria. Stable riceve solo le release promosse manualmente, mentre Alpha segue ogni push su main.",
"settings.pullInterval": "Intervallo di pull (minuti)",
"settings.releaseChannel": "Canale di rilascio",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Aspetto",
"settings.appearance.description": "Scegli la modalità colore dell'app da utilizzare per Tolaria Chrome, le interfacce dell'editor, i menu e le finestre di dialogo.",
"settings.theme.label": "Tema",
"settings.theme.light": "Chiaro",
"settings.theme.dark": "Scuro",
"settings.language.title": "Lingua",
"settings.language.description": "Scegli la lingua di visualizzazione per Tolaria chrome. Il sistema segue le impostazioni di macOS quando la lingua in questione è supportata; in caso contrario, viene utilizzata l'inglese come lingua predefinita.",
"settings.language.label": "Lingua di visualizzazione",
"settings.language.system": "Sistema ({language})",
"settings.language.summary": "In caso di traduzioni mancanti, viene utilizzato l'inglese come lingua predefinita, in modo che le localizzazioni parzialmente tradotte rimangano utilizzabili.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Crea automaticamente checkpoint Git conservativi dopo le pause di modifica o quando l'app non è più attiva.",
"settings.autogit.description.disabled": "AutoGit non è disponibile finché il vault corrente non è abilitato per Git. Innanzitutto, inizializza Git per questo vault.",
"settings.autogit.enable": "Abilita AutoGit",
"settings.autogit.enableDescription": "Se abilitato, Tolaria eseguirà automaticamente il commit e il push delle modifiche locali salvate dopo una pausa di inattività o quando l'app diventa inattiva.",
"settings.autogit.idleThreshold": "Soglia di inattività (secondi)",
"settings.autogit.inactiveThreshold": "Periodo di tolleranza per app inattiva (secondi)",
"settings.titles.title": "Titoli e nomi di file",
"settings.titles.description": "Scegli se desideri che Tolaria sincronizzi automaticamente i nomi dei file delle note senza titolo in base al primo titolo H1.",
"settings.titles.autoRename": "Rinomina automaticamente le note senza titolo in base al primo titolo H1",
"settings.titles.autoRenameDescription": "Se questa opzione è abilitata, Tolaria rinomina i file delle note senza titolo non appena il primo H1 diventa un titolo effettivo. Disattiva questa opzione per mantenere invariato il nome del file finché non lo rinomini manualmente dalla barra di navigazione.",
"settings.aiAgents.title": "Agenti IA",
"settings.aiAgents.description": "Scegli quale agente IA CLI deve utilizzare Tolaria nel pannello IA e nella palette dei comandi.",
"settings.aiAgents.default": "Agente IA predefinito",
"settings.aiAgents.installed": "installato",
"settings.aiAgents.missing": "mancante",
"settings.aiAgents.ready": "{agent}{version} è pronto per l'uso.",
"settings.aiAgents.notInstalled": "{agent} non è ancora installato. Puoi comunque selezionarlo ora e installarlo in seguito.",
"settings.workflow.title": "Flusso di lavoro",
"settings.workflow.description": "Scegli se Tolaria deve mostrare il flusso di lavoro della Posta in arrivo e come si sposta tra gli elementi mentre li smisti.",
"settings.workflow.explicit": "Organizza le note in modo esplicito",
"settings.workflow.explicitDescription": "Quando questa opzione è attivata, una sezione della Posta in arrivo mostra le note non organizzate e un pulsante ti consente di contrassegnare le note come organizzate.",
"settings.workflow.autoAdvance": "Passa automaticamente all'elemento successivo della Posta in arrivo",
"settings.workflow.autoAdvanceDescription": "Se questa opzione è abilitata, quando si contrassegna una nota dell'Inbox come organizzata, si apre immediatamente la nota successiva visibile nell'Inbox.",
"settings.privacy.title": "Privacy e telemetria",
"settings.privacy.description": "I dati anonimi ci aiutano a correggere i bug e a migliorare Tolaria. Non vengono mai inviati contenuti del vault, titoli di note o percorsi di file.",
"settings.privacy.crashReporting": "Segnalazione di arresti anomali",
"settings.privacy.crashReportingDescription": "Invia segnalazioni di errori in forma anonima",
"settings.privacy.analytics": "Analisi dell'utilizzo",
"settings.privacy.analyticsDescription": "Condividi modelli di utilizzo in forma anonima",
"settings.footerShortcut": "⌘, per aprire le impostazioni",
"settings.cancel": "Annulla",
"settings.save": "Salva",
"common.cancel": "Annulla",
"locale.en": "Inglese",
"sidebar.nav.inbox": "Posta in arrivo",
"sidebar.nav.allNotes": "Tutte le note",
"sidebar.nav.archive": "Archivia",
"sidebar.group.favorites": "PREFERITI",
"sidebar.group.views": "VISUALIZZAZIONI",
"sidebar.group.types": "TIPI",
"sidebar.group.folders": "CARTELLE",
"sidebar.action.createView": "Crea vista",
"sidebar.action.editView": "Modifica vista",
"sidebar.action.deleteView": "Elimina vista",
"sidebar.action.customizeSections": "Personalizza sezioni",
"sidebar.action.renameSection": "Rinomina sezione…",
"sidebar.action.customizeIconColor": "Personalizza icona e colore…",
"sidebar.action.createType": "Crea nuovo tipo",
"sidebar.action.collapse": "Comprimi la barra laterale",
"sidebar.action.expand": "Espandi la barra laterale",
"sidebar.action.createFolder": "Crea cartella",
"sidebar.action.renameFolder": "Rinomina cartella",
"sidebar.action.deleteFolder": "Elimina cartella",
"sidebar.action.revealFolderMenu": "Mostra in Finder",
"sidebar.action.copyFolderPathMenu": "Copia percorso della cartella",
"sidebar.action.renameFolderMenu": "Rinomina cartella...",
"sidebar.action.deleteFolderMenu": "Elimina cartella...",
"sidebar.folder.name": "Nome della cartella",
"sidebar.folder.newName": "Nuovo nome della cartella",
"sidebar.folder.expand": "Espandi {name}",
"sidebar.folder.collapse": "Comprimi {name}",
"sidebar.section.name": "Nome della sezione",
"sidebar.section.showInSidebar": "Mostra nella barra laterale",
"sidebar.section.toggle": "Attiva/disattiva {label}",
"sidebar.disabled.comingSoon": "In arrivo",
"noteList.title.archive": "Archivia",
"noteList.title.changes": "Modifiche",
"noteList.title.inbox": "Posta in arrivo",
"noteList.title.history": "Cronologia",
"noteList.title.view": "Visualizza",
"noteList.title.notes": "Note",
"noteList.searchPlaceholder": "Cerca note...",
"noteList.searchAction": "Cerca note",
"noteList.createNote": "Crea nuova nota",
"noteList.empty.changesError": "Caricamento delle modifiche non riuscito: {error}",
"noteList.empty.noChanges": "Nessuna modifica in sospeso",
"noteList.empty.noArchived": "Nessuna nota archiviata",
"noteList.empty.noMatching": "Nessuna nota corrispondente",
"noteList.empty.allOrganized": "Tutte le note sono organizzate",
"noteList.empty.noNotes": "Nessuna nota trovata",
"noteList.empty.noMatchingItems": "Nessun elemento corrispondente",
"noteList.empty.noRelatedItems": "Nessun elemento correlato",
"noteList.sort.modified": "Modificato",
"noteList.sort.created": "Creato",
"noteList.sort.title": "Titolo",
"noteList.sort.status": "Stato",
"noteList.sort.by": "Ordina per {label}",
"noteList.sort.menu": "Ordina per {label}",
"noteList.sort.ascending": "Crescente",
"noteList.sort.descending": "Decrescente",
"noteList.filter.open": "Aperto",
"noteList.filter.archived": "Archiviato",
"noteList.filter.week": "Settimana",
"noteList.filter.month": "Mese",
"noteList.filter.all": "Tutti",
"noteList.properties.customizeColumns": "Personalizza le colonne",
"noteList.properties.customizeAllColumns": "Personalizza tutte le colonne di Note",
"noteList.properties.customizeInboxColumns": "Personalizza le colonne della Posta in arrivo",
"noteList.properties.customizeViewColumns": "Personalizza le colonne di {name}",
"noteList.properties.showInNoteList": "Mostra nell'elenco delle note",
"noteList.properties.searchPlaceholder": "Cerca proprietà...",
"noteList.properties.searchLabel": "Cerca proprietà dell'elenco note",
"noteList.properties.noMatches": "Nessuna proprietà corrisponde a questa ricerca.",
"noteList.properties.reorder": "Riordina {name}",
"noteList.changes.restoreNote": "Ripristina nota",
"noteList.changes.discardChanges": "Ignora le modifiche",
"noteList.changes.restoreDescription": "Ripristinare {file} da Git?",
"noteList.changes.discardDescription": "Vuoi ignorare le modifiche a {file}? Questa operazione non può essere annullata.",
"noteList.changes.thisFile": "questo file",
"noteList.changes.restore": "Ripristina",
"noteList.changes.discard": "Ignora",
"noteList.changes.cancel": "Annulla",
"editor.empty.selectNote": "Seleziona una nota per iniziare a modificarla",
"editor.empty.shortcuts": "{quickOpen} per cercare · {newNote} per creare",
"editor.raw.label": "Editor Raw",
"editor.find.findLabel": "Trova",
"editor.find.findPlaceholder": "Trova",
"editor.find.replaceLabel": "Sostituisci",
"editor.find.replacePlaceholder": "Sostituisci",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "Nessuna corrispondenza",
"editor.find.invalidRegex": "Espressione regolare non valida",
"editor.find.regexMustMatchText": "La regex deve corrispondere al testo",
"editor.find.previousMatch": "Corrispondenza precedente",
"editor.find.nextMatch": "Corrispondenza successiva",
"editor.find.showReplace": "Mostra sostituzione",
"editor.find.hideReplace": "Nascondi sostituzione",
"editor.find.regex": "Usa espressione regolare",
"editor.find.matchCase": "Maiuscole/minuscole",
"editor.find.close": "Chiudi ricerca",
"editor.find.replace": "Sostituisci",
"editor.find.replaceAll": "Tutti",
"editor.toolbar.rawReturn": "Torna all'editor",
"editor.toolbar.rawOpen": "Apri l'editor raw",
"editor.toolbar.centerLayout": "Passa al layout della nota centrato",
"editor.toolbar.leftLayout": "Passa al layout della nota allineato a sinistra",
"editor.toolbar.removeFavorite": "Rimuovi dai preferiti",
"editor.toolbar.addFavorite": "Aggiungi ai preferiti",
"editor.toolbar.markUnorganized": "Imposta nota come non organizzata",
"editor.toolbar.markOrganized": "Imposta nota come organizzata",
"editor.toolbar.noDiff": "Nessuna diff ancora disponibile",
"editor.toolbar.loadingDiff": "Caricamento della diff in corso",
"editor.toolbar.showDiff": "Mostra il diff corrente",
"editor.toolbar.openAi": "Apri il pannello IA",
"editor.toolbar.closeAi": "Chiudi il pannello IA",
"editor.toolbar.restoreArchived": "Ripristina questa nota archiviata",
"editor.toolbar.archive": "Archivia questa nota",
"editor.toolbar.delete": "Elimina questa nota",
"editor.toolbar.revealFile": "Mostra nel Finder",
"editor.toolbar.copyFilePath": "Copia il percorso del file",
"editor.toolbar.openProperties": "Apri il pannello delle proprietà",
"editor.filename.rename": "Rinomina nome file",
"editor.filename.renameToTitle": "Rinomina il file in modo che corrisponda al titolo",
"editor.filename.trigger": "Nome file {filename}. Premi Invio per rinominarlo",
"editor.banner.archived": "Archiviato",
"editor.banner.unarchive": "Annulla archiviazione",
"editor.banner.conflict": "Questa nota presenta un conflitto di unione",
"editor.banner.keepMine": "Mantieni la mia",
"editor.banner.keepMineTooltip": "Mantieni la mia versione locale",
"editor.banner.keepTheirs": "Mantieni la loro",
"editor.banner.keepTheirsTooltip": "Mantieni la versione remota",
"inspector.title.properties": "Proprietà",
"inspector.title.propertiesShortcut": "Proprietà (⌘<>⇧I)",
"inspector.title.closePropertiesShortcut": "Chiudi Proprietà (⌘⇧I)",
"inspector.empty.noNoteSelected": "Nessuna nota selezionata",
"inspector.empty.noProperties": "Questa nota non ha ancora proprietà",
"inspector.empty.initializeProperties": "Inizializza proprietà",
"inspector.empty.invalidProperties": "Proprietà non valide",
"inspector.empty.fixInEditor": "Correggi nell'editor",
"inspector.properties.addProperty": "Aggiungi proprietà",
"inspector.properties.deleteProperty": "Elimina proprietà",
"inspector.properties.none": "Nessuna",
"inspector.properties.missingType": "Tipo mancante",
"inspector.properties.missingTypeAria": "Tipo {type} mancante. Fai clic per creare questo tipo.",
"inspector.properties.searchTypes": "Cerca tipi...",
"inspector.properties.noMatchingTypes": "Nessun tipo corrispondente",
"inspector.properties.yes": "Sì",
"inspector.properties.no": "No",
"inspector.properties.pickDate": "Scegli una data…",
"inspector.properties.valuePlaceholder": "Valore",
"inspector.properties.propertyName": "Nome della proprietà",
"inspector.relationship.add": "Aggiungi",
"inspector.relationship.addRelationship": "+ Aggiungi relazione",
"inspector.relationship.name": "Nome della relazione",
"inspector.relationship.noteTitle": "Titolo della nota",
"inspector.relationship.createAndOpen": "Crea e apri",
"inspector.info.title": "Informazioni",
"inspector.info.modified": "Modificato",
"inspector.info.created": "Creato",
"inspector.info.words": "Parole",
"inspector.info.size": "Dimensione",
"update.available": "è disponibile",
"update.releaseNotes": "Note sulla versione",
"update.updateNow": "Aggiorna ora",
"update.dismiss": "Ignora",
"update.downloading": "Download di Tolaria {version} in corso...",
"update.readyRestart": "è pronta - riavvia per applicare l'aggiornamento",
"update.restartNow": "Riavvia ora",
"status.update.check": "Verifica disponibilità aggiornamenti",
"status.zoom.reset": "Ripristina il livello di zoom",
"status.feedback.contribute": "Contribuisci a Tolaria",
"status.feedback.label": "Contribuisci",
"status.theme.light": "Passa alla modalità chiara",
"status.theme.dark": "Passa alla modalità scura",
"status.settings.open": "Apri le impostazioni",
"status.build.unknown": "b?",
"status.vault.switch": "Cambia vault",
"status.vault.default": "Vault",
"status.vault.createEmpty": "Crea vault vuoto",
"status.vault.openLocal": "Apri cartella locale",
"status.vault.cloneGit": "Clona repository Git",
"status.vault.cloneGettingStarted": "Clona il vault Getting Started",
"status.vault.notFound": "Vault non trovato: {path}",
"status.vault.remove": "Rimuovi {label} dall'elenco",
"status.remote.noneConfigured": "Nessun remoto configurato",
"status.remote.inSync": "Sincronizzato con il repository remoto",
"status.remote.aheadTitle": "{count} commit{plural} in anticipo rispetto al repository remoto",
"status.remote.behindTitle": "{count} commit{plural} in ritardo rispetto al repository remoto",
"status.remote.ahead": "{count} in anticipo",
"status.remote.behind": "{count} indietro",
"status.remote.add": "Aggiungi un repository remoto a questo vault",
"status.remote.none": "Nessun remote",
"status.remote.noneDescription": "Questo vault Git non ha alcun remote configurato. I commit rimangono locali finché non ne aggiungi uno.",
"status.sync.syncing": "Sincronizzazione in corso...",
"status.sync.conflict": "Conflitto",
"status.sync.failed": "Sincronizzazione non riuscita",
"status.sync.pullRequired": "Pull richiesto",
"status.sync.notSynced": "Non sincronizzato",
"status.sync.justNow": "Sincronizzato proprio ora",
"status.sync.minutesAgo": "Sincronizzato {minutes} min fa",
"status.sync.resolveConflicts": "Risolvi i conflitti di merge",
"status.sync.inProgress": "Sincronizzazione in corso",
"status.sync.pullAndPush": "Esegui il pull dal repository remoto e il push",
"status.sync.retry": "Riprova la sincronizzazione",
"status.sync.now": "Sincronizza ora",
"status.sync.synced": "Sincronizzato",
"status.sync.conflicts": "Conflitti",
"status.sync.error": "Errore",
"status.sync.status": "Stato: {status}",
"status.sync.pull": "Esegui pull",
"status.conflict.count": "{count} conflitto{plural}",
"status.offline.title": "Nessuna connessione a Internet",
"status.offline.label": "Offline",
"status.changes.view": "Visualizza modifiche in sospeso",
"status.changes.label": "Modifiche",
"status.commit.local": "Esegui il commit delle modifiche localmente",
"status.commit.push": "Esegui il commit e il push delle modifiche",
"status.commit.label": "Commit",
"status.commit.openOnGitHub": "Apri il commit {hash} su GitHub",
"status.git.disabledTooltip": "Git è disabilitato per questo vault. Inizializza Git per abilitare la cronologia, la sincronizzazione, i commit e le viste delle modifiche.",
"status.git.disabled": "Git disabilitato",
"status.history.onlyGit": "La cronologia è disponibile solo per i vault abilitati per Git",
"status.history.open": "Apri la cronologia delle modifiche",
"status.history.label": "Cronologia",
"status.mcp.notConnected": "Strumenti di IA esterni non connessi — clicca per configurarli",
"status.mcp.unknown": "Stato MCP sconosciuto",
"status.claude.missing": "Claude Code mancante",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code non trovato — clicca per installarlo",
"status.ai.noAgents": "Nessun agente IA rilevato",
"status.ai.noAgentsTooltip": "Nessun agente IA rilevato — clicca per i dettagli di configurazione",
"status.ai.selectedMissing": "{agent} è selezionato ma non installato — clicca per i dettagli di configurazione",
"status.ai.defaultAgent": "Agente IA predefinito: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — Clicca per i dettagli del ripristino",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Agente IA attivo: {agent}",
"status.ai.unavailable": "Agente IA selezionato non disponibile: {agent}",
"status.ai.install": "Installa",
"status.ai.installAgent": "Installa {agent}",
"status.ai.vaultGuidance": "Guida al vault",
"status.ai.restoreGuidance": "Ripristina la guida IA di Tolaria",
"status.ai.openOptions": "Apri le opzioni dell'agente IA",
"pulse.title": "Cronologia",
"pulse.today": "Oggi",
"pulse.yesterday": "Ieri",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "commit",
"pulse.openOnGitHub": "Apri su GitHub",
"pulse.expandFiles": "Espandi file",
"pulse.collapseFiles": "Comprimi file",
"pulse.noActivity": "Ancora nessuna attività",
"pulse.emptyDescription": "Esegui il commit delle modifiche per visualizzare la cronologia del tuo vault",
"pulse.retry": "Riprova",
"pulse.loadingActivity": "Caricamento attività in corso…",
"pulse.loading": "Caricamento in corso…",
"pulse.loadError": "Caricamento dell'attività non riuscito",
"command.switchLanguage": "Cambia lingua in {language}",
"locale.itIT": "Italiano",
"locale.frFR": "Francese",
"locale.deDE": "Tedesco",
"locale.ruRU": "Russo",
"locale.esES": "Español (España)",
"locale.ptBR": "Português (Brasil)",
"locale.ptPT": "Português (Portugal)",
"locale.es419": "Español (Latinoamérica)",
"locale.zhCN": "中文简体",
"locale.jaJP": "Japonais",
"locale.koKR": "Coreano"
}

405
src/lib/locales/ja-JP.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "一致するコマンドはありません",
"command.palettePlaceholder": "コマンドを入力…",
"command.footerNavigate": "↑↓ 移動",
"command.footerSelect": "↵ 選択",
"command.footerClose": "esc 閉じる",
"command.footerSend": "↵ 送信",
"command.aiMode": "{agent}モード",
"command.openSettings": "設定を開く",
"command.openSettings.keywords": "preferences config",
"command.openLanguageSettings": "言語設定を開く",
"command.openLanguageSettings.keywords": "言語 ロケール i18n 国際化 ローカリゼーション 英語 イタリア語 フランス語 ドイツ語 ロシア語 スペイン語 ポルトガル語 中国語 日本語 韓国語 中文",
"command.useSystemLanguage": "システム言語を使用",
"command.openH1Setting": "H1 自動名前変更設定を開く",
"command.contribute": "投稿する",
"command.checkUpdates": "更新の確認",
"command.group.navigation": "ナビゲーション",
"command.group.note": "メモ",
"command.group.git": "Git",
"command.group.view": "表示",
"command.group.settings": "設定",
"command.navigation.searchNotes": "ノートを検索",
"command.navigation.goAllNotes": "すべてのノートへ移動",
"command.navigation.goArchived": "アーカイブ済みへ移動",
"command.navigation.goChanges": "変更へ移動",
"command.navigation.goHistory": "履歴へ移動",
"command.navigation.goBack": "戻る",
"command.navigation.goForward": "先に進む",
"command.navigation.goInbox": "受信トレイへ移動",
"command.navigation.renameFolder": "フォルダー名を変更",
"command.navigation.deleteFolder": "フォルダーを削除",
"command.navigation.showOpenNotes": "未解決のノートを表示",
"command.navigation.showArchivedNotes": "アーカイブされたノートを表示",
"command.navigation.listType": "{type}のリスト",
"command.note.newNote": "新規ノート",
"command.note.newType": "新しいタイプ",
"command.note.newTypedNote": "新規{type}",
"command.note.saveNote": "メモを保存",
"command.note.findInNote": "ノート内で検索",
"command.note.replaceInNote": "ノート内で置き換える",
"command.note.deleteNote": "ノートを削除",
"command.note.archiveNote": "メモをアーカイブ",
"command.note.unarchiveNote": "ノートのアーカイブ解除",
"command.note.addFavorite": "お気に入りに追加",
"command.note.removeFavorite": "お気に入りから削除",
"command.note.markOrganized": "整理済みとしてマーク",
"command.note.markUnorganized": "未整理としてマーク",
"command.note.restoreDeleted": "削除したノートを復元",
"command.note.setIcon": "ノートのアイコンを設定",
"command.note.removeIcon": "ノートアイコンを削除",
"command.note.changeType": "ノートの種類を変更…",
"command.note.moveToFolder": "ノートをフォルダーに移動…",
"command.note.openNewWindow": "新しいウィンドウで開く",
"command.git.initialize": "現在のボールトでGitを初期化",
"command.git.commitPush": "コミット & プッシュ",
"command.git.addRemote": "現在のボールトにリモートを追加",
"command.git.pull": "リモートからプル",
"command.git.resolveConflicts": "競合を解決",
"command.git.viewChanges": "保留中の変更を表示",
"command.view.editorOnly": "エディターのみ",
"command.view.editorNoteList": "エディター + メモリスト",
"command.view.fullLayout": "フルレイアウト",
"command.view.toggleProperties": "プロパティパネルの切り替え",
"command.view.toggleDiff": "差分モードの切り替え",
"command.view.toggleRaw": "Rawエディターの切り替え",
"command.view.leftLayout": "左揃えのノートレイアウトを使用",
"command.view.centerLayout": "メモの中央揃えレイアウトを使用",
"command.view.toggleAiPanel": "AIパネルの切り替え",
"command.view.newAiChat": "新しいAIチャット",
"command.view.toggleBacklinks": "バックリンクの切り替え",
"command.view.zoomIn": "拡大({zoom}%",
"command.view.zoomOut": "ズームアウト({zoom}%",
"command.view.resetZoom": "ズームをリセット",
"command.settings.createEmptyVault": "空のボールトを作成…",
"command.settings.openVault": "Vault を開く…",
"command.settings.removeVault": "リストからボールトを削除",
"command.settings.restoreGettingStarted": "Getting Started Vaultを復元",
"command.settings.manageExternalAi": "外部AIツールの管理…",
"command.settings.setupExternalAi": "外部AIツールを設定…",
"command.settings.reloadVault": "Vault を再読み込み",
"command.settings.repairVault": "Vault を修復",
"command.ai.openAgents": "AIエージェントを開く",
"command.ai.restoreGuidance": "Tolaria AIガイダンスを復元",
"command.ai.switchToAgent": "AIエージェントを{agent}に切り替える",
"command.ai.switchDefault": "デフォルトのAIエージェントを切り替える",
"command.ai.switchDefaultWithAgent": "デフォルトのAIエージェント{agent})に切り替える",
"settings.title": "設定",
"settings.close": "設定を閉じる",
"settings.sync.title": "同期と更新",
"settings.sync.description": "バックグラウンドでのプルと、Tolariaがフォローする更新フィードを設定します。Stableは手動でプロモートされたリリースのみを受け取り、Alphaはmainへのすべてのプッシュをフォローします。",
"settings.pullInterval": "プル間隔(分)",
"settings.releaseChannel": "リリースチャネル",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "外観",
"settings.appearance.description": "Tolaria chrome、エディターのサーフェス、メニュー、およびダイアログに使用するアプリのカラーモードを選択します。",
"settings.theme.label": "テーマ",
"settings.theme.light": "ライト",
"settings.theme.dark": "ダーク",
"settings.language.title": "言語",
"settings.language.description": "Tolaria Chromeの表示言語を選択します。システムは、対応言語がサポートされている場合はmacOSに従い、サポートされていない場合は英語が使用されます。",
"settings.language.label": "表示言語",
"settings.language.system": "システム({language}",
"settings.language.summary": "翻訳が欠落している場合は英語にフォールバックするため、部分的に翻訳されたロケールも引き続き使用できます。",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "編集が一時停止した後、またはアプリがアクティブでなくなったときに、控えめなGitチェックポイントを自動的に作成します。",
"settings.autogit.description.disabled": "現在のボルトがGit対応になるまで、AutoGitは利用できません。まず、このボールトでGitを初期化してください。",
"settings.autogit.enable": "AutoGitを有効にする",
"settings.autogit.enableDescription": "有効にすると、Tolaria はアイドル状態になった後、またはアプリが非アクティブになった後に、保存されたローカル変更を自動的にコミットしてプッシュします。",
"settings.autogit.idleThreshold": "アイドルしきい値(秒)",
"settings.autogit.inactiveThreshold": "アプリ非アクティブ後の猶予期間(秒)",
"settings.titles.title": "タイトルとファイル名",
"settings.titles.description": "Tolaria が、タイトルのないノートのファイル名を最初の H1 タイトルに基づいて自動的に同期するかどうかを選択します。",
"settings.titles.autoRename": "タイトルのないートのファイル名を最初のH1から自動的に変更する",
"settings.titles.autoRenameDescription": "この設定を有効にすると、Tolariaは最初のH1が実際のタイトルになった時点で、タイトルのないートファイルの名前を変更します。この設定をオフにすると、ブレッドクラムバーから手動で名前を変更するまで、ファイル名は変更されません。",
"settings.aiAgents.title": "AIエージェント",
"settings.aiAgents.description": "TolariaがAIパネルとコマンドパレットで使用するCLI AIエージェントを選択します。",
"settings.aiAgents.default": "デフォルトのAIエージェント",
"settings.aiAgents.installed": "インストール済み",
"settings.aiAgents.missing": "未インストール",
"settings.aiAgents.ready": "{agent}{version}は使用可能です。",
"settings.aiAgents.notInstalled": "{agent} はまだインストールされていません。今選択して、後でインストールすることもできます。",
"settings.workflow.title": "ワークフロー",
"settings.workflow.description": "Tolariaが受信トレイのワークフローを表示するかどうか、およびあなたがアイテムをトリアージする際にTolariaがアイテム間を移動する方法を選択します。",
"settings.workflow.explicit": "ノートを明示的に整理する",
"settings.workflow.explicitDescription": "有効にすると、受信トレイセクションに整理されていないノートが表示され、トグルを使用してノートを整理済みとしてマークできます。",
"settings.workflow.autoAdvance": "受信トレイの次のアイテムへ自動的に進む",
"settings.workflow.autoAdvanceDescription": "この設定を有効にすると、受信トレイのノートを整理済みとしてマークすると、すぐに受信トレイに表示されている次のノートが開きます。",
"settings.privacy.title": "プライバシーとテレメトリ",
"settings.privacy.description": "匿名データは、バグの修正とTolariaの改善に役立ちます。Vaultのコンテンツ、ートのタイトル、ファイルパスは、決して送信されません。",
"settings.privacy.crashReporting": "クラッシュレポート",
"settings.privacy.crashReportingDescription": "匿名のエラーレポートを送信する",
"settings.privacy.analytics": "利用状況分析",
"settings.privacy.analyticsDescription": "匿名の使用パターンを共有する",
"settings.footerShortcut": "⌘、設定を開く",
"settings.cancel": "キャンセル",
"settings.save": "保存",
"common.cancel": "キャンセル",
"locale.en": "英語",
"sidebar.nav.inbox": "受信トレイ",
"sidebar.nav.allNotes": "すべてのノート",
"sidebar.nav.archive": "アーカイブ",
"sidebar.group.favorites": "お気に入り",
"sidebar.group.views": "閲覧数",
"sidebar.group.types": "タイプ",
"sidebar.group.folders": "フォルダー",
"sidebar.action.createView": "ビューを作成",
"sidebar.action.editView": "ビューを編集",
"sidebar.action.deleteView": "ビューを削除",
"sidebar.action.customizeSections": "セクションをカスタマイズ",
"sidebar.action.renameSection": "セクション名を変更…",
"sidebar.action.customizeIconColor": "アイコンと色をカスタマイズ…",
"sidebar.action.createType": "新しいタイプを作成",
"sidebar.action.collapse": "サイドバーを折りたたむ",
"sidebar.action.expand": "サイドバーを展開",
"sidebar.action.createFolder": "フォルダーを作成",
"sidebar.action.renameFolder": "フォルダー名を変更",
"sidebar.action.deleteFolder": "フォルダーを削除",
"sidebar.action.revealFolderMenu": "Finder で表示",
"sidebar.action.copyFolderPathMenu": "フォルダパスをコピー",
"sidebar.action.renameFolderMenu": "フォルダー名を変更...",
"sidebar.action.deleteFolderMenu": "フォルダーを削除...",
"sidebar.folder.name": "フォルダー名",
"sidebar.folder.newName": "新しいフォルダー名",
"sidebar.folder.expand": "{name} を展開",
"sidebar.folder.collapse": "{name}を折りたたむ",
"sidebar.section.name": "セクション名",
"sidebar.section.showInSidebar": "サイドバーに表示",
"sidebar.section.toggle": "{label}を切り替える",
"sidebar.disabled.comingSoon": "近日公開予定",
"noteList.title.archive": "アーカイブ",
"noteList.title.changes": "変更点",
"noteList.title.inbox": "受信トレイ",
"noteList.title.history": "履歴",
"noteList.title.view": "表示",
"noteList.title.notes": "ノート",
"noteList.searchPlaceholder": "ノートを検索…",
"noteList.searchAction": "メモを検索",
"noteList.createNote": "新しいノートを作成",
"noteList.empty.changesError": "変更の読み込みに失敗しました:{error}",
"noteList.empty.noChanges": "保留中の変更はありません",
"noteList.empty.noArchived": "アーカイブされたノートはありません",
"noteList.empty.noMatching": "一致するノートはありません",
"noteList.empty.allOrganized": "すべてのノートが整理されています",
"noteList.empty.noNotes": "ノートが見つかりません",
"noteList.empty.noMatchingItems": "一致するアイテムはありません",
"noteList.empty.noRelatedItems": "関連するアイテムはありません",
"noteList.sort.modified": "更新日時",
"noteList.sort.created": "作成日時",
"noteList.sort.title": "タイトル",
"noteList.sort.status": "ステータス",
"noteList.sort.by": "{label}で並べ替え",
"noteList.sort.menu": "{label}で並べ替え",
"noteList.sort.ascending": "昇順",
"noteList.sort.descending": "降順",
"noteList.filter.open": "未解決",
"noteList.filter.archived": "アーカイブ済み",
"noteList.filter.week": "週",
"noteList.filter.month": "月",
"noteList.filter.all": "すべて",
"noteList.properties.customizeColumns": "列をカスタマイズ",
"noteList.properties.customizeAllColumns": "すべてのノートの列をカスタマイズ",
"noteList.properties.customizeInboxColumns": "受信トレイの列をカスタマイズ",
"noteList.properties.customizeViewColumns": "{name} の列をカスタマイズ",
"noteList.properties.showInNoteList": "ノートリストに表示",
"noteList.properties.searchPlaceholder": "プロパティを検索...",
"noteList.properties.searchLabel": "ノートリストのプロパティを検索",
"noteList.properties.noMatches": "この検索に一致するプロパティはありません。",
"noteList.properties.reorder": "{name}を並べ替える",
"noteList.changes.restoreNote": "ノートを復元",
"noteList.changes.discardChanges": "変更を破棄",
"noteList.changes.restoreDescription": "{file}をGitから復元しますか",
"noteList.changes.discardDescription": "{file}への変更を破棄しますか?この操作は取り消せません。",
"noteList.changes.thisFile": "このファイル",
"noteList.changes.restore": "復元",
"noteList.changes.discard": "破棄",
"noteList.changes.cancel": "キャンセル",
"editor.empty.selectNote": "ノートを選択して編集を開始",
"editor.empty.shortcuts": "{quickOpen} で検索 · {newNote} で作成",
"editor.raw.label": "Raw エディター",
"editor.find.findLabel": "検索",
"editor.find.findPlaceholder": "検索",
"editor.find.replaceLabel": "置き換え",
"editor.find.replacePlaceholder": "置き換え",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "一致する項目はありません",
"editor.find.invalidRegex": "無効な正規表現",
"editor.find.regexMustMatchText": "正規表現はテキストと一致する必要があります",
"editor.find.previousMatch": "前の一致",
"editor.find.nextMatch": "次の一致",
"editor.find.showReplace": "置換を表示",
"editor.find.hideReplace": "置換を非表示",
"editor.find.regex": "正規表現を使用",
"editor.find.matchCase": "大文字と小文字を区別",
"editor.find.close": "検索を閉じる",
"editor.find.replace": "置換",
"editor.find.replaceAll": "すべて",
"editor.toolbar.rawReturn": "エディターに戻る",
"editor.toolbar.rawOpen": "RAWエディターを開く",
"editor.toolbar.centerLayout": "ノートの中央揃えレイアウトに切り替える",
"editor.toolbar.leftLayout": "左揃えのノートレイアウトに切り替える",
"editor.toolbar.removeFavorite": "お気に入りから削除",
"editor.toolbar.addFavorite": "お気に入りに追加",
"editor.toolbar.markUnorganized": "ノートを「未整理」に設定",
"editor.toolbar.markOrganized": "ノートを整理済みとして設定",
"editor.toolbar.noDiff": "まだ差分は利用できません",
"editor.toolbar.loadingDiff": "差分を読み込み中",
"editor.toolbar.showDiff": "現在の差分を表示",
"editor.toolbar.openAi": "AIパネルを開く",
"editor.toolbar.closeAi": "AIパネルを閉じる",
"editor.toolbar.restoreArchived": "このアーカイブされたノートを復元する",
"editor.toolbar.archive": "このノートをアーカイブする",
"editor.toolbar.delete": "このノートを削除",
"editor.toolbar.revealFile": "Finderで表示",
"editor.toolbar.copyFilePath": "ファイルパスをコピー",
"editor.toolbar.openProperties": "プロパティパネルを開く",
"editor.filename.rename": "ファイル名を変更",
"editor.filename.renameToTitle": "タイトルと一致するようにファイル名を変更する",
"editor.filename.trigger": "ファイル名:{filename}。名前を変更するにはEnterキーを押してください。",
"editor.banner.archived": "アーカイブ済み",
"editor.banner.unarchive": "アーカイブから復元",
"editor.banner.conflict": "このノートにはマージの競合があります",
"editor.banner.keepMine": "自分のものを保持",
"editor.banner.keepMineTooltip": "自分のローカルバージョンを保持する",
"editor.banner.keepTheirs": "相手のものを保持",
"editor.banner.keepTheirsTooltip": "リモートバージョンを保持",
"inspector.title.properties": "プロパティ",
"inspector.title.propertiesShortcut": "プロパティ⌘⇧I",
"inspector.title.closePropertiesShortcut": "プロパティを閉じる⌘⇧I",
"inspector.empty.noNoteSelected": "ノートが選択されていません",
"inspector.empty.noProperties": "このノートにはまだプロパティがありません",
"inspector.empty.initializeProperties": "プロパティを初期化",
"inspector.empty.invalidProperties": "無効なプロパティ",
"inspector.empty.fixInEditor": "エディターで修正",
"inspector.properties.addProperty": "プロパティを追加",
"inspector.properties.deleteProperty": "プロパティを削除",
"inspector.properties.none": "なし",
"inspector.properties.missingType": "タイプがありません",
"inspector.properties.missingTypeAria": "タイプ {type} がありません。クリックしてこのタイプを作成してください。",
"inspector.properties.searchTypes": "タイプを検索...",
"inspector.properties.noMatchingTypes": "一致するタイプはありません",
"inspector.properties.yes": "はい",
"inspector.properties.no": "いいえ",
"inspector.properties.pickDate": "日付を選択…",
"inspector.properties.valuePlaceholder": "値",
"inspector.properties.propertyName": "プロパティ名",
"inspector.relationship.add": "追加",
"inspector.relationship.addRelationship": "+ 関係を追加",
"inspector.relationship.name": "関係名",
"inspector.relationship.noteTitle": "ノートのタイトル",
"inspector.relationship.createAndOpen": "作成して開く",
"inspector.info.title": "情報",
"inspector.info.modified": "更新日時",
"inspector.info.created": "作成日時",
"inspector.info.words": "単語数",
"inspector.info.size": "サイズ",
"update.available": "利用可能",
"update.releaseNotes": "リリースノート",
"update.updateNow": "今すぐ更新",
"update.dismiss": "却下",
"update.downloading": "Tolaria {version} をダウンロード中...",
"update.readyRestart": "準備完了 - 適用するには再起動してください",
"update.restartNow": "今すぐ再起動",
"status.update.check": "更新を確認",
"status.zoom.reset": "ズームレベルをリセット",
"status.feedback.contribute": "Tolaria に貢献する",
"status.feedback.label": "貢献する",
"status.theme.light": "ライトモードに切り替える",
"status.theme.dark": "ダークモードに切り替える",
"status.settings.open": "設定を開く",
"status.build.unknown": "b?",
"status.vault.switch": "Vault を切り替える",
"status.vault.default": "Vault",
"status.vault.createEmpty": "空の Vault を作成",
"status.vault.openLocal": "ローカルフォルダーを開く",
"status.vault.cloneGit": "Gitリポジトリをクローンする",
"status.vault.cloneGettingStarted": "Getting Started Vault をクローンする",
"status.vault.notFound": "ボールトが見つかりません:{path}",
"status.vault.remove": "{label}をリストから削除",
"status.remote.noneConfigured": "リモートが設定されていません",
"status.remote.inSync": "リモートと同期済み",
"status.remote.aheadTitle": "リモートより{count}件先行するコミット{plural}",
"status.remote.behindTitle": "リモートより{count}件遅れのコミット{plural}",
"status.remote.ahead": "{count} 件先行",
"status.remote.behind": "{count} 件遅れ",
"status.remote.add": "この Vault にリモートを追加",
"status.remote.none": "リモートなし",
"status.remote.noneDescription": "この Git Vault にはリモートが設定されていません。リモートを追加するまで、コミットはローカルに保持されます。",
"status.sync.syncing": "同期中…",
"status.sync.conflict": "競合",
"status.sync.failed": "同期に失敗しました",
"status.sync.pullRequired": "プルが必要",
"status.sync.notSynced": "同期されていません",
"status.sync.justNow": "たった今同期されました",
"status.sync.minutesAgo": "{minutes}分前に同期済み",
"status.sync.resolveConflicts": "マージの競合を解決する",
"status.sync.inProgress": "同期中",
"status.sync.pullAndPush": "リモートからプルしてプッシュ",
"status.sync.retry": "同期を再試行",
"status.sync.now": "今すぐ同期",
"status.sync.synced": "同期済み",
"status.sync.conflicts": "競合",
"status.sync.error": "エラー",
"status.sync.status": "ステータス:{status}",
"status.sync.pull": "プル",
"status.conflict.count": "{count}件の競合{plural}",
"status.offline.title": "インターネット接続なし",
"status.offline.label": "オフライン",
"status.changes.view": "保留中の変更を表示",
"status.changes.label": "変更",
"status.commit.local": "変更をローカルでコミット",
"status.commit.push": "変更をコミットしてプッシュする",
"status.commit.label": "コミット",
"status.commit.openOnGitHub": "GitHub でコミット {hash} を開く",
"status.git.disabledTooltip": "このボールトでは Git が無効になっています。Gitを初期化して、履歴、同期、コミット、および変更ビューを有効にします。",
"status.git.disabled": "Git が無効",
"status.history.onlyGit": "履歴は、Gitが有効なボルトでのみ利用可能です。",
"status.history.open": "変更履歴を開く",
"status.history.label": "履歴",
"status.mcp.notConnected": "外部AIツールが接続されていません — クリックして設定してください",
"status.mcp.unknown": "MCPステータス不明",
"status.claude.missing": "Claude Codeがありません",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Codeが見つかりません — クリックしてインストール",
"status.ai.noAgents": "AIエージェントが検出されませんでした",
"status.ai.noAgentsTooltip": "AIエージェントが検出されませんでした — クリックして設定の詳細を表示",
"status.ai.selectedMissing": "{agent}が選択されていますが、インストールされていません — クリックして設定の詳細を表示",
"status.ai.defaultAgent": "デフォルトのAIエージェント{agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — クリックして復元の詳細を表示",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "アクティブなAIエージェント{agent}",
"status.ai.unavailable": "選択したAIエージェントは利用できません{agent}",
"status.ai.install": "インストール",
"status.ai.installAgent": "{agent} をインストール",
"status.ai.vaultGuidance": "Vault ガイダンス",
"status.ai.restoreGuidance": "Tolaria AIガイダンスを復元",
"status.ai.openOptions": "AIエージェントのオプションを開く",
"pulse.title": "履歴",
"pulse.today": "今日",
"pulse.yesterday": "昨日",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "コミット",
"pulse.commitPlural": "コミット",
"pulse.openOnGitHub": "GitHubで開く",
"pulse.expandFiles": "ファイルを展開",
"pulse.collapseFiles": "ファイルを折りたたむ",
"pulse.noActivity": "まだアクティビティはありません",
"pulse.emptyDescription": "変更をコミットして、Vaultの履歴を表示します",
"pulse.retry": "再試行",
"pulse.loadingActivity": "アクティビティを読み込み中…",
"pulse.loading": "読み込み中…",
"pulse.loadError": "アクティビティの読み込みに失敗しました",
"command.switchLanguage": "言語を{language}に切り替える",
"locale.itIT": "イタリア語",
"locale.frFR": "フランス語",
"locale.deDE": "ドイツ語",
"locale.ruRU": "ロシア語",
"locale.esES": "スペイン語(スペイン)",
"locale.ptBR": "Portuguese (Brazil)",
"locale.ptPT": "葡萄牙語(ポルトガル)",
"locale.es419": "西班牙语(拉丁美洲)",
"locale.zhCN": "简体中文",
"locale.jaJP": "日本語",
"locale.koKR": "韩国語"
}

405
src/lib/locales/ko-KR.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "일치하는 명령 없음",
"command.palettePlaceholder": "명령어를 입력하세요...",
"command.footerNavigate": "↑↓ 탐색",
"command.footerSelect": "↵ 선택",
"command.footerClose": "esc 닫기",
"command.footerSend": "↵ 보내기",
"command.aiMode": "{agent} 모드",
"command.openSettings": "설정 열기",
"command.openSettings.keywords": "preferences config",
"command.openLanguageSettings": "언어 설정 열기",
"command.openLanguageSettings.keywords": "언어 로케일 i18n 국제화 현지화 영어 이탈리아어 프랑스어 독일어 러시아어 스페인어 포르투갈어 중국어 일본어 한국어 中文",
"command.useSystemLanguage": "시스템 언어 사용",
"command.openH1Setting": "H1 자동 이름 변경 설정 열기",
"command.contribute": "기여하기",
"command.checkUpdates": "업데이트 확인",
"command.group.navigation": "탐색",
"command.group.note": "메모",
"command.group.git": "Git",
"command.group.view": "보기",
"command.group.settings": "설정",
"command.navigation.searchNotes": "노트 검색",
"command.navigation.goAllNotes": "모든 노트로 이동",
"command.navigation.goArchived": "보관 처리됨으로 이동",
"command.navigation.goChanges": "변경 사항으로 이동",
"command.navigation.goHistory": "이력으로 이동",
"command.navigation.goBack": "뒤로 가기",
"command.navigation.goForward": "앞으로 이동",
"command.navigation.goInbox": "받은 편지함으로 이동",
"command.navigation.renameFolder": "폴더 이름 변경",
"command.navigation.deleteFolder": "폴더 삭제",
"command.navigation.showOpenNotes": "열린 노트 표시",
"command.navigation.showArchivedNotes": "보관된 노트 표시",
"command.navigation.listType": "{type} 목록",
"command.note.newNote": "새 노트",
"command.note.newType": "새 유형",
"command.note.newTypedNote": "새 {type}",
"command.note.saveNote": "메모 저장",
"command.note.findInNote": "노트에서 찾기",
"command.note.replaceInNote": "노트에서 바꾸기",
"command.note.deleteNote": "메모 삭제",
"command.note.archiveNote": "메모 보관",
"command.note.unarchiveNote": "메모 보관 해제",
"command.note.addFavorite": "즐겨찾기에 추가",
"command.note.removeFavorite": "즐겨찾기에서 삭제",
"command.note.markOrganized": "정리됨으로 표시",
"command.note.markUnorganized": "정리되지 않음으로 표시",
"command.note.restoreDeleted": "삭제된 노트 복원",
"command.note.setIcon": "노트 아이콘 설정",
"command.note.removeIcon": "노트 아이콘 제거",
"command.note.changeType": "노트 유형 변경…",
"command.note.moveToFolder": "노트를 폴더로 이동…",
"command.note.openNewWindow": "새 창에서 열기",
"command.git.initialize": "현재 Vault에 대해 Git 초기화",
"command.git.commitPush": "커밋 및 푸시",
"command.git.addRemote": "현재 Vault에 원격 저장소 추가",
"command.git.pull": "원격에서 가져오기",
"command.git.resolveConflicts": "충돌 해결",
"command.git.viewChanges": "보류 중인 변경 사항 보기",
"command.view.editorOnly": "편집기만",
"command.view.editorNoteList": "편집기 + 노트 목록",
"command.view.fullLayout": "전체 레이아웃",
"command.view.toggleProperties": "속성 패널 켜기/끄기",
"command.view.toggleDiff": "차이 모드 전환",
"command.view.toggleRaw": "Raw Editor 켜기/끄기",
"command.view.leftLayout": "왼쪽 정렬 노트 레이아웃 사용",
"command.view.centerLayout": "중앙 정렬 노트 레이아웃 사용",
"command.view.toggleAiPanel": "AI 패널 켜기/끄기",
"command.view.newAiChat": "새 AI 채팅",
"command.view.toggleBacklinks": "백링크 켜기/끄기",
"command.view.zoomIn": "확대({zoom}%)",
"command.view.zoomOut": "축소({zoom}%)",
"command.view.resetZoom": "확대/축소 재설정",
"command.settings.createEmptyVault": "빈 Vault 생성…",
"command.settings.openVault": "Vault 열기…",
"command.settings.removeVault": "목록에서 Vault 제거",
"command.settings.restoreGettingStarted": "Getting Started Vault 복원",
"command.settings.manageExternalAi": "외부 AI 도구 관리…",
"command.settings.setupExternalAi": "외부 AI 도구 설정…",
"command.settings.reloadVault": "Vault 다시 로드",
"command.settings.repairVault": "Vault 복구",
"command.ai.openAgents": "AI 에이전트 열기",
"command.ai.restoreGuidance": "Tolaria AI 가이드ANCE 복원",
"command.ai.switchToAgent": "AI 에이전트를 {agent}(으)로 전환",
"command.ai.switchDefault": "기본 AI 에이전트 전환",
"command.ai.switchDefaultWithAgent": "기본 AI 에이전트({agent})로 전환",
"settings.title": "설정",
"settings.close": "설정 닫기",
"settings.sync.title": "동기화 및 업데이트",
"settings.sync.description": "백그라운드 풀링 및 Tolaria가 팔로우하는 업데이트 피드를 구성하세요. Stable은 수동으로 승격된 릴리스만 받으며, Alpha는 main으로의 모든 푸시를 따릅니다.",
"settings.pullInterval": "풀 간격(분)",
"settings.releaseChannel": "릴리스 채널",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "외관",
"settings.appearance.description": "Tolaria chrome, 편집기 표면, 메뉴, 대화 상자에 사용되는 앱 색상 모드를 선택하세요.",
"settings.theme.label": "테마",
"settings.theme.light": "라이트",
"settings.theme.dark": "Dark",
"settings.language.title": "언어",
"settings.language.description": "Tolaria chrome의 표시 언어를 선택하세요. 해당 언어가 지원되는 경우 시스템은 macOS를 따릅니다. 지원되지 않는 경우 영어가 기본 언어로 설정됩니다.",
"settings.language.label": "표시 언어",
"settings.language.system": "시스템 ({language})",
"settings.language.summary": "번역이 누락된 경우 영어가 기본으로 설정되므로, 부분적으로만 번역된 로케일도 계속 사용할 수 있습니다.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "편집이 일시 중지되거나 앱이 더 이상 활성 상태가 아닐 때 보수적인 Git 체크포인트를 자동으로 생성합니다.",
"settings.autogit.description.disabled": "현재 보관소가 Git 지원 상태가 될 때까지 AutoGit을 사용할 수 없습니다. 먼저 이 보관소에 대해 Git을 초기화하세요.",
"settings.autogit.enable": "AutoGit 활성화",
"settings.autogit.enableDescription": "이 기능을 활성화하면, Tolaria는 유휴 시간 중 일시 중지되거나 앱이 비활성화된 후 저장된 로컬 변경 사항을 자동으로 커밋하고 푸시합니다.",
"settings.autogit.idleThreshold": "유휴 시간 임계값(초)",
"settings.autogit.inactiveThreshold": "앱 비활성 유예 기간(초)",
"settings.titles.title": "제목 및 파일 이름",
"settings.titles.description": "Tolaria가 제목 없는 노트의 파일 이름을 첫 번째 H1 제목에서 자동으로 동기화할지 여부를 선택하세요.",
"settings.titles.autoRename": "첫 번째 H1 제목으로 제목 없는 노트 파일 이름 자동 변경",
"settings.titles.autoRenameDescription": "이 옵션을 활성화하면 Tolaria는 첫 번째 H1이 실제 제목이 되는 즉시 제목 없는 노트 파일의 이름을 변경합니다. 이 옵션을 끄면 브레드크럼 바에서 수동으로 파일 이름을 변경할 때까지 파일 이름이 변경되지 않습니다.",
"settings.aiAgents.title": "AI 에이전트",
"settings.aiAgents.description": "Tolaria가 AI 패널과 명령 팔레트에서 사용하는 CLI AI 에이전트를 선택하세요.",
"settings.aiAgents.default": "기본 AI 에이전트",
"settings.aiAgents.installed": "설치됨",
"settings.aiAgents.missing": "없음",
"settings.aiAgents.ready": "{agent}{version}을(를) 사용할 준비가 되었습니다.",
"settings.aiAgents.notInstalled": "{agent}이(가) 아직 설치되지 않았습니다. 지금 선택하고 나중에 설치하실 수 있습니다.",
"settings.workflow.title": "워크플로",
"settings.workflow.description": "Tolaria에서 받은 편지함 워크플로를 표시할지 여부와, 사용자가 항목을 분류하는 동안 Tolaria가 항목을 이동하는 방식을 선택하세요.",
"settings.workflow.explicit": "메모를 명확하게 정리",
"settings.workflow.explicitDescription": "이 옵션을 활성화하면 수신함 섹션에 정리되지 않은 메모가 표시되며, 토글 버튼을 사용하여 메모를 정리됨으로 표시할 수 있습니다.",
"settings.workflow.autoAdvance": "다음 받은 편지함 항목으로 자동 이동",
"settings.workflow.autoAdvanceDescription": "이 옵션을 활성화하면, 받은 편지함 메모를 정리됨으로 표시하면 즉시 다음으로 보이는 받은 편지함 메모가 열립니다.",
"settings.privacy.title": "개인정보 보호 및 텔레메트리",
"settings.privacy.description": "익명 데이터는 버그를 수정하고 Tolaria를 개선하는 데 도움이 됩니다. Vault 콘텐츠, 노트 제목 또는 파일 경로는 절대 전송되지 않습니다.",
"settings.privacy.crashReporting": "크래시 보고",
"settings.privacy.crashReportingDescription": "익명 오류 보고서 전송",
"settings.privacy.analytics": "사용 분석",
"settings.privacy.analyticsDescription": "익명의 사용 패턴 공유",
"settings.footerShortcut": "⌘, 설정 열기",
"settings.cancel": "취소",
"settings.save": "저장",
"common.cancel": "취소",
"locale.en": "English",
"sidebar.nav.inbox": "받은 편지함",
"sidebar.nav.allNotes": "모든 노트",
"sidebar.nav.archive": "보관",
"sidebar.group.favorites": "즐겨찾기",
"sidebar.group.views": "조회수",
"sidebar.group.types": "유형",
"sidebar.group.folders": "폴더",
"sidebar.action.createView": "보기 생성",
"sidebar.action.editView": "보기 편집",
"sidebar.action.deleteView": "보기 삭제",
"sidebar.action.customizeSections": "섹션 사용자 지정",
"sidebar.action.renameSection": "섹션 이름 변경…",
"sidebar.action.customizeIconColor": "아이콘 및 색상 사용자 지정…",
"sidebar.action.createType": "새 유형 생성",
"sidebar.action.collapse": "사이드바 접기",
"sidebar.action.expand": "사이드바 펼치기",
"sidebar.action.createFolder": "폴더 만들기",
"sidebar.action.renameFolder": "폴더 이름 변경",
"sidebar.action.deleteFolder": "폴더 삭제",
"sidebar.action.revealFolderMenu": "Finder에서 표시",
"sidebar.action.copyFolderPathMenu": "폴더 경로 복사",
"sidebar.action.renameFolderMenu": "폴더 이름 변경...",
"sidebar.action.deleteFolderMenu": "폴더 삭제...",
"sidebar.folder.name": "폴더 이름",
"sidebar.folder.newName": "새 폴더 이름",
"sidebar.folder.expand": "{name} 펼치기",
"sidebar.folder.collapse": "{name} 접기",
"sidebar.section.name": "섹션 이름",
"sidebar.section.showInSidebar": "사이드바에 표시",
"sidebar.section.toggle": "{label} 토글",
"sidebar.disabled.comingSoon": "서비스 예정",
"noteList.title.archive": "보관",
"noteList.title.changes": "변경 사항",
"noteList.title.inbox": "받은 편지함",
"noteList.title.history": "이력",
"noteList.title.view": "보기",
"noteList.title.notes": "메모",
"noteList.searchPlaceholder": "메모 검색...",
"noteList.searchAction": "메모 검색",
"noteList.createNote": "새 노트 만들기",
"noteList.empty.changesError": "변경 사항 로드 실패: {error}",
"noteList.empty.noChanges": "대기 중인 변경 사항 없음",
"noteList.empty.noArchived": "보관된 노트 없음",
"noteList.empty.noMatching": "일치하는 노트가 없습니다",
"noteList.empty.allOrganized": "모든 노트가 정리되었습니다",
"noteList.empty.noNotes": "노트를 찾을 수 없습니다",
"noteList.empty.noMatchingItems": "일치하는 항목 없음",
"noteList.empty.noRelatedItems": "관련 항목 없음",
"noteList.sort.modified": "수정됨",
"noteList.sort.created": "생성됨",
"noteList.sort.title": "제목",
"noteList.sort.status": "상태",
"noteList.sort.by": "{label} 기준으로 정렬",
"noteList.sort.menu": "{label} 정렬",
"noteList.sort.ascending": "오름차순",
"noteList.sort.descending": "내림차순",
"noteList.filter.open": "열기",
"noteList.filter.archived": "보관됨",
"noteList.filter.week": "주",
"noteList.filter.month": "월",
"noteList.filter.all": "모두",
"noteList.properties.customizeColumns": "열 사용자 지정",
"noteList.properties.customizeAllColumns": "모든 노트 열 사용자 지정",
"noteList.properties.customizeInboxColumns": "받은 편지함 열 사용자 지정",
"noteList.properties.customizeViewColumns": "{name} 열 사용자 지정",
"noteList.properties.showInNoteList": "노트 목록에 표시",
"noteList.properties.searchPlaceholder": "속성 검색...",
"noteList.properties.searchLabel": "노트 목록 속성 검색",
"noteList.properties.noMatches": "이 검색 조건과 일치하는 속성이 없습니다.",
"noteList.properties.reorder": "{name} 재정렬",
"noteList.changes.restoreNote": "노트 복원",
"noteList.changes.discardChanges": "변경 사항 취소",
"noteList.changes.restoreDescription": "Git에서 {file}을(를) 복원하시겠습니까?",
"noteList.changes.discardDescription": "{file}에 대한 변경 사항을 취소하시겠습니까? 이 작업은 취소할 수 없습니다.",
"noteList.changes.thisFile": "이 파일",
"noteList.changes.restore": "복원",
"noteList.changes.discard": "취소",
"noteList.changes.cancel": "취소",
"editor.empty.selectNote": "편집을 시작하려면 노트를 선택하세요.",
"editor.empty.shortcuts": "{quickOpen}으로 검색 · {newNote}으로 생성",
"editor.raw.label": "Raw 편집기",
"editor.find.findLabel": "찾기",
"editor.find.findPlaceholder": "찾기",
"editor.find.replaceLabel": "Replace",
"editor.find.replacePlaceholder": "Replace",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "일치하는 항목 없음",
"editor.find.invalidRegex": "유효하지 않은 정규 표현식",
"editor.find.regexMustMatchText": "정규 표현식은 텍스트와 일치해야 합니다.",
"editor.find.previousMatch": "이전 일치 항목",
"editor.find.nextMatch": "다음 일치 항목",
"editor.find.showReplace": "대체 항목 표시",
"editor.find.hideReplace": "대체 항목 숨기기",
"editor.find.regex": "정규 표현식 사용",
"editor.find.matchCase": "대소문자 구분",
"editor.find.close": "찾기 닫기",
"editor.find.replace": "바꾸기",
"editor.find.replaceAll": "모두",
"editor.toolbar.rawReturn": "편집기로 돌아가기",
"editor.toolbar.rawOpen": "Raw 편집기 열기",
"editor.toolbar.centerLayout": "노트 중앙 정렬 레이아웃으로 전환",
"editor.toolbar.leftLayout": "왼쪽 정렬 노트 레이아웃으로 전환",
"editor.toolbar.removeFavorite": "즐겨찾기에서 삭제",
"editor.toolbar.addFavorite": "즐겨찾기에 추가",
"editor.toolbar.markUnorganized": "노트를 '정리되지 않음'으로 설정",
"editor.toolbar.markOrganized": "노트를 '정리됨'으로 설정",
"editor.toolbar.noDiff": "아직 사용할 수 있는 diff가 없습니다",
"editor.toolbar.loadingDiff": "차이 내역 로드 중",
"editor.toolbar.showDiff": "현재 diff 표시",
"editor.toolbar.openAi": "AI 패널 열기",
"editor.toolbar.closeAi": "AI 패널 닫기",
"editor.toolbar.restoreArchived": "이 보관된 노트 복원",
"editor.toolbar.archive": "이 노트 보관",
"editor.toolbar.delete": "이 노트 삭제",
"editor.toolbar.revealFile": "Finder에서 표시",
"editor.toolbar.copyFilePath": "파일 경로 복사",
"editor.toolbar.openProperties": "속성 패널 열기",
"editor.filename.rename": "파일 이름 변경",
"editor.filename.renameToTitle": "파일 이름을 제목과 일치하도록 변경",
"editor.filename.trigger": "파일 이름 {filename}. 이름을 바꾸려면 Enter 키를 누르세요.",
"editor.banner.archived": "보관됨",
"editor.banner.unarchive": "보관 해제",
"editor.banner.conflict": "이 노트에는 병합 충돌이 있습니다.",
"editor.banner.keepMine": "내 버전 유지",
"editor.banner.keepMineTooltip": "내 로컬 버전 유지",
"editor.banner.keepTheirs": "상대방 버전 유지",
"editor.banner.keepTheirsTooltip": "원격 버전 유지",
"inspector.title.properties": "속성",
"inspector.title.propertiesShortcut": "속성(⌘⇧I)",
"inspector.title.closePropertiesShortcut": "속성 닫기 (⌘⇧I)",
"inspector.empty.noNoteSelected": "선택한 노트 없음",
"inspector.empty.noProperties": "이 노트에는 아직 속성이 없습니다.",
"inspector.empty.initializeProperties": "속성 초기화",
"inspector.empty.invalidProperties": "유효하지 않은 속성",
"inspector.empty.fixInEditor": "편집기에서 수정",
"inspector.properties.addProperty": "속성 추가",
"inspector.properties.deleteProperty": "속성 삭제",
"inspector.properties.none": "없음",
"inspector.properties.missingType": "유형 누락",
"inspector.properties.missingTypeAria": "{type} 유형이 없습니다. 클릭하여 이 유형을 생성하세요.",
"inspector.properties.searchTypes": "유형 검색...",
"inspector.properties.noMatchingTypes": "일치하는 유형 없음",
"inspector.properties.yes": "예",
"inspector.properties.no": "아니요",
"inspector.properties.pickDate": "날짜 선택…",
"inspector.properties.valuePlaceholder": "값",
"inspector.properties.propertyName": "속성 이름",
"inspector.relationship.add": "추가",
"inspector.relationship.addRelationship": "+ 관계 추가",
"inspector.relationship.name": "관계 이름",
"inspector.relationship.noteTitle": "노트 제목",
"inspector.relationship.createAndOpen": "생성 및 열기",
"inspector.info.title": "정보",
"inspector.info.modified": "수정됨",
"inspector.info.created": "생성됨",
"inspector.info.words": "단어 수",
"inspector.info.size": "크기",
"update.available": "사용 가능",
"update.releaseNotes": "릴리스 노트",
"update.updateNow": "지금 업데이트",
"update.dismiss": "닫기",
"update.downloading": "Tolaria {version} 다운로드 중...",
"update.readyRestart": "준비 완료 - 적용하려면 다시 시작하세요",
"update.restartNow": "지금 다시 시작",
"status.update.check": "업데이트 확인",
"status.zoom.reset": "확대/축소 수준 재설정",
"status.feedback.contribute": "Tolaria에 기여하기",
"status.feedback.label": "기여하기",
"status.theme.light": "라이트 모드로 전환",
"status.theme.dark": "다크 모드로 전환",
"status.settings.open": "설정 열기",
"status.build.unknown": "b?",
"status.vault.switch": "Vault 전환",
"status.vault.default": "Vault",
"status.vault.createEmpty": "빈 보관함 만들기",
"status.vault.openLocal": "로컬 폴더 열기",
"status.vault.cloneGit": "Git 리포지토리 복제",
"status.vault.cloneGettingStarted": "Getting Started Vault 복제",
"status.vault.notFound": "Vault를 찾을 수 없음: {path}",
"status.vault.remove": "목록에서 {label} 제거",
"status.remote.noneConfigured": "구성된 원격 없음",
"status.remote.inSync": "원격과 동기화됨",
"status.remote.aheadTitle": "원격 브랜치보다 {count}건의 커밋{plural} 앞서 있음",
"status.remote.behindTitle": "원격 브랜치보다 {count}개 커밋{plural} 뒤처짐",
"status.remote.ahead": "{count}개 앞서 있음",
"status.remote.behind": "{count}개 뒤처짐",
"status.remote.add": "이 보관소에 원격 저장소 추가",
"status.remote.none": "원격 없음",
"status.remote.noneDescription": "이 Git 보관소에는 원격 리포지토리가 구성되어 있지 않습니다. 원격 보관소를 추가하기 전까지는 커밋이 로컬에만 유지됩니다.",
"status.sync.syncing": "동기화 중...",
"status.sync.conflict": "충돌",
"status.sync.failed": "동기화 실패",
"status.sync.pullRequired": "풀 필요",
"status.sync.notSynced": "동기화되지 않음",
"status.sync.justNow": "방금 동기화됨",
"status.sync.minutesAgo": "{minutes}분 전에 동기화됨",
"status.sync.resolveConflicts": "병합 충돌 해결",
"status.sync.inProgress": "동기화 진행 중",
"status.sync.pullAndPush": "원격에서 가져오기 및 푸시",
"status.sync.retry": "동기화 재시도",
"status.sync.now": "지금 동기화",
"status.sync.synced": "동기화 완료",
"status.sync.conflicts": "충돌",
"status.sync.error": "오류",
"status.sync.status": "상태: {status}",
"status.sync.pull": "풀",
"status.conflict.count": "충돌 {count}건{plural}",
"status.offline.title": "인터넷 연결 없음",
"status.offline.label": "오프라인",
"status.changes.view": "대기 중인 변경 사항 보기",
"status.changes.label": "변경 사항",
"status.commit.local": "로컬에서 변경 사항 커밋",
"status.commit.push": "변경 사항 커밋 및 푸시",
"status.commit.label": "커밋",
"status.commit.openOnGitHub": "GitHub에서 커밋 {hash} 열기",
"status.git.disabledTooltip": "이 보관소에서는 Git이 비활성화되어 있습니다. Git을 초기화하여 기록, 동기화, 커밋, 변경 보기 기능을 활성화하세요.",
"status.git.disabled": "Git 비활성화됨",
"status.history.onlyGit": "이력 기능은 Git이 활성화된 보관함에서만 사용할 수 있습니다.",
"status.history.open": "변경 내역 열기",
"status.history.label": "이력",
"status.mcp.notConnected": "외부 AI 도구가 연결되지 않음 — 클릭하여 설정하세요",
"status.mcp.unknown": "MCP 상태 알 수 없음",
"status.claude.missing": "Claude Code 누락",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code를 찾을 수 없습니다 — 클릭하여 설치하세요",
"status.ai.noAgents": "AI 에이전트 감지되지 않음",
"status.ai.noAgentsTooltip": "AI 에이전트가 감지되지 않음 — 클릭하여 설정 세부 정보 확인",
"status.ai.selectedMissing": "{agent}이(가) 선택되었지만 설치되지 않았습니다 — 클릭하여 설정 세부 정보를 확인하세요",
"status.ai.defaultAgent": "기본 AI 에이전트: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — 복원 세부 정보를 보려면 클릭하세요.",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "활성 AI 에이전트: {agent}",
"status.ai.unavailable": "선택한 AI 에이전트를 사용할 수 없음: {agent}",
"status.ai.install": "설치",
"status.ai.installAgent": "{agent} 설치",
"status.ai.vaultGuidance": "Vault 가이드",
"status.ai.restoreGuidance": "Tolaria AI 가이드ANCE 복원",
"status.ai.openOptions": "AI 에이전트 옵션 열기",
"pulse.title": "이력",
"pulse.today": "오늘",
"pulse.yesterday": "어제",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "커밋",
"pulse.commitPlural": "커밋",
"pulse.openOnGitHub": "GitHub에서 열기",
"pulse.expandFiles": "파일 펼치기",
"pulse.collapseFiles": "파일 접기",
"pulse.noActivity": "아직 활동이 없습니다",
"pulse.emptyDescription": "보관함 기록을 보려면 변경 사항을 커밋하세요.",
"pulse.retry": "재시도",
"pulse.loadingActivity": "활동 로드 중…",
"pulse.loading": "로드 중…",
"pulse.loadError": "활동 로드 실패",
"command.switchLanguage": "언어 {language}(으)로 전환",
"locale.itIT": "이탈리아어",
"locale.frFR": "프랑스어",
"locale.deDE": "독일어",
"locale.ruRU": "러시아어",
"locale.esES": "스페인어(스페인)",
"locale.ptBR": "Portuguese (Brazil)",
"locale.ptPT": "포르투갈어 (포르투갈)",
"locale.es419": "스페인어(라틴 아메리카)",
"locale.zhCN": "简体中文",
"locale.jaJP": "日本語",
"locale.koKR": "한국어"
}

405
src/lib/locales/pt-BR.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "Nenhum comando correspondente",
"command.palettePlaceholder": "Digite um comando...",
"command.footerNavigate": "↑↓ navegar",
"command.footerSelect": "↵ selecionar",
"command.footerClose": "esc fechar",
"command.footerSend": "↵ enviar",
"command.aiMode": "Modo {agent}",
"command.openSettings": "Abrir configurações",
"command.openSettings.keywords": "configuração de preferências",
"command.openLanguageSettings": "Abrir configurações de idioma",
"command.openLanguageSettings.keywords": "idioma localidade i18n internacionalização localização inglês italiano francês alemão russo espanhol português chinês japonês coreano 中文",
"command.useSystemLanguage": "Usar o idioma do sistema",
"command.openH1Setting": "Abrir configuração de renomeação automática de H1",
"command.contribute": "Contribuir",
"command.checkUpdates": "Verificar atualizações",
"command.group.navigation": "Navegação",
"command.group.note": "Observação",
"command.group.git": "Git",
"command.group.view": "Visualizar",
"command.group.settings": "Configurações",
"command.navigation.searchNotes": "Buscar notas",
"command.navigation.goAllNotes": "Ir para Todas as notas",
"command.navigation.goArchived": "Ir para Arquivadas",
"command.navigation.goChanges": "Ir para Alterações",
"command.navigation.goHistory": "Ir para Histórico",
"command.navigation.goBack": "Voltar",
"command.navigation.goForward": "Avançar",
"command.navigation.goInbox": "Ir para a Caixa de entrada",
"command.navigation.renameFolder": "Renomear pasta",
"command.navigation.deleteFolder": "Excluir pasta",
"command.navigation.showOpenNotes": "Exibir notas abertas",
"command.navigation.showArchivedNotes": "Exibir notas arquivadas",
"command.navigation.listType": "Lista {type}",
"command.note.newNote": "Nova nota",
"command.note.newType": "Novo tipo",
"command.note.newTypedNote": "Novo {type}",
"command.note.saveNote": "Salvar nota",
"command.note.findInNote": "Localizar na nota",
"command.note.replaceInNote": "Substituir na nota",
"command.note.deleteNote": "Excluir nota",
"command.note.archiveNote": "Arquivar nota",
"command.note.unarchiveNote": "Desarquivar nota",
"command.note.addFavorite": "Adicionar aos Favoritos",
"command.note.removeFavorite": "Remover dos Favoritos",
"command.note.markOrganized": "Marcar como organizada",
"command.note.markUnorganized": "Marcar como não organizada",
"command.note.restoreDeleted": "Restaurar nota excluída",
"command.note.setIcon": "Definir ícone da nota",
"command.note.removeIcon": "Remover ícone da nota",
"command.note.changeType": "Alterar tipo de nota…",
"command.note.moveToFolder": "Mover nota para a pasta…",
"command.note.openNewWindow": "Abrir em nova janela",
"command.git.initialize": "Inicializar o Git para o cofre atual",
"command.git.commitPush": "Fazer commit e push",
"command.git.addRemote": "Adicionar repositório remoto ao cofre atual",
"command.git.pull": "Fazer pull do repositório remoto",
"command.git.resolveConflicts": "Resolver conflitos",
"command.git.viewChanges": "Exibir alterações pendentes",
"command.view.editorOnly": "Somente editor",
"command.view.editorNoteList": "Editor + Lista de notas",
"command.view.fullLayout": "Layout completo",
"command.view.toggleProperties": "Ativar/desativar painel de propriedades",
"command.view.toggleDiff": "Ativar/desativar modo de comparação",
"command.view.toggleRaw": "Ativar/desativar editor Raw",
"command.view.leftLayout": "Usar layout de nota alinhado à esquerda",
"command.view.centerLayout": "Usar layout de nota centralizado",
"command.view.toggleAiPanel": "Alternar painel de IA",
"command.view.newAiChat": "Novo chat de IA",
"command.view.toggleBacklinks": "Alternar backlinks",
"command.view.zoomIn": "Aumentar zoom ({zoom}%)",
"command.view.zoomOut": "Diminuir zoom ({zoom}%)",
"command.view.resetZoom": "Redefinir zoom",
"command.settings.createEmptyVault": "Criar cofre vazio…",
"command.settings.openVault": "Abrir cofre…",
"command.settings.removeVault": "Remover cofre da lista",
"command.settings.restoreGettingStarted": "Restaurar cofre de introdução",
"command.settings.manageExternalAi": "Gerenciar ferramentas externas de IA…",
"command.settings.setupExternalAi": "Configurar ferramentas externas de IA…",
"command.settings.reloadVault": "Recarregar cofre",
"command.settings.repairVault": "Reparar cofre",
"command.ai.openAgents": "Abrir agentes de IA",
"command.ai.restoreGuidance": "Restaurar orientação de IA da Tolaria",
"command.ai.switchToAgent": "Trocar o agente de IA para {agent}",
"command.ai.switchDefault": "Trocar agente de IA padrão",
"command.ai.switchDefaultWithAgent": "Trocar agente de IA padrão ({agent})",
"settings.title": "Configurações",
"settings.close": "Fechar configurações",
"settings.sync.title": "Sincronização e atualizações",
"settings.sync.description": "Configure o pull em segundo plano e qual feed de atualizações o Tolaria segue. O canal Stable recebe apenas versões promovidas manualmente, enquanto o canal Alpha acompanha todos os pushes para o main.",
"settings.pullInterval": "Intervalo de pull (minutos)",
"settings.releaseChannel": "Canal de lançamento",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Aparência",
"settings.appearance.description": "Escolha o modo de cores do aplicativo usado para o Tolaria Chrome, as superfícies do editor, os menus e as caixas de diálogo.",
"settings.theme.label": "Tema",
"settings.theme.light": "Claro",
"settings.theme.dark": "Escuro",
"settings.language.title": "Idioma",
"settings.language.description": "Escolha o idioma de exibição do Tolaria Chrome. O sistema segue o macOS quando esse idioma é suportado, com o inglês como opção alternativa.",
"settings.language.label": "Idioma de exibição",
"settings.language.system": "Sistema ({language})",
"settings.language.summary": "Quando faltam traduções, o sistema usa o inglês como padrão para que as localizações parcialmente traduzidas continuem utilizáveis.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Cria automaticamente checkpoints conservativos do Git após pausas na edição ou quando o aplicativo não estiver mais ativo.",
"settings.autogit.description.disabled": "O AutoGit não estará disponível até que o cofre atual seja habilitado para Git. Primeiro, inicialize o Git para este cofre.",
"settings.autogit.enable": "Ativar o AutoGit",
"settings.autogit.enableDescription": "Quando ativado, o Tolaria fará commit e push automaticamente das alterações locais salvas após uma pausa por inatividade ou depois que o aplicativo ficar inativo.",
"settings.autogit.idleThreshold": "Limite de inatividade (segundos)",
"settings.autogit.inactiveThreshold": "Período de carência para aplicativo inativo (segundos)",
"settings.titles.title": "Títulos e nomes de arquivo",
"settings.titles.description": "Escolha se o Tolaria deve sincronizar automaticamente os nomes de arquivo das notas sem título com base no primeiro título H1.",
"settings.titles.autoRename": "Renomear automaticamente notas sem título com base no primeiro H1",
"settings.titles.autoRenameDescription": "Quando ativada, a Tolaria renomeia os arquivos de anotações sem título assim que o primeiro H1 se torna um título de fato. Desative esta opção para manter o nome do arquivo inalterado até que você o renomeie manualmente na barra de navegação.",
"settings.aiAgents.title": "Agentes de IA",
"settings.aiAgents.description": "Escolha qual agente de IA de CLI o Tolaria usa no painel de IA e na paleta de comandos.",
"settings.aiAgents.default": "Agente de IA padrão",
"settings.aiAgents.installed": "instalado",
"settings.aiAgents.missing": "ausente",
"settings.aiAgents.ready": "{agent}{version} está pronto para uso.",
"settings.aiAgents.notInstalled": "O {agent} ainda não está instalado. Você ainda pode selecioná-lo agora e instalá-lo mais tarde.",
"settings.workflow.title": "Fluxo de trabalho",
"settings.workflow.description": "Escolha se o Tolaria deve exibir o fluxo de trabalho da Caixa de Entrada e como ele se desloca pelos itens enquanto você os tria.",
"settings.workflow.explicit": "Organizar anotações explicitamente",
"settings.workflow.explicitDescription": "Quando ativada, uma seção da Caixa de Entrada exibe anotações não organizadas, e um botão permite que você marque as anotações como organizadas.",
"settings.workflow.autoAdvance": "Avançar automaticamente para o próximo item da Caixa de Entrada",
"settings.workflow.autoAdvanceDescription": "Quando ativada, ao marcar uma anotação da Caixa de Entrada como organizada, a próxima anotação visível na Caixa de Entrada é aberta imediatamente.",
"settings.privacy.title": "Privacidade e telemetria",
"settings.privacy.description": "Dados anônimos nos ajudam a corrigir bugs e a aprimorar o Tolaria. Nenhum conteúdo do cofre, títulos de notas ou caminhos de arquivos é enviado.",
"settings.privacy.crashReporting": "Relatórios de falhas",
"settings.privacy.crashReportingDescription": "Enviar relatórios de erros anônimos",
"settings.privacy.analytics": "Análise de uso",
"settings.privacy.analyticsDescription": "Compartilhar padrões de uso anônimos",
"settings.footerShortcut": "⌘, para abrir as configurações",
"settings.cancel": "Cancelar",
"settings.save": "Salvar",
"common.cancel": "Cancelar",
"locale.en": "Inglês",
"sidebar.nav.inbox": "Caixa de entrada",
"sidebar.nav.allNotes": "Todas as anotações",
"sidebar.nav.archive": "Arquivar",
"sidebar.group.favorites": "FAVORITOS",
"sidebar.group.views": "VISUALIZAÇÕES",
"sidebar.group.types": "TIPOS",
"sidebar.group.folders": "PASTAS",
"sidebar.action.createView": "Criar visualização",
"sidebar.action.editView": "Editar visualização",
"sidebar.action.deleteView": "Excluir visualização",
"sidebar.action.customizeSections": "Personalizar seções",
"sidebar.action.renameSection": "Renomear seção…",
"sidebar.action.customizeIconColor": "Personalizar ícone e cor…",
"sidebar.action.createType": "Criar novo tipo",
"sidebar.action.collapse": "Recolher barra lateral",
"sidebar.action.expand": "Expandir barra lateral",
"sidebar.action.createFolder": "Criar pasta",
"sidebar.action.renameFolder": "Renomear pasta",
"sidebar.action.deleteFolder": "Excluir pasta",
"sidebar.action.revealFolderMenu": "Exibir no Finder",
"sidebar.action.copyFolderPathMenu": "Copiar caminho da pasta",
"sidebar.action.renameFolderMenu": "Renomear pasta...",
"sidebar.action.deleteFolderMenu": "Excluir pasta...",
"sidebar.folder.name": "Nome da pasta",
"sidebar.folder.newName": "Novo nome da pasta",
"sidebar.folder.expand": "Expandir {name}",
"sidebar.folder.collapse": "Recolher {name}",
"sidebar.section.name": "Nome da seção",
"sidebar.section.showInSidebar": "Exibir na barra lateral",
"sidebar.section.toggle": "Alternar {label}",
"sidebar.disabled.comingSoon": "Em breve",
"noteList.title.archive": "Arquivar",
"noteList.title.changes": "Alterações",
"noteList.title.inbox": "Caixa de entrada",
"noteList.title.history": "Histórico",
"noteList.title.view": "Visualizar",
"noteList.title.notes": "Notas",
"noteList.searchPlaceholder": "Buscar notas...",
"noteList.searchAction": "Buscar notas",
"noteList.createNote": "Criar nova nota",
"noteList.empty.changesError": "Falha ao carregar as alterações: {error}",
"noteList.empty.noChanges": "Sem alterações pendentes",
"noteList.empty.noArchived": "Nenhuma nota arquivada",
"noteList.empty.noMatching": "Nenhuma nota correspondente",
"noteList.empty.allOrganized": "Todas as notas estão organizadas",
"noteList.empty.noNotes": "Nenhuma nota encontrada",
"noteList.empty.noMatchingItems": "Nenhum item correspondente",
"noteList.empty.noRelatedItems": "Nenhum item relacionado",
"noteList.sort.modified": "Modificado",
"noteList.sort.created": "Criada",
"noteList.sort.title": "Título",
"noteList.sort.status": "Status",
"noteList.sort.by": "Ordenar por {label}",
"noteList.sort.menu": "Ordenar por {label}",
"noteList.sort.ascending": "Crescente",
"noteList.sort.descending": "Decrescente",
"noteList.filter.open": "Aberto",
"noteList.filter.archived": "Arquivado",
"noteList.filter.week": "Semana",
"noteList.filter.month": "Mês",
"noteList.filter.all": "Todas",
"noteList.properties.customizeColumns": "Personalizar colunas",
"noteList.properties.customizeAllColumns": "Personalizar todas as colunas de Notas",
"noteList.properties.customizeInboxColumns": "Personalizar colunas da Caixa de entrada",
"noteList.properties.customizeViewColumns": "Personalizar colunas de {name}",
"noteList.properties.showInNoteList": "Exibir na lista de notas",
"noteList.properties.searchPlaceholder": "Buscar propriedades...",
"noteList.properties.searchLabel": "Buscar propriedades da lista de notas",
"noteList.properties.noMatches": "Nenhuma propriedade corresponde a esta pesquisa.",
"noteList.properties.reorder": "Reordenar {name}",
"noteList.changes.restoreNote": "Restaurar nota",
"noteList.changes.discardChanges": "Descartar alterações",
"noteList.changes.restoreDescription": "Restaurar {file} do Git?",
"noteList.changes.discardDescription": "Descartar as alterações em {file}? Esta ação não pode ser desfeita.",
"noteList.changes.thisFile": "este arquivo",
"noteList.changes.restore": "Restaurar",
"noteList.changes.discard": "Descartar",
"noteList.changes.cancel": "Cancelar",
"editor.empty.selectNote": "Selecione uma nota para começar a editar",
"editor.empty.shortcuts": "{quickOpen} para buscar · {newNote} para criar",
"editor.raw.label": "Editor Raw",
"editor.find.findLabel": "Localizar",
"editor.find.findPlaceholder": "Localizar",
"editor.find.replaceLabel": "Substituir",
"editor.find.replacePlaceholder": "Substituir",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "Nenhuma correspondência",
"editor.find.invalidRegex": "Regex inválida",
"editor.find.regexMustMatchText": "A expressão regular deve corresponder ao texto",
"editor.find.previousMatch": "Correspondência anterior",
"editor.find.nextMatch": "Próxima correspondência",
"editor.find.showReplace": "Exibir substituição",
"editor.find.hideReplace": "Ocultar substituição",
"editor.find.regex": "Usar expressão regular",
"editor.find.matchCase": "Diferenciar maiúsculas de minúsculas",
"editor.find.close": "Fechar localizar",
"editor.find.replace": "Substituir",
"editor.find.replaceAll": "Todas",
"editor.toolbar.rawReturn": "Voltar ao editor",
"editor.toolbar.rawOpen": "Abrir o editor Raw",
"editor.toolbar.centerLayout": "Alternar para o layout de nota centralizado",
"editor.toolbar.leftLayout": "Alternar para o layout de nota alinhado à esquerda",
"editor.toolbar.removeFavorite": "Remover dos favoritos",
"editor.toolbar.addFavorite": "Adicionar aos favoritos",
"editor.toolbar.markUnorganized": "Definir nota como não organizada",
"editor.toolbar.markOrganized": "Definir nota como organizada",
"editor.toolbar.noDiff": "Ainda não há diff disponível",
"editor.toolbar.loadingDiff": "Carregando o diff",
"editor.toolbar.showDiff": "Exibir o diff atual",
"editor.toolbar.openAi": "Abrir o painel de IA",
"editor.toolbar.closeAi": "Fechar o painel de IA",
"editor.toolbar.restoreArchived": "Restaurar esta nota arquivada",
"editor.toolbar.archive": "Arquivar esta nota",
"editor.toolbar.delete": "Excluir esta nota",
"editor.toolbar.revealFile": "Exibir no Finder",
"editor.toolbar.copyFilePath": "Copiar caminho do arquivo",
"editor.toolbar.openProperties": "Abrir o painel de propriedades",
"editor.filename.rename": "Renomear nome do arquivo",
"editor.filename.renameToTitle": "Renomear o arquivo para corresponder ao título",
"editor.filename.trigger": "Nome do arquivo {filename}. Pressione Enter para renomear",
"editor.banner.archived": "Arquivado",
"editor.banner.unarchive": "Desarquivar",
"editor.banner.conflict": "Esta nota tem um conflito de mesclagem",
"editor.banner.keepMine": "Manter a minha",
"editor.banner.keepMineTooltip": "Manter minha versão local",
"editor.banner.keepTheirs": "Manter a versão deles",
"editor.banner.keepTheirsTooltip": "Manter a versão remota",
"inspector.title.properties": "Propriedades",
"inspector.title.propertiesShortcut": "Propriedades (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Fechar Propriedades (⌘⇧I)",
"inspector.empty.noNoteSelected": "Nenhuma nota selecionada",
"inspector.empty.noProperties": "Esta nota ainda não tem propriedades",
"inspector.empty.initializeProperties": "Inicializar propriedades",
"inspector.empty.invalidProperties": "Propriedades inválidas",
"inspector.empty.fixInEditor": "Corrigir no editor",
"inspector.properties.addProperty": "Adicionar propriedade",
"inspector.properties.deleteProperty": "Excluir propriedade",
"inspector.properties.none": "Nenhum",
"inspector.properties.missingType": "Tipo ausente",
"inspector.properties.missingTypeAria": "Tipo {type} ausente. Clique para criar este tipo.",
"inspector.properties.searchTypes": "Buscar tipos...",
"inspector.properties.noMatchingTypes": "Nenhum tipo correspondente",
"inspector.properties.yes": "Sim",
"inspector.properties.no": "Não",
"inspector.properties.pickDate": "Escolha uma data…",
"inspector.properties.valuePlaceholder": "Valor",
"inspector.properties.propertyName": "Nome da propriedade",
"inspector.relationship.add": "Adicionar",
"inspector.relationship.addRelationship": "+ Adicionar relacionamento",
"inspector.relationship.name": "Nome do relacionamento",
"inspector.relationship.noteTitle": "Título da nota",
"inspector.relationship.createAndOpen": "Criar e abrir",
"inspector.info.title": "Informações",
"inspector.info.modified": "Modificado",
"inspector.info.created": "Criada",
"inspector.info.words": "Palavras",
"inspector.info.size": "Tamanho",
"update.available": "está disponível",
"update.releaseNotes": "Notas da versão",
"update.updateNow": "Atualizar agora",
"update.dismiss": "Ignorar",
"update.downloading": "Baixando Tolaria {version}...",
"update.readyRestart": "está pronta reinicie para aplicar",
"update.restartNow": "Reiniciar agora",
"status.update.check": "Verificar atualizações",
"status.zoom.reset": "Redefinir o nível de zoom",
"status.feedback.contribute": "Contribuir para o Tolaria",
"status.feedback.label": "Contribuir",
"status.theme.light": "Mudar para o modo claro",
"status.theme.dark": "Mudar para o modo escuro",
"status.settings.open": "Abrir configurações",
"status.build.unknown": "b?",
"status.vault.switch": "Trocar de vault",
"status.vault.default": "Cofre",
"status.vault.createEmpty": "Criar cofre vazio",
"status.vault.openLocal": "Abrir pasta local",
"status.vault.cloneGit": "Clonar repositório Git",
"status.vault.cloneGettingStarted": "Clonar cofre de introdução",
"status.vault.notFound": "Cofre não encontrado: {path}",
"status.vault.remove": "Remover {label} da lista",
"status.remote.noneConfigured": "Nenhum repositório remoto configurado",
"status.remote.inSync": "Sincronizado com o repositório remoto",
"status.remote.aheadTitle": "{count} commit{plural} à frente do repositório remoto",
"status.remote.behindTitle": "{count} commit{plural} atrasado(s) em relação ao repositório remoto",
"status.remote.ahead": "{count} à frente",
"status.remote.behind": "{count} atrasado(s)",
"status.remote.add": "Adicionar um remote a este vault",
"status.remote.none": "Sem remote",
"status.remote.noneDescription": "Este vault do Git não tem nenhum remote configurado. Os commits permanecem locais até que você adicione um.",
"status.sync.syncing": "Sincronizando...",
"status.sync.conflict": "Conflito",
"status.sync.failed": "Falha na sincronização",
"status.sync.pullRequired": "Pull necessário",
"status.sync.notSynced": "Não sincronizado",
"status.sync.justNow": "Sincronizado agora mesmo",
"status.sync.minutesAgo": "Sincronizado há {minutes} min",
"status.sync.resolveConflicts": "Resolver conflitos de merge",
"status.sync.inProgress": "Sincronização em andamento",
"status.sync.pullAndPush": "Fazer pull do repositório remoto e push",
"status.sync.retry": "Tentar sincronizar novamente",
"status.sync.now": "Sincronizar agora",
"status.sync.synced": "Sincronizado",
"status.sync.conflicts": "Conflitos",
"status.sync.error": "Erro",
"status.sync.status": "Status: {status}",
"status.sync.pull": "Fazer pull",
"status.conflict.count": "{count} conflito{plural}",
"status.offline.title": "Sem conexão com a Internet",
"status.offline.label": "Offline",
"status.changes.view": "Ver alterações pendentes",
"status.changes.label": "Alterações",
"status.commit.local": "Fazer commit das alterações localmente",
"status.commit.push": "Fazer commit e push das alterações",
"status.commit.label": "Fazer commit",
"status.commit.openOnGitHub": "Abrir o commit {hash} no GitHub",
"status.git.disabledTooltip": "O Git está desativado para este vault. Inicialize o Git para ativar o histórico, a sincronização, os commits e as visualizações de alterações.",
"status.git.disabled": "Git desativado",
"status.history.onlyGit": "O histórico só está disponível para cofres habilitados para Git",
"status.history.open": "Abrir histórico de alterações",
"status.history.label": "Histórico",
"status.mcp.notConnected": "Ferramentas externas de IA não conectadas — clique para configurar",
"status.mcp.unknown": "Status do MCP desconhecido",
"status.claude.missing": "Claude Code ausente",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code não encontrado — clique para instalar",
"status.ai.noAgents": "Nenhum agente de IA detectado",
"status.ai.noAgentsTooltip": "Nenhum agente de IA detectado — clique para ver as informações de configuração",
"status.ai.selectedMissing": "{agent} está selecionado, mas não instalado — clique para ver as informações de configuração",
"status.ai.defaultAgent": "Agente de IA padrão: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — clique para ver os detalhes da restauração",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Agente de IA ativo: {agent}",
"status.ai.unavailable": "Agente de IA selecionado indisponível: {agent}",
"status.ai.install": "Instalar",
"status.ai.installAgent": "Instalar {agent}",
"status.ai.vaultGuidance": "Orientação do cofre",
"status.ai.restoreGuidance": "Restaurar orientação de IA do Tolaria",
"status.ai.openOptions": "Abrir opções do agente de IA",
"pulse.title": "Histórico",
"pulse.today": "Hoje",
"pulse.yesterday": "Ontem",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "commits",
"pulse.openOnGitHub": "Abrir no GitHub",
"pulse.expandFiles": "Expandir arquivos",
"pulse.collapseFiles": "Recolher arquivos",
"pulse.noActivity": "Ainda não há atividades",
"pulse.emptyDescription": "Faça o commit das alterações para ver o histórico do seu cofre",
"pulse.retry": "Tentar novamente",
"pulse.loadingActivity": "Carregando atividades…",
"pulse.loading": "Carregando…",
"pulse.loadError": "Falha ao carregar a atividade",
"command.switchLanguage": "Alterar idioma para {language}",
"locale.itIT": "Italiano",
"locale.frFR": "Francês",
"locale.deDE": "Alemão",
"locale.ruRU": "Russo",
"locale.esES": "Espanhol (Espanha)",
"locale.ptBR": "Português (Brasil)",
"locale.ptPT": "Português (Portugal)",
"locale.es419": "Espanhol (América Latina)",
"locale.zhCN": "简体中文",
"locale.jaJP": "Japonês",
"locale.koKR": "Coreano"
}

405
src/lib/locales/pt-PT.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "Sem comandos correspondentes",
"command.palettePlaceholder": "Escreva um comando...",
"command.footerNavigate": "↑↓ navegar",
"command.footerSelect": "↵ selecionar",
"command.footerClose": "esc fechar",
"command.footerSend": "↵ enviar",
"command.aiMode": "Modo {agent}",
"command.openSettings": "Abrir Definições",
"command.openSettings.keywords": "configuração de preferências",
"command.openLanguageSettings": "Abrir definições de idioma",
"command.openLanguageSettings.keywords": "idioma localização i18n internacionalização localização inglês italiano francês alemão russo espanhol português chinês japonês coreano 中文",
"command.useSystemLanguage": "Utilizar o idioma do sistema",
"command.openH1Setting": "Abrir a definição de renomeação automática de H1",
"command.contribute": "Contribuir",
"command.checkUpdates": "Verificar atualizações",
"command.group.navigation": "Navegação",
"command.group.note": "Nota",
"command.group.git": "Git",
"command.group.view": "Ver",
"command.group.settings": "Definições",
"command.navigation.searchNotes": "Pesquisar notas",
"command.navigation.goAllNotes": "Ir para Todas as notas",
"command.navigation.goArchived": "Ir para Arquivadas",
"command.navigation.goChanges": "Ir para Alterações",
"command.navigation.goHistory": "Ir para o Histórico",
"command.navigation.goBack": "Voltar",
"command.navigation.goForward": "Avançar",
"command.navigation.goInbox": "Ir para a Caixa de entrada",
"command.navigation.renameFolder": "Mudar o nome da pasta",
"command.navigation.deleteFolder": "Eliminar pasta",
"command.navigation.showOpenNotes": "Mostrar notas abertas",
"command.navigation.showArchivedNotes": "Mostrar notas arquivadas",
"command.navigation.listType": "Lista {type}",
"command.note.newNote": "Nova nota",
"command.note.newType": "Novo tipo",
"command.note.newTypedNote": "Novo {type}",
"command.note.saveNote": "Guardar nota",
"command.note.findInNote": "Procurar na nota",
"command.note.replaceInNote": "Substituir na nota",
"command.note.deleteNote": "Eliminar nota",
"command.note.archiveNote": "Arquivar nota",
"command.note.unarchiveNote": "Desarquivar nota",
"command.note.addFavorite": "Adicionar aos Favoritos",
"command.note.removeFavorite": "Remover dos Favoritos",
"command.note.markOrganized": "Assinalar como organizada",
"command.note.markUnorganized": "Assinalar como não organizada",
"command.note.restoreDeleted": "Recuperar nota eliminada",
"command.note.setIcon": "Definir ícone da nota",
"command.note.removeIcon": "Remover ícone da nota",
"command.note.changeType": "Alterar tipo de nota…",
"command.note.moveToFolder": "Mover nota para a pasta…",
"command.note.openNewWindow": "Abrir numa nova janela",
"command.git.initialize": "Inicializar o Git para o cofre atual",
"command.git.commitPush": "Fazer commit e push",
"command.git.addRemote": "Adicionar repositório remoto ao cofre atual",
"command.git.pull": "Efetuar pull do repositório remoto",
"command.git.resolveConflicts": "Resolver conflitos",
"command.git.viewChanges": "Ver alterações pendentes",
"command.view.editorOnly": "Apenas editor",
"command.view.editorNoteList": "Editor + Lista de notas",
"command.view.fullLayout": "Disposição completa",
"command.view.toggleProperties": "Ativar/desativar painel de propriedades",
"command.view.toggleDiff": "Ativar/desativar modo de diferenças",
"command.view.toggleRaw": "Ativar/desativar editor RAW",
"command.view.leftLayout": "Utilizar layout de nota alinhado à esquerda",
"command.view.centerLayout": "Utilizar layout de nota centrado",
"command.view.toggleAiPanel": "Ativar/desativar painel de IA",
"command.view.newAiChat": "Novo chat de IA",
"command.view.toggleBacklinks": "Ativar/desativar backlinks",
"command.view.zoomIn": "Aumentar ({zoom}%)",
"command.view.zoomOut": "Reduzir ({zoom}%)",
"command.view.resetZoom": "Repor o zoom",
"command.settings.createEmptyVault": "Criar cofre vazio…",
"command.settings.openVault": "Abrir cofre…",
"command.settings.removeVault": "Remover cofre da lista",
"command.settings.restoreGettingStarted": "Repor o cofre de introdução",
"command.settings.manageExternalAi": "Gerir ferramentas de IA externas…",
"command.settings.setupExternalAi": "Configurar ferramentas de IA externas…",
"command.settings.reloadVault": "Recarregar cofre",
"command.settings.repairVault": "Reparar cofre",
"command.ai.openAgents": "Abrir agentes de IA",
"command.ai.restoreGuidance": "Repor a orientação de IA da Tolaria",
"command.ai.switchToAgent": "Mudar o agente de IA para {agent}",
"command.ai.switchDefault": "Alterar agente de IA predefinido",
"command.ai.switchDefaultWithAgent": "Alterar agente de IA predefinido ({agent})",
"settings.title": "Definições",
"settings.close": "Fechar as definições",
"settings.sync.title": "Sincronização e atualizações",
"settings.sync.description": "Configurar a obtenção de atualizações em segundo plano e o feed de atualizações que a Tolaria segue. O canal Stable recebe apenas lançamentos promovidos manualmente, enquanto o canal Alpha segue todos os pushes para o main.",
"settings.pullInterval": "Intervalo de pull (minutos)",
"settings.releaseChannel": "Canal de lançamentos",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Aparência",
"settings.appearance.description": "Escolha o modo de cor da aplicação utilizado para o Tolaria Chrome, as superfícies do editor, os menus e as caixas de diálogo.",
"settings.theme.label": "Tema",
"settings.theme.light": "Claro",
"settings.theme.dark": "Escuro",
"settings.language.title": "Idioma",
"settings.language.description": "Escolha o idioma de apresentação do Tolaria Chrome. O sistema segue o macOS quando esse idioma é suportado, sendo o inglês a opção de recurso.",
"settings.language.label": "Idioma de apresentação",
"settings.language.system": "Sistema ({language})",
"settings.language.summary": "Quando faltam traduções, é utilizado o inglês como alternativa, para que as localizações parcialmente traduzidas continuem a poder ser utilizadas.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Cria automaticamente checkpoints conservativos do Git após pausas na edição ou quando a aplicação deixa de estar ativa.",
"settings.autogit.description.disabled": "O AutoGit não está disponível enquanto o cofre atual não estiver ativado para Git. Primeiro, inicialize o Git para este cofre.",
"settings.autogit.enable": "Ativar o AutoGit",
"settings.autogit.enableDescription": "Quando ativado, o Tolaria fará automaticamente o commit e o push das alterações locais guardadas após uma pausa por inatividade ou após a aplicação ficar inativa.",
"settings.autogit.idleThreshold": "Limite de inatividade (segundos)",
"settings.autogit.inactiveThreshold": "Período de tolerância de aplicação inativa (segundos)",
"settings.titles.title": "Títulos e nomes de ficheiro",
"settings.titles.description": "Escolha se a Tolaria deve sincronizar automaticamente os nomes de ficheiro das notas sem título com base no primeiro título H1.",
"settings.titles.autoRename": "Renomear automaticamente notas sem título com base no primeiro H1",
"settings.titles.autoRenameDescription": "Quando esta opção está ativada, a Tolaria muda o nome dos ficheiros de notas sem título assim que o primeiro H1 se torna um título verdadeiro. Desative esta opção para manter o nome do ficheiro inalterado até o renomear manualmente na barra de navegação.",
"settings.aiAgents.title": "Agentes de IA",
"settings.aiAgents.description": "Escolha que agente de IA de CLI é utilizado pela Tolaria no painel de IA e na paleta de comandos.",
"settings.aiAgents.default": "Agente de IA predefinido",
"settings.aiAgents.installed": "instalado",
"settings.aiAgents.missing": "em falta",
"settings.aiAgents.ready": "{agent}{version} está pronto a ser utilizado.",
"settings.aiAgents.notInstalled": "O {agent} ainda não está instalado. Ainda pode selecioná-lo agora e instalá-lo mais tarde.",
"settings.workflow.title": "Fluxo de trabalho",
"settings.workflow.description": "Escolha se a Tolaria deve mostrar o fluxo de trabalho da Caixa de entrada e como este se desloca pelos elementos enquanto os tria.",
"settings.workflow.explicit": "Organizar notas explicitamente",
"settings.workflow.explicitDescription": "Quando ativada, uma secção da Caixa de entrada mostra as notas não organizadas e um botão permite-lhe assinalar as notas como organizadas.",
"settings.workflow.autoAdvance": "Avançar automaticamente para o próximo elemento da Caixa de entrada",
"settings.workflow.autoAdvanceDescription": "Quando esta opção está ativada, ao marcar uma nota da Caixa de entrada como organizada, é imediatamente aberta a próxima nota visível da Caixa de entrada.",
"settings.privacy.title": "Privacidade e telemetria",
"settings.privacy.description": "Os dados anónimos ajudam-nos a corrigir erros e a melhorar a Tolaria. Nunca é enviado qualquer conteúdo do cofre, títulos de notas ou caminhos de ficheiros.",
"settings.privacy.crashReporting": "Relatórios de falhas",
"settings.privacy.crashReportingDescription": "Enviar relatórios de erros anónimos",
"settings.privacy.analytics": "Análise de utilização",
"settings.privacy.analyticsDescription": "Partilhar padrões de utilização anónimos",
"settings.footerShortcut": "⌘, para abrir as definições",
"settings.cancel": "Cancelar",
"settings.save": "Guardar",
"common.cancel": "Cancelar",
"locale.en": "Inglês",
"sidebar.nav.inbox": "Caixa de entrada",
"sidebar.nav.allNotes": "Todas as notas",
"sidebar.nav.archive": "Arquivar",
"sidebar.group.favorites": "FAVORITOS",
"sidebar.group.views": "VISUALIZAÇÕES",
"sidebar.group.types": "TIPOS",
"sidebar.group.folders": "PASTAS",
"sidebar.action.createView": "Criar vista",
"sidebar.action.editView": "Editar vista",
"sidebar.action.deleteView": "Eliminar vista",
"sidebar.action.customizeSections": "Personalizar secções",
"sidebar.action.renameSection": "Mudar o nome da secção…",
"sidebar.action.customizeIconColor": "Personalizar ícone e cor…",
"sidebar.action.createType": "Criar novo tipo",
"sidebar.action.collapse": "Recolher a barra lateral",
"sidebar.action.expand": "Expandir barra lateral",
"sidebar.action.createFolder": "Criar pasta",
"sidebar.action.renameFolder": "Mudar o nome da pasta",
"sidebar.action.deleteFolder": "Eliminar pasta",
"sidebar.action.revealFolderMenu": "Mostrar no Finder",
"sidebar.action.copyFolderPathMenu": "Copiar caminho da pasta",
"sidebar.action.renameFolderMenu": "Mudar o nome da pasta...",
"sidebar.action.deleteFolderMenu": "Eliminar pasta...",
"sidebar.folder.name": "Nome da pasta",
"sidebar.folder.newName": "Novo nome da pasta",
"sidebar.folder.expand": "Expandir {name}",
"sidebar.folder.collapse": "Fechar {name}",
"sidebar.section.name": "Nome da secção",
"sidebar.section.showInSidebar": "Mostrar na barra lateral",
"sidebar.section.toggle": "Alternar {label}",
"sidebar.disabled.comingSoon": "Brevemente",
"noteList.title.archive": "Arquivar",
"noteList.title.changes": "Alterações",
"noteList.title.inbox": "Caixa de entrada",
"noteList.title.history": "Histórico",
"noteList.title.view": "Ver",
"noteList.title.notes": "Notas",
"noteList.searchPlaceholder": "Pesquisar notas...",
"noteList.searchAction": "Pesquisar notas",
"noteList.createNote": "Criar nova nota",
"noteList.empty.changesError": "Não foi possível carregar as alterações: {error}",
"noteList.empty.noChanges": "Sem alterações pendentes",
"noteList.empty.noArchived": "Sem notas arquivadas",
"noteList.empty.noMatching": "Sem notas correspondentes",
"noteList.empty.allOrganized": "Todas as notas estão organizadas",
"noteList.empty.noNotes": "Não foram encontradas notas",
"noteList.empty.noMatchingItems": "Sem elementos correspondentes",
"noteList.empty.noRelatedItems": "Sem elementos relacionados",
"noteList.sort.modified": "Modificada",
"noteList.sort.created": "Criada",
"noteList.sort.title": "Título",
"noteList.sort.status": "Estado",
"noteList.sort.by": "Ordenar por {label}",
"noteList.sort.menu": "Ordenar por {label}",
"noteList.sort.ascending": "Ascendente",
"noteList.sort.descending": "Descendente",
"noteList.filter.open": "Aberto",
"noteList.filter.archived": "Arquivado",
"noteList.filter.week": "Semana",
"noteList.filter.month": "Mês",
"noteList.filter.all": "Todas",
"noteList.properties.customizeColumns": "Personalizar colunas",
"noteList.properties.customizeAllColumns": "Personalizar todas as colunas de Notas",
"noteList.properties.customizeInboxColumns": "Personalizar colunas da Caixa de entrada",
"noteList.properties.customizeViewColumns": "Personalizar colunas de {name}",
"noteList.properties.showInNoteList": "Mostrar na lista de notas",
"noteList.properties.searchPlaceholder": "Pesquisar propriedades...",
"noteList.properties.searchLabel": "Pesquisar propriedades da lista de notas",
"noteList.properties.noMatches": "Nenhuma propriedade corresponde a esta pesquisa.",
"noteList.properties.reorder": "Reordenar {name}",
"noteList.changes.restoreNote": "Repor nota",
"noteList.changes.discardChanges": "Rejeitar alterações",
"noteList.changes.restoreDescription": "Restaurar {file} a partir do Git?",
"noteList.changes.discardDescription": "Rejeitar as alterações a {file}? Esta ação não pode ser anulada.",
"noteList.changes.thisFile": "este ficheiro",
"noteList.changes.restore": "Repor",
"noteList.changes.discard": "Rejeitar",
"noteList.changes.cancel": "Cancelar",
"editor.empty.selectNote": "Selecione uma nota para começar a editar",
"editor.empty.shortcuts": "{quickOpen} para pesquisar · {newNote} para criar",
"editor.raw.label": "Editor RAW",
"editor.find.findLabel": "Localizar",
"editor.find.findPlaceholder": "Localizar",
"editor.find.replaceLabel": "Substituir",
"editor.find.replacePlaceholder": "Substituir",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "Sem correspondências",
"editor.find.invalidRegex": "Regex inválida",
"editor.find.regexMustMatchText": "A expressão regular (regex) tem de corresponder ao texto",
"editor.find.previousMatch": "Correspondência anterior",
"editor.find.nextMatch": "Próxima correspondência",
"editor.find.showReplace": "Mostrar substituição",
"editor.find.hideReplace": "Ocultar substituição",
"editor.find.regex": "Utilizar expressão regular",
"editor.find.matchCase": "Diferenciar maiúsculas de minúsculas",
"editor.find.close": "Fechar a localização",
"editor.find.replace": "Substituir",
"editor.find.replaceAll": "Todas",
"editor.toolbar.rawReturn": "Voltar ao editor",
"editor.toolbar.rawOpen": "Abrir o editor RAW",
"editor.toolbar.centerLayout": "Mudar para o layout de nota centrado",
"editor.toolbar.leftLayout": "Mudar para o layout de nota alinhado à esquerda",
"editor.toolbar.removeFavorite": "Remover dos favoritos",
"editor.toolbar.addFavorite": "Adicionar aos favoritos",
"editor.toolbar.markUnorganized": "Definir nota como não organizada",
"editor.toolbar.markOrganized": "Definir nota como organizada",
"editor.toolbar.noDiff": "Ainda não está disponível qualquer diff",
"editor.toolbar.loadingDiff": "A carregar o diff",
"editor.toolbar.showDiff": "Mostrar o diff atual",
"editor.toolbar.openAi": "Abrir o painel de IA",
"editor.toolbar.closeAi": "Fechar o painel de IA",
"editor.toolbar.restoreArchived": "Repor esta nota arquivada",
"editor.toolbar.archive": "Arquivar esta nota",
"editor.toolbar.delete": "Eliminar esta nota",
"editor.toolbar.revealFile": "Mostrar no Finder",
"editor.toolbar.copyFilePath": "Copiar caminho do ficheiro",
"editor.toolbar.openProperties": "Abrir o painel de propriedades",
"editor.filename.rename": "Mudar o nome do ficheiro",
"editor.filename.renameToTitle": "Mudar o nome do ficheiro para corresponder ao título",
"editor.filename.trigger": "Nome do ficheiro {filename}. Prima Enter para mudar o nome",
"editor.banner.archived": "Arquivado",
"editor.banner.unarchive": "Desarquivar",
"editor.banner.conflict": "Esta nota tem um conflito de fusão",
"editor.banner.keepMine": "Manter a minha",
"editor.banner.keepMineTooltip": "Manter a minha versão local",
"editor.banner.keepTheirs": "Manter a versão deles",
"editor.banner.keepTheirsTooltip": "Manter a versão remota",
"inspector.title.properties": "Propriedades",
"inspector.title.propertiesShortcut": "Propriedades (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Fechar Propriedades (⌘⇧I)",
"inspector.empty.noNoteSelected": "Nenhuma nota selecionada",
"inspector.empty.noProperties": "Esta nota ainda não tem propriedades",
"inspector.empty.initializeProperties": "Inicializar propriedades",
"inspector.empty.invalidProperties": "Propriedades inválidas",
"inspector.empty.fixInEditor": "Corrigir no editor",
"inspector.properties.addProperty": "Adicionar propriedade",
"inspector.properties.deleteProperty": "Eliminar propriedade",
"inspector.properties.none": "Nenhuma",
"inspector.properties.missingType": "Tipo em falta",
"inspector.properties.missingTypeAria": "Tipo {type} em falta. Clique para criar este tipo.",
"inspector.properties.searchTypes": "Pesquisar tipos...",
"inspector.properties.noMatchingTypes": "Sem tipos correspondentes",
"inspector.properties.yes": "Sim",
"inspector.properties.no": "Não",
"inspector.properties.pickDate": "Escolher uma data…",
"inspector.properties.valuePlaceholder": "Valor",
"inspector.properties.propertyName": "Nome da propriedade",
"inspector.relationship.add": "Adicionar",
"inspector.relationship.addRelationship": "+ Adicionar relação",
"inspector.relationship.name": "Nome da relação",
"inspector.relationship.noteTitle": "Título da nota",
"inspector.relationship.createAndOpen": "Criar e abrir",
"inspector.info.title": "Informações",
"inspector.info.modified": "Modificada",
"inspector.info.created": "Criada",
"inspector.info.words": "Palavras",
"inspector.info.size": "Tamanho",
"update.available": "está disponível",
"update.releaseNotes": "Notas de lançamento",
"update.updateNow": "Atualizar agora",
"update.dismiss": "Ignorar",
"update.downloading": "A transferir a Tolaria {version}...",
"update.readyRestart": "está pronta reinicie para aplicar",
"update.restartNow": "Reiniciar agora",
"status.update.check": "Verificar se há atualizações",
"status.zoom.reset": "Repor o nível de zoom",
"status.feedback.contribute": "Contribuir para a Tolaria",
"status.feedback.label": "Contribuir",
"status.theme.light": "Mudar para o modo claro",
"status.theme.dark": "Mudar para o modo escuro",
"status.settings.open": "Abrir definições",
"status.build.unknown": "b?",
"status.vault.switch": "Mudar de cofre",
"status.vault.default": "Cofre",
"status.vault.createEmpty": "Criar cofre vazio",
"status.vault.openLocal": "Abrir pasta local",
"status.vault.cloneGit": "Clonar repositório Git",
"status.vault.cloneGettingStarted": "Clonar cofre Getting Started",
"status.vault.notFound": "Cofre não encontrado: {path}",
"status.vault.remove": "Remover {label} da lista",
"status.remote.noneConfigured": "Nenhum repositório remoto configurado",
"status.remote.inSync": "Sincronizado com o repositório remoto",
"status.remote.aheadTitle": "{count} commit{plural} à frente do repositório remoto",
"status.remote.behindTitle": "{count} commit{plural} de atraso em relação ao repositório remoto",
"status.remote.ahead": "{count} à frente",
"status.remote.behind": "{count} atrasado(s)",
"status.remote.add": "Adicionar um repositório remoto a este cofre",
"status.remote.none": "Sem remote",
"status.remote.noneDescription": "Este cofre Git não tem nenhum repositório remoto configurado. Os commits permanecem locais até adicionar um.",
"status.sync.syncing": "A sincronizar...",
"status.sync.conflict": "Conflito",
"status.sync.failed": "Falha na sincronização",
"status.sync.pullRequired": "Pull necessário",
"status.sync.notSynced": "Não sincronizado",
"status.sync.justNow": "Sincronizada agora mesmo",
"status.sync.minutesAgo": "Sincronizada há {minutes} min",
"status.sync.resolveConflicts": "Resolver conflitos de merge",
"status.sync.inProgress": "Sincronização em curso",
"status.sync.pullAndPush": "Efetuar pull do repositório remoto e push",
"status.sync.retry": "Tentar sincronizar novamente",
"status.sync.now": "Sincronizar agora",
"status.sync.synced": "Sincronizado",
"status.sync.conflicts": "Conflitos",
"status.sync.error": "Erro",
"status.sync.status": "Estado: {status}",
"status.sync.pull": "Pull",
"status.conflict.count": "{count} conflito{plural}",
"status.offline.title": "Sem ligação à Internet",
"status.offline.label": "Offline",
"status.changes.view": "Ver alterações pendentes",
"status.changes.label": "Alterações",
"status.commit.local": "Efetuar commit das alterações localmente",
"status.commit.push": "Efetuar commit e push das alterações",
"status.commit.label": "Efetuar commit",
"status.commit.openOnGitHub": "Abrir o commit {hash} no GitHub",
"status.git.disabledTooltip": "O Git está desativado para este cofre. Inicialize o Git para ativar o histórico, a sincronização, os commits e as vistas de alterações.",
"status.git.disabled": "Git desativado",
"status.history.onlyGit": "O histórico só está disponível para cofres com o Git ativado",
"status.history.open": "Abrir histórico de alterações",
"status.history.label": "Histórico",
"status.mcp.notConnected": "Ferramentas de IA externas não ligadas — clique para configurar",
"status.mcp.unknown": "Estado do MCP desconhecido",
"status.claude.missing": "Claude Code em falta",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code não encontrado — clique para instalar",
"status.ai.noAgents": "Nenhum agente de IA detetado",
"status.ai.noAgentsTooltip": "Nenhum agente de IA detetado — clique para obter detalhes de configuração",
"status.ai.selectedMissing": "{agent} está selecionado, mas não instalado — clique para obter detalhes de configuração",
"status.ai.defaultAgent": "Agente de IA predefinido: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — clique para obter detalhes sobre o restauro",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Agente de IA ativo: {agent}",
"status.ai.unavailable": "Agente de IA selecionado indisponível: {agent}",
"status.ai.install": "Instalar",
"status.ai.installAgent": "Instalar {agent}",
"status.ai.vaultGuidance": "Orientação do cofre",
"status.ai.restoreGuidance": "Restaurar a orientação de IA da Tolaria",
"status.ai.openOptions": "Abrir opções do agente de IA",
"pulse.title": "Histórico",
"pulse.today": "Hoje",
"pulse.yesterday": "Ontem",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "commit",
"pulse.commitPlural": "commits",
"pulse.openOnGitHub": "Abrir no GitHub",
"pulse.expandFiles": "Expandir ficheiros",
"pulse.collapseFiles": "Ocultar ficheiros",
"pulse.noActivity": "Ainda não há atividade",
"pulse.emptyDescription": "Faça o commit das alterações para ver o histórico do seu cofre",
"pulse.retry": "Tentar novamente",
"pulse.loadingActivity": "A carregar atividade…",
"pulse.loading": "A carregar…",
"pulse.loadError": "Não foi possível carregar a atividade",
"command.switchLanguage": "Alterar idioma para {language}",
"locale.itIT": "Italiano",
"locale.frFR": "Francês",
"locale.deDE": "Alemão",
"locale.ruRU": "Russo",
"locale.esES": "Espanhol (Espanha)",
"locale.ptBR": "Português (Brasil)",
"locale.ptPT": "Português (Portugal)",
"locale.es419": "Espanhol (América Latina)",
"locale.zhCN": "Chinês simplificado",
"locale.jaJP": "Japonês",
"locale.koKR": "Coreano"
}

405
src/lib/locales/ru-RU.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "Нет подходящих команд",
"command.palettePlaceholder": "Введите команду...",
"command.footerNavigate": "↑↓ навигация",
"command.footerSelect": "↵ выбрать",
"command.footerClose": "esc закрыть",
"command.footerSend": "↵ отправить",
"command.aiMode": "Режим {agent}",
"command.openSettings": "Открыть настройки",
"command.openSettings.keywords": "Настройки конфигурации",
"command.openLanguageSettings": "Открыть настройки языка",
"command.openLanguageSettings.keywords": "язык регион i18n интернационализация локализация английский итальянский французский немецкий русский испанский португальский китайский японский корейский 中文",
"command.useSystemLanguage": "Использовать язык системы",
"command.openH1Setting": "Открыть настройку автоматического переименования H1",
"command.contribute": "Внести свой вклад",
"command.checkUpdates": "Проверить наличие обновлений",
"command.group.navigation": "Навигация",
"command.group.note": "Примечание",
"command.group.git": "Git",
"command.group.view": "Просмотр",
"command.group.settings": "Настройки",
"command.navigation.searchNotes": "Поиск по заметкам",
"command.navigation.goAllNotes": "Перейти ко всем заметкам",
"command.navigation.goArchived": "Перейти к архивированным",
"command.navigation.goChanges": "Перейти к изменениям",
"command.navigation.goHistory": "Перейти к истории",
"command.navigation.goBack": "Назад",
"command.navigation.goForward": "Вперед",
"command.navigation.goInbox": "Перейти во «Входящие»",
"command.navigation.renameFolder": "Переименовать папку",
"command.navigation.deleteFolder": "Удалить папку",
"command.navigation.showOpenNotes": "Показать открытые заметки",
"command.navigation.showArchivedNotes": "Показать заархивированные заметки",
"command.navigation.listType": "Список {type}",
"command.note.newNote": "Новая заметка",
"command.note.newType": "Новый тип",
"command.note.newTypedNote": "Новый {type}",
"command.note.saveNote": "Сохранить заметку",
"command.note.findInNote": "Найти в заметке",
"command.note.replaceInNote": "Заменить в заметке",
"command.note.deleteNote": "Удалить заметку",
"command.note.archiveNote": "Архивировать заметку",
"command.note.unarchiveNote": "Разархивировать заметку",
"command.note.addFavorite": "Добавить в избранное",
"command.note.removeFavorite": "Удалить из избранного",
"command.note.markOrganized": "Пометить как упорядоченную",
"command.note.markUnorganized": "Пометить как неорганизованную",
"command.note.restoreDeleted": "Восстановить удаленную заметку",
"command.note.setIcon": "Установить значок заметки",
"command.note.removeIcon": "Удалить значок заметки",
"command.note.changeType": "Изменить тип заметки…",
"command.note.moveToFolder": "Переместить заметку в папку…",
"command.note.openNewWindow": "Открыть в новом окне",
"command.git.initialize": "Инициализировать Git для текущего хранилища",
"command.git.commitPush": "Commit и Push",
"command.git.addRemote": "Добавить удаленный репозиторий в текущий хранилище",
"command.git.pull": "Pull from Remote",
"command.git.resolveConflicts": "Разрешить конфликты",
"command.git.viewChanges": "Просмотреть ожидающие изменения",
"command.view.editorOnly": "Только редактор",
"command.view.editorNoteList": "Редактор + список заметок",
"command.view.fullLayout": "Полный макет",
"command.view.toggleProperties": "Переключить панель свойств",
"command.view.toggleDiff": "Переключить режим сравнения",
"command.view.toggleRaw": "Переключить редактор Raw",
"command.view.leftLayout": "Использовать левостороннее расположение заметок",
"command.view.centerLayout": "Использовать центрированный макет заметки",
"command.view.toggleAiPanel": "Переключить панель ИИ",
"command.view.newAiChat": "Новый AI-чат",
"command.view.toggleBacklinks": "Переключить обратные ссылки",
"command.view.zoomIn": "Увеличить ({zoom}%)",
"command.view.zoomOut": "Уменьшить ({zoom}%)",
"command.view.resetZoom": "Сбросить масштаб",
"command.settings.createEmptyVault": "Создать пустой хранилище…",
"command.settings.openVault": "Открыть хранилище…",
"command.settings.removeVault": "Удалить хранилище из списка",
"command.settings.restoreGettingStarted": "Восстановить хранилище «Начало работы»",
"command.settings.manageExternalAi": "Управление внешними инструментами ИИ…",
"command.settings.setupExternalAi": "Настроить внешние инструменты ИИ…",
"command.settings.reloadVault": "Перезагрузить хранилище",
"command.settings.repairVault": "Восстановить хранилище",
"command.ai.openAgents": "Открыть AI Agents",
"command.ai.restoreGuidance": "Восстановить руководство Tolaria AI",
"command.ai.switchToAgent": "Переключить AI-агента на {agent}",
"command.ai.switchDefault": "Переключить агент ИИ по умолчанию",
"command.ai.switchDefaultWithAgent": "Переключить агент ИИ по умолчанию ({agent})",
"settings.title": "Настройки",
"settings.close": "Закрыть настройки",
"settings.sync.title": "Синхронизация и обновления",
"settings.sync.description": "Настройте загрузку в фоновом режиме и выберите, за каким каналом обновлений будет следить Tolaria. В канале Stable поступают только релизы, продвигаемые вручную, а в канале Alpha отслежимается каждый пуш в main.",
"settings.pullInterval": "Интервал получения (минуты)",
"settings.releaseChannel": "Канал выпусков",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "Внешний вид",
"settings.appearance.description": "Выберите цветовой режим приложения, который будет использоваться для Tolaria Chrome, интерфейса редактора, меню и диалоговых окон.",
"settings.theme.label": "Тема",
"settings.theme.light": "Светлая",
"settings.theme.dark": "Темная",
"settings.language.title": "Язык",
"settings.language.description": "Выберите язык отображения для Tolaria chrome. Система использует язык macOS, если он поддерживается, а в противном случае — английский.",
"settings.language.label": "Язык интерфейса",
"settings.language.system": "Системный ({language})",
"settings.language.summary": "Если перевод отсутствует, используется английский текст, поэтому частично переведенные локали остаются пригодными для использования.",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "Автоматически создавать консервативные контрольные точки Git после пауз в редактировании или когда приложение перестает быть активным.",
"settings.autogit.description.disabled": "Функция AutoGit недоступна, пока для текущего хранилища не включена поддержка Git. Сначала инициализируйте Git для этого хранилища.",
"settings.autogit.enable": "Включить AutoGit",
"settings.autogit.enableDescription": "Если эта функция включена, Tolaria будет автоматически выполнять коммит и пуш сохраненных локальных изменений после паузы бездействия или после того, как приложение станет неактивным.",
"settings.autogit.idleThreshold": "Порог бездействия (секунды)",
"settings.autogit.inactiveThreshold": "Период отсрочки при неактивном приложении (секунды)",
"settings.titles.title": "Заголовки и имена файлов",
"settings.titles.description": "Выберите, должна ли Tolaria автоматически синхронизировать имена файлов заметок без названия на основе первого заголовка H1.",
"settings.titles.autoRename": "Автоматически переименовывать заметки без названия по первому заголовку H1",
"settings.titles.autoRenameDescription": "Если эта функция включена, Tolaria переименовывает файлы заметок без названия, как только первый заголовок H1 становится настоящим заголовком. Отключите эту опцию, чтобы имя файла оставалось неизменным, пока вы не переименуете его вручную в строке навигации.",
"settings.aiAgents.title": "AI-агенты",
"settings.aiAgents.description": "Выберите, какой CLI-агент ИИ Tolaria будет использовать на панели ИИ и в палитре команд.",
"settings.aiAgents.default": "AI-агент по умолчанию",
"settings.aiAgents.installed": "установлен",
"settings.aiAgents.missing": "отсутствует",
"settings.aiAgents.ready": "{agent}{version} готов к использованию.",
"settings.aiAgents.notInstalled": "{agent} еще не установлен. Вы всё равно можете выбрать его сейчас и установить позже.",
"settings.workflow.title": "Рабочий процесс",
"settings.workflow.description": "Выберите, будет ли Tolaria отображать рабочий процесс в папке «Входящие», а также порядок перемещения по элементам во время их сортировки.",
"settings.workflow.explicit": "Явно упорядочивать заметки",
"settings.workflow.explicitDescription": "Если эта функция включена, в разделе «Входящие» отображаются неорганизованные заметки, а с помощью переключателя можно помечать заметки как организованные.",
"settings.workflow.autoAdvance": "Автоматический переход к следующему элементу в папке «Входящие»",
"settings.workflow.autoAdvanceDescription": "Если эта функция включена, при отметке заметки в папке «Входящие» как упорядоченной сразу же открывается следующая видимая заметка в папке «Входящие».",
"settings.privacy.title": "Конфиденциальность и телеметрия",
"settings.privacy.description": "Анонимные данные помогают нам исправлять ошибки и улучшать Tolaria. Мы никогда не отправляем содержимое хранилища, заголовки заметок или пути к файлам.",
"settings.privacy.crashReporting": "Отчеты о сбоях",
"settings.privacy.crashReportingDescription": "Отправлять анонимные отчеты об ошибках",
"settings.privacy.analytics": "Аналитика использования",
"settings.privacy.analyticsDescription": "Передача анонимных данных о характере использования",
"settings.footerShortcut": "⌘, чтобы открыть настройки",
"settings.cancel": "Отменить",
"settings.save": "Сохранить",
"common.cancel": "Отменить",
"locale.en": "Английский",
"sidebar.nav.inbox": "Входящие",
"sidebar.nav.allNotes": "Все заметки",
"sidebar.nav.archive": "Архив",
"sidebar.group.favorites": "ИЗБРАННОЕ",
"sidebar.group.views": "ПРОСМОТРЫ",
"sidebar.group.types": "ТИПЫ",
"sidebar.group.folders": "ПАПКИ",
"sidebar.action.createView": "Создать представление",
"sidebar.action.editView": "Редактировать представление",
"sidebar.action.deleteView": "Удалить представление",
"sidebar.action.customizeSections": "Настроить разделы",
"sidebar.action.renameSection": "Переименовать раздел…",
"sidebar.action.customizeIconColor": "Настроить значок и цвет…",
"sidebar.action.createType": "Создать новый тип",
"sidebar.action.collapse": "Свернуть боковую панель",
"sidebar.action.expand": "Развернуть боковую панель",
"sidebar.action.createFolder": "Создать папку",
"sidebar.action.renameFolder": "Переименовать папку",
"sidebar.action.deleteFolder": "Удалить папку",
"sidebar.action.revealFolderMenu": "Показать в Finder",
"sidebar.action.copyFolderPathMenu": "Копировать путь к папке",
"sidebar.action.renameFolderMenu": "Переименовать папку...",
"sidebar.action.deleteFolderMenu": "Удалить папку...",
"sidebar.folder.name": "Имя папки",
"sidebar.folder.newName": "Новое название папки",
"sidebar.folder.expand": "Развернуть {name}",
"sidebar.folder.collapse": "Свернуть {name}",
"sidebar.section.name": "Название раздела",
"sidebar.section.showInSidebar": "Показать на боковой панели",
"sidebar.section.toggle": "Переключить {label}",
"sidebar.disabled.comingSoon": "Скоро",
"noteList.title.archive": "Архив",
"noteList.title.changes": "Изменения",
"noteList.title.inbox": "Входящие",
"noteList.title.history": "История",
"noteList.title.view": "Просмотр",
"noteList.title.notes": "Заметки",
"noteList.searchPlaceholder": "Поиск заметок...",
"noteList.searchAction": "Поиск по заметкам",
"noteList.createNote": "Создать новую заметку",
"noteList.empty.changesError": "Не удалось загрузить изменения: {error}",
"noteList.empty.noChanges": "Нет изменений, ожидающих подтверждения",
"noteList.empty.noArchived": "Нет заархивированных заметок",
"noteList.empty.noMatching": "Нет соответствующие заметки",
"noteList.empty.allOrganized": "Все заметки упорядочены",
"noteList.empty.noNotes": "Заметок не найдено",
"noteList.empty.noMatchingItems": "Нет совпадающих элементов",
"noteList.empty.noRelatedItems": "Нет связанных элементов",
"noteList.sort.modified": "Изменено",
"noteList.sort.created": "Создано",
"noteList.sort.title": "Название",
"noteList.sort.status": "Статус",
"noteList.sort.by": "Сортировать по {label}",
"noteList.sort.menu": "Сортировать по {label}",
"noteList.sort.ascending": "По возрастанию",
"noteList.sort.descending": "По убыванию",
"noteList.filter.open": "Открыто",
"noteList.filter.archived": "Архивировано",
"noteList.filter.week": "Неделя",
"noteList.filter.month": "Месяц",
"noteList.filter.all": "Все",
"noteList.properties.customizeColumns": "Настроить столбцы",
"noteList.properties.customizeAllColumns": "Настроить все столбцы раздела «Заметки»",
"noteList.properties.customizeInboxColumns": "Настроить столбцы раздела «Входящие»",
"noteList.properties.customizeViewColumns": "Настроить столбцы {name}",
"noteList.properties.showInNoteList": "Показать в списке заметок",
"noteList.properties.searchPlaceholder": "Поиск свойств...",
"noteList.properties.searchLabel": "Поиск свойств списка заметок",
"noteList.properties.noMatches": "По этому поисковому запросу свойств не найдено.",
"noteList.properties.reorder": "Изменить порядок столбцов {name}",
"noteList.changes.restoreNote": "Восстановить заметку",
"noteList.changes.discardChanges": "Отменить изменения",
"noteList.changes.restoreDescription": "Восстановить {file} из Git?",
"noteList.changes.discardDescription": "Отменить изменения в {file}? Это действие нельзя отменить.",
"noteList.changes.thisFile": "этот файл",
"noteList.changes.restore": "Восстановить",
"noteList.changes.discard": "Отменить изменения",
"noteList.changes.cancel": "Отменить",
"editor.empty.selectNote": "Выберите заметку, чтобы начать редактирование",
"editor.empty.shortcuts": "{quickOpen} для поиска · {newNote} для создания",
"editor.raw.label": "Редактор Raw",
"editor.find.findLabel": "Найти",
"editor.find.findPlaceholder": "Найти",
"editor.find.replaceLabel": "Заменить",
"editor.find.replacePlaceholder": "Заменить",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "Совпадений нет",
"editor.find.invalidRegex": "Недопустимое регулярное выражение",
"editor.find.regexMustMatchText": "Регулярное выражение должно соответствовать тексту",
"editor.find.previousMatch": "Предыдущее совпадение",
"editor.find.nextMatch": "Следующее совпадение",
"editor.find.showReplace": "Показать замену",
"editor.find.hideReplace": "Скрыть замену",
"editor.find.regex": "Использовать регулярное выражение",
"editor.find.matchCase": "С учетом регистра",
"editor.find.close": "Закрыть поиск",
"editor.find.replace": "Заменить",
"editor.find.replaceAll": "Все",
"editor.toolbar.rawReturn": "Вернуться в редактор",
"editor.toolbar.rawOpen": "Открыть RAW-редактор",
"editor.toolbar.centerLayout": "Переключиться на центрированный макет заметки",
"editor.toolbar.leftLayout": "Переключиться на макет заметки с выравниванием по левому краю",
"editor.toolbar.removeFavorite": "Удалить из избранного",
"editor.toolbar.addFavorite": "Добавить в избранное",
"editor.toolbar.markUnorganized": "Пометить заметку как неорганизованную",
"editor.toolbar.markOrganized": "Пометить заметку как упорядоченную",
"editor.toolbar.noDiff": "Пока нет доступных diff",
"editor.toolbar.loadingDiff": "Загрузка diff",
"editor.toolbar.showDiff": "Показать текущий diff",
"editor.toolbar.openAi": "Открыть панель ИИ",
"editor.toolbar.closeAi": "Закрыть панель ИИ",
"editor.toolbar.restoreArchived": "Восстановить эту заархивированную заметку",
"editor.toolbar.archive": "Архивировать эту заметку",
"editor.toolbar.delete": "Удалить эту заметку",
"editor.toolbar.revealFile": "Показать в Finder",
"editor.toolbar.copyFilePath": "Копировать путь к файлу",
"editor.toolbar.openProperties": "Открыть панель свойств",
"editor.filename.rename": "Переименовать файл",
"editor.filename.renameToTitle": "Переименовать файл в соответствии с заголовком",
"editor.filename.trigger": "Имя файла: {filename}. Нажмите Enter, чтобы переименовать.",
"editor.banner.archived": "Архивировано",
"editor.banner.unarchive": "Разархивировать",
"editor.banner.conflict": "В этой заметке есть конфликт при объединении",
"editor.banner.keepMine": "Сохранить мою",
"editor.banner.keepMineTooltip": "Сохранить мою локальную версию",
"editor.banner.keepTheirs": "Сохранить их версию",
"editor.banner.keepTheirsTooltip": "Сохранить удаленную версию",
"inspector.title.properties": "Свойства",
"inspector.title.propertiesShortcut": "Свойства (⌘⇧I)",
"inspector.title.closePropertiesShortcut": "Закрыть свойства (⌘⇧I)",
"inspector.empty.noNoteSelected": "Ни одна заметка не выбрана",
"inspector.empty.noProperties": "У этой заметки пока нет свойств",
"inspector.empty.initializeProperties": "Инициализировать свойства",
"inspector.empty.invalidProperties": "Недействительные свойства",
"inspector.empty.fixInEditor": "Исправить в редакторе",
"inspector.properties.addProperty": "Добавить свойство",
"inspector.properties.deleteProperty": "Удалить свойство",
"inspector.properties.none": "Нет",
"inspector.properties.missingType": "Отсутствует тип",
"inspector.properties.missingTypeAria": "Отсутствует тип {type}. Нажмите, чтобы создать этот тип.",
"inspector.properties.searchTypes": "Поиск типов...",
"inspector.properties.noMatchingTypes": "Нет подходящих типов",
"inspector.properties.yes": "Да",
"inspector.properties.no": "Нет",
"inspector.properties.pickDate": "Выберите дату…",
"inspector.properties.valuePlaceholder": "Значение",
"inspector.properties.propertyName": "Название свойства",
"inspector.relationship.add": "Добавить",
"inspector.relationship.addRelationship": "+ Добавить связь",
"inspector.relationship.name": "Название связи",
"inspector.relationship.noteTitle": "Название заметки",
"inspector.relationship.createAndOpen": "Создать и открыть",
"inspector.info.title": "Информация",
"inspector.info.modified": "Изменено",
"inspector.info.created": "Создано",
"inspector.info.words": "Слов",
"inspector.info.size": "Размер",
"update.available": "доступно",
"update.releaseNotes": "Примечания к выпуску",
"update.updateNow": "Обновить сейчас",
"update.dismiss": "Закрыть",
"update.downloading": "Загрузка Tolaria {version}...",
"update.readyRestart": "Готово — перезапустите приложение, чтобы применить обновление",
"update.restartNow": "Перезапустить сейчас",
"status.update.check": "Проверить наличие обновлений",
"status.zoom.reset": "Сбросить уровень масштабирования",
"status.feedback.contribute": "Внести свой вклад в Tolaria",
"status.feedback.label": "Внести свой вклад",
"status.theme.light": "Переключиться в светлый режим",
"status.theme.dark": "Переключиться в темный режим",
"status.settings.open": "Открыть настройки",
"status.build.unknown": "b?",
"status.vault.switch": "Переключить хранилище",
"status.vault.default": "Хранилище",
"status.vault.createEmpty": "Создать пустой хранилище",
"status.vault.openLocal": "Открыть локальную папку",
"status.vault.cloneGit": "Клонировать Git-репозиторий",
"status.vault.cloneGettingStarted": "Клонировать хранилище «Начало работы»",
"status.vault.notFound": "Хранилище не найдено: {path}",
"status.vault.remove": "Удалить {label} из списка",
"status.remote.noneConfigured": "Ни один удаленный репозиторий не настроен",
"status.remote.inSync": "Синхронизировано с удаленным репозиторием",
"status.remote.aheadTitle": "На {count} коммит{plural} опережает удаленный репозиторий",
"status.remote.behindTitle": "Отстает от удаленного репозитория на {count} коммит{plural}",
"status.remote.ahead": "На {count} впереди",
"status.remote.behind": "Отстает на {count}",
"status.remote.add": "Добавить удаленный репозиторий в этот хранилище",
"status.remote.none": "Нет удаленного репозитория",
"status.remote.noneDescription": "Для этого хранилища Git не настроен ни один удаленный репозиторий. Коммиты остаются локальными, пока вы не добавите удаленный репозиторий.",
"status.sync.syncing": "Синхронизация...",
"status.sync.conflict": "Конфликт",
"status.sync.failed": "Синхронизация не выполнена",
"status.sync.pullRequired": "Требуется выполнить pull",
"status.sync.notSynced": "Не синхронизировано",
"status.sync.justNow": "Синхронизировано только что",
"status.sync.minutesAgo": "Синхронизировано {minutes} мин. назад",
"status.sync.resolveConflicts": "Устранить конфликты слияния",
"status.sync.inProgress": "Выполняется синхронизация",
"status.sync.pullAndPush": "Выполнить pull из удаленного репозитория и push",
"status.sync.retry": "Повторить синхронизацию",
"status.sync.now": "Синхронизировать сейчас",
"status.sync.synced": "Синхронизировано",
"status.sync.conflicts": "Конфликты",
"status.sync.error": "Ошибка",
"status.sync.status": "Статус: {status}",
"status.sync.pull": "Получить",
"status.conflict.count": "{count} конфликт{plural}",
"status.offline.title": "Нет подключения к Интернету",
"status.offline.label": "Офлайн",
"status.changes.view": "Посмотреть изменения, ожидающие подтверждения",
"status.changes.label": "Изменения",
"status.commit.local": "Зафиксировать изменения локально",
"status.commit.push": "Зафиксировать и отправить изменения",
"status.commit.label": "Commit",
"status.commit.openOnGitHub": "Открыть коммит {hash} на GitHub",
"status.git.disabledTooltip": "Для этого хранилища Git отключен. Инициализируйте Git, чтобы включить историю, синхронизацию, коммиты и представления изменений.",
"status.git.disabled": "Git отключен",
"status.history.onlyGit": "История доступна только для хранилищ с поддержкой Git.",
"status.history.open": "Открыть историю изменений",
"status.history.label": "История",
"status.mcp.notConnected": "Внешние инструменты ИИ не подключены — нажмите, чтобы настроить",
"status.mcp.unknown": "Статус MCP неизвестен",
"status.claude.missing": "Отсутствует Claude Code",
"status.claude.label": "Claude Code",
"status.claude.install": "Claude Code не найден — нажмите, чтобы установить",
"status.ai.noAgents": "AI-агенты не обнаружены",
"status.ai.noAgentsTooltip": "AI-агенты не обнаружены — нажмите, чтобы узнать подробности настройки",
"status.ai.selectedMissing": "{agent} выбран, но не установлен — нажмите, чтобы получить сведения о настройке",
"status.ai.defaultAgent": "AI-агент по умолчанию: {agent}{version}",
"status.ai.restoreDetails": "{base}. {summary} — нажмите, чтобы узнать подробности о восстановлении",
"status.ai.withGuidance": "{base}. {summary}",
"status.ai.active": "Активный AI-агент: {agent}",
"status.ai.unavailable": "Выбранный ИИ-агент недоступен: {agent}",
"status.ai.install": "Установить",
"status.ai.installAgent": "Установить {agent}",
"status.ai.vaultGuidance": "Руководство по хранилищу",
"status.ai.restoreGuidance": "Восстановить руководство Tolaria AI",
"status.ai.openOptions": "Открыть параметры AI-агента",
"pulse.title": "История",
"pulse.today": "Сегодня",
"pulse.yesterday": "Вчера",
"pulse.commitCount": "{count} {label}",
"pulse.commitSingular": "коммит",
"pulse.commitPlural": "Коммиты",
"pulse.openOnGitHub": "Открыть на GitHub",
"pulse.expandFiles": "Развернуть файлы",
"pulse.collapseFiles": "Свернуть файлы",
"pulse.noActivity": "Пока нет активности",
"pulse.emptyDescription": "Зафиксируйте изменения, чтобы увидеть историю вашего хранилища",
"pulse.retry": "Повторить попытку",
"pulse.loadingActivity": "Загрузка активности…",
"pulse.loading": "Загрузка…",
"pulse.loadError": "Не удалось загрузить активность",
"command.switchLanguage": "Изменить язык на {language}",
"locale.itIT": "Итальянский",
"locale.frFR": "Французский",
"locale.deDE": "Немецкий",
"locale.ruRU": "Русский",
"locale.esES": "Español (España)",
"locale.ptBR": "Português (Brasil)",
"locale.ptPT": "葡萄牙语(葡萄牙)",
"locale.es419": "西班牙语(拉丁美洲)",
"locale.zhCN": "简体中文",
"locale.jaJP": "日本語",
"locale.koKR": "Coreano"
}

405
src/lib/locales/zh-CN.json Normal file
View File

@@ -0,0 +1,405 @@
{
"command.noMatches": "没有匹配的命令",
"command.palettePlaceholder": "输入命令...",
"command.footerNavigate": "↑↓ 导航",
"command.footerSelect": "↵ 选择",
"command.footerClose": "esc 关闭",
"command.footerSend": "↵ 发送",
"command.aiMode": "{agent} 模式",
"command.openSettings": "打开设置",
"command.openSettings.keywords": "设置 偏好 配置",
"command.openLanguageSettings": "打开语言设置",
"command.openLanguageSettings.keywords": "语言 区域 i18n 国际化 本地化 中文 english italian french german russian spanish portuguese japanese korean",
"command.useSystemLanguage": "使用系统语言",
"command.openH1Setting": "打开 H1 自动重命名设置",
"command.contribute": "参与贡献",
"command.checkUpdates": "检查更新",
"command.group.navigation": "导航",
"command.group.note": "笔记",
"command.group.git": "Git",
"command.group.view": "视图",
"command.group.settings": "设置",
"command.navigation.searchNotes": "搜索笔记",
"command.navigation.goAllNotes": "前往全部笔记",
"command.navigation.goArchived": "前往归档",
"command.navigation.goChanges": "前往更改",
"command.navigation.goHistory": "前往历史",
"command.navigation.goBack": "后退",
"command.navigation.goForward": "前进",
"command.navigation.goInbox": "前往收件箱",
"command.navigation.renameFolder": "重命名文件夹",
"command.navigation.deleteFolder": "删除文件夹",
"command.navigation.showOpenNotes": "显示打开的笔记",
"command.navigation.showArchivedNotes": "显示归档笔记",
"command.navigation.listType": "列出{type}",
"command.note.newNote": "新建笔记",
"command.note.newType": "新建类型",
"command.note.newTypedNote": "新建{type}",
"command.note.saveNote": "保存笔记",
"command.note.findInNote": "在笔记中查找",
"command.note.replaceInNote": "在笔记中替换",
"command.note.deleteNote": "删除笔记",
"command.note.archiveNote": "归档笔记",
"command.note.unarchiveNote": "取消归档笔记",
"command.note.addFavorite": "添加到收藏",
"command.note.removeFavorite": "从收藏中移除",
"command.note.markOrganized": "标记为已整理",
"command.note.markUnorganized": "标记为未整理",
"command.note.restoreDeleted": "恢复已删除笔记",
"command.note.setIcon": "设置笔记图标",
"command.note.removeIcon": "移除笔记图标",
"command.note.changeType": "更改笔记类型…",
"command.note.moveToFolder": "将笔记移动到文件夹…",
"command.note.openNewWindow": "在新窗口中打开",
"command.git.initialize": "为当前仓库初始化 Git",
"command.git.commitPush": "提交并推送",
"command.git.addRemote": "为当前仓库添加远程地址",
"command.git.pull": "从远程拉取",
"command.git.resolveConflicts": "解决冲突",
"command.git.viewChanges": "查看待处理更改",
"command.view.editorOnly": "仅编辑器",
"command.view.editorNoteList": "编辑器 + 笔记列表",
"command.view.fullLayout": "完整布局",
"command.view.toggleProperties": "切换属性面板",
"command.view.toggleDiff": "切换差异模式",
"command.view.toggleRaw": "切换源码编辑器",
"command.view.leftLayout": "使用左对齐笔记布局",
"command.view.centerLayout": "使用居中笔记布局",
"command.view.toggleAiPanel": "切换 AI 面板",
"command.view.newAiChat": "新建 AI 对话",
"command.view.toggleBacklinks": "切换反向链接",
"command.view.zoomIn": "放大({zoom}%",
"command.view.zoomOut": "缩小({zoom}%",
"command.view.resetZoom": "重置缩放",
"command.settings.createEmptyVault": "创建空仓库…",
"command.settings.openVault": "打开仓库…",
"command.settings.removeVault": "从列表移除仓库",
"command.settings.restoreGettingStarted": "恢复入门仓库",
"command.settings.manageExternalAi": "管理外部 AI 工具…",
"command.settings.setupExternalAi": "设置外部 AI 工具…",
"command.settings.reloadVault": "重新加载仓库",
"command.settings.repairVault": "修复仓库",
"command.ai.openAgents": "打开 AI 代理设置",
"command.ai.restoreGuidance": "恢复 Tolaria AI 指导文件",
"command.ai.switchToAgent": "将 AI 代理切换为 {agent}",
"command.ai.switchDefault": "切换默认 AI 代理",
"command.ai.switchDefaultWithAgent": "切换默认 AI 代理({agent}",
"settings.title": "设置",
"settings.close": "关闭设置",
"settings.sync.title": "同步与更新",
"settings.sync.description": "配置后台拉取以及 Tolaria 使用的更新通道。Stable 只接收手动推广的版本Alpha 跟随 main 的每次推送。",
"settings.pullInterval": "拉取间隔(分钟)",
"settings.releaseChannel": "发布通道",
"settings.releaseStable": "Stable",
"settings.releaseAlpha": "Alpha",
"settings.appearance.title": "外观",
"settings.appearance.description": "选择 Tolaria 界面、编辑器、菜单和对话框使用的颜色模式。",
"settings.theme.label": "主题",
"settings.theme.light": "浅色",
"settings.theme.dark": "深色",
"settings.language.title": "语言",
"settings.language.description": "选择 Tolaria 界面的显示语言。系统选项会在支持时跟随 macOS否则回退到英文。",
"settings.language.label": "显示语言",
"settings.language.system": "系统({language}",
"settings.language.summary": "缺失的翻译会回退到英文,因此部分翻译的语言也能正常使用。",
"settings.autogit.title": "AutoGit",
"settings.autogit.description.enabled": "在编辑暂停或应用不再活跃后,自动创建保守的 Git 检查点。",
"settings.autogit.description.disabled": "当前仓库启用 Git 后才能使用 AutoGit。请先为此仓库初始化 Git。",
"settings.autogit.enable": "启用 AutoGit",
"settings.autogit.enableDescription": "启用后Tolaria 会在空闲暂停或应用变为非活跃后自动提交并推送保存的本地更改。",
"settings.autogit.idleThreshold": "空闲阈值(秒)",
"settings.autogit.inactiveThreshold": "应用非活跃宽限期(秒)",
"settings.titles.title": "标题与文件名",
"settings.titles.description": "选择 Tolaria 是否根据第一个 H1 标题自动同步未命名笔记的文件名。",
"settings.titles.autoRename": "根据第一个 H1 自动重命名未命名笔记",
"settings.titles.autoRenameDescription": "启用后,只要第一个 H1 成为真实标题Tolaria 就会重命名 untitled-note 文件。关闭后,文件名会保持不变,直到你从面包屑栏手动重命名。",
"settings.aiAgents.title": "AI 代理",
"settings.aiAgents.description": "选择 Tolaria 在 AI 面板和命令面板中使用的 CLI AI 代理。",
"settings.aiAgents.default": "默认 AI 代理",
"settings.aiAgents.installed": "已安装",
"settings.aiAgents.missing": "缺失",
"settings.aiAgents.ready": "{agent}{version} 已可使用。",
"settings.aiAgents.notInstalled": "{agent} 尚未安装。你仍可先选择它,稍后再安装。",
"settings.workflow.title": "工作流",
"settings.workflow.description": "选择 Tolaria 是否显示收件箱工作流,以及整理时如何移动到下一项。",
"settings.workflow.explicit": "显式整理笔记",
"settings.workflow.explicitDescription": "启用后,收件箱会显示尚未整理的笔记,并提供一个开关用于标记为已整理。",
"settings.workflow.autoAdvance": "自动前进到下一条收件箱笔记",
"settings.workflow.autoAdvanceDescription": "启用后,将收件箱笔记标记为已整理会立即打开下一条可见的收件箱笔记。",
"settings.privacy.title": "隐私与遥测",
"settings.privacy.description": "匿名数据可帮助我们修复错误并改进 Tolaria。不会发送仓库内容、笔记标题或文件路径。",
"settings.privacy.crashReporting": "崩溃报告",
"settings.privacy.crashReportingDescription": "发送匿名错误报告",
"settings.privacy.analytics": "使用分析",
"settings.privacy.analyticsDescription": "分享匿名使用模式",
"settings.footerShortcut": "⌘, 打开设置",
"settings.cancel": "取消",
"settings.save": "保存",
"common.cancel": "取消",
"locale.en": "英文",
"sidebar.nav.inbox": "收件箱",
"sidebar.nav.allNotes": "全部笔记",
"sidebar.nav.archive": "归档",
"sidebar.group.favorites": "收藏",
"sidebar.group.views": "视图",
"sidebar.group.types": "类型",
"sidebar.group.folders": "文件夹",
"sidebar.action.createView": "创建视图",
"sidebar.action.editView": "编辑视图",
"sidebar.action.deleteView": "删除视图",
"sidebar.action.customizeSections": "自定义分组",
"sidebar.action.renameSection": "重命名分组…",
"sidebar.action.customizeIconColor": "自定义图标和颜色…",
"sidebar.action.createType": "新建类型",
"sidebar.action.collapse": "折叠侧边栏",
"sidebar.action.expand": "展开侧边栏",
"sidebar.action.createFolder": "创建文件夹",
"sidebar.action.renameFolder": "重命名文件夹",
"sidebar.action.deleteFolder": "删除文件夹",
"sidebar.action.revealFolderMenu": "在访达中显示",
"sidebar.action.copyFolderPathMenu": "复制文件夹路径",
"sidebar.action.renameFolderMenu": "重命名文件夹...",
"sidebar.action.deleteFolderMenu": "删除文件夹...",
"sidebar.folder.name": "文件夹名称",
"sidebar.folder.newName": "新文件夹名称",
"sidebar.folder.expand": "展开{name}",
"sidebar.folder.collapse": "折叠{name}",
"sidebar.section.name": "分组名称",
"sidebar.section.showInSidebar": "在侧边栏显示",
"sidebar.section.toggle": "切换{label}",
"sidebar.disabled.comingSoon": "即将推出",
"noteList.title.archive": "归档",
"noteList.title.changes": "更改",
"noteList.title.inbox": "收件箱",
"noteList.title.history": "历史",
"noteList.title.view": "视图",
"noteList.title.notes": "笔记",
"noteList.searchPlaceholder": "搜索笔记...",
"noteList.searchAction": "搜索笔记",
"noteList.createNote": "新建笔记",
"noteList.empty.changesError": "加载更改失败:{error}",
"noteList.empty.noChanges": "没有待处理更改",
"noteList.empty.noArchived": "没有归档笔记",
"noteList.empty.noMatching": "没有匹配的笔记",
"noteList.empty.allOrganized": "所有笔记都已整理",
"noteList.empty.noNotes": "没有笔记",
"noteList.empty.noMatchingItems": "没有匹配项",
"noteList.empty.noRelatedItems": "没有相关项",
"noteList.sort.modified": "已修改",
"noteList.sort.created": "已创建",
"noteList.sort.title": "标题",
"noteList.sort.status": "状态",
"noteList.sort.by": "按{label}排序",
"noteList.sort.menu": "排序{label}",
"noteList.sort.ascending": "升序",
"noteList.sort.descending": "降序",
"noteList.filter.open": "打开",
"noteList.filter.archived": "已归档",
"noteList.filter.week": "本周",
"noteList.filter.month": "本月",
"noteList.filter.all": "全部",
"noteList.properties.customizeColumns": "自定义列",
"noteList.properties.customizeAllColumns": "自定义全部笔记列",
"noteList.properties.customizeInboxColumns": "自定义收件箱列",
"noteList.properties.customizeViewColumns": "自定义{name}列",
"noteList.properties.showInNoteList": "在笔记列表中显示",
"noteList.properties.searchPlaceholder": "搜索属性...",
"noteList.properties.searchLabel": "搜索笔记列表属性",
"noteList.properties.noMatches": "没有匹配的属性。",
"noteList.properties.reorder": "重新排序{name}",
"noteList.changes.restoreNote": "恢复笔记",
"noteList.changes.discardChanges": "丢弃更改",
"noteList.changes.restoreDescription": "从 Git 恢复 {file}",
"noteList.changes.discardDescription": "丢弃对 {file} 的更改?此操作无法撤销。",
"noteList.changes.thisFile": "此文件",
"noteList.changes.restore": "恢复",
"noteList.changes.discard": "丢弃",
"noteList.changes.cancel": "取消",
"editor.empty.selectNote": "选择一条笔记开始编辑",
"editor.empty.shortcuts": "{quickOpen} 搜索 · {newNote} 创建",
"editor.raw.label": "源码编辑器",
"editor.find.findLabel": "查找",
"editor.find.findPlaceholder": "查找",
"editor.find.replaceLabel": "替换",
"editor.find.replacePlaceholder": "替换",
"editor.find.matchCount": "{current} / {total}",
"editor.find.noMatches": "无匹配",
"editor.find.invalidRegex": "无效正则",
"editor.find.regexMustMatchText": "正则必须匹配文本",
"editor.find.previousMatch": "上一个匹配",
"editor.find.nextMatch": "下一个匹配",
"editor.find.showReplace": "显示替换",
"editor.find.hideReplace": "隐藏替换",
"editor.find.regex": "使用正则表达式",
"editor.find.matchCase": "区分大小写",
"editor.find.close": "关闭查找",
"editor.find.replace": "替换",
"editor.find.replaceAll": "全部",
"editor.toolbar.rawReturn": "返回编辑器",
"editor.toolbar.rawOpen": "打开源码编辑器",
"editor.toolbar.centerLayout": "切换到居中笔记布局",
"editor.toolbar.leftLayout": "切换到左对齐笔记布局",
"editor.toolbar.removeFavorite": "从收藏中移除",
"editor.toolbar.addFavorite": "添加到收藏",
"editor.toolbar.markUnorganized": "将笔记标记为未整理",
"editor.toolbar.markOrganized": "将笔记标记为已整理",
"editor.toolbar.noDiff": "尚无可用差异",
"editor.toolbar.loadingDiff": "正在加载差异",
"editor.toolbar.showDiff": "显示当前差异",
"editor.toolbar.openAi": "打开 AI 面板",
"editor.toolbar.closeAi": "关闭 AI 面板",
"editor.toolbar.restoreArchived": "恢复这条归档笔记",
"editor.toolbar.archive": "归档这条笔记",
"editor.toolbar.delete": "删除这条笔记",
"editor.toolbar.revealFile": "在访达中显示",
"editor.toolbar.copyFilePath": "复制文件路径",
"editor.toolbar.openProperties": "打开属性面板",
"editor.filename.rename": "重命名文件名",
"editor.filename.renameToTitle": "将文件重命名为匹配标题",
"editor.filename.trigger": "文件名 {filename}。按 Enter 重命名",
"editor.banner.archived": "已归档",
"editor.banner.unarchive": "取消归档",
"editor.banner.conflict": "这条笔记存在合并冲突",
"editor.banner.keepMine": "保留本地版本",
"editor.banner.keepMineTooltip": "保留我的本地版本",
"editor.banner.keepTheirs": "保留远程版本",
"editor.banner.keepTheirsTooltip": "保留远程版本",
"inspector.title.properties": "属性",
"inspector.title.propertiesShortcut": "属性⌘⇧I",
"inspector.title.closePropertiesShortcut": "关闭属性⌘⇧I",
"inspector.empty.noNoteSelected": "未选择笔记",
"inspector.empty.noProperties": "这条笔记还没有属性",
"inspector.empty.initializeProperties": "初始化属性",
"inspector.empty.invalidProperties": "属性无效",
"inspector.empty.fixInEditor": "在编辑器中修复",
"inspector.properties.addProperty": "添加属性",
"inspector.properties.deleteProperty": "删除属性",
"inspector.properties.none": "无",
"inspector.properties.missingType": "缺少类型",
"inspector.properties.missingTypeAria": "缺少类型 {type}。点击创建这个类型。",
"inspector.properties.searchTypes": "搜索类型...",
"inspector.properties.noMatchingTypes": "没有匹配的类型",
"inspector.properties.yes": "是",
"inspector.properties.no": "否",
"inspector.properties.pickDate": "选择日期…",
"inspector.properties.valuePlaceholder": "值",
"inspector.properties.propertyName": "属性名称",
"inspector.relationship.add": "添加",
"inspector.relationship.addRelationship": "+ 添加关系",
"inspector.relationship.name": "关系名称",
"inspector.relationship.noteTitle": "笔记标题",
"inspector.relationship.createAndOpen": "创建并打开",
"inspector.info.title": "信息",
"inspector.info.modified": "修改时间",
"inspector.info.created": "创建时间",
"inspector.info.words": "字数",
"inspector.info.size": "大小",
"update.available": "可用",
"update.releaseNotes": "发行说明",
"update.updateNow": "立即更新",
"update.dismiss": "关闭",
"update.downloading": "正在下载 Tolaria {version}...",
"update.readyRestart": "已准备好 - 重启后应用",
"update.restartNow": "立即重启",
"status.update.check": "检查更新",
"status.zoom.reset": "重置缩放级别",
"status.feedback.contribute": "为 Tolaria 贡献反馈",
"status.feedback.label": "贡献",
"status.theme.light": "切换到浅色模式",
"status.theme.dark": "切换到深色模式",
"status.settings.open": "打开设置",
"status.build.unknown": "b?",
"status.vault.switch": "切换仓库",
"status.vault.default": "仓库",
"status.vault.createEmpty": "创建空仓库",
"status.vault.openLocal": "打开本地文件夹",
"status.vault.cloneGit": "克隆 Git 仓库",
"status.vault.cloneGettingStarted": "克隆入门仓库",
"status.vault.notFound": "未找到仓库:{path}",
"status.vault.remove": "从列表移除 {label}",
"status.remote.noneConfigured": "未配置远程仓库",
"status.remote.inSync": "已与远程同步",
"status.remote.aheadTitle": "领先远程 {count} 个提交{plural}",
"status.remote.behindTitle": "落后远程 {count} 个提交{plural}",
"status.remote.ahead": "领先 {count}",
"status.remote.behind": "落后 {count}",
"status.remote.add": "为此仓库添加远程地址",
"status.remote.none": "无远程",
"status.remote.noneDescription": "这个 Git 仓库尚未配置远程地址。添加远程地址前,提交会保留在本地。",
"status.sync.syncing": "正在同步...",
"status.sync.conflict": "冲突",
"status.sync.failed": "同步失败",
"status.sync.pullRequired": "需要拉取",
"status.sync.notSynced": "未同步",
"status.sync.justNow": "刚刚已同步",
"status.sync.minutesAgo": "{minutes} 分钟前已同步",
"status.sync.resolveConflicts": "解决合并冲突",
"status.sync.inProgress": "同步进行中",
"status.sync.pullAndPush": "从远程拉取并推送",
"status.sync.retry": "重试同步",
"status.sync.now": "立即同步",
"status.sync.synced": "已同步",
"status.sync.conflicts": "冲突",
"status.sync.error": "错误",
"status.sync.status": "状态:{status}",
"status.sync.pull": "拉取",
"status.conflict.count": "{count} 个冲突{plural}",
"status.offline.title": "无互联网连接",
"status.offline.label": "离线",
"status.changes.view": "查看待处理更改",
"status.changes.label": "更改",
"status.commit.local": "在本地提交更改",
"status.commit.push": "提交并推送更改",
"status.commit.label": "提交",
"status.commit.openOnGitHub": "在 GitHub 打开提交 {hash}",
"status.git.disabledTooltip": "此仓库未启用 Git。初始化 Git 后可使用历史、同步、提交和更改视图。",
"status.git.disabled": "Git 已禁用",
"status.history.onlyGit": "历史仅适用于启用 Git 的仓库",
"status.history.open": "打开更改历史",
"status.history.label": "历史",
"status.mcp.notConnected": "外部 AI 工具未连接 - 点击设置",
"status.mcp.unknown": "MCP 状态未知",
"status.claude.missing": "缺少 Claude Code",
"status.claude.label": "Claude Code",
"status.claude.install": "未找到 Claude Code - 点击安装",
"status.ai.noAgents": "未检测到 AI 代理",
"status.ai.noAgentsTooltip": "未检测到 AI 代理 - 点击查看设置详情",
"status.ai.selectedMissing": "已选择 {agent},但尚未安装 - 点击查看设置详情",
"status.ai.defaultAgent": "默认 AI 代理:{agent}{version}",
"status.ai.restoreDetails": "{base}。{summary} - 点击查看恢复详情",
"status.ai.withGuidance": "{base}。{summary}",
"status.ai.active": "当前 AI 代理:{agent}",
"status.ai.unavailable": "所选 AI 代理不可用:{agent}",
"status.ai.install": "安装",
"status.ai.installAgent": "安装 {agent}",
"status.ai.vaultGuidance": "仓库指导文件",
"status.ai.restoreGuidance": "恢复 Tolaria AI 指导文件",
"status.ai.openOptions": "打开 AI 代理选项",
"pulse.title": "历史",
"pulse.today": "今天",
"pulse.yesterday": "昨天",
"pulse.commitCount": "{count} 个{label}",
"pulse.commitSingular": "提交",
"pulse.commitPlural": "提交",
"pulse.openOnGitHub": "在 GitHub 打开",
"pulse.expandFiles": "展开文件",
"pulse.collapseFiles": "折叠文件",
"pulse.noActivity": "暂无活动",
"pulse.emptyDescription": "提交更改后即可查看仓库历史",
"pulse.retry": "重试",
"pulse.loadingActivity": "正在加载活动…",
"pulse.loading": "正在加载…",
"pulse.loadError": "加载活动失败",
"command.switchLanguage": "切换语言为 {language}",
"locale.itIT": "意大利语",
"locale.frFR": "法语",
"locale.deDE": "德语",
"locale.ruRU": "俄语",
"locale.esES": "西班牙语(西班牙)",
"locale.ptBR": "葡萄牙语(巴西)",
"locale.ptPT": "葡萄牙语(葡萄牙)",
"locale.es419": "西班牙语(拉丁美洲)",
"locale.zhCN": "简体中文",
"locale.jaJP": "日语",
"locale.koKR": "韩语"
}

View File

@@ -1,410 +0,0 @@
import type { EN_TRANSLATIONS } from './en'
export const ZH_HANS_TRANSLATIONS = {
'command.noMatches': '没有匹配的命令',
'command.palettePlaceholder': '输入命令...',
'command.footerNavigate': '↑↓ 导航',
'command.footerSelect': '↵ 选择',
'command.footerClose': 'esc 关闭',
'command.footerSend': '↵ 发送',
'command.aiMode': '{agent} 模式',
'command.openSettings': '打开设置',
'command.openSettings.keywords': '设置 偏好 配置',
'command.openLanguageSettings': '打开语言设置',
'command.openLanguageSettings.keywords': '语言 区域 i18n 国际化 本地化 中文 english',
'command.useSystemLanguage': '使用系统语言',
'command.switchToEnglish': '切换到英文',
'command.switchToChinese': '切换到简体中文',
'command.openH1Setting': '打开 H1 自动重命名设置',
'command.contribute': '参与贡献',
'command.checkUpdates': '检查更新',
'command.group.navigation': '导航',
'command.group.note': '笔记',
'command.group.git': 'Git',
'command.group.view': '视图',
'command.group.settings': '设置',
'command.navigation.searchNotes': '搜索笔记',
'command.navigation.goAllNotes': '前往全部笔记',
'command.navigation.goArchived': '前往归档',
'command.navigation.goChanges': '前往更改',
'command.navigation.goHistory': '前往历史',
'command.navigation.goBack': '后退',
'command.navigation.goForward': '前进',
'command.navigation.goInbox': '前往收件箱',
'command.navigation.renameFolder': '重命名文件夹',
'command.navigation.deleteFolder': '删除文件夹',
'command.navigation.showOpenNotes': '显示打开的笔记',
'command.navigation.showArchivedNotes': '显示归档笔记',
'command.navigation.listType': '列出{type}',
'command.note.newNote': '新建笔记',
'command.note.newType': '新建类型',
'command.note.newTypedNote': '新建{type}',
'command.note.saveNote': '保存笔记',
'command.note.findInNote': '在笔记中查找',
'command.note.replaceInNote': '在笔记中替换',
'command.note.deleteNote': '删除笔记',
'command.note.archiveNote': '归档笔记',
'command.note.unarchiveNote': '取消归档笔记',
'command.note.addFavorite': '添加到收藏',
'command.note.removeFavorite': '从收藏中移除',
'command.note.markOrganized': '标记为已整理',
'command.note.markUnorganized': '标记为未整理',
'command.note.restoreDeleted': '恢复已删除笔记',
'command.note.setIcon': '设置笔记图标',
'command.note.removeIcon': '移除笔记图标',
'command.note.changeType': '更改笔记类型…',
'command.note.moveToFolder': '将笔记移动到文件夹…',
'command.note.openNewWindow': '在新窗口中打开',
'command.git.initialize': '为当前仓库初始化 Git',
'command.git.commitPush': '提交并推送',
'command.git.addRemote': '为当前仓库添加远程地址',
'command.git.pull': '从远程拉取',
'command.git.resolveConflicts': '解决冲突',
'command.git.viewChanges': '查看待处理更改',
'command.view.editorOnly': '仅编辑器',
'command.view.editorNoteList': '编辑器 + 笔记列表',
'command.view.fullLayout': '完整布局',
'command.view.toggleProperties': '切换属性面板',
'command.view.toggleDiff': '切换差异模式',
'command.view.toggleRaw': '切换源码编辑器',
'command.view.leftLayout': '使用左对齐笔记布局',
'command.view.centerLayout': '使用居中笔记布局',
'command.view.toggleAiPanel': '切换 AI 面板',
'command.view.newAiChat': '新建 AI 对话',
'command.view.toggleBacklinks': '切换反向链接',
'command.view.zoomIn': '放大({zoom}%',
'command.view.zoomOut': '缩小({zoom}%',
'command.view.resetZoom': '重置缩放',
'command.settings.createEmptyVault': '创建空仓库…',
'command.settings.openVault': '打开仓库…',
'command.settings.removeVault': '从列表移除仓库',
'command.settings.restoreGettingStarted': '恢复入门仓库',
'command.settings.manageExternalAi': '管理外部 AI 工具…',
'command.settings.setupExternalAi': '设置外部 AI 工具…',
'command.settings.reloadVault': '重新加载仓库',
'command.settings.repairVault': '修复仓库',
'command.ai.openAgents': '打开 AI 代理设置',
'command.ai.restoreGuidance': '恢复 Tolaria AI 指导文件',
'command.ai.switchToAgent': '将 AI 代理切换为 {agent}',
'command.ai.switchDefault': '切换默认 AI 代理',
'command.ai.switchDefaultWithAgent': '切换默认 AI 代理({agent}',
'settings.title': '设置',
'settings.close': '关闭设置',
'settings.sync.title': '同步与更新',
'settings.sync.description': '配置后台拉取以及 Tolaria 使用的更新通道。Stable 只接收手动推广的版本Alpha 跟随 main 的每次推送。',
'settings.pullInterval': '拉取间隔(分钟)',
'settings.releaseChannel': '发布通道',
'settings.releaseStable': 'Stable',
'settings.releaseAlpha': 'Alpha',
'settings.appearance.title': '外观',
'settings.appearance.description': '选择 Tolaria 界面、编辑器、菜单和对话框使用的颜色模式。',
'settings.theme.label': '主题',
'settings.theme.light': '浅色',
'settings.theme.dark': '深色',
'settings.language.title': '语言',
'settings.language.description': '选择 Tolaria 界面的显示语言。系统选项会在支持时跟随 macOS否则回退到英文。',
'settings.language.label': '显示语言',
'settings.language.system': '系统({language}',
'settings.language.en': '英文',
'settings.language.zhHans': '简体中文',
'settings.language.summary': '缺失的翻译会回退到英文,因此部分翻译的语言也能正常使用。',
'settings.autogit.title': 'AutoGit',
'settings.autogit.description.enabled': '在编辑暂停或应用不再活跃后,自动创建保守的 Git 检查点。',
'settings.autogit.description.disabled': '当前仓库启用 Git 后才能使用 AutoGit。请先为此仓库初始化 Git。',
'settings.autogit.enable': '启用 AutoGit',
'settings.autogit.enableDescription': '启用后Tolaria 会在空闲暂停或应用变为非活跃后自动提交并推送保存的本地更改。',
'settings.autogit.idleThreshold': '空闲阈值(秒)',
'settings.autogit.inactiveThreshold': '应用非活跃宽限期(秒)',
'settings.titles.title': '标题与文件名',
'settings.titles.description': '选择 Tolaria 是否根据第一个 H1 标题自动同步未命名笔记的文件名。',
'settings.titles.autoRename': '根据第一个 H1 自动重命名未命名笔记',
'settings.titles.autoRenameDescription': '启用后,只要第一个 H1 成为真实标题Tolaria 就会重命名 untitled-note 文件。关闭后,文件名会保持不变,直到你从面包屑栏手动重命名。',
'settings.aiAgents.title': 'AI 代理',
'settings.aiAgents.description': '选择 Tolaria 在 AI 面板和命令面板中使用的 CLI AI 代理。',
'settings.aiAgents.default': '默认 AI 代理',
'settings.aiAgents.installed': '已安装',
'settings.aiAgents.missing': '缺失',
'settings.aiAgents.ready': '{agent}{version} 已可使用。',
'settings.aiAgents.notInstalled': '{agent} 尚未安装。你仍可先选择它,稍后再安装。',
'settings.workflow.title': '工作流',
'settings.workflow.description': '选择 Tolaria 是否显示收件箱工作流,以及整理时如何移动到下一项。',
'settings.workflow.explicit': '显式整理笔记',
'settings.workflow.explicitDescription': '启用后,收件箱会显示尚未整理的笔记,并提供一个开关用于标记为已整理。',
'settings.workflow.autoAdvance': '自动前进到下一条收件箱笔记',
'settings.workflow.autoAdvanceDescription': '启用后,将收件箱笔记标记为已整理会立即打开下一条可见的收件箱笔记。',
'settings.privacy.title': '隐私与遥测',
'settings.privacy.description': '匿名数据可帮助我们修复错误并改进 Tolaria。不会发送仓库内容、笔记标题或文件路径。',
'settings.privacy.crashReporting': '崩溃报告',
'settings.privacy.crashReportingDescription': '发送匿名错误报告',
'settings.privacy.analytics': '使用分析',
'settings.privacy.analyticsDescription': '分享匿名使用模式',
'settings.footerShortcut': '⌘, 打开设置',
'settings.cancel': '取消',
'settings.save': '保存',
'common.cancel': '取消',
'locale.en': '英文',
'locale.zhHans': '简体中文',
'sidebar.nav.inbox': '收件箱',
'sidebar.nav.allNotes': '全部笔记',
'sidebar.nav.archive': '归档',
'sidebar.group.favorites': '收藏',
'sidebar.group.views': '视图',
'sidebar.group.types': '类型',
'sidebar.group.folders': '文件夹',
'sidebar.action.createView': '创建视图',
'sidebar.action.editView': '编辑视图',
'sidebar.action.deleteView': '删除视图',
'sidebar.action.customizeSections': '自定义分组',
'sidebar.action.renameSection': '重命名分组…',
'sidebar.action.customizeIconColor': '自定义图标和颜色…',
'sidebar.action.createType': '新建类型',
'sidebar.action.collapse': '折叠侧边栏',
'sidebar.action.expand': '展开侧边栏',
'sidebar.action.createFolder': '创建文件夹',
'sidebar.action.renameFolder': '重命名文件夹',
'sidebar.action.deleteFolder': '删除文件夹',
'sidebar.action.revealFolderMenu': '在访达中显示',
'sidebar.action.copyFolderPathMenu': '复制文件夹路径',
'sidebar.action.renameFolderMenu': '重命名文件夹...',
'sidebar.action.deleteFolderMenu': '删除文件夹...',
'sidebar.folder.name': '文件夹名称',
'sidebar.folder.newName': '新文件夹名称',
'sidebar.folder.expand': '展开{name}',
'sidebar.folder.collapse': '折叠{name}',
'sidebar.section.name': '分组名称',
'sidebar.section.showInSidebar': '在侧边栏显示',
'sidebar.section.toggle': '切换{label}',
'sidebar.disabled.comingSoon': '即将推出',
'noteList.title.archive': '归档',
'noteList.title.changes': '更改',
'noteList.title.inbox': '收件箱',
'noteList.title.history': '历史',
'noteList.title.view': '视图',
'noteList.title.notes': '笔记',
'noteList.searchPlaceholder': '搜索笔记...',
'noteList.searchAction': '搜索笔记',
'noteList.createNote': '新建笔记',
'noteList.empty.changesError': '加载更改失败:{error}',
'noteList.empty.noChanges': '没有待处理更改',
'noteList.empty.noArchived': '没有归档笔记',
'noteList.empty.noMatching': '没有匹配的笔记',
'noteList.empty.allOrganized': '所有笔记都已整理',
'noteList.empty.noNotes': '没有笔记',
'noteList.empty.noMatchingItems': '没有匹配项',
'noteList.empty.noRelatedItems': '没有相关项',
'noteList.sort.modified': '已修改',
'noteList.sort.created': '已创建',
'noteList.sort.title': '标题',
'noteList.sort.status': '状态',
'noteList.sort.by': '按{label}排序',
'noteList.sort.menu': '排序{label}',
'noteList.sort.ascending': '升序',
'noteList.sort.descending': '降序',
'noteList.filter.open': '打开',
'noteList.filter.archived': '已归档',
'noteList.filter.week': '本周',
'noteList.filter.month': '本月',
'noteList.filter.all': '全部',
'noteList.properties.customizeColumns': '自定义列',
'noteList.properties.customizeAllColumns': '自定义全部笔记列',
'noteList.properties.customizeInboxColumns': '自定义收件箱列',
'noteList.properties.customizeViewColumns': '自定义{name}列',
'noteList.properties.showInNoteList': '在笔记列表中显示',
'noteList.properties.searchPlaceholder': '搜索属性...',
'noteList.properties.searchLabel': '搜索笔记列表属性',
'noteList.properties.noMatches': '没有匹配的属性。',
'noteList.properties.reorder': '重新排序{name}',
'noteList.changes.restoreNote': '恢复笔记',
'noteList.changes.discardChanges': '丢弃更改',
'noteList.changes.restoreDescription': '从 Git 恢复 {file}',
'noteList.changes.discardDescription': '丢弃对 {file} 的更改?此操作无法撤销。',
'noteList.changes.thisFile': '此文件',
'noteList.changes.restore': '恢复',
'noteList.changes.discard': '丢弃',
'noteList.changes.cancel': '取消',
'editor.empty.selectNote': '选择一条笔记开始编辑',
'editor.empty.shortcuts': '{quickOpen} 搜索 · {newNote} 创建',
'editor.raw.label': '源码编辑器',
'editor.find.findLabel': '查找',
'editor.find.findPlaceholder': '查找',
'editor.find.replaceLabel': '替换',
'editor.find.replacePlaceholder': '替换',
'editor.find.matchCount': '{current} / {total}',
'editor.find.noMatches': '无匹配',
'editor.find.invalidRegex': '无效正则',
'editor.find.regexMustMatchText': '正则必须匹配文本',
'editor.find.previousMatch': '上一个匹配',
'editor.find.nextMatch': '下一个匹配',
'editor.find.showReplace': '显示替换',
'editor.find.hideReplace': '隐藏替换',
'editor.find.regex': '使用正则表达式',
'editor.find.matchCase': '区分大小写',
'editor.find.close': '关闭查找',
'editor.find.replace': '替换',
'editor.find.replaceAll': '全部',
'editor.toolbar.rawReturn': '返回编辑器',
'editor.toolbar.rawOpen': '打开源码编辑器',
'editor.toolbar.centerLayout': '切换到居中笔记布局',
'editor.toolbar.leftLayout': '切换到左对齐笔记布局',
'editor.toolbar.removeFavorite': '从收藏中移除',
'editor.toolbar.addFavorite': '添加到收藏',
'editor.toolbar.markUnorganized': '将笔记标记为未整理',
'editor.toolbar.markOrganized': '将笔记标记为已整理',
'editor.toolbar.noDiff': '尚无可用差异',
'editor.toolbar.loadingDiff': '正在加载差异',
'editor.toolbar.showDiff': '显示当前差异',
'editor.toolbar.openAi': '打开 AI 面板',
'editor.toolbar.closeAi': '关闭 AI 面板',
'editor.toolbar.restoreArchived': '恢复这条归档笔记',
'editor.toolbar.archive': '归档这条笔记',
'editor.toolbar.delete': '删除这条笔记',
'editor.toolbar.revealFile': '在访达中显示',
'editor.toolbar.copyFilePath': '复制文件路径',
'editor.toolbar.openProperties': '打开属性面板',
'editor.filename.rename': '重命名文件名',
'editor.filename.renameToTitle': '将文件重命名为匹配标题',
'editor.filename.trigger': '文件名 {filename}。按 Enter 重命名',
'editor.banner.archived': '已归档',
'editor.banner.unarchive': '取消归档',
'editor.banner.conflict': '这条笔记存在合并冲突',
'editor.banner.keepMine': '保留本地版本',
'editor.banner.keepMineTooltip': '保留我的本地版本',
'editor.banner.keepTheirs': '保留远程版本',
'editor.banner.keepTheirsTooltip': '保留远程版本',
'inspector.title.properties': '属性',
'inspector.title.propertiesShortcut': '属性⌘⇧I',
'inspector.title.closePropertiesShortcut': '关闭属性⌘⇧I',
'inspector.empty.noNoteSelected': '未选择笔记',
'inspector.empty.noProperties': '这条笔记还没有属性',
'inspector.empty.initializeProperties': '初始化属性',
'inspector.empty.invalidProperties': '属性无效',
'inspector.empty.fixInEditor': '在编辑器中修复',
'inspector.properties.addProperty': '添加属性',
'inspector.properties.deleteProperty': '删除属性',
'inspector.properties.none': '无',
'inspector.properties.missingType': '缺少类型',
'inspector.properties.missingTypeAria': '缺少类型 {type}。点击创建这个类型。',
'inspector.properties.searchTypes': '搜索类型...',
'inspector.properties.noMatchingTypes': '没有匹配的类型',
'inspector.properties.yes': '是',
'inspector.properties.no': '否',
'inspector.properties.pickDate': '选择日期…',
'inspector.properties.valuePlaceholder': '值',
'inspector.properties.propertyName': '属性名称',
'inspector.relationship.add': '添加',
'inspector.relationship.addRelationship': '+ 添加关系',
'inspector.relationship.name': '关系名称',
'inspector.relationship.noteTitle': '笔记标题',
'inspector.relationship.createAndOpen': '创建并打开',
'inspector.info.title': '信息',
'inspector.info.modified': '修改时间',
'inspector.info.created': '创建时间',
'inspector.info.words': '字数',
'inspector.info.size': '大小',
'update.available': '可用',
'update.releaseNotes': '发行说明',
'update.updateNow': '立即更新',
'update.dismiss': '关闭',
'update.downloading': '正在下载 Tolaria {version}...',
'update.readyRestart': '已准备好 - 重启后应用',
'update.restartNow': '立即重启',
'status.update.check': '检查更新',
'status.zoom.reset': '重置缩放级别',
'status.feedback.contribute': '为 Tolaria 贡献反馈',
'status.feedback.label': '贡献',
'status.theme.light': '切换到浅色模式',
'status.theme.dark': '切换到深色模式',
'status.settings.open': '打开设置',
'status.build.unknown': 'b?',
'status.vault.switch': '切换仓库',
'status.vault.default': '仓库',
'status.vault.createEmpty': '创建空仓库',
'status.vault.openLocal': '打开本地文件夹',
'status.vault.cloneGit': '克隆 Git 仓库',
'status.vault.cloneGettingStarted': '克隆入门仓库',
'status.vault.notFound': '未找到仓库:{path}',
'status.vault.remove': '从列表移除 {label}',
'status.remote.noneConfigured': '未配置远程仓库',
'status.remote.inSync': '已与远程同步',
'status.remote.aheadTitle': '领先远程 {count} 个提交',
'status.remote.behindTitle': '落后远程 {count} 个提交',
'status.remote.ahead': '领先 {count}',
'status.remote.behind': '落后 {count}',
'status.remote.add': '为此仓库添加远程地址',
'status.remote.none': '无远程',
'status.remote.noneDescription': '这个 Git 仓库尚未配置远程地址。添加远程地址前,提交会保留在本地。',
'status.sync.syncing': '正在同步...',
'status.sync.conflict': '冲突',
'status.sync.failed': '同步失败',
'status.sync.pullRequired': '需要拉取',
'status.sync.notSynced': '未同步',
'status.sync.justNow': '刚刚已同步',
'status.sync.minutesAgo': '{minutes} 分钟前已同步',
'status.sync.resolveConflicts': '解决合并冲突',
'status.sync.inProgress': '同步进行中',
'status.sync.pullAndPush': '从远程拉取并推送',
'status.sync.retry': '重试同步',
'status.sync.now': '立即同步',
'status.sync.synced': '已同步',
'status.sync.conflicts': '冲突',
'status.sync.error': '错误',
'status.sync.status': '状态:{status}',
'status.sync.pull': '拉取',
'status.conflict.count': '{count} 个冲突',
'status.offline.title': '无互联网连接',
'status.offline.label': '离线',
'status.changes.view': '查看待处理更改',
'status.changes.label': '更改',
'status.commit.local': '在本地提交更改',
'status.commit.push': '提交并推送更改',
'status.commit.label': '提交',
'status.commit.openOnGitHub': '在 GitHub 打开提交 {hash}',
'status.git.disabledTooltip': '此仓库未启用 Git。初始化 Git 后可使用历史、同步、提交和更改视图。',
'status.git.disabled': 'Git 已禁用',
'status.history.onlyGit': '历史仅适用于启用 Git 的仓库',
'status.history.open': '打开更改历史',
'status.history.label': '历史',
'status.mcp.notConnected': '外部 AI 工具未连接 - 点击设置',
'status.mcp.unknown': 'MCP 状态未知',
'status.claude.missing': '缺少 Claude Code',
'status.claude.label': 'Claude Code',
'status.claude.install': '未找到 Claude Code - 点击安装',
'status.ai.noAgents': '未检测到 AI 代理',
'status.ai.noAgentsTooltip': '未检测到 AI 代理 - 点击查看设置详情',
'status.ai.selectedMissing': '已选择 {agent},但尚未安装 - 点击查看设置详情',
'status.ai.defaultAgent': '默认 AI 代理:{agent}{version}',
'status.ai.restoreDetails': '{base}。{summary} - 点击查看恢复详情',
'status.ai.withGuidance': '{base}。{summary}',
'status.ai.active': '当前 AI 代理:{agent}',
'status.ai.unavailable': '所选 AI 代理不可用:{agent}',
'status.ai.install': '安装',
'status.ai.installAgent': '安装 {agent}',
'status.ai.vaultGuidance': '仓库指导文件',
'status.ai.restoreGuidance': '恢复 Tolaria AI 指导文件',
'status.ai.openOptions': '打开 AI 代理选项',
'pulse.title': '历史',
'pulse.today': '今天',
'pulse.yesterday': '昨天',
'pulse.commitCount': '{count} 个{label}',
'pulse.commitSingular': '提交',
'pulse.commitPlural': '提交',
'pulse.openOnGitHub': '在 GitHub 打开',
'pulse.expandFiles': '展开文件',
'pulse.collapseFiles': '折叠文件',
'pulse.noActivity': '暂无活动',
'pulse.emptyDescription': '提交更改后即可查看仓库历史',
'pulse.retry': '重试',
'pulse.loadingActivity': '正在加载活动…',
'pulse.loading': '正在加载…',
'pulse.loadError': '加载活动失败',
} satisfies Record<keyof typeof EN_TRANSLATIONS, string>

View File

@@ -152,7 +152,7 @@ describe('mockHandlers coverage', () => {
analytics_enabled: true,
anonymous_id: 'anon-1',
release_channel: 'alpha',
ui_language: 'zh-Hans',
ui_language: 'zh-CN',
default_ai_agent: 'codex',
},
})
@@ -169,7 +169,7 @@ describe('mockHandlers coverage', () => {
anonymous_id: 'anon-1',
release_channel: 'alpha',
theme_mode: null,
ui_language: 'zh-Hans',
ui_language: 'zh-CN',
default_ai_agent: 'codex',
})

View File

@@ -14,6 +14,7 @@
/* Bundler mode */
"moduleResolution": "bundler",
"resolveJsonModule": true,
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",

View File

@@ -9,6 +9,7 @@
/* Bundler mode */
"moduleResolution": "bundler",
"resolveJsonModule": true,
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",