docs: align locale fallback notes in translated readmes

This commit is contained in:
Jacobinwwey 2026-04-14 08:53:59 -05:00
parent c48b8e0c6d
commit 7db2783fc6
12 changed files with 79 additions and 0 deletions

View file

@ -239,6 +239,7 @@ Rufen Sie die Plugin-Einstellungen auf über:
### Spracharchitektur (UI-Sprache vs. Aufgaben-Ausgabesprache)
- **UI-Sprache** steuert ausschließlich den Text der Plugin-Oberfläche (Einstellungsbeschriftungen, Schaltflächen in der Seitenleiste, Hinweise und Dialoge). Der Standardmodus `auto` folgt der aktuellen UI-Sprache von Obsidian.
- Regionale und Schriftvarianten werden nun dem nächstliegenden veröffentlichten Katalog zugeordnet, statt direkt auf Englisch zurückzufallen. Zum Beispiel verwendet `fr-CA` Französisch, `es-419` Spanisch, `pt-PT` Portugiesisch, `zh-Hans` vereinfachtes Chinesisch und `zh-Hant-HK` traditionelles Chinesisch.
- **Aufgaben-Ausgabesprache** steuert die vom Modell generierte Aufgabenausgabe (Links, Zusammenfassungen, Titelgenerierung, Mermaid-Zusammenfassung, Konzepteextraktion, Übersetzungsziel).
- **Der Modus "Sprache pro Aufgabe"** ermöglicht es jeder Aufgabe, ihre eigene Ausgabesprache über eine einheitliche Richtlinienschicht aufzulösen, anstatt über verstreute Überschreibungen pro Modul.
- **Automatische Übersetzung deaktivieren** hält Nicht-Übersetzungsaufgaben im ursprünglichen Sprachkontext, während explizite Übersetzungsaufgaben weiterhin die konfigurierte Zielsprache anwenden.

View file

@ -239,6 +239,7 @@ Accede a los ajustes del complemento a través de:
### Arquitectura de Idioma (Idioma de la interfaz vs idioma de salida de tareas)
- **Idioma de la interfaz** controla solo el texto de la interfaz del complemento (etiquetas de ajustes, botones de la barra lateral, avisos y diálogos). El modo `auto` predeterminado sigue el idioma actual de la UI de Obsidian.
- Las variantes regionales y de escritura ahora se resuelven al catálogo publicado más cercano en lugar de caer directamente al inglés. Por ejemplo, `fr-CA` usa francés, `es-419` usa español, `pt-PT` usa portugués, `zh-Hans` usa chino simplificado y `zh-Hant-HK` usa chino tradicional.
- **Idioma de salida de tareas** controla la salida de tareas generada por el modelo (enlaces, resúmenes, generación de títulos, resumen de Mermaid, extracción de conceptos, objetivo de traducción).
- **El modo de idioma por tarea** permite que cada tarea resuelva su propio idioma de salida desde una capa de política unificada en lugar de sobrescrituras dispersas por módulo.
- **Desactivar traducción automática** mantiene las tareas que no son de traducción en el contexto del idioma original, mientras que las tareas explícitas de traducción siguen aplicando el idioma de destino configurado.

View file

@ -240,6 +240,7 @@ Accédez aux réglages du plugin via :
### Architecture des Langues (Langue de l'interface vs langue de sortie des tâches)
- **Langue de l'interface** contrôle uniquement le texte de l'interface du plugin (étiquettes des réglages, boutons de la barre latérale, avis et fenêtres). Le mode `auto` par défaut suit la langue actuelle de l'interface d'Obsidian.
- Les variantes régionales ou décriture sont désormais résolues vers le catalogue publié le plus proche au lieu de retomber directement sur langlais. Par exemple, `fr-CA` utilise le français, `es-419` lespagnol, `pt-PT` le portugais, `zh-Hans` le chinois simplifié et `zh-Hant-HK` le chinois traditionnel.
- **Langue de sortie des tâches** contrôle la sortie des tâches générée par le modèle (liens, résumés, génération de titres, résumé Mermaid, extraction de concepts, cible de traduction).
- **Le mode de langue par tâche** permet à chaque tâche de résoudre sa propre langue de sortie à partir d'une couche de politique unifiée au lieu de remplacements dispersés par module.
- **Désactiver la traduction automatique** garde les tâches non-traduction dans le contexte de la langue source, tandis que les tâches de traduction explicites appliquent toujours la langue cible configurée.

View file

@ -240,6 +240,7 @@ Accedi alle impostazioni del plugin tramite:
### Architettura linguistica (Lingua dell'interfaccia vs lingua di output delle attività)
- **Lingua dell'interfaccia** controlla esclusivamente il testo dell'interfaccia del plugin (etichette impostazioni, pulsanti barra laterale, avvisi e dialoghi). La modalità `auto` predefinita segue la lingua attuale della UI di Obsidian.
- Le varianti regionali o di scrittura ora vengono risolte al catalogo pubblicato più vicino invece di ricadere subito sull'inglese. Ad esempio, `fr-CA` usa il francese, `es-419` usa lo spagnolo, `pt-PT` usa il portoghese, `zh-Hans` usa il cinese semplificato e `zh-Hant-HK` usa il cinese tradizionale.
- **Lingua di output delle attività** controlla l'output delle attività generato dal modello (link, riassunti, generazione titoli, riassunto Mermaid, estrazione concetti, destinazione traduzione).
- **La modalità lingua per attività** consente a ogni attività di risolvere la propria lingua di output da un livello di policy unificato invece di sovrascritture sparse per modulo.
- **Disabilita traduzione automatica** mantiene le attività non di traduzione nel contesto della lingua originale, mentre le attività di traduzione esplicite applicano comunque la lingua di destinazione configurata.

View file

@ -239,6 +239,7 @@ Notemd は、さまざまな大規模言語モデル (LLM) と統合すること
### 言語アーキテクチャ (インターフェース言語 vs タスク出力言語)
- **インターフェース言語** は、プラグインインターフェースのテキスト (設定ラベル、サイドバーボタン、通知、およびダイアログ) のみを制御します。デフォルトの `auto` モードは、Obsidian の現在の UI 言語に従います。
- 地域差分や表記体系のバリアントは、英語に直接フォールバックするのではなく、最も近い公開済みカタログに解決されるようになりました。たとえば、`fr-CA` はフランス語、`es-419` はスペイン語、`pt-PT` はポルトガル語、`zh-Hans` は簡体字中国語、`zh-Hant-HK` は繁体字中国語を使用します。
- **タスク出力言語** は、モデルによって生成されるタスク出力 (リンク、要約、タイトル生成、Mermaid 要約、概念抽出、翻訳目標) を制御します。
- **タスクごとの言語モード** を使用すると、モジュールごとに分散した上書きではなく、統合されたポリシーレイヤーから各タスクが独自の出力言語を解決できます。
- **自動翻訳を無効化** すると、翻訳以外のタスクは元の言語の文脈を保持しますが、明示的な翻訳タスクは構成された目標言語を適用し続けます。

View file

@ -239,6 +239,7 @@ Notemd는 다양한 거대 언어 모델(LLM)과 통합되어 다국어 노트
### 언어 아키텍처 (인터페이스 언어 vs 작업 출력 언어)
- **인터페이스 언어**는 플러그인 인터페이스 텍스트(설정 레이블, 사이드바 버튼, 알림 및 대화 상자)만 제어합니다. 기본 `auto` 모드는 Obsidian의 현재 UI 언어를 따릅니다.
- 지역별 또는 문자 체계 변형은 이제 곧바로 영어로 떨어지지 않고 가장 가까운 출시된 카탈로그로 매핑됩니다. 예를 들어 `fr-CA`는 프랑스어, `es-419`는 스페인어, `pt-PT`는 포르투갈어, `zh-Hans`는 중국어 간체, `zh-Hant-HK`는 중국어 번체를 사용합니다.
- **작업 출력 언어**는 모델에 의해 생성된 작업 결과물(링크, 요약, 제목 생성, Mermaid 요약, 개념 추출, 번역 대상)을 제어합니다.
- **작업별 언어 모드**를 사용하면 모듈별로 흩어진 덮어쓰기 대신 통합된 정책 레이어에서 각 작업이 자체 출력 언어를 결정할 수 있습니다.
- **자동 번역 비활성화**는 번역 이외의 작업을 원래 언어 문맥으로 유지하는 반면, 명시적인 번역 작업은 구성된 대상 언어를 계속 적용합니다.

View file

@ -239,6 +239,7 @@ Acesse as configurações do plugin através de:
### Arquitetura de idioma (Idioma da interface vs idioma de saída das tarefas)
- **Idioma da interface** controla apenas o texto da interface do plugin (rótulos de configurações, botões da barra lateral, avisos e diálogos). O modo `auto` padrão segue o idioma atual da interface do Obsidian.
- Variantes regionais ou de escrita agora são resolvidas para o catálogo publicado mais próximo, em vez de cair direto para o inglês. Por exemplo, `fr-CA` usa francês, `es-419` usa espanhol, `pt-PT` usa português, `zh-Hans` usa chinês simplificado e `zh-Hant-HK` usa chinês tradicional.
- **Idioma de saída das tarefas** controla a saída de tarefas gerada pelo modelo (links, resumos, geração de títulos, resumo Mermaid, extração de conceitos, destino da tradução).
- **O modo de idioma por tarefa** permite que cada tarefa resolva seu próprio idioma de saída a partir de uma camada de política unificada, em vez de sobrescritas dispersas por módulo.
- **Desativar tradução automática** mantém as tarefas que não são de tradução no contexto do idioma original, enquanto tarefas explícitas de tradução ainda aplicam o idioma de destino configurado.

View file

@ -235,6 +235,7 @@ Notemd расширяет рабочий процесс в Obsidian, интег
### Языковая архитектура (язык интерфейса и язык вывода задач)
- **Язык интерфейса** управляет только текстом интерфейса плагина: подписями в настройках, кнопками боковой панели, уведомлениями и диалогами.
- Региональные и письменные варианты теперь сопоставляются с ближайшим опубликованным каталогом, а не сразу откатываются на английский. Например, `fr-CA` использует французский, `es-419` — испанский, `pt-PT` — португальский, `zh-Hans` — упрощённый китайский, а `zh-Hant-HK` — традиционный китайский.
- **Язык вывода задач** управляет выводом, генерируемым моделью: ссылками, сводками, генерацией заголовков, Mermaid-сводкой, извлечением понятий и целевым языком перевода.
- **Режим языка по задачам** позволяет каждой задаче определять собственный язык вывода через единый слой политики, а не через разбросанные переопределения по модулям.
- **Отключить автоперевод** сохраняет контекст исходного языка для задач, отличных от Translate, при этом явные задачи Translate по-прежнему используют заданный целевой язык.

View file

@ -249,6 +249,7 @@ Notemd 通过与各种大型语言模型 (LLM) 集成来增强您的 Obsidian
### 语言架构(界面语言与任务输出语言)
- **界面语言**只控制插件界面文案(设置项、侧边栏按钮、提示、弹窗)。默认 `auto` 会跟随 Obsidian 当前界面语言。
- 区域/书写体系变体现在会优先映射到最接近的已发布语言目录,而不是直接回退到英文。例如,`fr-CA` 使用法语,`es-419` 使用西班牙语,`pt-PT` 使用葡萄牙语,`zh-Hans` 使用简体中文,`zh-Hant-HK` 使用繁体中文。
- **任务输出语言**控制模型生成内容的语言添加链接、研究摘要、按标题生成、Mermaid 总结、概念提取、翻译目标)。
- **按任务语言模式**通过统一策略层解析每个任务的输出语言,避免分散在各模块中的语言分支造成行为漂移。
- **禁用自动翻译**后,非翻译任务会保留原文语言上下文;显式“翻译”任务仍按目标语言执行。

View file

@ -249,6 +249,7 @@ Notemd 通過與各種大型語言模型 (LLM) 集成來增強您的 Obsidian
### 語言架構(介面語言與任務輸出語言)
- **介面語言**只控制插件介面文案(設定項、側邊欄按鈕、提示、彈窗)。預設 `auto` 會跟隨 Obsidian 當前介面語言。
- 區域/書寫系統變體現在會優先映射到最接近的已發布語言目錄,而不是直接回退到英文。例如,`fr-CA` 使用法語,`es-419` 使用西班牙語,`pt-PT` 使用葡萄牙語,`zh-Hans` 使用簡體中文,`zh-Hant-HK` 使用繁體中文。
- **任務輸出語言**控制模型生成內容的語言添加連結、研究摘要、按標題生成、Mermaid 總結、概念提取、翻譯目標)。
- **按任務語言模式**通過統一策略層解析每個任務的輸出語言,避免分散在各模組中的語言分支造成行為漂移。
- **禁用自動翻譯**後,非翻譯任務會保留原文語言內容;顯式「翻譯」任務仍按目標語言執行。

View file

@ -106,4 +106,45 @@ describe('html renderer', () => {
expect(artifact.content).not.toContain('<h2>Data</h2>');
expect(artifact.content).not.toContain('<th>Series</th>');
});
test('falls back to shipped base catalogs for regional output languages', async () => {
const renderer = new HtmlRenderer();
const spec: DiagramSpec = {
intent: 'flowchart',
title: 'Flux de publication',
outputLanguage: 'fr-CA',
nodes: [{ id: 'validate', label: 'Valider' }]
};
const artifact = await renderer.render(spec);
expect(artifact.content).toContain('<h2>Structure</h2>');
expect(artifact.content).toContain('Langue de sortie');
expect(artifact.content).not.toContain('Output language');
});
test('maps Chinese script-region variants onto the correct shipped catalog', async () => {
const renderer = new HtmlRenderer();
const spec: DiagramSpec = {
intent: 'dataChart',
title: '每週註冊量',
outputLanguage: 'zh-Hant-HK',
nodes: [],
dataSeries: [
{
id: 'signups',
label: '註冊量',
points: [
{ x: '第 1 週', y: 12 }
]
}
]
};
const artifact = await renderer.render(spec);
expect(artifact.content).toContain('<h2>資料</h2>');
expect(artifact.content).toContain('輸出語言');
expect(artifact.content).not.toContain('<h2>Data</h2>');
});
});

View file

@ -0,0 +1,28 @@
import * as fs from 'fs';
import * as path from 'path';
const README_VARIANTS = [
'README.md',
'README_ru.md',
'README_de.md',
'README_es.md',
'README_fr.md',
'README_it.md',
'README_pt.md',
'README_ja.md',
'README_ko.md',
'README_zh.md',
'README_zh_Hant.md'
] as const;
describe('readme locale fallback docs', () => {
test.each(README_VARIANTS)('%s documents regional uiLocale fallback examples', (fileName) => {
const readme = fs.readFileSync(path.join(__dirname, '..', '..', fileName), 'utf8');
expect(readme).toContain('fr-CA');
expect(readme).toContain('es-419');
expect(readme).toContain('pt-PT');
expect(readme).toContain('zh-Hans');
expect(readme).toContain('zh-Hant-HK');
});
});