Concord
unlistedby Kevin Yang
Keeps a multilingual vault from splitting in two: vault-wide glossary, translation memory, and a consistency audit that finds one term translated several ways.
Concord
A multilingual vault does not need a better translator. It needs to stop splitting in two.
Translation is free now. Consistency is not. You translate 200 notes, and the same term comes out three different ways — 翻譯記憶, translation memory, TM — spread across a hundred files. Nothing in the vault can tell you that happened.
Concord keeps a vault-wide glossary, a local translation memory, and a consistency audit that scans the whole vault and reports every term that drifted.
Disclosure: Concord's core audit and glossary are free and work entirely offline. Full functionality (translation memory reuse and AI-assisted translation) requires a paid license. Concord is listed as having Optional payment in the Obsidian community directory.
What it does
| # | Feature | Free | Licensed |
|---|---|---|---|
| 1 | Consistency audit — scans the whole vault, reports one source term rendered several ways, with file and line counts | ✅ | |
| 2 | Vault-wide glossary — source term → target term, plus a do-not-translate list | ✅ | |
| 3 | Translation memory — exact and fuzzy reuse of previously translated segments | ✅ | |
| 4 | AI-assisted translation — bring your own key, glossary and TM are injected into every request | ✅ |
The free tier is not a crippled trial: the audit is fully functional on its own, with no account, no key, and no network access.
Built for CJK
Most term tools break on Chinese, Japanese and Korean. They match on word boundaries, and CJK text has none:
"It does not fit spaceless CJK or root-and-pattern scripts like Arabic and Hebrew, which need word segmentation or substring search that the core doesn't do." — the README of the closest existing plugin in the directory
Concord matches CJK by normalization and substring scanning, so 繁中 / 简中 / 日本語 / 한국어 vaults work without a segmentation model. Terms covering mixed-script sources (token, Token 數, token 数) are folded onto one canonical key.
Install
Community directory: Settings → Community plugins → Browse → search Concord.
Manual: copy main.js, manifest.json and (if present) styles.css into <vault>/.obsidian/plugins/concord/, then enable it.
Setup
- Open Settings → Concord.
- Add glossary entries (source term, target term, languages). Mark a term do not translate to protect brand names and identifiers.
- Optionally paste an API key (OpenAI, Anthropic, DeepSeek, or point at a local Ollama endpoint). Keys are stored locally in the vault's plugin folder and are never sent anywhere except the provider you configured.
- Run Concord: Run consistency audit from the command palette.
Keeping the term base in the vault. Instead of editing settings by hand, you can keep the glossary as a note and import it. Write rows as a table or as arrows:
| source | target |
| --- | --- |
| translation memory | 翻譯記憶 |
| consistency audit | 一致性稽核 |
| `API` | - |
Backticks mark a term as case sensitive; -, =, n/a or 保留 in the target cell marks it as do not translate. Then run Concord: Import glossary from current note.
Keep that note in a folder listed under Excluded folders (_concord by default) — otherwise the audit will faithfully report your own glossary as a source of drift.
Privacy
Concord does not collect telemetry, does not phone home, and does not auto-update. All glossary and translation-memory data is stored locally inside your vault. When you use AI-assisted translation, the text you submit goes only to the provider you configured with your own key.
Example audit output
Consistency audit
Notes scanned 4 · Notes skipped 1 · Terms checked 4 · Findings 1
[conflict] translation memory → 翻譯記憶 en → zh-TW · 2 glossary entries
┌──────────────┬───────┬─────────────┐
│ Rendering │ Notes │ Occurrences │
├──────────────┼───────┼─────────────┤
│ 翻譯記憶 │ 2 │ 3 │ intended
│ 翻译记忆 │ 2 │ 3 │
└──────────────┴───────┴─────────────┘
Where each rendering appears
翻譯記憶 notes/02-vault-notes.md, notes/01-ai-management-intro.md
翻译记忆 notes/03-token-cost.md, notes/02-vault-notes.md
Roadmap
- Side-by-side bilingual note pairs (
note.md↔note.en.md) - Terminology conflict detection across glossary entries
- TM import/export (
.tmx,.csv) - Batch apply canonical terms across a folder
中文說明
Concord 是給雙語/多語 Obsidian 使用者的一致性引擎。重點不是幫你翻譯(翻譯本身已經很便宜),而是保證你的雙語 vault 不會裂開:同一個術語在 200 篇筆記裡被譯成三種寫法,這件事目前沒有任何工具能發現。
- 免費:一致性稽核(掃全庫,列出同一術語的多種譯法與出現檔案)、vault 級術語表。完全離線、不需帳號、不需 API key。
- 付費:翻譯記憶(重複片段直接複用,順帶壓低 token 成本)與 AI 輔助翻譯(自帶 key,術語表與記憶自動注入)。
- CJK 友善:中文/日韓沒有詞邊界,本插件以正規化與子字串掃描處理,不需斷詞模型。
上架標籤為 Optional payment。
License
Copyright (C) 2026 Kevin Yang.
Concord is dual-licensed:
- Open source: GNU AGPL-3.0-only. You may use, study, modify and redistribute it under the terms of that license, including the obligation to publish the source of any modified version you make available — including over a network.
- Commercial: if AGPL's copyleft terms do not fit your use (for example, embedding Concord in a closed product, or bundling it in a paid offering without publishing your modifications), a separate commercial license is available. See LICENSE-COMMERCIAL.md.
Disclaimer
Concord is an independent project. It is not affiliated with, endorsed by, or sponsored by Obsidian (Dynalist Inc.). "Obsidian" is a trademark of Dynalist Inc.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.