@fresh-editor/fresh-editor 0.1.87 → 0.1.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,27 +13,27 @@
13
13
  "status.closed": "Git log closed",
14
14
  "status.failed_open": "Failed to open git log panel",
15
15
  "status.refreshing": "Refreshing git log...",
16
- "status.refreshed": "Git log refreshed: {count} commits",
17
- "status.log_ready": "Git log: {count} commits | Up/Down: navigate | RET: show | q: quit",
18
- "status.commit_position": "Commit {current}/{total}",
16
+ "status.refreshed": "Git log refreshed: %{count} commits",
17
+ "status.log_ready": "Git log: %{count} commits | Up/Down: navigate | RET: show | q: quit",
18
+ "status.commit_position": "Commit %{current}/%{total}",
19
19
  "status.move_to_commit": "Move cursor to a commit line",
20
- "status.loading_commit": "Loading commit {hash}...",
21
- "status.commit_ready": "Commit {hash} | Up/Down: navigate | RET: open file | q: back",
20
+ "status.loading_commit": "Loading commit %{hash}...",
21
+ "status.commit_ready": "Commit %{hash} | Up/Down: navigate | RET: open file | q: back",
22
22
  "status.failed_open_details": "Failed to open commit details",
23
- "status.hash_copied": "Copied: {short} ({full})",
24
- "status.hash_display": "Hash: {hash}",
25
- "status.git_error": "Git log error: {error}",
26
- "status.error_fetching_diff": "Error fetching diff: {error}",
27
- "status.file_loading": "Loading {file} at {hash}...",
28
- "status.file_not_found": "File {file} not found at commit {hash}",
29
- "status.file_view_ready": "{file} @ {hash} (read-only) | Target: line {line} | q: back",
30
- "status.failed_open_file": "Failed to open {file}",
23
+ "status.hash_copied": "Copied: %{short} (%{full})",
24
+ "status.hash_display": "Hash: %{hash}",
25
+ "status.git_error": "Git log error: %{error}",
26
+ "status.error_fetching_diff": "Error fetching diff: %{error}",
27
+ "status.file_loading": "Loading %{file} at %{hash}...",
28
+ "status.file_not_found": "File %{file} not found at commit %{hash}",
29
+ "status.file_view_ready": "%{file} @ %{hash} (read-only) | Target: line %{line} | q: back",
30
+ "status.failed_open_file": "Failed to open %{file}",
31
31
  "status.move_to_diff_with_context": "Move cursor to a diff line with file context",
32
32
  "status.move_to_diff": "Move cursor to a diff line",
33
33
 
34
34
  "panel.commits_header": "Commits:",
35
35
  "panel.no_commits": " No commits found",
36
- "panel.log_footer": "{count} commits | Up/Down/j/k: navigate | RET: show | y: yank hash | r: refresh | q: quit",
36
+ "panel.log_footer": "%{count} commits | Up/Down/j/k: navigate | RET: show | y: yank hash | r: refresh | q: quit",
37
37
  "panel.detail_footer": "Up/Down/j/k: navigate | RET: open file at line | q: back to log"
38
38
  },
39
39
  "cs": {
@@ -50,27 +50,27 @@
50
50
  "status.closed": "Git log zavren",
51
51
  "status.failed_open": "Nepodarilo se otevrit panel git logu",
52
52
  "status.refreshing": "Obnovuji git log...",
53
- "status.refreshed": "Git log obnoven: {count} commitu",
54
- "status.log_ready": "Git log: {count} commitu | Nahoru/Dolu: navigace | RET: zobrazit | q: ukoncit",
55
- "status.commit_position": "Commit {current}/{total}",
53
+ "status.refreshed": "Git log obnoven: %{count} commitu",
54
+ "status.log_ready": "Git log: %{count} commitu | Nahoru/Dolu: navigace | RET: zobrazit | q: ukoncit",
55
+ "status.commit_position": "Commit %{current}/%{total}",
56
56
  "status.move_to_commit": "Presunte kurzor na radek commitu",
57
- "status.loading_commit": "Nacitam commit {hash}...",
58
- "status.commit_ready": "Commit {hash} | Nahoru/Dolu: navigace | RET: otevrit soubor | q: zpet",
57
+ "status.loading_commit": "Nacitam commit %{hash}...",
58
+ "status.commit_ready": "Commit %{hash} | Nahoru/Dolu: navigace | RET: otevrit soubor | q: zpet",
59
59
  "status.failed_open_details": "Nepodarilo se otevrit detaily commitu",
60
- "status.hash_copied": "Zkopirovano: {short} ({full})",
61
- "status.hash_display": "Hash: {hash}",
62
- "status.git_error": "Chyba git logu: {error}",
63
- "status.error_fetching_diff": "Chyba pri ziskavani diffu: {error}",
64
- "status.file_loading": "Nacitam {file} v {hash}...",
65
- "status.file_not_found": "Soubor {file} nenalezen v commitu {hash}",
66
- "status.file_view_ready": "{file} @ {hash} (pouze pro cteni) | Cil: radek {line} | q: zpet",
67
- "status.failed_open_file": "Nepodarilo se otevrit {file}",
60
+ "status.hash_copied": "Zkopirovano: %{short} (%{full})",
61
+ "status.hash_display": "Hash: %{hash}",
62
+ "status.git_error": "Chyba git logu: %{error}",
63
+ "status.error_fetching_diff": "Chyba pri ziskavani diffu: %{error}",
64
+ "status.file_loading": "Nacitam %{file} v %{hash}...",
65
+ "status.file_not_found": "Soubor %{file} nenalezen v commitu %{hash}",
66
+ "status.file_view_ready": "%{file} @ %{hash} (pouze pro cteni) | Cil: radek %{line} | q: zpet",
67
+ "status.failed_open_file": "Nepodarilo se otevrit %{file}",
68
68
  "status.move_to_diff_with_context": "Presunte kurzor na radek diffu s kontextem souboru",
69
69
  "status.move_to_diff": "Presunte kurzor na radek diffu",
70
70
 
71
71
  "panel.commits_header": "Commity:",
72
72
  "panel.no_commits": " Zadne commity nenalezeny",
73
- "panel.log_footer": "{count} commitu | Nahoru/Dolu/j/k: navigace | RET: zobrazit | y: kopirovat hash | r: obnovit | q: ukoncit",
73
+ "panel.log_footer": "%{count} commitu | Nahoru/Dolu/j/k: navigace | RET: zobrazit | y: kopirovat hash | r: obnovit | q: ukoncit",
74
74
  "panel.detail_footer": "Nahoru/Dolu/j/k: navigace | RET: otevrit soubor na radku | q: zpet do logu"
75
75
  },
76
76
  "de": {
@@ -87,27 +87,27 @@
87
87
  "status.closed": "Git-Protokoll geschlossen",
88
88
  "status.failed_open": "Git-Protokoll-Panel konnte nicht geoeffnet werden",
89
89
  "status.refreshing": "Aktualisiere Git-Protokoll...",
90
- "status.refreshed": "Git-Protokoll aktualisiert: {count} Commits",
91
- "status.log_ready": "Git-Protokoll: {count} Commits | Auf/Ab: navigieren | RET: anzeigen | q: beenden",
92
- "status.commit_position": "Commit {current}/{total}",
90
+ "status.refreshed": "Git-Protokoll aktualisiert: %{count} Commits",
91
+ "status.log_ready": "Git-Protokoll: %{count} Commits | Auf/Ab: navigieren | RET: anzeigen | q: beenden",
92
+ "status.commit_position": "Commit %{current}/%{total}",
93
93
  "status.move_to_commit": "Cursor auf eine Commit-Zeile bewegen",
94
- "status.loading_commit": "Lade Commit {hash}...",
95
- "status.commit_ready": "Commit {hash} | Auf/Ab: navigieren | RET: Datei oeffnen | q: zurueck",
94
+ "status.loading_commit": "Lade Commit %{hash}...",
95
+ "status.commit_ready": "Commit %{hash} | Auf/Ab: navigieren | RET: Datei oeffnen | q: zurueck",
96
96
  "status.failed_open_details": "Commit-Details konnten nicht geoeffnet werden",
97
- "status.hash_copied": "Kopiert: {short} ({full})",
98
- "status.hash_display": "Hash: {hash}",
99
- "status.git_error": "Git-Protokoll-Fehler: {error}",
100
- "status.error_fetching_diff": "Fehler beim Abrufen des Diffs: {error}",
101
- "status.file_loading": "Lade {file} bei {hash}...",
102
- "status.file_not_found": "Datei {file} nicht gefunden bei Commit {hash}",
103
- "status.file_view_ready": "{file} @ {hash} (schreibgeschuetzt) | Ziel: Zeile {line} | q: zurueck",
104
- "status.failed_open_file": "{file} konnte nicht geoeffnet werden",
97
+ "status.hash_copied": "Kopiert: %{short} (%{full})",
98
+ "status.hash_display": "Hash: %{hash}",
99
+ "status.git_error": "Git-Protokoll-Fehler: %{error}",
100
+ "status.error_fetching_diff": "Fehler beim Abrufen des Diffs: %{error}",
101
+ "status.file_loading": "Lade %{file} bei %{hash}...",
102
+ "status.file_not_found": "Datei %{file} nicht gefunden bei Commit %{hash}",
103
+ "status.file_view_ready": "%{file} @ %{hash} (schreibgeschuetzt) | Ziel: Zeile %{line} | q: zurueck",
104
+ "status.failed_open_file": "%{file} konnte nicht geoeffnet werden",
105
105
  "status.move_to_diff_with_context": "Cursor auf eine Diff-Zeile mit Dateikontext bewegen",
106
106
  "status.move_to_diff": "Cursor auf eine Diff-Zeile bewegen",
107
107
 
108
108
  "panel.commits_header": "Commits:",
109
109
  "panel.no_commits": " Keine Commits gefunden",
110
- "panel.log_footer": "{count} Commits | Auf/Ab/j/k: navigieren | RET: anzeigen | y: Hash kopieren | r: aktualisieren | q: beenden",
110
+ "panel.log_footer": "%{count} Commits | Auf/Ab/j/k: navigieren | RET: anzeigen | y: Hash kopieren | r: aktualisieren | q: beenden",
111
111
  "panel.detail_footer": "Auf/Ab/j/k: navigieren | RET: Datei bei Zeile oeffnen | q: zurueck zum Protokoll"
112
112
  },
113
113
  "es": {
@@ -124,27 +124,27 @@
124
124
  "status.closed": "Registro git cerrado",
125
125
  "status.failed_open": "Error al abrir el panel de registro git",
126
126
  "status.refreshing": "Actualizando registro git...",
127
- "status.refreshed": "Registro git actualizado: {count} commits",
128
- "status.log_ready": "Registro git: {count} commits | Arriba/Abajo: navegar | RET: mostrar | q: salir",
129
- "status.commit_position": "Commit {current}/{total}",
127
+ "status.refreshed": "Registro git actualizado: %{count} commits",
128
+ "status.log_ready": "Registro git: %{count} commits | Arriba/Abajo: navegar | RET: mostrar | q: salir",
129
+ "status.commit_position": "Commit %{current}/%{total}",
130
130
  "status.move_to_commit": "Mueve el cursor a una linea de commit",
131
- "status.loading_commit": "Cargando commit {hash}...",
132
- "status.commit_ready": "Commit {hash} | Arriba/Abajo: navegar | RET: abrir archivo | q: volver",
131
+ "status.loading_commit": "Cargando commit %{hash}...",
132
+ "status.commit_ready": "Commit %{hash} | Arriba/Abajo: navegar | RET: abrir archivo | q: volver",
133
133
  "status.failed_open_details": "Error al abrir detalles del commit",
134
- "status.hash_copied": "Copiado: {short} ({full})",
135
- "status.hash_display": "Hash: {hash}",
136
- "status.git_error": "Error de registro git: {error}",
137
- "status.error_fetching_diff": "Error al obtener diff: {error}",
138
- "status.file_loading": "Cargando {file} en {hash}...",
139
- "status.file_not_found": "Archivo {file} no encontrado en commit {hash}",
140
- "status.file_view_ready": "{file} @ {hash} (solo lectura) | Objetivo: linea {line} | q: volver",
141
- "status.failed_open_file": "Error al abrir {file}",
134
+ "status.hash_copied": "Copiado: %{short} (%{full})",
135
+ "status.hash_display": "Hash: %{hash}",
136
+ "status.git_error": "Error de registro git: %{error}",
137
+ "status.error_fetching_diff": "Error al obtener diff: %{error}",
138
+ "status.file_loading": "Cargando %{file} en %{hash}...",
139
+ "status.file_not_found": "Archivo %{file} no encontrado en commit %{hash}",
140
+ "status.file_view_ready": "%{file} @ %{hash} (solo lectura) | Objetivo: linea %{line} | q: volver",
141
+ "status.failed_open_file": "Error al abrir %{file}",
142
142
  "status.move_to_diff_with_context": "Mueve el cursor a una linea de diff con contexto de archivo",
143
143
  "status.move_to_diff": "Mueve el cursor a una linea de diff",
144
144
 
145
145
  "panel.commits_header": "Commits:",
146
146
  "panel.no_commits": " No se encontraron commits",
147
- "panel.log_footer": "{count} commits | Arriba/Abajo/j/k: navegar | RET: mostrar | y: copiar hash | r: actualizar | q: salir",
147
+ "panel.log_footer": "%{count} commits | Arriba/Abajo/j/k: navegar | RET: mostrar | y: copiar hash | r: actualizar | q: salir",
148
148
  "panel.detail_footer": "Arriba/Abajo/j/k: navegar | RET: abrir archivo en linea | q: volver al registro"
149
149
  },
150
150
  "fr": {
@@ -161,27 +161,27 @@
161
161
  "status.closed": "Journal git ferme",
162
162
  "status.failed_open": "Echec de l'ouverture du panneau du journal git",
163
163
  "status.refreshing": "Actualisation du journal git...",
164
- "status.refreshed": "Journal git actualise: {count} commits",
165
- "status.log_ready": "Journal git: {count} commits | Haut/Bas: naviguer | RET: afficher | q: quitter",
166
- "status.commit_position": "Commit {current}/{total}",
164
+ "status.refreshed": "Journal git actualise: %{count} commits",
165
+ "status.log_ready": "Journal git: %{count} commits | Haut/Bas: naviguer | RET: afficher | q: quitter",
166
+ "status.commit_position": "Commit %{current}/%{total}",
167
167
  "status.move_to_commit": "Deplacez le curseur sur une ligne de commit",
168
- "status.loading_commit": "Chargement du commit {hash}...",
169
- "status.commit_ready": "Commit {hash} | Haut/Bas: naviguer | RET: ouvrir fichier | q: retour",
168
+ "status.loading_commit": "Chargement du commit %{hash}...",
169
+ "status.commit_ready": "Commit %{hash} | Haut/Bas: naviguer | RET: ouvrir fichier | q: retour",
170
170
  "status.failed_open_details": "Echec de l'ouverture des details du commit",
171
- "status.hash_copied": "Copie: {short} ({full})",
172
- "status.hash_display": "Hash: {hash}",
173
- "status.git_error": "Erreur du journal git: {error}",
174
- "status.error_fetching_diff": "Erreur lors de la recuperation du diff: {error}",
175
- "status.file_loading": "Chargement de {file} a {hash}...",
176
- "status.file_not_found": "Fichier {file} non trouve au commit {hash}",
177
- "status.file_view_ready": "{file} @ {hash} (lecture seule) | Cible: ligne {line} | q: retour",
178
- "status.failed_open_file": "Echec de l'ouverture de {file}",
171
+ "status.hash_copied": "Copie: %{short} (%{full})",
172
+ "status.hash_display": "Hash: %{hash}",
173
+ "status.git_error": "Erreur du journal git: %{error}",
174
+ "status.error_fetching_diff": "Erreur lors de la recuperation du diff: %{error}",
175
+ "status.file_loading": "Chargement de %{file} a %{hash}...",
176
+ "status.file_not_found": "Fichier %{file} non trouve au commit %{hash}",
177
+ "status.file_view_ready": "%{file} @ %{hash} (lecture seule) | Cible: ligne %{line} | q: retour",
178
+ "status.failed_open_file": "Echec de l'ouverture de %{file}",
179
179
  "status.move_to_diff_with_context": "Deplacez le curseur sur une ligne de diff avec contexte de fichier",
180
180
  "status.move_to_diff": "Deplacez le curseur sur une ligne de diff",
181
181
 
182
182
  "panel.commits_header": "Commits:",
183
183
  "panel.no_commits": " Aucun commit trouve",
184
- "panel.log_footer": "{count} commits | Haut/Bas/j/k: naviguer | RET: afficher | y: copier hash | r: actualiser | q: quitter",
184
+ "panel.log_footer": "%{count} commits | Haut/Bas/j/k: naviguer | RET: afficher | y: copier hash | r: actualiser | q: quitter",
185
185
  "panel.detail_footer": "Haut/Bas/j/k: naviguer | RET: ouvrir fichier a la ligne | q: retour au journal"
186
186
  },
187
187
  "it": {
@@ -197,26 +197,26 @@
197
197
  "status.closed": "Git log chiuso",
198
198
  "status.failed_open": "Apertura del pannello git log fallita",
199
199
  "status.refreshing": "Aggiornamento git log...",
200
- "status.refreshed": "Git log aggiornato: {count} commit",
201
- "status.log_ready": "Git log: {count} commit | Su/Giù: naviga | RET: mostra | q: esci",
202
- "status.commit_position": "Commit {current}/{total}",
200
+ "status.refreshed": "Git log aggiornato: %{count} commit",
201
+ "status.log_ready": "Git log: %{count} commit | Su/Giù: naviga | RET: mostra | q: esci",
202
+ "status.commit_position": "Commit %{current}/%{total}",
203
203
  "status.move_to_commit": "Sposta il cursore su una riga di commit",
204
- "status.loading_commit": "Caricamento commit {hash}...",
205
- "status.commit_ready": "Commit {hash} | Su/Giù: naviga | RET: apri file | q: indietro",
204
+ "status.loading_commit": "Caricamento commit %{hash}...",
205
+ "status.commit_ready": "Commit %{hash} | Su/Giù: naviga | RET: apri file | q: indietro",
206
206
  "status.failed_open_details": "Apertura dettagli commit fallita",
207
- "status.hash_copied": "Copiato: {short} ({full})",
208
- "status.hash_display": "Hash: {hash}",
209
- "status.git_error": "Errore git log: {error}",
210
- "status.error_fetching_diff": "Errore nel recupero del diff: {error}",
211
- "status.file_loading": "Caricamento {file} a {hash}...",
212
- "status.file_not_found": "File {file} non trovato al commit {hash}",
213
- "status.file_view_ready": "{file} @ {hash} (sola lettura) | Destinazione: riga {line} | q: indietro",
214
- "status.failed_open_file": "Apertura di {file} fallita",
207
+ "status.hash_copied": "Copiato: %{short} (%{full})",
208
+ "status.hash_display": "Hash: %{hash}",
209
+ "status.git_error": "Errore git log: %{error}",
210
+ "status.error_fetching_diff": "Errore nel recupero del diff: %{error}",
211
+ "status.file_loading": "Caricamento %{file} a %{hash}...",
212
+ "status.file_not_found": "File %{file} non trovato al commit %{hash}",
213
+ "status.file_view_ready": "%{file} @ %{hash} (sola lettura) | Destinazione: riga %{line} | q: indietro",
214
+ "status.failed_open_file": "Apertura di %{file} fallita",
215
215
  "status.move_to_diff_with_context": "Sposta il cursore su una riga di diff con contesto file",
216
216
  "status.move_to_diff": "Sposta il cursore su una riga di diff",
217
217
  "panel.commits_header": "Commit:",
218
218
  "panel.no_commits": " Nessun commit trovato",
219
- "panel.log_footer": "{count} commit | Su/Giù/j/k: naviga | RET: mostra | y: copia hash | r: aggiorna | q: esci",
219
+ "panel.log_footer": "%{count} commit | Su/Giù/j/k: naviga | RET: mostra | y: copia hash | r: aggiorna | q: esci",
220
220
  "panel.detail_footer": "Su/Giù/j/k: naviga | RET: apri file alla riga | q: torna al log"
221
221
  },
222
222
  "ja": {
@@ -233,27 +233,27 @@
233
233
  "status.closed": "Gitログを閉じました",
234
234
  "status.failed_open": "Gitログパネルを開けませんでした",
235
235
  "status.refreshing": "Gitログを更新中...",
236
- "status.refreshed": "Gitログを更新しました: {count}件のコミット",
237
- "status.log_ready": "Gitログ: {count}件のコミット | 上/下: 移動 | RET: 表示 | q: 終了",
238
- "status.commit_position": "コミット {current}/{total}",
236
+ "status.refreshed": "Gitログを更新しました: %{count}件のコミット",
237
+ "status.log_ready": "Gitログ: %{count}件のコミット | 上/下: 移動 | RET: 表示 | q: 終了",
238
+ "status.commit_position": "コミット %{current}/%{total}",
239
239
  "status.move_to_commit": "カーソルをコミット行に移動してください",
240
- "status.loading_commit": "コミット {hash} を読み込み中...",
241
- "status.commit_ready": "コミット {hash} | 上/下: 移動 | RET: ファイルを開く | q: 戻る",
240
+ "status.loading_commit": "コミット %{hash} を読み込み中...",
241
+ "status.commit_ready": "コミット %{hash} | 上/下: 移動 | RET: ファイルを開く | q: 戻る",
242
242
  "status.failed_open_details": "コミット詳細を開けませんでした",
243
- "status.hash_copied": "コピーしました: {short} ({full})",
244
- "status.hash_display": "ハッシュ: {hash}",
245
- "status.git_error": "Gitログエラー: {error}",
246
- "status.error_fetching_diff": "差分取得エラー: {error}",
247
- "status.file_loading": "{file} を {hash} で読み込み中...",
248
- "status.file_not_found": "コミット {hash} でファイル {file} が見つかりません",
249
- "status.file_view_ready": "{file} @ {hash} (読み取り専用) | 対象: {line}行目 | q: 戻る",
250
- "status.failed_open_file": "{file} を開けませんでした",
243
+ "status.hash_copied": "コピーしました: %{short} (%{full})",
244
+ "status.hash_display": "ハッシュ: %{hash}",
245
+ "status.git_error": "Gitログエラー: %{error}",
246
+ "status.error_fetching_diff": "差分取得エラー: %{error}",
247
+ "status.file_loading": "%{file} を %{hash} で読み込み中...",
248
+ "status.file_not_found": "コミット %{hash} でファイル %{file} が見つかりません",
249
+ "status.file_view_ready": "%{file} @ %{hash} (読み取り専用) | 対象: %{line}行目 | q: 戻る",
250
+ "status.failed_open_file": "%{file} を開けませんでした",
251
251
  "status.move_to_diff_with_context": "ファイルコンテキストのある差分行にカーソルを移動してください",
252
252
  "status.move_to_diff": "カーソルを差分行に移動してください",
253
253
 
254
254
  "panel.commits_header": "コミット:",
255
255
  "panel.no_commits": " コミットが見つかりません",
256
- "panel.log_footer": "{count}件のコミット | 上/下/j/k: 移動 | RET: 表示 | y: ハッシュをコピー | r: 更新 | q: 終了",
256
+ "panel.log_footer": "%{count}件のコミット | 上/下/j/k: 移動 | RET: 表示 | y: ハッシュをコピー | r: 更新 | q: 終了",
257
257
  "panel.detail_footer": "上/下/j/k: 移動 | RET: ファイルを行で開く | q: ログに戻る"
258
258
  },
259
259
  "ko": {
@@ -270,27 +270,27 @@
270
270
  "status.closed": "Git 로그 닫힘",
271
271
  "status.failed_open": "Git 로그 패널을 열지 못했습니다",
272
272
  "status.refreshing": "Git 로그 새로고침 중...",
273
- "status.refreshed": "Git 로그 새로고침됨: {count}개 커밋",
274
- "status.log_ready": "Git 로그: {count}개 커밋 | 위/아래: 탐색 | RET: 표시 | q: 종료",
275
- "status.commit_position": "커밋 {current}/{total}",
273
+ "status.refreshed": "Git 로그 새로고침됨: %{count}개 커밋",
274
+ "status.log_ready": "Git 로그: %{count}개 커밋 | 위/아래: 탐색 | RET: 표시 | q: 종료",
275
+ "status.commit_position": "커밋 %{current}/%{total}",
276
276
  "status.move_to_commit": "커서를 커밋 줄로 이동하세요",
277
- "status.loading_commit": "커밋 {hash} 로딩 중...",
278
- "status.commit_ready": "커밋 {hash} | 위/아래: 탐색 | RET: 파일 열기 | q: 뒤로",
277
+ "status.loading_commit": "커밋 %{hash} 로딩 중...",
278
+ "status.commit_ready": "커밋 %{hash} | 위/아래: 탐색 | RET: 파일 열기 | q: 뒤로",
279
279
  "status.failed_open_details": "커밋 세부 정보를 열지 못했습니다",
280
- "status.hash_copied": "복사됨: {short} ({full})",
281
- "status.hash_display": "해시: {hash}",
282
- "status.git_error": "Git 로그 오류: {error}",
283
- "status.error_fetching_diff": "diff 가져오기 오류: {error}",
284
- "status.file_loading": "{hash}에서 {file} 로딩 중...",
285
- "status.file_not_found": "커밋 {hash}에서 파일 {file}을 찾을 수 없습니다",
286
- "status.file_view_ready": "{file} @ {hash} (읽기 전용) | 대상: {line}행 | q: 뒤로",
287
- "status.failed_open_file": "{file}을 열지 못했습니다",
280
+ "status.hash_copied": "복사됨: %{short} (%{full})",
281
+ "status.hash_display": "해시: %{hash}",
282
+ "status.git_error": "Git 로그 오류: %{error}",
283
+ "status.error_fetching_diff": "diff 가져오기 오류: %{error}",
284
+ "status.file_loading": "%{hash}에서 %{file} 로딩 중...",
285
+ "status.file_not_found": "커밋 %{hash}에서 파일 %{file}을 찾을 수 없습니다",
286
+ "status.file_view_ready": "%{file} @ %{hash} (읽기 전용) | 대상: %{line}행 | q: 뒤로",
287
+ "status.failed_open_file": "%{file}을 열지 못했습니다",
288
288
  "status.move_to_diff_with_context": "파일 컨텍스트가 있는 diff 줄로 커서를 이동하세요",
289
289
  "status.move_to_diff": "커서를 diff 줄로 이동하세요",
290
290
 
291
291
  "panel.commits_header": "커밋:",
292
292
  "panel.no_commits": " 커밋을 찾을 수 없습니다",
293
- "panel.log_footer": "{count}개 커밋 | 위/아래/j/k: 탐색 | RET: 표시 | y: 해시 복사 | r: 새로고침 | q: 종료",
293
+ "panel.log_footer": "%{count}개 커밋 | 위/아래/j/k: 탐색 | RET: 표시 | y: 해시 복사 | r: 새로고침 | q: 종료",
294
294
  "panel.detail_footer": "위/아래/j/k: 탐색 | RET: 해당 줄에서 파일 열기 | q: 로그로 돌아가기"
295
295
  },
296
296
  "pt-BR": {
@@ -307,27 +307,27 @@
307
307
  "status.closed": "Git log fechado",
308
308
  "status.failed_open": "Falha ao abrir o painel git log",
309
309
  "status.refreshing": "Atualizando git log...",
310
- "status.refreshed": "Git log atualizado: {count} commits",
311
- "status.log_ready": "Git log: {count} commits | Cima/Baixo: navegar | RET: mostrar | q: sair",
312
- "status.commit_position": "Commit {current}/{total}",
310
+ "status.refreshed": "Git log atualizado: %{count} commits",
311
+ "status.log_ready": "Git log: %{count} commits | Cima/Baixo: navegar | RET: mostrar | q: sair",
312
+ "status.commit_position": "Commit %{current}/%{total}",
313
313
  "status.move_to_commit": "Mova o cursor para uma linha de commit",
314
- "status.loading_commit": "Carregando commit {hash}...",
315
- "status.commit_ready": "Commit {hash} | Cima/Baixo: navegar | RET: abrir arquivo | q: voltar",
314
+ "status.loading_commit": "Carregando commit %{hash}...",
315
+ "status.commit_ready": "Commit %{hash} | Cima/Baixo: navegar | RET: abrir arquivo | q: voltar",
316
316
  "status.failed_open_details": "Falha ao abrir detalhes do commit",
317
- "status.hash_copied": "Copiado: {short} ({full})",
318
- "status.hash_display": "Hash: {hash}",
319
- "status.git_error": "Erro git log: {error}",
320
- "status.error_fetching_diff": "Erro ao buscar diff: {error}",
321
- "status.file_loading": "Carregando {file} em {hash}...",
322
- "status.file_not_found": "Arquivo {file} nao encontrado no commit {hash}",
323
- "status.file_view_ready": "{file} @ {hash} (somente leitura) | Destino: linha {line} | q: voltar",
324
- "status.failed_open_file": "Falha ao abrir {file}",
317
+ "status.hash_copied": "Copiado: %{short} (%{full})",
318
+ "status.hash_display": "Hash: %{hash}",
319
+ "status.git_error": "Erro git log: %{error}",
320
+ "status.error_fetching_diff": "Erro ao buscar diff: %{error}",
321
+ "status.file_loading": "Carregando %{file} em %{hash}...",
322
+ "status.file_not_found": "Arquivo %{file} nao encontrado no commit %{hash}",
323
+ "status.file_view_ready": "%{file} @ %{hash} (somente leitura) | Destino: linha %{line} | q: voltar",
324
+ "status.failed_open_file": "Falha ao abrir %{file}",
325
325
  "status.move_to_diff_with_context": "Mova o cursor para uma linha de diff com contexto de arquivo",
326
326
  "status.move_to_diff": "Mova o cursor para uma linha de diff",
327
327
 
328
328
  "panel.commits_header": "Commits:",
329
329
  "panel.no_commits": " Nenhum commit encontrado",
330
- "panel.log_footer": "{count} commits | Cima/Baixo/j/k: navegar | RET: mostrar | y: copiar hash | r: atualizar | q: sair",
330
+ "panel.log_footer": "%{count} commits | Cima/Baixo/j/k: navegar | RET: mostrar | y: copiar hash | r: atualizar | q: sair",
331
331
  "panel.detail_footer": "Cima/Baixo/j/k: navegar | RET: abrir arquivo na linha | q: voltar ao log"
332
332
  },
333
333
  "ru": {
@@ -344,27 +344,27 @@
344
344
  "status.closed": "Git log zakryt",
345
345
  "status.failed_open": "Ne udalos' otkryt' panel' git log",
346
346
  "status.refreshing": "Obnovlenie git log...",
347
- "status.refreshed": "Git log obnovlen: {count} kommitov",
348
- "status.log_ready": "Git log: {count} kommitov | Vverkh/Vniz: navigatsiya | RET: pokazat' | q: vyyti",
349
- "status.commit_position": "Kommit {current}/{total}",
347
+ "status.refreshed": "Git log obnovlen: %{count} kommitov",
348
+ "status.log_ready": "Git log: %{count} kommitov | Vverkh/Vniz: navigatsiya | RET: pokazat' | q: vyyti",
349
+ "status.commit_position": "Kommit %{current}/%{total}",
350
350
  "status.move_to_commit": "Peremesstite kursor na stroku kommita",
351
- "status.loading_commit": "Zagruzka kommita {hash}...",
352
- "status.commit_ready": "Kommit {hash} | Vverkh/Vniz: navigatsiya | RET: otkryt' fayl | q: nazad",
351
+ "status.loading_commit": "Zagruzka kommita %{hash}...",
352
+ "status.commit_ready": "Kommit %{hash} | Vverkh/Vniz: navigatsiya | RET: otkryt' fayl | q: nazad",
353
353
  "status.failed_open_details": "Ne udalos' otkryt' detali kommita",
354
- "status.hash_copied": "Skopirovano: {short} ({full})",
355
- "status.hash_display": "Khesh: {hash}",
356
- "status.git_error": "Oshibka git log: {error}",
357
- "status.error_fetching_diff": "Oshibka polucheniya diff: {error}",
358
- "status.file_loading": "Zagruzka {file} v {hash}...",
359
- "status.file_not_found": "Fayl {file} ne nayden v kommite {hash}",
360
- "status.file_view_ready": "{file} @ {hash} (tol'ko dlya chteniya) | Tsel': stroka {line} | q: nazad",
361
- "status.failed_open_file": "Ne udalos' otkryt' {file}",
354
+ "status.hash_copied": "Skopirovano: %{short} (%{full})",
355
+ "status.hash_display": "Khesh: %{hash}",
356
+ "status.git_error": "Oshibka git log: %{error}",
357
+ "status.error_fetching_diff": "Oshibka polucheniya diff: %{error}",
358
+ "status.file_loading": "Zagruzka %{file} v %{hash}...",
359
+ "status.file_not_found": "Fayl %{file} ne nayden v kommite %{hash}",
360
+ "status.file_view_ready": "%{file} @ %{hash} (tol'ko dlya chteniya) | Tsel': stroka %{line} | q: nazad",
361
+ "status.failed_open_file": "Ne udalos' otkryt' %{file}",
362
362
  "status.move_to_diff_with_context": "Peremesstite kursor na stroku diff s kontekstom fayla",
363
363
  "status.move_to_diff": "Peremesstite kursor na stroku diff",
364
364
 
365
365
  "panel.commits_header": "Kommity:",
366
366
  "panel.no_commits": " Kommity ne naydeny",
367
- "panel.log_footer": "{count} kommitov | Vverkh/Vniz/j/k: navigatsiya | RET: pokazat' | y: kopirovat' khesh | r: obnovit' | q: vyyti",
367
+ "panel.log_footer": "%{count} kommitov | Vverkh/Vniz/j/k: navigatsiya | RET: pokazat' | y: kopirovat' khesh | r: obnovit' | q: vyyti",
368
368
  "panel.detail_footer": "Vverkh/Vniz/j/k: navigatsiya | RET: otkryt' fayl na stroke | q: nazad k logu"
369
369
  },
370
370
  "th": {
@@ -381,27 +381,27 @@
381
381
  "status.closed": "ปิด git log แล้ว",
382
382
  "status.failed_open": "ไม่สามารถเปิดแผง git log ได้",
383
383
  "status.refreshing": "กำลังรีเฟรช git log...",
384
- "status.refreshed": "รีเฟรช git log แล้ว: {count} คอมมิต",
385
- "status.log_ready": "Git log: {count} คอมมิต | ขึ้น/ลง: นำทาง | RET: แสดง | q: ออก",
386
- "status.commit_position": "คอมมิต {current}/{total}",
384
+ "status.refreshed": "รีเฟรช git log แล้ว: %{count} คอมมิต",
385
+ "status.log_ready": "Git log: %{count} คอมมิต | ขึ้น/ลง: นำทาง | RET: แสดง | q: ออก",
386
+ "status.commit_position": "คอมมิต %{current}/%{total}",
387
387
  "status.move_to_commit": "เลื่อนเคอร์เซอร์ไปที่บรรทัดคอมมิต",
388
- "status.loading_commit": "กำลังโหลดคอมมิต {hash}...",
389
- "status.commit_ready": "คอมมิต {hash} | ขึ้น/ลง: นำทาง | RET: เปิดไฟล์ | q: กลับ",
388
+ "status.loading_commit": "กำลังโหลดคอมมิต %{hash}...",
389
+ "status.commit_ready": "คอมมิต %{hash} | ขึ้น/ลง: นำทาง | RET: เปิดไฟล์ | q: กลับ",
390
390
  "status.failed_open_details": "ไม่สามารถเปิดรายละเอียดคอมมิตได้",
391
- "status.hash_copied": "คัดลอกแล้ว: {short} ({full})",
392
- "status.hash_display": "แฮช: {hash}",
393
- "status.git_error": "ข้อผิดพลาด git log: {error}",
394
- "status.error_fetching_diff": "ข้อผิดพลาดในการดึง diff: {error}",
395
- "status.file_loading": "กำลังโหลด {file} ที่ {hash}...",
396
- "status.file_not_found": "ไม่พบไฟล์ {file} ในคอมมิต {hash}",
397
- "status.file_view_ready": "{file} @ {hash} (อ่านอย่างเดียว) | เป้าหมาย: บรรทัด {line} | q: กลับ",
398
- "status.failed_open_file": "ไม่สามารถเปิด {file} ได้",
391
+ "status.hash_copied": "คัดลอกแล้ว: %{short} (%{full})",
392
+ "status.hash_display": "แฮช: %{hash}",
393
+ "status.git_error": "ข้อผิดพลาด git log: %{error}",
394
+ "status.error_fetching_diff": "ข้อผิดพลาดในการดึง diff: %{error}",
395
+ "status.file_loading": "กำลังโหลด %{file} ที่ %{hash}...",
396
+ "status.file_not_found": "ไม่พบไฟล์ %{file} ในคอมมิต %{hash}",
397
+ "status.file_view_ready": "%{file} @ %{hash} (อ่านอย่างเดียว) | เป้าหมาย: บรรทัด %{line} | q: กลับ",
398
+ "status.failed_open_file": "ไม่สามารถเปิด %{file} ได้",
399
399
  "status.move_to_diff_with_context": "เลื่อนเคอร์เซอร์ไปที่บรรทัด diff ที่มีบริบทไฟล์",
400
400
  "status.move_to_diff": "เลื่อนเคอร์เซอร์ไปที่บรรทัด diff",
401
401
 
402
402
  "panel.commits_header": "คอมมิต:",
403
403
  "panel.no_commits": " ไม่พบคอมมิต",
404
- "panel.log_footer": "{count} คอมมิต | ขึ้น/ลง/j/k: นำทาง | RET: แสดง | y: คัดลอกแฮช | r: รีเฟรช | q: ออก",
404
+ "panel.log_footer": "%{count} คอมมิต | ขึ้น/ลง/j/k: นำทาง | RET: แสดง | y: คัดลอกแฮช | r: รีเฟรช | q: ออก",
405
405
  "panel.detail_footer": "ขึ้น/ลง/j/k: นำทาง | RET: เปิดไฟล์ที่บรรทัด | q: กลับไปที่ log"
406
406
  },
407
407
  "uk": {
@@ -418,27 +418,27 @@
418
418
  "status.closed": "Git log zakryto",
419
419
  "status.failed_open": "Ne vdalosya vidkryty panel' git log",
420
420
  "status.refreshing": "Onovlennya git log...",
421
- "status.refreshed": "Git log onovleno: {count} komitiv",
422
- "status.log_ready": "Git log: {count} komitiv | Vhoru/Vnyz: navihatsiya | RET: pokazaty | q: vyyty",
423
- "status.commit_position": "Komit {current}/{total}",
421
+ "status.refreshed": "Git log onovleno: %{count} komitiv",
422
+ "status.log_ready": "Git log: %{count} komitiv | Vhoru/Vnyz: navihatsiya | RET: pokazaty | q: vyyty",
423
+ "status.commit_position": "Komit %{current}/%{total}",
424
424
  "status.move_to_commit": "Peremistit' kursor na ryadok komitu",
425
- "status.loading_commit": "Zavantazhennya komitu {hash}...",
426
- "status.commit_ready": "Komit {hash} | Vhoru/Vnyz: navihatsiya | RET: vidkryty fayl | q: nazad",
425
+ "status.loading_commit": "Zavantazhennya komitu %{hash}...",
426
+ "status.commit_ready": "Komit %{hash} | Vhoru/Vnyz: navihatsiya | RET: vidkryty fayl | q: nazad",
427
427
  "status.failed_open_details": "Ne vdalosya vidkryty detali komitu",
428
- "status.hash_copied": "Skopiyovano: {short} ({full})",
429
- "status.hash_display": "Khesh: {hash}",
430
- "status.git_error": "Pomylka git log: {error}",
431
- "status.error_fetching_diff": "Pomylka otrymannya diff: {error}",
432
- "status.file_loading": "Zavantazhennya {file} v {hash}...",
433
- "status.file_not_found": "Fayl {file} ne znaydeno v komiti {hash}",
434
- "status.file_view_ready": "{file} @ {hash} (til'ky dlya chytannya) | Tsil': ryadok {line} | q: nazad",
435
- "status.failed_open_file": "Ne vdalosya vidkryty {file}",
428
+ "status.hash_copied": "Skopiyovano: %{short} (%{full})",
429
+ "status.hash_display": "Khesh: %{hash}",
430
+ "status.git_error": "Pomylka git log: %{error}",
431
+ "status.error_fetching_diff": "Pomylka otrymannya diff: %{error}",
432
+ "status.file_loading": "Zavantazhennya %{file} v %{hash}...",
433
+ "status.file_not_found": "Fayl %{file} ne znaydeno v komiti %{hash}",
434
+ "status.file_view_ready": "%{file} @ %{hash} (til'ky dlya chytannya) | Tsil': ryadok %{line} | q: nazad",
435
+ "status.failed_open_file": "Ne vdalosya vidkryty %{file}",
436
436
  "status.move_to_diff_with_context": "Peremistit' kursor na ryadok diff z kontekstom faylu",
437
437
  "status.move_to_diff": "Peremistit' kursor na ryadok diff",
438
438
 
439
439
  "panel.commits_header": "Komity:",
440
440
  "panel.no_commits": " Komity ne znaydeno",
441
- "panel.log_footer": "{count} komitiv | Vhoru/Vnyz/j/k: navihatsiya | RET: pokazaty | y: kopiyuvaty khesh | r: onovyty | q: vyyty",
441
+ "panel.log_footer": "%{count} komitiv | Vhoru/Vnyz/j/k: navihatsiya | RET: pokazaty | y: kopiyuvaty khesh | r: onovyty | q: vyyty",
442
442
  "panel.detail_footer": "Vhoru/Vnyz/j/k: navihatsiya | RET: vidkryty fayl na ryadku | q: nazad do lohu"
443
443
  },
444
444
  "zh-CN": {
@@ -455,27 +455,27 @@
455
455
  "status.closed": "Git日志已关闭",
456
456
  "status.failed_open": "无法打开Git日志面板",
457
457
  "status.refreshing": "正在刷新Git日志...",
458
- "status.refreshed": "Git日志已刷新: {count}个提交",
459
- "status.log_ready": "Git日志: {count}个提交 | 上/下: 导航 | RET: 显示 | q: 退出",
460
- "status.commit_position": "提交 {current}/{total}",
458
+ "status.refreshed": "Git日志已刷新: %{count}个提交",
459
+ "status.log_ready": "Git日志: %{count}个提交 | 上/下: 导航 | RET: 显示 | q: 退出",
460
+ "status.commit_position": "提交 %{current}/%{total}",
461
461
  "status.move_to_commit": "请将光标移动到提交行",
462
- "status.loading_commit": "正在加载提交 {hash}...",
463
- "status.commit_ready": "提交 {hash} | 上/下: 导航 | RET: 打开文件 | q: 返回",
462
+ "status.loading_commit": "正在加载提交 %{hash}...",
463
+ "status.commit_ready": "提交 %{hash} | 上/下: 导航 | RET: 打开文件 | q: 返回",
464
464
  "status.failed_open_details": "无法打开提交详情",
465
- "status.hash_copied": "已复制: {short} ({full})",
466
- "status.hash_display": "哈希: {hash}",
467
- "status.git_error": "Git日志错误: {error}",
468
- "status.error_fetching_diff": "获取差异时出错: {error}",
469
- "status.file_loading": "正在加载 {file} 于 {hash}...",
470
- "status.file_not_found": "在提交 {hash} 中未找到文件 {file}",
471
- "status.file_view_ready": "{file} @ {hash} (只读) | 目标: {line}行 | q: 返回",
472
- "status.failed_open_file": "无法打开 {file}",
465
+ "status.hash_copied": "已复制: %{short} (%{full})",
466
+ "status.hash_display": "哈希: %{hash}",
467
+ "status.git_error": "Git日志错误: %{error}",
468
+ "status.error_fetching_diff": "获取差异时出错: %{error}",
469
+ "status.file_loading": "正在加载 %{file} 于 %{hash}...",
470
+ "status.file_not_found": "在提交 %{hash} 中未找到文件 %{file}",
471
+ "status.file_view_ready": "%{file} @ %{hash} (只读) | 目标: 第%{line}行 | q: 返回",
472
+ "status.failed_open_file": "无法打开 %{file}",
473
473
  "status.move_to_diff_with_context": "请将光标移动到带有文件上下文的差异行",
474
474
  "status.move_to_diff": "请将光标移动到差异行",
475
475
 
476
476
  "panel.commits_header": "提交:",
477
477
  "panel.no_commits": " 未找到提交",
478
- "panel.log_footer": "{count}个提交 | 上/下/j/k: 导航 | RET: 显示 | y: 复制哈希 | r: 刷新 | q: 退出",
478
+ "panel.log_footer": "%{count}个提交 | 上/下/j/k: 导航 | RET: 显示 | y: 复制哈希 | r: 刷新 | q: 退出",
479
479
  "panel.detail_footer": "上/下/j/k: 导航 | RET: 在行处打开文件 | q: 返回日志"
480
480
  }
481
481
  }
@@ -867,10 +867,8 @@ interface EditorAPI {
867
867
  clearViewTransform(bufferId: number, splitId: number | null): boolean;
868
868
  /**
869
869
  * Set file explorer decorations for a namespace
870
- *
871
- * Uses typed Vec<FileExplorerDecoration> - serde validates field names at runtime
872
870
  */
873
- setFileExplorerDecorations(namespace: string, decorations: FileExplorerDecoration[]): boolean;
871
+ setFileExplorerDecorations(namespace: string, decorations: Record<string, unknown>[]): boolean;
874
872
  /**
875
873
  * Clear file explorer decorations for a namespace
876
874
  */
@@ -999,6 +997,11 @@ interface EditorAPI {
999
997
  */
1000
998
  disableLspForLanguage(language: string): boolean;
1001
999
  /**
1000
+ * Set the workspace root URI for a specific language's LSP server
1001
+ * This allows plugins to specify project roots (e.g., directory containing .csproj)
1002
+ */
1003
+ setLspRootUri(language: string, uri: string): boolean;
1004
+ /**
1002
1005
  * Get all diagnostics from LSP
1003
1006
  */
1004
1007
  getAllDiagnostics(): JsDiagnostic[];