moonraker-bosun 0.1.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +16 -0
- data/LICENSE +21 -0
- data/README.ja.md +467 -0
- data/README.md +124 -0
- data/docs/design.md +358 -0
- data/docs/moonraker-api.md +108 -0
- data/exe/bosun +7 -0
- data/lib/moonraker/bosun/cli.rb +64 -0
- data/lib/moonraker/bosun/client.rb +147 -0
- data/lib/moonraker/bosun/commands/add.rb +38 -0
- data/lib/moonraker/bosun/commands/audit.rb +48 -0
- data/lib/moonraker/bosun/commands/backup.rb +135 -0
- data/lib/moonraker/bosun/commands/base.rb +61 -0
- data/lib/moonraker/bosun/commands/diff.rb +29 -0
- data/lib/moonraker/bosun/commands/export.rb +103 -0
- data/lib/moonraker/bosun/commands/fetching.rb +76 -0
- data/lib/moonraker/bosun/commands/forget.rb +26 -0
- data/lib/moonraker/bosun/commands/get.rb +57 -0
- data/lib/moonraker/bosun/commands/ls.rb +43 -0
- data/lib/moonraker/bosun/commands/pull.rb +52 -0
- data/lib/moonraker/bosun/commands/push.rb +136 -0
- data/lib/moonraker/bosun/commands/removing.rb +38 -0
- data/lib/moonraker/bosun/commands/rm.rb +105 -0
- data/lib/moonraker/bosun/commands/roots.rb +31 -0
- data/lib/moonraker/bosun/commands/status.rb +22 -0
- data/lib/moonraker/bosun/commands/status_report.rb +75 -0
- data/lib/moonraker/bosun/config.rb +31 -0
- data/lib/moonraker/bosun/context.rb +26 -0
- data/lib/moonraker/bosun/error.rb +8 -0
- data/lib/moonraker/bosun/file_rules.rb +37 -0
- data/lib/moonraker/bosun/git.rb +139 -0
- data/lib/moonraker/bosun/host_tracking.rb +214 -0
- data/lib/moonraker/bosun/messages/catalog.rb +837 -0
- data/lib/moonraker/bosun/messages.rb +42 -0
- data/lib/moonraker/bosun/push_plan.rb +89 -0
- data/lib/moonraker/bosun/sync_status.rb +130 -0
- data/lib/moonraker/bosun/version.rb +7 -0
- data/lib/moonraker/bosun.rb +31 -0
- metadata +86 -0
|
@@ -0,0 +1,837 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Moonraker
|
|
4
|
+
module Bosun
|
|
5
|
+
module Messages
|
|
6
|
+
# jaが原本。enはその翻訳
|
|
7
|
+
#
|
|
8
|
+
# 英語は、エラー(bosun: に続けて表示するもの)は小文字で始め、それ以外は大文字で始める。
|
|
9
|
+
CATALOG = {
|
|
10
|
+
# 共通
|
|
11
|
+
"common.help_option": {
|
|
12
|
+
ja: "この説明を表示する",
|
|
13
|
+
en: "Show this help"
|
|
14
|
+
},
|
|
15
|
+
"common.root_option": {
|
|
16
|
+
ja: "Rootディレクトリ(省略時はconfig)",
|
|
17
|
+
en: "Root directory (default: config)"
|
|
18
|
+
},
|
|
19
|
+
"common.invalid_option": {
|
|
20
|
+
ja: "オプションが不正です: %{message}",
|
|
21
|
+
en: "invalid option: %{message}"
|
|
22
|
+
},
|
|
23
|
+
"common.invalid_path": {
|
|
24
|
+
ja: "ファイルの指定が不正です: %{path}",
|
|
25
|
+
en: "invalid file path: %{path}"
|
|
26
|
+
},
|
|
27
|
+
"common.no_arguments": {
|
|
28
|
+
ja: "%{command}には引数を指定できません: %{args}",
|
|
29
|
+
en: "%{command} takes no arguments: %{args}"
|
|
30
|
+
},
|
|
31
|
+
"common.no_tracked_files": {
|
|
32
|
+
ja: "トラッキング中のファイルがありません。bosun add でトラッキングを始めてください",
|
|
33
|
+
en: "no files are tracked; start tracking with bosun add"
|
|
34
|
+
},
|
|
35
|
+
"common.file_not_on_host": {
|
|
36
|
+
ja: "ホストにファイルがありません: %{path}",
|
|
37
|
+
en: "file not found on the host: %{path}"
|
|
38
|
+
},
|
|
39
|
+
"common.fetched": {
|
|
40
|
+
ja: "取得しました: %{path}",
|
|
41
|
+
en: "Fetched: %{path}"
|
|
42
|
+
},
|
|
43
|
+
"common.printing": {
|
|
44
|
+
ja: "印刷中のため中止しました(print_stats.state: %{state})",
|
|
45
|
+
en: "aborted because the printer is printing (print_stats.state: %{state})"
|
|
46
|
+
},
|
|
47
|
+
"common.not_fetched": {
|
|
48
|
+
ja: "%{label}(取得していません):",
|
|
49
|
+
en: "%{label} (not fetched):"
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
# CLI
|
|
53
|
+
"cli.usage": {
|
|
54
|
+
ja: <<~TEXT,
|
|
55
|
+
使い方: bosun <コマンド> [引数...]
|
|
56
|
+
|
|
57
|
+
コマンド:
|
|
58
|
+
%{commands}
|
|
59
|
+
|
|
60
|
+
各コマンドの説明は bosun <コマンド> --help で表示します。
|
|
61
|
+
TEXT
|
|
62
|
+
en: <<~TEXT
|
|
63
|
+
Usage: bosun <command> [args...]
|
|
64
|
+
|
|
65
|
+
Commands:
|
|
66
|
+
%{commands}
|
|
67
|
+
|
|
68
|
+
Run bosun <command> --help for details of each command.
|
|
69
|
+
TEXT
|
|
70
|
+
},
|
|
71
|
+
"cli.interrupted": {
|
|
72
|
+
ja: "中断しました",
|
|
73
|
+
en: "interrupted"
|
|
74
|
+
},
|
|
75
|
+
"cli.unknown_command": {
|
|
76
|
+
ja: "不明なコマンドです: %{name}",
|
|
77
|
+
en: "unknown command: %{name}"
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
# 設定、Moonraker、git
|
|
81
|
+
"config.not_set": {
|
|
82
|
+
ja: "環境変数%{name}が設定されていません",
|
|
83
|
+
en: "environment variable %{name} is not set"
|
|
84
|
+
},
|
|
85
|
+
"config.not_http": {
|
|
86
|
+
ja: "%{name}はhttp://またはhttps://で始まるURLを指定してください: %{url}",
|
|
87
|
+
en: "%{name} must be a URL starting with http:// or https://: %{url}"
|
|
88
|
+
},
|
|
89
|
+
"config.invalid_url": {
|
|
90
|
+
ja: "%{name}のURLが不正です: %{url}",
|
|
91
|
+
en: "invalid URL in %{name}: %{url}"
|
|
92
|
+
},
|
|
93
|
+
"client.api_error": {
|
|
94
|
+
ja: "Moonrakerがエラーを返しました(%{code}): %{message}",
|
|
95
|
+
en: "Moonraker returned an error (%{code}): %{message}"
|
|
96
|
+
},
|
|
97
|
+
"client.invalid_response": {
|
|
98
|
+
ja: "Moonrakerの応答を解釈できません(%{context}): %{message}",
|
|
99
|
+
en: "cannot parse the response from Moonraker (%{context}): %{message}"
|
|
100
|
+
},
|
|
101
|
+
"client.connection_failed": {
|
|
102
|
+
ja: "Moonrakerに接続できません(%{url}): %{message}",
|
|
103
|
+
en: "cannot connect to Moonraker (%{url}): %{message}"
|
|
104
|
+
},
|
|
105
|
+
"git.not_repository": {
|
|
106
|
+
ja: "gitリポジトリの中で実行してください: %{dir}",
|
|
107
|
+
en: "run inside a git repository: %{dir}"
|
|
108
|
+
},
|
|
109
|
+
"git.failed": {
|
|
110
|
+
ja: "gitコマンドが失敗しました(git %{command}): %{message}",
|
|
111
|
+
en: "git command failed (git %{command}): %{message}"
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
# 除外する理由
|
|
115
|
+
"exclusion.read_only": {
|
|
116
|
+
ja: "rwでない",
|
|
117
|
+
en: "not rw"
|
|
118
|
+
},
|
|
119
|
+
"exclusion.backup": {
|
|
120
|
+
ja: "バックアップファイル",
|
|
121
|
+
en: "backup file"
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
# 状態(SyncStatus)
|
|
125
|
+
"state.host_modified.label": {
|
|
126
|
+
ja: "ホストで変更",
|
|
127
|
+
en: "Modified on the host"
|
|
128
|
+
},
|
|
129
|
+
"state.host_modified.guide": {
|
|
130
|
+
ja: "bosun pull で取り込む",
|
|
131
|
+
en: "Fetch with bosun pull"
|
|
132
|
+
},
|
|
133
|
+
"state.local_modified.label": {
|
|
134
|
+
ja: "ローカルで変更",
|
|
135
|
+
en: "Modified locally"
|
|
136
|
+
},
|
|
137
|
+
"state.local_modified.guide": {
|
|
138
|
+
ja: "bosun push でホストに反映する",
|
|
139
|
+
en: "Apply to the host with bosun push"
|
|
140
|
+
},
|
|
141
|
+
"state.both_modified.label": {
|
|
142
|
+
ja: "ホストとローカルの両方で変更",
|
|
143
|
+
en: "Modified both on the host and locally"
|
|
144
|
+
},
|
|
145
|
+
"state.both_modified.guide": {
|
|
146
|
+
ja: "bosun pull でマージしてから、bosun push でホストに反映する",
|
|
147
|
+
en: "Merge with bosun pull, then apply to the host with bosun push"
|
|
148
|
+
},
|
|
149
|
+
"state.host_deleted.label": {
|
|
150
|
+
ja: "ホストで削除",
|
|
151
|
+
en: "Deleted on the host"
|
|
152
|
+
},
|
|
153
|
+
"state.host_deleted.guide": {
|
|
154
|
+
ja: "トラッキングをやめるなら bosun forget <ファイル>",
|
|
155
|
+
en: "To stop tracking, run bosun forget <file>"
|
|
156
|
+
},
|
|
157
|
+
"state.both_deleted.label": {
|
|
158
|
+
ja: "ホストとローカルの両方で削除",
|
|
159
|
+
en: "Deleted both on the host and locally"
|
|
160
|
+
},
|
|
161
|
+
"state.both_deleted.guide": {
|
|
162
|
+
ja: "トラッキングをやめるなら bosun forget <ファイル>",
|
|
163
|
+
en: "To stop tracking, run bosun forget <file>"
|
|
164
|
+
},
|
|
165
|
+
"state.host_read_only.label": {
|
|
166
|
+
ja: "ホストで書き込めなくなった",
|
|
167
|
+
en: "No longer writable on the host"
|
|
168
|
+
},
|
|
169
|
+
"state.host_read_only.guide": {
|
|
170
|
+
ja: "Web UIやSSHで確認する。トラッキングをやめるなら bosun forget <ファイル>",
|
|
171
|
+
en: "Check it with the web UI or SSH. To stop tracking, run bosun forget <file>"
|
|
172
|
+
},
|
|
173
|
+
"state.local_deleted.label": {
|
|
174
|
+
ja: "ローカルで削除",
|
|
175
|
+
en: "Deleted locally"
|
|
176
|
+
},
|
|
177
|
+
"state.local_deleted.guide": {
|
|
178
|
+
ja: "ホストからも削除するなら bosun rm <ファイル>\n" \
|
|
179
|
+
"ローカルに戻すなら git restore --source=%{branch} --staged --worktree -- %{dir}/<ファイル> " \
|
|
180
|
+
"を実行してコミットする",
|
|
181
|
+
en: "To delete it on the host as well, run bosun rm <file>\n" \
|
|
182
|
+
"To restore it locally, run git restore --source=%{branch} --staged --worktree -- %{dir}/<file> " \
|
|
183
|
+
"and commit"
|
|
184
|
+
},
|
|
185
|
+
"state.host_modified_local_deleted.label": {
|
|
186
|
+
ja: "ホストで変更、ローカルで削除",
|
|
187
|
+
en: "Modified on the host, deleted locally"
|
|
188
|
+
},
|
|
189
|
+
"state.host_modified_local_deleted.guide": {
|
|
190
|
+
ja: "bosun pull で取り込んでから判断する",
|
|
191
|
+
en: "Fetch with bosun pull, then decide"
|
|
192
|
+
},
|
|
193
|
+
"state.local_added.label": {
|
|
194
|
+
ja: "ローカルで追加",
|
|
195
|
+
en: "Added locally"
|
|
196
|
+
},
|
|
197
|
+
"state.local_added.guide": {
|
|
198
|
+
ja: "bosun push でホストに作成する",
|
|
199
|
+
en: "Create it on the host with bosun push"
|
|
200
|
+
},
|
|
201
|
+
"state.added_on_both.label": {
|
|
202
|
+
ja: "ホストとローカルの両方にある(トラッキングしていない)",
|
|
203
|
+
en: "Exists both on the host and locally (not tracked)"
|
|
204
|
+
},
|
|
205
|
+
"state.added_on_both.guide": {
|
|
206
|
+
ja: "bosun add <ファイル> で取り込んでマージする",
|
|
207
|
+
en: "Fetch and merge it with bosun add <file>"
|
|
208
|
+
},
|
|
209
|
+
"state.untracked.label": {
|
|
210
|
+
ja: "トラッキングしていない",
|
|
211
|
+
en: "Not tracked"
|
|
212
|
+
},
|
|
213
|
+
"state.untracked.guide": {
|
|
214
|
+
ja: "トラッキングするなら bosun add <ファイル>",
|
|
215
|
+
en: "To track it, run bosun add <file>"
|
|
216
|
+
},
|
|
217
|
+
"state.synced.label": {
|
|
218
|
+
ja: "同期済み",
|
|
219
|
+
en: "In sync"
|
|
220
|
+
},
|
|
221
|
+
|
|
222
|
+
# host-tracking
|
|
223
|
+
"tracking.detached_head": {
|
|
224
|
+
ja: "ブランチをチェックアウトした状態で実行してください(detached HEADです)",
|
|
225
|
+
en: "check out a branch first (HEAD is detached)"
|
|
226
|
+
},
|
|
227
|
+
"tracking.on_tracking_branch": {
|
|
228
|
+
ja: "%{branch}ブランチでは実行できません。mainなどの作業用のブランチで実行してください",
|
|
229
|
+
en: "cannot run on the %{branch} branch; run on a working branch such as main"
|
|
230
|
+
},
|
|
231
|
+
"tracking.no_head": {
|
|
232
|
+
ja: "HEADにコミットがありません",
|
|
233
|
+
en: "HEAD has no commits"
|
|
234
|
+
},
|
|
235
|
+
"tracking.merge_in_progress": {
|
|
236
|
+
ja: "マージの途中です。マージを完了するか中止してから実行してください",
|
|
237
|
+
en: "a merge is in progress; complete or abort it first"
|
|
238
|
+
},
|
|
239
|
+
"tracking.staged_changes": {
|
|
240
|
+
ja: "ステージ済みの変更があります。コミットするか、git stashで退避してから実行してください",
|
|
241
|
+
en: "there are staged changes; commit them or stash them with git stash first"
|
|
242
|
+
},
|
|
243
|
+
"tracking.dirty": {
|
|
244
|
+
ja: "次のファイルに未コミットの変更があります。コミットするか、git stashで退避してから実行してください:\n%{paths}",
|
|
245
|
+
en: "the following files have uncommitted changes; commit them or stash them with git stash first:\n%{paths}"
|
|
246
|
+
},
|
|
247
|
+
"tracking.merge_conflict": {
|
|
248
|
+
ja: "%{branch}のマージで衝突しました。%{branch}へのコミットは完了しています。\n" \
|
|
249
|
+
"衝突を解決してgit commitするか、git merge --abortで中止してください。\n%{output}",
|
|
250
|
+
en: "merging %{branch} resulted in conflicts. The commit to %{branch} has been completed.\n" \
|
|
251
|
+
"Resolve the conflicts and run git commit, or abort with git merge --abort.\n%{output}"
|
|
252
|
+
},
|
|
253
|
+
"tracking.merge_failed": {
|
|
254
|
+
ja: "%{branch}をマージできませんでした。%{branch}へのコミットは完了しています。\n" \
|
|
255
|
+
"原因を取り除いてから、git merge --no-ff %{branch}を実行してください。\n%{output}",
|
|
256
|
+
en: "could not merge %{branch}. The commit to %{branch} has been completed.\n" \
|
|
257
|
+
"Remove the cause, then run git merge --no-ff %{branch}.\n%{output}"
|
|
258
|
+
},
|
|
259
|
+
"tracking.committed": {
|
|
260
|
+
ja: "%{branch}にコミットしました: %{commit}",
|
|
261
|
+
en: "Committed to %{branch}: %{commit}"
|
|
262
|
+
},
|
|
263
|
+
"tracking.changed": {
|
|
264
|
+
ja: " 変更: %{path}",
|
|
265
|
+
en: " changed: %{path}"
|
|
266
|
+
},
|
|
267
|
+
"tracking.removed": {
|
|
268
|
+
ja: " 削除: %{path}",
|
|
269
|
+
en: " removed: %{path}"
|
|
270
|
+
},
|
|
271
|
+
"tracking.no_change": {
|
|
272
|
+
ja: "%{branch}の内容に変更はありません",
|
|
273
|
+
en: "No changes in %{branch}"
|
|
274
|
+
},
|
|
275
|
+
"tracking.merged": {
|
|
276
|
+
ja: "%{branch}にマージしました",
|
|
277
|
+
en: "Merged into %{branch}"
|
|
278
|
+
},
|
|
279
|
+
"tracking.merge_incomplete": {
|
|
280
|
+
ja: "マージが完了していません",
|
|
281
|
+
en: "the merge is not complete"
|
|
282
|
+
},
|
|
283
|
+
|
|
284
|
+
# 不変条件
|
|
285
|
+
"invariant.merge_commit": {
|
|
286
|
+
ja: "%{commit}: マージコミットです(親が%{count}個あります)",
|
|
287
|
+
en: "%{commit}: merge commit (%{count} parents)"
|
|
288
|
+
},
|
|
289
|
+
"invariant.no_op": {
|
|
290
|
+
ja: "%{commit}: Host-Opがありません(bosunが作成したコミットではありません)",
|
|
291
|
+
en: "%{commit}: no Host-Op (not created by bosun)"
|
|
292
|
+
},
|
|
293
|
+
"invariant.unknown_op": {
|
|
294
|
+
ja: "%{commit}: 不明なHost-Opです: %{op}",
|
|
295
|
+
en: "%{commit}: unknown Host-Op: %{op}"
|
|
296
|
+
},
|
|
297
|
+
"invariant.outside": {
|
|
298
|
+
ja: "%{commit}: %{dirs}以外のファイルがあります: %{paths}",
|
|
299
|
+
en: "%{commit}: files outside %{dirs}: %{paths}"
|
|
300
|
+
},
|
|
301
|
+
"invariant.dir_separator": {
|
|
302
|
+
ja: "と",
|
|
303
|
+
en: " and "
|
|
304
|
+
},
|
|
305
|
+
"invariant.more": {
|
|
306
|
+
ja: " ほか%{count}件",
|
|
307
|
+
en: " and %{count} more"
|
|
308
|
+
},
|
|
309
|
+
"invariant.db_missing": {
|
|
310
|
+
ja: "%{commit}: Host-DBに記録したファイルがツリーにありません: %{path}",
|
|
311
|
+
en: "%{commit}: file recorded in Host-DB is not in the tree: %{path}"
|
|
312
|
+
},
|
|
313
|
+
"invariant.deleted_present": {
|
|
314
|
+
ja: "%{commit}: Host-Fileに削除と記録したファイルがツリーにあります: %{path}",
|
|
315
|
+
en: "%{commit}: file recorded as deleted in Host-File is in the tree: %{path}"
|
|
316
|
+
},
|
|
317
|
+
"invariant.file_missing": {
|
|
318
|
+
ja: "%{commit}: Host-Fileに記録したファイルがツリーにありません: %{path}",
|
|
319
|
+
en: "%{commit}: file recorded in Host-File is not in the tree: %{path}"
|
|
320
|
+
},
|
|
321
|
+
"invariant.size_mismatch": {
|
|
322
|
+
ja: "%{commit}: Host-Fileに記録したサイズ(%{recorded})がblobのサイズ(%{actual})と違います: %{path}",
|
|
323
|
+
en: "%{commit}: size recorded in Host-File (%{recorded}) differs from the blob size (%{actual}): %{path}"
|
|
324
|
+
},
|
|
325
|
+
|
|
326
|
+
# roots
|
|
327
|
+
"roots.summary": {
|
|
328
|
+
ja: "ホストのRootディレクトリの一覧を表示する",
|
|
329
|
+
en: "List root directories on the host"
|
|
330
|
+
},
|
|
331
|
+
"roots.usage": {
|
|
332
|
+
ja: "使い方: bosun roots [オプション]",
|
|
333
|
+
en: "Usage: bosun roots [options]"
|
|
334
|
+
},
|
|
335
|
+
"roots.long_option": {
|
|
336
|
+
ja: "権限とホスト側のパスも表示する",
|
|
337
|
+
en: "Also show permissions and paths on the host"
|
|
338
|
+
},
|
|
339
|
+
|
|
340
|
+
# ls
|
|
341
|
+
"ls.summary": {
|
|
342
|
+
ja: "ホストのファイル一覧を表示する",
|
|
343
|
+
en: "List files on the host"
|
|
344
|
+
},
|
|
345
|
+
"ls.usage": {
|
|
346
|
+
ja: "使い方: bosun ls [オプション]",
|
|
347
|
+
en: "Usage: bosun ls [options]"
|
|
348
|
+
},
|
|
349
|
+
"ls.all_option": {
|
|
350
|
+
ja: "除外しているファイルも表示する",
|
|
351
|
+
en: "Also show excluded files"
|
|
352
|
+
},
|
|
353
|
+
"ls.long_option": {
|
|
354
|
+
ja: "権限、サイズ、更新日時も表示する",
|
|
355
|
+
en: "Also show permissions, sizes and modification times"
|
|
356
|
+
},
|
|
357
|
+
"ls.excluded": {
|
|
358
|
+
ja: "(除外: %{reason})",
|
|
359
|
+
en: "(excluded: %{reason})"
|
|
360
|
+
},
|
|
361
|
+
|
|
362
|
+
# get
|
|
363
|
+
"get.summary": {
|
|
364
|
+
ja: "ホストのファイルをカレントディレクトリに取得する",
|
|
365
|
+
en: "Download files from the host into the current directory"
|
|
366
|
+
},
|
|
367
|
+
"get.usage": {
|
|
368
|
+
ja: "使い方: bosun get [オプション] ファイル...",
|
|
369
|
+
en: "Usage: bosun get [options] FILE..."
|
|
370
|
+
},
|
|
371
|
+
"get.no_files": {
|
|
372
|
+
ja: "取得するファイルを指定してください",
|
|
373
|
+
en: "specify files to download"
|
|
374
|
+
},
|
|
375
|
+
"get.duplicated": {
|
|
376
|
+
ja: "保存するファイル名が重複しています: %{names}",
|
|
377
|
+
en: "duplicate file names to save: %{names}"
|
|
378
|
+
},
|
|
379
|
+
"get.exists": {
|
|
380
|
+
ja: "カレントディレクトリに同名のファイルがあるため、取得を中止しました: %{names}",
|
|
381
|
+
en: "aborted because files with the same names exist in the current directory: %{names}"
|
|
382
|
+
},
|
|
383
|
+
|
|
384
|
+
# add
|
|
385
|
+
"add.summary": {
|
|
386
|
+
ja: "ホストのファイルを取得してトラッキングを始める",
|
|
387
|
+
en: "Fetch files from the host and start tracking them"
|
|
388
|
+
},
|
|
389
|
+
"add.usage": {
|
|
390
|
+
ja: "使い方: bosun add ファイル...",
|
|
391
|
+
en: "Usage: bosun add FILE..."
|
|
392
|
+
},
|
|
393
|
+
"add.no_files": {
|
|
394
|
+
ja: "トラッキングするファイルを指定してください",
|
|
395
|
+
en: "specify files to track"
|
|
396
|
+
},
|
|
397
|
+
"add.excluded": {
|
|
398
|
+
ja: "トラッキングの対象にできないファイルです(%{reason}): %{path}",
|
|
399
|
+
en: "cannot track this file (%{reason}): %{path}"
|
|
400
|
+
},
|
|
401
|
+
|
|
402
|
+
# pull
|
|
403
|
+
"pull.summary": {
|
|
404
|
+
ja: "トラッキング中のファイルをホストから一括で取得する",
|
|
405
|
+
en: "Fetch all tracked files from the host"
|
|
406
|
+
},
|
|
407
|
+
"pull.usage": {
|
|
408
|
+
ja: "使い方: bosun pull",
|
|
409
|
+
en: "Usage: bosun pull"
|
|
410
|
+
},
|
|
411
|
+
|
|
412
|
+
# status、audit
|
|
413
|
+
"status.summary": {
|
|
414
|
+
ja: "ホストとローカルの設定ファイルの状態を表示する",
|
|
415
|
+
en: "Show the state of configuration files on the host and locally"
|
|
416
|
+
},
|
|
417
|
+
"status.usage": {
|
|
418
|
+
ja: "使い方: bosun status",
|
|
419
|
+
en: "Usage: bosun status"
|
|
420
|
+
},
|
|
421
|
+
"status.no_tip": {
|
|
422
|
+
ja: "%{branch}: まだありません。bosun add でトラッキングを始めてください",
|
|
423
|
+
en: "%{branch}: does not exist yet. Start tracking with bosun add"
|
|
424
|
+
},
|
|
425
|
+
"status.unmerged": {
|
|
426
|
+
ja: "注意: %{branch}に、まだ現在のブランチに取り込んでいないコミットがあります",
|
|
427
|
+
en: "Warning: %{branch} has commits not yet merged into the current branch"
|
|
428
|
+
},
|
|
429
|
+
"status.unmerged_guide": {
|
|
430
|
+
ja: "git merge --no-ff %{branch} で取り込んでください(取り込むまで、以下の判定は正しくありません)",
|
|
431
|
+
en: "Merge them with git merge --no-ff %{branch} (the states below are not accurate until then)"
|
|
432
|
+
},
|
|
433
|
+
"status.all_synced": {
|
|
434
|
+
ja: "すべて同期済みです(%{count}件)",
|
|
435
|
+
en: "All files are in sync (%{count})"
|
|
436
|
+
},
|
|
437
|
+
"status.synced_count": {
|
|
438
|
+
ja: "同期済み: %{count}件",
|
|
439
|
+
en: "In sync: %{count}"
|
|
440
|
+
},
|
|
441
|
+
"status.renames": {
|
|
442
|
+
ja: "ホストで名前を変更した可能性があります:",
|
|
443
|
+
en: "Possibly renamed on the host:"
|
|
444
|
+
},
|
|
445
|
+
"status.rename_guide": {
|
|
446
|
+
ja: "bosun add %{to} と bosun forget %{from} で、新しい名前のトラッキングに切り替える",
|
|
447
|
+
en: "Switch tracking to the new name with bosun add %{to} and bosun forget %{from}"
|
|
448
|
+
},
|
|
449
|
+
"status.dirty": {
|
|
450
|
+
ja: "未コミットの変更(判定はHEADの内容で行っています):",
|
|
451
|
+
en: "Uncommitted changes (states are determined from HEAD):"
|
|
452
|
+
},
|
|
453
|
+
"audit.summary": {
|
|
454
|
+
ja: "内容まで比べて同期の状態を検査し、不変条件も検査する",
|
|
455
|
+
en: "Check sync states by comparing contents, and check invariants"
|
|
456
|
+
},
|
|
457
|
+
"audit.usage": {
|
|
458
|
+
ja: "使い方: bosun audit",
|
|
459
|
+
en: "Usage: bosun audit"
|
|
460
|
+
},
|
|
461
|
+
"audit.invariants_ok": {
|
|
462
|
+
ja: "%{branch}の不変条件: 問題なし",
|
|
463
|
+
en: "Invariants of %{branch}: OK"
|
|
464
|
+
},
|
|
465
|
+
"audit.invariants_violated": {
|
|
466
|
+
ja: "%{branch}の不変条件の違反:",
|
|
467
|
+
en: "Invariant violations in %{branch}:"
|
|
468
|
+
},
|
|
469
|
+
"audit.repair_guide": {
|
|
470
|
+
ja: "%{branch}を修復する必要があります。git log %{branch} で経緯を確認してください",
|
|
471
|
+
en: "%{branch} needs to be repaired. Check its history with git log %{branch}"
|
|
472
|
+
},
|
|
473
|
+
"audit.design_guide": {
|
|
474
|
+
ja: "不変条件は docs/design.md の「不変条件」を参照してください",
|
|
475
|
+
en: "See the invariants (不変条件) section in docs/design.md"
|
|
476
|
+
},
|
|
477
|
+
"audit.ok": {
|
|
478
|
+
ja: "問題はありません",
|
|
479
|
+
en: "No problems found"
|
|
480
|
+
},
|
|
481
|
+
"audit.ng": {
|
|
482
|
+
ja: "問題があります",
|
|
483
|
+
en: "Problems found"
|
|
484
|
+
},
|
|
485
|
+
|
|
486
|
+
# diff
|
|
487
|
+
"diff.summary": {
|
|
488
|
+
ja: "最後に取得した内容と、ローカル(HEAD)の内容の差分を表示する",
|
|
489
|
+
en: "Show differences between the last fetched contents and local (HEAD)"
|
|
490
|
+
},
|
|
491
|
+
"diff.usage": {
|
|
492
|
+
ja: "使い方: bosun diff [オプション] [ファイル...]",
|
|
493
|
+
en: "Usage: bosun diff [options] [FILE...]"
|
|
494
|
+
},
|
|
495
|
+
"diff.stat_option": {
|
|
496
|
+
ja: "変更の概要だけを表示する",
|
|
497
|
+
en: "Show only a summary of changes"
|
|
498
|
+
},
|
|
499
|
+
|
|
500
|
+
# push
|
|
501
|
+
"push.summary": {
|
|
502
|
+
ja: "ローカルでの変更をホストに反映する",
|
|
503
|
+
en: "Apply local changes to the host"
|
|
504
|
+
},
|
|
505
|
+
"push.usage": {
|
|
506
|
+
ja: "使い方: bosun push [オプション]",
|
|
507
|
+
en: "Usage: bosun push [options]"
|
|
508
|
+
},
|
|
509
|
+
"push.dry_run_option": {
|
|
510
|
+
ja: "反映する内容を表示するだけで、ホストには書き込まない",
|
|
511
|
+
en: "Only show what would be applied, without writing to the host"
|
|
512
|
+
},
|
|
513
|
+
"push.create": {
|
|
514
|
+
ja: "作成: %{path}",
|
|
515
|
+
en: "Create: %{path}"
|
|
516
|
+
},
|
|
517
|
+
"push.update": {
|
|
518
|
+
ja: "更新: %{path}",
|
|
519
|
+
en: "Update: %{path}"
|
|
520
|
+
},
|
|
521
|
+
"push.nothing": {
|
|
522
|
+
ja: "反映する変更はありません",
|
|
523
|
+
en: "No changes to apply"
|
|
524
|
+
},
|
|
525
|
+
"push.problems": {
|
|
526
|
+
ja: "反映できないファイル:",
|
|
527
|
+
en: "Files that cannot be applied:"
|
|
528
|
+
},
|
|
529
|
+
"push.skipped": {
|
|
530
|
+
ja: "%{label}(反映しません):",
|
|
531
|
+
en: "%{label} (not applied):"
|
|
532
|
+
},
|
|
533
|
+
"push.aborted": {
|
|
534
|
+
ja: "反映できないファイルがあるため、中止しました(ホストには何も書き込んでいません)",
|
|
535
|
+
en: "Aborted because some files cannot be applied (nothing was written to the host)"
|
|
536
|
+
},
|
|
537
|
+
"push.dry_run": {
|
|
538
|
+
ja: "--dry-run のため、ホストには書き込んでいません",
|
|
539
|
+
en: "Nothing was written to the host (--dry-run)"
|
|
540
|
+
},
|
|
541
|
+
"push.uploaded": {
|
|
542
|
+
ja: "アップロードしました: %{path}",
|
|
543
|
+
en: "Uploaded: %{path}"
|
|
544
|
+
},
|
|
545
|
+
"push.upload_failed": {
|
|
546
|
+
ja: "アップロードの途中で失敗しました。反映していないファイル: %{paths}",
|
|
547
|
+
en: "upload failed partway. Files not applied: %{paths}"
|
|
548
|
+
},
|
|
549
|
+
"push.record_failed": {
|
|
550
|
+
ja: "反映したファイルの記録にも失敗しました。bosun pull で取り込んでください: %{message}",
|
|
551
|
+
en: "also failed to record the applied files. Fetch them with bosun pull: %{message}"
|
|
552
|
+
},
|
|
553
|
+
"push.changed_since_plan": {
|
|
554
|
+
ja: "確認の後にホストでファイルが変わったため、中止しました(ホストには何も書き込んでいません): %{paths}",
|
|
555
|
+
en: "aborted because files changed on the host after the check (nothing was written to the host): %{paths}"
|
|
556
|
+
},
|
|
557
|
+
"push.uploaded_missing": {
|
|
558
|
+
ja: "アップロードしたファイルがホストにありません: %{paths}",
|
|
559
|
+
en: "uploaded files are not on the host: %{paths}"
|
|
560
|
+
},
|
|
561
|
+
"push.content_mismatch": {
|
|
562
|
+
ja: "警告: ホストの内容が反映した内容と違います(ホストの内容を記録します): %{path}",
|
|
563
|
+
en: "warning: the contents on the host differ from the applied contents " \
|
|
564
|
+
"(recording the host contents): %{path}"
|
|
565
|
+
},
|
|
566
|
+
"push.restart": {
|
|
567
|
+
ja: "反映した設定を有効にするには、Web UIなどから再起動(KlipperならRESTART)を行ってください(bosunでは行いません)",
|
|
568
|
+
en: "To activate the applied configuration, restart from the web UI or elsewhere " \
|
|
569
|
+
"(RESTART for Klipper). bosun does not restart"
|
|
570
|
+
},
|
|
571
|
+
"plan.host_deleted": {
|
|
572
|
+
ja: "ホストで削除されています",
|
|
573
|
+
en: "deleted on the host"
|
|
574
|
+
},
|
|
575
|
+
"plan.host_deleted_guide": {
|
|
576
|
+
ja: "ローカルの内容でホストに作り直す操作はまだありません。トラッキングをやめるなら bosun forget <ファイル>",
|
|
577
|
+
en: "there is no operation yet to recreate it on the host from the local contents. " \
|
|
578
|
+
"To stop tracking, run bosun forget <file>"
|
|
579
|
+
},
|
|
580
|
+
"plan.not_writable": {
|
|
581
|
+
ja: "ホストで書き込めません(rwでない)",
|
|
582
|
+
en: "not writable on the host (not rw)"
|
|
583
|
+
},
|
|
584
|
+
"plan.not_writable_guide": {
|
|
585
|
+
ja: "Web UIやSSHで確認する",
|
|
586
|
+
en: "check it with the web UI or SSH"
|
|
587
|
+
},
|
|
588
|
+
"plan.host_modified": {
|
|
589
|
+
ja: "ホストで変更されています(最後に取得した内容と一致しません)",
|
|
590
|
+
en: "modified on the host (does not match the last fetched contents)"
|
|
591
|
+
},
|
|
592
|
+
"plan.pull_guide": {
|
|
593
|
+
ja: "bosun pull で取り込んでから、もう一度 bosun push を実行する",
|
|
594
|
+
en: "fetch with bosun pull, then run bosun push again"
|
|
595
|
+
},
|
|
596
|
+
"plan.exists": {
|
|
597
|
+
ja: "ホストに同名のファイルがあります",
|
|
598
|
+
en: "a file with the same name exists on the host"
|
|
599
|
+
},
|
|
600
|
+
"plan.exists_guide": {
|
|
601
|
+
ja: "bosun add <ファイル> で取り込んでマージしてから、もう一度 bosun push を実行する",
|
|
602
|
+
en: "fetch and merge it with bosun add <file>, then run bosun push again"
|
|
603
|
+
},
|
|
604
|
+
"plan.backup_name": {
|
|
605
|
+
ja: "ホスト側のバックアップファイルと同じ形式の名前です",
|
|
606
|
+
en: "the name has the same form as backup files created on the host"
|
|
607
|
+
},
|
|
608
|
+
"plan.backup_name_guide": {
|
|
609
|
+
ja: "ファイル名を変える",
|
|
610
|
+
en: "rename the file"
|
|
611
|
+
},
|
|
612
|
+
"plan.not_regular_file": {
|
|
613
|
+
ja: "通常のファイルではありません(gitのモード: %{mode})",
|
|
614
|
+
en: "not a regular file (git mode: %{mode})"
|
|
615
|
+
},
|
|
616
|
+
"plan.not_regular_file_guide": {
|
|
617
|
+
ja: "シンボリックリンクや実行可能ファイルは反映できない。通常のファイル(モード100644)としてコミットし直す",
|
|
618
|
+
en: "symbolic links and executable files cannot be applied. Commit it as a regular file (mode 100644)"
|
|
619
|
+
},
|
|
620
|
+
"plan.unmerged": {
|
|
621
|
+
ja: "%{branch}に、まだ現在のブランチに取り込んでいないコミットがあります。" \
|
|
622
|
+
"git merge --no-ff %{branch} で取り込んでから実行してください",
|
|
623
|
+
en: "%{branch} has commits not yet merged into the current branch; " \
|
|
624
|
+
"merge them with git merge --no-ff %{branch} first"
|
|
625
|
+
},
|
|
626
|
+
|
|
627
|
+
# forget、rm
|
|
628
|
+
"remove.not_tracked": {
|
|
629
|
+
ja: "トラッキングしていないファイルです: %{paths}",
|
|
630
|
+
en: "not tracked: %{paths}"
|
|
631
|
+
},
|
|
632
|
+
"remove.locally_modified": {
|
|
633
|
+
ja: "ローカル(HEAD)で変更されているファイルは対象にできません: %{paths}\n" \
|
|
634
|
+
"→ 変更を戻すなら git restore --source=%{branch} --staged --worktree -- %{dir}/<ファイル> " \
|
|
635
|
+
"を実行してコミットする",
|
|
636
|
+
en: "files modified locally (HEAD) cannot be specified: %{paths}\n" \
|
|
637
|
+
"→ To discard the changes, run git restore --source=%{branch} --staged --worktree -- %{dir}/<file> " \
|
|
638
|
+
"and commit"
|
|
639
|
+
},
|
|
640
|
+
"forget.summary": {
|
|
641
|
+
ja: "ホストのファイルを残したまま、トラッキングをやめる",
|
|
642
|
+
en: "Stop tracking files, keeping them on the host"
|
|
643
|
+
},
|
|
644
|
+
"forget.usage": {
|
|
645
|
+
ja: "使い方: bosun forget ファイル...",
|
|
646
|
+
en: "Usage: bosun forget FILE..."
|
|
647
|
+
},
|
|
648
|
+
"forget.no_files": {
|
|
649
|
+
ja: "トラッキングをやめるファイルを指定してください",
|
|
650
|
+
en: "specify files to stop tracking"
|
|
651
|
+
},
|
|
652
|
+
"forget.kept": {
|
|
653
|
+
ja: "ホストのファイルは削除していません",
|
|
654
|
+
en: "The files on the host were not deleted"
|
|
655
|
+
},
|
|
656
|
+
"rm.summary": {
|
|
657
|
+
ja: "ホストのファイルを削除し、トラッキングをやめる",
|
|
658
|
+
en: "Delete files on the host and stop tracking them"
|
|
659
|
+
},
|
|
660
|
+
"rm.usage": {
|
|
661
|
+
ja: "使い方: bosun rm [オプション] ファイル...",
|
|
662
|
+
en: "Usage: bosun rm [options] FILE..."
|
|
663
|
+
},
|
|
664
|
+
"rm.dry_run_option": {
|
|
665
|
+
ja: "削除するファイルを表示するだけで、ホストのファイルは削除しない",
|
|
666
|
+
en: "Only show the files to delete, without deleting them on the host"
|
|
667
|
+
},
|
|
668
|
+
"rm.no_files": {
|
|
669
|
+
ja: "削除するファイルを指定してください",
|
|
670
|
+
en: "specify files to delete"
|
|
671
|
+
},
|
|
672
|
+
"rm.plan": {
|
|
673
|
+
ja: "削除: %{path}",
|
|
674
|
+
en: "Delete: %{path}"
|
|
675
|
+
},
|
|
676
|
+
"rm.dry_run": {
|
|
677
|
+
ja: "--dry-run のため、ホストのファイルは削除していません",
|
|
678
|
+
en: "No files on the host were deleted (--dry-run)"
|
|
679
|
+
},
|
|
680
|
+
"rm.host_deleted": {
|
|
681
|
+
ja: "%{path}: ホストで削除されています → トラッキングをやめるなら bosun forget %{path}",
|
|
682
|
+
en: "%{path}: deleted on the host → To stop tracking, run bosun forget %{path}"
|
|
683
|
+
},
|
|
684
|
+
"rm.not_writable": {
|
|
685
|
+
ja: "%{path}: ホストで書き込めません(rwでない) → Web UIやSSHで確認する",
|
|
686
|
+
en: "%{path}: not writable on the host (not rw) → Check it with the web UI or SSH"
|
|
687
|
+
},
|
|
688
|
+
"rm.host_modified": {
|
|
689
|
+
ja: "%{path}: ホストで変更されています(最後に取得した内容と一致しません) → bosun pull で取り込んでから判断する",
|
|
690
|
+
en: "%{path}: modified on the host (does not match the last fetched contents) → " \
|
|
691
|
+
"Fetch with bosun pull, then decide"
|
|
692
|
+
},
|
|
693
|
+
"rm.aborted": {
|
|
694
|
+
ja: "削除できないファイルがあるため、中止しました(ホストのファイルは削除していません):\n%{details}",
|
|
695
|
+
en: "aborted because some files cannot be deleted (no files on the host were deleted):\n%{details}"
|
|
696
|
+
},
|
|
697
|
+
"rm.deleted": {
|
|
698
|
+
ja: "削除しました: %{path}",
|
|
699
|
+
en: "Deleted: %{path}"
|
|
700
|
+
},
|
|
701
|
+
"rm.delete_failed": {
|
|
702
|
+
ja: "削除の途中で失敗しました。削除していないファイル: %{paths}",
|
|
703
|
+
en: "deletion failed partway. Files not deleted: %{paths}"
|
|
704
|
+
},
|
|
705
|
+
"rm.record_failed": {
|
|
706
|
+
ja: "削除したファイルの記録にも失敗しました: %{message}",
|
|
707
|
+
en: "also failed to record the deleted files: %{message}"
|
|
708
|
+
},
|
|
709
|
+
"rm.changed_since_check": {
|
|
710
|
+
ja: "確認の後にホストでファイルが変わったため、中止しました(ホストのファイルは削除していません): %{paths}",
|
|
711
|
+
en: "aborted because files changed on the host after the check (no files on the host were deleted): %{paths}"
|
|
712
|
+
},
|
|
713
|
+
|
|
714
|
+
# backup
|
|
715
|
+
"backup.summary": {
|
|
716
|
+
ja: "Moonraker DBの内容をbackup/moonraker-db/に取得する",
|
|
717
|
+
en: "Back up Moonraker DB contents into backup/moonraker-db/"
|
|
718
|
+
},
|
|
719
|
+
"backup.usage": {
|
|
720
|
+
ja: "使い方: bosun backup [オプション] [namespace...]",
|
|
721
|
+
en: "Usage: bosun backup [options] [namespace...]"
|
|
722
|
+
},
|
|
723
|
+
"backup.status_option": {
|
|
724
|
+
ja: "namespaceごとに、バックアップしているかなどの状態を表示する",
|
|
725
|
+
en: "Show whether each namespace is backed up"
|
|
726
|
+
},
|
|
727
|
+
"backup.invalid_namespace": {
|
|
728
|
+
ja: "namespaceの指定が不正です: %{namespace}",
|
|
729
|
+
en: "invalid namespace: %{namespace}"
|
|
730
|
+
},
|
|
731
|
+
"backup.missing_requested": {
|
|
732
|
+
ja: "ホストにnamespaceがありません: %{namespaces}",
|
|
733
|
+
en: "namespaces not found on the host: %{namespaces}"
|
|
734
|
+
},
|
|
735
|
+
"backup.first": {
|
|
736
|
+
ja: "まだ何もバックアップしていないので、次のnamespaceのうちホストにあるものをバックアップします: %{namespaces}",
|
|
737
|
+
en: "Nothing is backed up yet. Backing up those of the following namespaces that exist on the host: " \
|
|
738
|
+
"%{namespaces}"
|
|
739
|
+
},
|
|
740
|
+
"backup.no_targets": {
|
|
741
|
+
ja: "バックアップするnamespaceがありません",
|
|
742
|
+
en: "no namespaces to back up"
|
|
743
|
+
},
|
|
744
|
+
"backup.missing": {
|
|
745
|
+
ja: "ホストにないnamespace(取得していません):",
|
|
746
|
+
en: "Namespaces not on the host (not fetched):"
|
|
747
|
+
},
|
|
748
|
+
"backup.missing_guide": {
|
|
749
|
+
ja: "バックアップをやめる操作はまだありません",
|
|
750
|
+
en: "There is no operation yet to stop backing up"
|
|
751
|
+
},
|
|
752
|
+
"backup.recommended": {
|
|
753
|
+
ja: "バックアップしていないnamespace(推奨):",
|
|
754
|
+
en: "Recommended namespaces not backed up:"
|
|
755
|
+
},
|
|
756
|
+
"backup.recommended_guide": {
|
|
757
|
+
ja: "バックアップするなら bosun backup <namespace>",
|
|
758
|
+
en: "To back up, run bosun backup <namespace>"
|
|
759
|
+
},
|
|
760
|
+
"backup.note.tracked": {
|
|
761
|
+
ja: "バックアップ中",
|
|
762
|
+
en: "backed up"
|
|
763
|
+
},
|
|
764
|
+
"backup.note.not_on_host": {
|
|
765
|
+
ja: "ホストにない",
|
|
766
|
+
en: "not on the host"
|
|
767
|
+
},
|
|
768
|
+
"backup.note.recommended": {
|
|
769
|
+
ja: "推奨",
|
|
770
|
+
en: "recommended"
|
|
771
|
+
},
|
|
772
|
+
"backup.note_separator": {
|
|
773
|
+
ja: "、",
|
|
774
|
+
en: ", "
|
|
775
|
+
},
|
|
776
|
+
|
|
777
|
+
# export
|
|
778
|
+
"export.summary": {
|
|
779
|
+
ja: "ある時点で取得していたファイルを、ディレクトリに書き出す",
|
|
780
|
+
en: "Write the files fetched as of a point in time to a directory"
|
|
781
|
+
},
|
|
782
|
+
"export.usage": {
|
|
783
|
+
ja: "使い方: bosun export [オプション] [ファイル...]",
|
|
784
|
+
en: "Usage: bosun export [options] [FILE...]"
|
|
785
|
+
},
|
|
786
|
+
"export.at_option": {
|
|
787
|
+
ja: "その日時より前で、最も新しい取得の時点(例: \"2026-10-11 15:00\")",
|
|
788
|
+
en: "The latest fetch before this date and time (e.g. \"2026-10-11 15:00\")"
|
|
789
|
+
},
|
|
790
|
+
"export.rev_option": {
|
|
791
|
+
ja: "そのコミット(mainのコミットも可)の時点で取り込んでいた取得の時点",
|
|
792
|
+
en: "The latest fetch merged as of this commit (a commit on main is also accepted)"
|
|
793
|
+
},
|
|
794
|
+
"export.output_option": {
|
|
795
|
+
ja: "書き出すディレクトリ(省略時は ./export-<日時>-<コミット>)",
|
|
796
|
+
en: "Output directory (default: ./export-<datetime>-<commit>)"
|
|
797
|
+
},
|
|
798
|
+
"export.at_and_rev": {
|
|
799
|
+
ja: "--atと--revは同時に指定できません",
|
|
800
|
+
en: "--at and --rev cannot be used together"
|
|
801
|
+
},
|
|
802
|
+
"export.no_branch": {
|
|
803
|
+
ja: "%{branch}がありません。bosun add でトラッキングを始めてください",
|
|
804
|
+
en: "%{branch} does not exist; start tracking with bosun add"
|
|
805
|
+
},
|
|
806
|
+
"export.exists": {
|
|
807
|
+
ja: "書き出すディレクトリがすでにあります: %{dir}",
|
|
808
|
+
en: "output directory already exists: %{dir}"
|
|
809
|
+
},
|
|
810
|
+
"export.invalid_time": {
|
|
811
|
+
ja: "日時を解釈できません: %{at}",
|
|
812
|
+
en: "cannot parse the date and time: %{at}"
|
|
813
|
+
},
|
|
814
|
+
"export.none_before": {
|
|
815
|
+
ja: "%{time}より前に取得したものがありません",
|
|
816
|
+
en: "nothing was fetched before %{time}"
|
|
817
|
+
},
|
|
818
|
+
"export.no_commit": {
|
|
819
|
+
ja: "コミットが見つかりません: %{rev}",
|
|
820
|
+
en: "commit not found: %{rev}"
|
|
821
|
+
},
|
|
822
|
+
"export.not_merged": {
|
|
823
|
+
ja: "%{rev}の時点では、まだ%{branch}を取り込んでいません",
|
|
824
|
+
en: "%{branch} had not been merged yet as of %{rev}"
|
|
825
|
+
},
|
|
826
|
+
"export.not_in_snapshot": {
|
|
827
|
+
ja: "その時点のファイルにありません: %{path}",
|
|
828
|
+
en: "not in the files as of that point: %{path}"
|
|
829
|
+
},
|
|
830
|
+
"export.written": {
|
|
831
|
+
ja: "書き出しました: %{dir}",
|
|
832
|
+
en: "Wrote: %{dir}"
|
|
833
|
+
}
|
|
834
|
+
}.freeze
|
|
835
|
+
end
|
|
836
|
+
end
|
|
837
|
+
end
|