codetrail-cli 1.4.1__py3-none-any.whl

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.
Files changed (171) hide show
  1. codetrail/__init__.py +3 -0
  2. codetrail/__main__.py +5 -0
  3. codetrail/agents/__init__.py +4 -0
  4. codetrail/agents/convert.py +92 -0
  5. codetrail/agents/export.py +284 -0
  6. codetrail/agents/instructions.py +42 -0
  7. codetrail/agents/protocol.py +111 -0
  8. codetrail/agents/tools.py +185 -0
  9. codetrail/assistant/__init__.py +161 -0
  10. codetrail/assistant/claude_code.py +330 -0
  11. codetrail/assistant/codex.py +260 -0
  12. codetrail/assistant/environment.py +66 -0
  13. codetrail/assistant/estimate.py +225 -0
  14. codetrail/assistant/fake.py +74 -0
  15. codetrail/assistant/guard.py +80 -0
  16. codetrail/assistant/guard_hook.py +58 -0
  17. codetrail/assistant/local.py +245 -0
  18. codetrail/assistant/local_tools.py +177 -0
  19. codetrail/assistant/prompts.py +404 -0
  20. codetrail/assistant/routing.py +86 -0
  21. codetrail/assistant/runner.py +120 -0
  22. codetrail/assistant/status.py +186 -0
  23. codetrail/assistant/usage.py +93 -0
  24. codetrail/bridge.py +292 -0
  25. codetrail/cli.py +407 -0
  26. codetrail/config.py +485 -0
  27. codetrail/database/__init__.py +60 -0
  28. codetrail/database/migrations/0001_facts.sql +34 -0
  29. codetrail/database/migrations/0002_settings.sql +5 -0
  30. codetrail/database/migrations/0003_learning.sql +34 -0
  31. codetrail/database/migrations/0004_assistant_usage.sql +24 -0
  32. codetrail/database/migrations/0005_page_failures.sql +7 -0
  33. codetrail/database/migrations/0006_metric_values.sql +9 -0
  34. codetrail/errors.py +5 -0
  35. codetrail/extract/__init__.py +249 -0
  36. codetrail/extract/adr.py +98 -0
  37. codetrail/extract/github_actions.py +140 -0
  38. codetrail/extract/openapi.py +101 -0
  39. codetrail/extract/python.py +221 -0
  40. codetrail/extract/swift.py +204 -0
  41. codetrail/extract/terraform.py +166 -0
  42. codetrail/extract/typescript.py +464 -0
  43. codetrail/facts/__init__.py +112 -0
  44. codetrail/facts/store.py +209 -0
  45. codetrail/generate/__init__.py +1 -0
  46. codetrail/generate/failures.py +31 -0
  47. codetrail/generate/outline.py +159 -0
  48. codetrail/generate/revise.py +72 -0
  49. codetrail/generate/run.py +530 -0
  50. codetrail/generate/scope.py +135 -0
  51. codetrail/generate/validate.py +218 -0
  52. codetrail/guide/__init__.py +147 -0
  53. codetrail/learn/__init__.py +143 -0
  54. codetrail/learn/routes.py +139 -0
  55. codetrail/locales/ar/LC_MESSAGES/codetrail.mo +0 -0
  56. codetrail/locales/ar/LC_MESSAGES/codetrail.po +2236 -0
  57. codetrail/locales/codetrail.pot +1942 -0
  58. codetrail/lock.py +114 -0
  59. codetrail/metrics/__init__.py +6 -0
  60. codetrail/metrics/activity.py +96 -0
  61. codetrail/metrics/churn.py +156 -0
  62. codetrail/metrics/commits.py +45 -0
  63. codetrail/metrics/coverage.py +114 -0
  64. codetrail/metrics/decisions.py +77 -0
  65. codetrail/metrics/history.py +47 -0
  66. codetrail/metrics/inventory.py +63 -0
  67. codetrail/metrics/rationale.py +74 -0
  68. codetrail/metrics/releases.py +26 -0
  69. codetrail/metrics/report.py +111 -0
  70. codetrail/metrics/repository.py +128 -0
  71. codetrail/metrics/size.py +95 -0
  72. codetrail/py.typed +0 -0
  73. codetrail/remove.py +50 -0
  74. codetrail/repo/__init__.py +4 -0
  75. codetrail/repo/git.py +56 -0
  76. codetrail/repo/gitleaks.toml +6 -0
  77. codetrail/repo/history.py +262 -0
  78. codetrail/repo/mirror.py +137 -0
  79. codetrail/repo/refresh.py +41 -0
  80. codetrail/repo/rules.py +83 -0
  81. codetrail/repo/secrets.py +145 -0
  82. codetrail/repo/signal.py +65 -0
  83. codetrail/repo/source.py +166 -0
  84. codetrail/search.py +178 -0
  85. codetrail/server.py +45 -0
  86. codetrail/system.py +484 -0
  87. codetrail/update.py +276 -0
  88. codetrail/web/__init__.py +1 -0
  89. codetrail/web/app.py +897 -0
  90. codetrail/web/diagrams.py +414 -0
  91. codetrail/web/documentation.py +146 -0
  92. codetrail/web/i18n.py +44 -0
  93. codetrail/web/navigation.py +127 -0
  94. codetrail/web/render.py +126 -0
  95. codetrail/web/repository_view.py +230 -0
  96. codetrail/web/security.py +171 -0
  97. codetrail/web/static/brand/favicon.svg +1 -0
  98. codetrail/web/static/brand/mark.svg +1 -0
  99. codetrail/web/static/css/base.css +192 -0
  100. codetrail/web/static/css/components.css +2254 -0
  101. codetrail/web/static/css/content.css +310 -0
  102. codetrail/web/static/css/layout.css +410 -0
  103. codetrail/web/static/css/print.css +42 -0
  104. codetrail/web/static/css/tokens.css +228 -0
  105. codetrail/web/static/js/api.js +49 -0
  106. codetrail/web/static/js/ask.js +182 -0
  107. codetrail/web/static/js/d2-worker.js +34 -0
  108. codetrail/web/static/js/d2.js +28 -0
  109. codetrail/web/static/js/diagram.js +52 -0
  110. codetrail/web/static/js/documentation.js +24 -0
  111. codetrail/web/static/js/learning.js +47 -0
  112. codetrail/web/static/js/main.js +38 -0
  113. codetrail/web/static/js/outline.js +44 -0
  114. codetrail/web/static/js/palette.js +211 -0
  115. codetrail/web/static/js/repository.js +528 -0
  116. codetrail/web/static/js/resize.js +126 -0
  117. codetrail/web/static/js/shortcuts.js +87 -0
  118. codetrail/web/static/js/sidebar.js +194 -0
  119. codetrail/web/static/js/theme-init.js +27 -0
  120. codetrail/web/static/js/theme.js +42 -0
  121. codetrail/web/static/js/update.js +107 -0
  122. codetrail/web/static/vendor/d2/LICENSE +375 -0
  123. codetrail/web/static/vendor/d2/LICENSE-elk +263 -0
  124. codetrail/web/static/vendor/d2/LICENSE-wasm_exec +27 -0
  125. codetrail/web/static/vendor/d2/VERSION +12 -0
  126. codetrail/web/static/vendor/d2/d2.wasm +0 -0
  127. codetrail/web/static/vendor/d2/elk.js +105914 -0
  128. codetrail/web/static/vendor/d2/wasm_exec.js +656 -0
  129. codetrail/web/static/vendor/inter/InterVariable-Italic.woff2 +0 -0
  130. codetrail/web/static/vendor/inter/InterVariable.woff2 +0 -0
  131. codetrail/web/static/vendor/inter/LICENSE.txt +92 -0
  132. codetrail/web/static/vendor/inter/VERSION +6 -0
  133. codetrail/web/static/vendor/noto-sans-arabic/NotoSansArabic-wght.woff2 +0 -0
  134. codetrail/web/static/vendor/noto-sans-arabic/OFL.txt +93 -0
  135. codetrail/web/static/vendor/noto-sans-arabic/VERSION +12 -0
  136. codetrail/web/target_view.py +63 -0
  137. codetrail/web/templates/answers.html +25 -0
  138. codetrail/web/templates/area.html +46 -0
  139. codetrail/web/templates/base.html +37 -0
  140. codetrail/web/templates/decisions.html +30 -0
  141. codetrail/web/templates/diagram.html +10 -0
  142. codetrail/web/templates/digests.html +24 -0
  143. codetrail/web/templates/documentation.html +247 -0
  144. codetrail/web/templates/error.html +9 -0
  145. codetrail/web/templates/estimate.html +48 -0
  146. codetrail/web/templates/fact.html +29 -0
  147. codetrail/web/templates/home.html +196 -0
  148. codetrail/web/templates/layout/ask_panel.html +27 -0
  149. codetrail/web/templates/layout/header.html +32 -0
  150. codetrail/web/templates/layout/icons.html +27 -0
  151. codetrail/web/templates/layout/outline.html +4 -0
  152. codetrail/web/templates/layout/palette.html +27 -0
  153. codetrail/web/templates/layout/shortcuts.html +27 -0
  154. codetrail/web/templates/layout/sidebar.html +79 -0
  155. codetrail/web/templates/layout/update_dialog.html +18 -0
  156. codetrail/web/templates/macros.html +13 -0
  157. codetrail/web/templates/page.html +93 -0
  158. codetrail/web/templates/progress.html +46 -0
  159. codetrail/web/templates/repository.html +369 -0
  160. codetrail/web/templates/search.html +31 -0
  161. codetrail/web/templates/source.html +15 -0
  162. codetrail/web/templates/system.html +43 -0
  163. codetrail/web/templates/system_arrows.html +17 -0
  164. codetrail/web/templates/system_legend.html +9 -0
  165. codetrail/web/templates/update_log.html +30 -0
  166. codetrail/web/trend.py +22 -0
  167. codetrail_cli-1.4.1.dist-info/METADATA +372 -0
  168. codetrail_cli-1.4.1.dist-info/RECORD +171 -0
  169. codetrail_cli-1.4.1.dist-info/WHEEL +4 -0
  170. codetrail_cli-1.4.1.dist-info/entry_points.txt +3 -0
  171. codetrail_cli-1.4.1.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,1942 @@
1
+ #, python-format
2
+ msgid "%(active)s of %(weeks)s"
3
+ msgstr ""
4
+
5
+ #, python-format
6
+ msgid "%(change)s points since the last update"
7
+ msgstr ""
8
+
9
+ #, python-format
10
+ msgid "%(change)s since the last update"
11
+ msgstr ""
12
+
13
+ #, python-format
14
+ msgid "%(commits)s commit"
15
+ msgid_plural "%(commits)s commits"
16
+ msgstr[0] ""
17
+ msgstr[1] ""
18
+
19
+ #, python-format
20
+ msgid "%(count)s binary file"
21
+ msgid_plural "%(count)s binary files"
22
+ msgstr[0] ""
23
+ msgstr[1] ""
24
+
25
+ #, python-format
26
+ msgid "%(count)s commit"
27
+ msgid_plural "%(count)s commits"
28
+ msgstr[0] ""
29
+ msgstr[1] ""
30
+
31
+ #, python-format
32
+ msgid "%(count)s commit behind"
33
+ msgid_plural "%(count)s commits behind"
34
+ msgstr[0] ""
35
+ msgstr[1] ""
36
+
37
+ #, python-format
38
+ msgid "%(count)s commit since %(name)s"
39
+ msgid_plural "%(count)s commits since %(name)s"
40
+ msgstr[0] ""
41
+ msgstr[1] ""
42
+
43
+ #, python-format
44
+ msgid "%(count)s commit since the latest"
45
+ msgid_plural "%(count)s commits since the latest"
46
+ msgstr[0] ""
47
+ msgstr[1] ""
48
+
49
+ #, python-format
50
+ msgid "%(count)s connection"
51
+ msgid_plural "%(count)s connections"
52
+ msgstr[0] ""
53
+ msgstr[1] ""
54
+
55
+ #, python-format
56
+ msgid "%(count)s day"
57
+ msgid_plural "%(count)s days"
58
+ msgstr[0] ""
59
+ msgstr[1] ""
60
+
61
+ #, python-format
62
+ msgid "%(count)s day after it"
63
+ msgid_plural "%(count)s days after it"
64
+ msgstr[0] ""
65
+ msgstr[1] ""
66
+
67
+ #, python-format
68
+ msgid "%(count)s day ago"
69
+ msgid_plural "%(count)s days ago"
70
+ msgstr[0] ""
71
+ msgstr[1] ""
72
+
73
+ #, python-format
74
+ msgid "%(count)s day, from %(start)s to %(end)s"
75
+ msgid_plural "%(count)s days, from %(start)s to %(end)s"
76
+ msgstr[0] ""
77
+ msgstr[1] ""
78
+
79
+ #, python-format
80
+ msgid ""
81
+ "%(count)s file of code no commit has changed in the last %(days)s days, "
82
+ "by folder."
83
+ msgid_plural ""
84
+ "%(count)s files of code no commit has changed in the last %(days)s days, "
85
+ "by folder."
86
+ msgstr[0] ""
87
+ msgstr[1] ""
88
+
89
+ #, python-format
90
+ msgid "%(count)s file too large to count"
91
+ msgid_plural "%(count)s files too large to count"
92
+ msgstr[0] ""
93
+ msgstr[1] ""
94
+
95
+ #, python-format
96
+ msgid "%(count)s inferred, worth documenting"
97
+ msgid_plural "%(count)s inferred, worth documenting"
98
+ msgstr[0] ""
99
+ msgstr[1] ""
100
+
101
+ #, python-format
102
+ msgid "%(count)s line"
103
+ msgid_plural "%(count)s lines"
104
+ msgstr[0] ""
105
+ msgstr[1] ""
106
+
107
+ #, python-format
108
+ msgid "%(count)s merge"
109
+ msgid_plural "%(count)s merges"
110
+ msgstr[0] ""
111
+ msgstr[1] ""
112
+
113
+ #, python-format
114
+ msgid "%(count)s merge landed"
115
+ msgid_plural "%(count)s merges landed"
116
+ msgstr[0] ""
117
+ msgstr[1] ""
118
+
119
+ #, python-format
120
+ msgid "%(count)s message withheld: gitleaks flagged it"
121
+ msgid_plural "%(count)s messages withheld: gitleaks flagged them"
122
+ msgstr[0] ""
123
+ msgstr[1] ""
124
+
125
+ #, python-format
126
+ msgid "%(count)s month"
127
+ msgid_plural "%(count)s months"
128
+ msgstr[0] ""
129
+ msgstr[1] ""
130
+
131
+ #, python-format
132
+ msgid "%(count)s more"
133
+ msgstr ""
134
+
135
+ #, python-format
136
+ msgid "%(count)s needs attention"
137
+ msgid_plural "%(count)s need attention"
138
+ msgstr[0] ""
139
+ msgstr[1] ""
140
+
141
+ #, python-format
142
+ msgid "%(count)s never mentioned"
143
+ msgid_plural "%(count)s never mentioned"
144
+ msgstr[0] ""
145
+ msgstr[1] ""
146
+
147
+ #, python-format
148
+ msgid "%(count)s other file"
149
+ msgid_plural "%(count)s other files"
150
+ msgstr[0] ""
151
+ msgstr[1] ""
152
+
153
+ #, python-format
154
+ msgid "%(count)s part"
155
+ msgid_plural "%(count)s parts"
156
+ msgstr[0] ""
157
+ msgstr[1] ""
158
+
159
+ #, python-format
160
+ msgid "%(count)s release"
161
+ msgid_plural "%(count)s releases"
162
+ msgstr[0] ""
163
+ msgstr[1] ""
164
+
165
+ #, python-format
166
+ msgid "%(count)s smaller one isn't drawn."
167
+ msgid_plural "%(count)s smaller ones aren't drawn."
168
+ msgstr[0] ""
169
+ msgstr[1] ""
170
+
171
+ #, python-format
172
+ msgid "%(count)s to check"
173
+ msgid_plural "%(count)s to check"
174
+ msgstr[0] ""
175
+ msgstr[1] ""
176
+
177
+ #, python-format
178
+ msgid "%(count)s unexplained"
179
+ msgid_plural "%(count)s unexplained"
180
+ msgstr[0] ""
181
+ msgstr[1] ""
182
+
183
+ #, python-format
184
+ msgid "%(count)s unread digest"
185
+ msgid_plural "%(count)s unread digests"
186
+ msgstr[0] ""
187
+ msgstr[1] ""
188
+
189
+ #, python-format
190
+ msgid "%(count)s visible file"
191
+ msgid_plural "%(count)s visible files"
192
+ msgstr[0] ""
193
+ msgstr[1] ""
194
+
195
+ #, python-format
196
+ msgid "%(count)s without a why, of the latest %(measured)s"
197
+ msgid_plural "%(count)s without a why, of the latest %(measured)s"
198
+ msgstr[0] ""
199
+ msgstr[1] ""
200
+
201
+ #, python-format
202
+ msgid "%(count)s year"
203
+ msgid_plural "%(count)s years"
204
+ msgstr[0] ""
205
+ msgstr[1] ""
206
+
207
+ #, python-format
208
+ msgid "%(documented)s documented, %(inferred)s inferred"
209
+ msgstr ""
210
+
211
+ #, python-format
212
+ msgid "%(expected)s to %(maximum)s"
213
+ msgstr ""
214
+
215
+ #, python-format
216
+ msgid "%(files)s document, %(lines)s lines"
217
+ msgid_plural "%(files)s documents, %(lines)s lines"
218
+ msgstr[0] ""
219
+ msgstr[1] ""
220
+
221
+ #, python-format
222
+ msgid "%(learned)s of %(total)s learned"
223
+ msgstr ""
224
+
225
+ #, python-format
226
+ msgid "%(lines)s line"
227
+ msgid_plural "%(lines)s lines"
228
+ msgstr[0] ""
229
+ msgstr[1] ""
230
+
231
+ #, python-format
232
+ msgid "%(lines)s line of code"
233
+ msgid_plural "%(lines)s lines of code"
234
+ msgstr[0] ""
235
+ msgstr[1] ""
236
+
237
+ #, python-format
238
+ msgid "%(lines)s line of tests"
239
+ msgid_plural "%(lines)s lines of tests"
240
+ msgstr[0] ""
241
+ msgstr[1] ""
242
+
243
+ #, python-format
244
+ msgid ""
245
+ "%(matched)s of the latest %(measured)s commit subjects match the target's"
246
+ " commit_type_pattern, such as feat(web): add a page."
247
+ msgstr ""
248
+
249
+ #, python-format
250
+ msgid "%(numerator)s of %(denominator)s"
251
+ msgstr ""
252
+
253
+ #, python-format
254
+ msgid "%(numerator)s of %(denominator)s lines"
255
+ msgstr ""
256
+
257
+ #, python-format
258
+ msgid "%(percent)s%% of the guide's rationale is documented"
259
+ msgstr ""
260
+
261
+ #, python-format
262
+ msgid "%(percent)s%% of the lines of code are tests"
263
+ msgstr ""
264
+
265
+ #, python-format
266
+ msgid "%(reason)s The facts were refreshed; the guide wasn't updated."
267
+ msgstr ""
268
+
269
+ msgid ", drawn from the code"
270
+ msgstr ""
271
+
272
+ msgid "1 year"
273
+ msgstr ""
274
+
275
+ msgid "2 years"
276
+ msgstr ""
277
+
278
+ msgid "90 days"
279
+ msgstr ""
280
+
281
+ msgid ""
282
+ "A package counts when a document names it as a whole word, a project when"
283
+ " its folder holds a README or a document names its folder, and a resource"
284
+ " when a document names its address. A fact is explained when it falls in "
285
+ "the scope of a written area or concept page."
286
+ msgstr ""
287
+
288
+ msgid ""
289
+ "A page is learned when you pass its checks. When an update changes a page"
290
+ " you learned, it shows here until you learn it again."
291
+ msgstr ""
292
+
293
+ msgid ""
294
+ "A proposed ADR needs attention once it waits longer than the target's "
295
+ "settings allow, and a superseded or deprecated one while a guide page "
296
+ "still cites it. Worth a look: proposed ADRs with no date, and accepted "
297
+ "ones no page cites."
298
+ msgstr ""
299
+
300
+ msgid "ADRs"
301
+ msgstr ""
302
+
303
+ msgid "ADRs needing attention"
304
+ msgstr ""
305
+
306
+ msgid "Accepted, but no page cites them"
307
+ msgstr ""
308
+
309
+ msgid "Actions"
310
+ msgstr ""
311
+
312
+ msgid "Activity, day by day"
313
+ msgstr ""
314
+
315
+ msgid "Age"
316
+ msgstr ""
317
+
318
+ msgid "All"
319
+ msgstr ""
320
+
321
+ msgid "All saved answers"
322
+ msgstr ""
323
+
324
+ msgid "All time"
325
+ msgstr ""
326
+
327
+ msgid ""
328
+ "An area with much change and mostly inferred rationale is where an ADR or"
329
+ " a README would help most."
330
+ msgstr ""
331
+
332
+ msgid ""
333
+ "An estimate. On a subscription this counts against your plan’s usage "
334
+ "limits; with an API key it is billed at these prices."
335
+ msgstr ""
336
+
337
+ msgid "An update finished a moment ago; wait a few minutes before the next."
338
+ msgstr ""
339
+
340
+ msgid "An update is already running."
341
+ msgstr ""
342
+
343
+ msgid "An update is running."
344
+ msgstr ""
345
+
346
+ msgid "An update is running; save again when it finishes."
347
+ msgstr ""
348
+
349
+ msgid "Another answer is being graded."
350
+ msgstr ""
351
+
352
+ msgid "Another question is still being answered."
353
+ msgstr ""
354
+
355
+ #, python-format
356
+ msgid "Answers are limited to %(count)s characters."
357
+ msgstr ""
358
+
359
+ msgid "Answers you save appear here."
360
+ msgstr ""
361
+
362
+ msgid ""
363
+ "Answers you saved to the guide, newest first. They aren't rewritten when "
364
+ "the code changes; a mark shows when the files they were written from have"
365
+ " changed."
366
+ msgstr ""
367
+
368
+ msgid "Apps"
369
+ msgstr ""
370
+
371
+ msgctxt "month"
372
+ msgid "Apr"
373
+ msgstr ""
374
+
375
+ msgid "Architecture decisions"
376
+ msgstr ""
377
+
378
+ msgid "Area"
379
+ msgstr ""
380
+
381
+ msgid "Areas"
382
+ msgstr ""
383
+
384
+ msgid "Areas are counted once your assistant has written the guide's area pages."
385
+ msgstr ""
386
+
387
+ #, python-format
388
+ msgid "Arrived: %(name)s"
389
+ msgstr ""
390
+
391
+ msgid "Ask"
392
+ msgstr ""
393
+
394
+ msgid "Ask a question"
395
+ msgstr ""
396
+
397
+ msgid ""
398
+ "Ask a question from any page (press A) and save the answers worth "
399
+ "keeping. They'll be here."
400
+ msgstr ""
401
+
402
+ msgid ""
403
+ "Ask a question from any page (press A), then choose Save to guide. Saved "
404
+ "answers become part of the guide, and search finds them."
405
+ msgstr ""
406
+
407
+ msgid "Ask about the code"
408
+ msgstr ""
409
+
410
+ msgid "Ask about this page"
411
+ msgstr ""
412
+
413
+ #, python-brace-format
414
+ msgid "Ask about: “{query}”"
415
+ msgstr ""
416
+
417
+ msgid "Ask anything about the code. Save the answers worth keeping."
418
+ msgstr ""
419
+
420
+ msgid ""
421
+ "Ask anything about the code. Your question goes with the page you're "
422
+ "reading. Save the answers worth keeping."
423
+ msgstr ""
424
+
425
+ #, python-format
426
+ msgid "At API prices: ~%(expected)s, at most %(maximum)s."
427
+ msgstr ""
428
+
429
+ #, python-format
430
+ msgid "At commit %(commit)s."
431
+ msgstr ""
432
+
433
+ msgctxt "month"
434
+ msgid "Aug"
435
+ msgstr ""
436
+
437
+ msgid "Back to the start"
438
+ msgstr ""
439
+
440
+ msgid "Before the update"
441
+ msgstr ""
442
+
443
+ msgid "Body without a why"
444
+ msgstr ""
445
+
446
+ msgid "Breadcrumbs"
447
+ msgstr ""
448
+
449
+ msgid "Browse the code"
450
+ msgstr ""
451
+
452
+ msgid "Busiest weekday"
453
+ msgstr ""
454
+
455
+ msgid "By page, most inferred first"
456
+ msgstr ""
457
+
458
+ msgid "By status"
459
+ msgstr ""
460
+
461
+ msgid "Call"
462
+ msgstr ""
463
+
464
+ msgid "Called by"
465
+ msgstr ""
466
+
467
+ msgid "Cancel"
468
+ msgstr ""
469
+
470
+ msgid "Change over time, by area"
471
+ msgstr ""
472
+
473
+ msgid "Changed"
474
+ msgstr ""
475
+
476
+ msgid "Changed since you learned it"
477
+ msgstr ""
478
+
479
+ msgid "Changed since you learned them"
480
+ msgstr ""
481
+
482
+ msgid "Check my answer"
483
+ msgstr ""
484
+
485
+ msgid "Check your understanding"
486
+ msgstr ""
487
+
488
+ msgid "Close"
489
+ msgstr ""
490
+
491
+ msgid "Close the palette, the panel, the sidebar's peek or a dialog"
492
+ msgstr ""
493
+
494
+ msgid "Code"
495
+ msgstr ""
496
+
497
+ msgid "Code comments"
498
+ msgstr ""
499
+
500
+ msgid "Code size"
501
+ msgstr ""
502
+
503
+ msgid "Codetrail couldn't read the target's data; the log says why."
504
+ msgstr ""
505
+
506
+ msgid ""
507
+ "Codetrail looks for architecture decision records where the target's "
508
+ "settings say they live."
509
+ msgstr ""
510
+
511
+ msgid ""
512
+ "Codetrail reads the code for free, then your assistant writes the guide: "
513
+ "concept pages, guided paths and checks. You'll see the estimate before "
514
+ "anything is spent."
515
+ msgstr ""
516
+
517
+ msgid "Commit messages"
518
+ msgstr ""
519
+
520
+ msgid "Commit size"
521
+ msgstr ""
522
+
523
+ msgid "Commit types"
524
+ msgstr ""
525
+
526
+ msgid "Commits"
527
+ msgstr ""
528
+
529
+ msgid "Commits by the files they change"
530
+ msgstr ""
531
+
532
+ msgid "Commits per day"
533
+ msgstr ""
534
+
535
+ msgid ""
536
+ "Commits per day over the last 53 weeks; the numbers by month are in the "
537
+ "timeline's table."
538
+ msgstr ""
539
+
540
+ msgid "Commits per month"
541
+ msgstr ""
542
+
543
+ msgid "Commits per month and per year, as numbers"
544
+ msgstr ""
545
+
546
+ msgid "Commits per month in each guide area over the last year."
547
+ msgstr ""
548
+
549
+ msgid "Commits per week"
550
+ msgstr ""
551
+
552
+ msgid "Commits that explain why"
553
+ msgstr ""
554
+
555
+ msgid "Concept"
556
+ msgstr ""
557
+
558
+ msgid "Concepts"
559
+ msgstr ""
560
+
561
+ msgid "Continue"
562
+ msgstr ""
563
+
564
+ msgid "Continue where you left off"
565
+ msgstr ""
566
+
567
+ msgid "Contract"
568
+ msgstr ""
569
+
570
+ msgid "Contracts"
571
+ msgstr ""
572
+
573
+ msgid "Cost each"
574
+ msgstr ""
575
+
576
+ msgid "Couldn't check for new commits just now."
577
+ msgstr ""
578
+
579
+ msgid "Couldn’t save the answer."
580
+ msgstr ""
581
+
582
+ msgctxt "month"
583
+ msgid "Dec"
584
+ msgstr ""
585
+
586
+ msgid "Decision"
587
+ msgstr ""
588
+
589
+ msgid "Decisions"
590
+ msgstr ""
591
+
592
+ msgid "Dependencies"
593
+ msgstr ""
594
+
595
+ msgid "Dependencies of"
596
+ msgstr ""
597
+
598
+ msgid "Dependencies that arrived"
599
+ msgstr ""
600
+
601
+ msgid "Dependencies that left"
602
+ msgstr ""
603
+
604
+ msgid "Depends on"
605
+ msgstr ""
606
+
607
+ msgid "Digest"
608
+ msgstr ""
609
+
610
+ msgid "Digests"
611
+ msgstr ""
612
+
613
+ msgid "Documentation"
614
+ msgstr ""
615
+
616
+ msgid "Documented"
617
+ msgstr ""
618
+
619
+ msgid "Documented rationale"
620
+ msgstr ""
621
+
622
+ msgid "Documents"
623
+ msgstr ""
624
+
625
+ msgid "Drag to resize; double-click to reset"
626
+ msgstr ""
627
+
628
+ msgid ""
629
+ "Each tile's size is its lines of code; its shade, the commits that "
630
+ "changed it."
631
+ msgstr ""
632
+
633
+ msgid "Each update writes a digest of what changed since the last one."
634
+ msgstr ""
635
+
636
+ msgid "Earlier"
637
+ msgstr ""
638
+
639
+ msgctxt "language name"
640
+ msgid "English"
641
+ msgstr ""
642
+
643
+ msgid "Enlarge the diagram"
644
+ msgstr ""
645
+
646
+ #, python-format
647
+ msgid "Every file of code changed in the last %(days)s days."
648
+ msgstr ""
649
+
650
+ msgid "Every path learned"
651
+ msgstr ""
652
+
653
+ #, python-format
654
+ msgid "Expected: ~%(expected)s tokens; at most ~%(maximum)s."
655
+ msgstr ""
656
+
657
+ msgid "Explain why"
658
+ msgstr ""
659
+
660
+ msgid "Explained by a guide page"
661
+ msgstr ""
662
+
663
+ msgid ""
664
+ "External packages, projects and infrastructure resources that some "
665
+ "document names. A mention isn't a reason: this only shows what no "
666
+ "document talks about at all."
667
+ msgstr ""
668
+
669
+ msgid "Fact"
670
+ msgstr ""
671
+
672
+ msgid "Facts"
673
+ msgstr ""
674
+
675
+ msgid "Facts:"
676
+ msgstr ""
677
+
678
+ msgctxt "month"
679
+ msgid "Feb"
680
+ msgstr ""
681
+
682
+ msgid "Fewer"
683
+ msgstr ""
684
+
685
+ msgid "Fewer commits"
686
+ msgstr ""
687
+
688
+ msgid "File"
689
+ msgstr ""
690
+
691
+ msgid "Files"
692
+ msgstr ""
693
+
694
+ #, python-format
695
+ msgid ""
696
+ "Files a commit changes: %(median)s at the median, %(p90)s at the 90th "
697
+ "percentile."
698
+ msgstr ""
699
+
700
+ msgid ""
701
+ "Files this answer was written from have changed since. Saved answers "
702
+ "aren't rewritten; ask again for a fresh one."
703
+ msgstr ""
704
+
705
+ msgid ""
706
+ "Files this page was written from have changed since. It will be checked "
707
+ "again at the next update."
708
+ msgstr ""
709
+
710
+ msgid "First commit"
711
+ msgstr ""
712
+
713
+ #, python-format
714
+ msgid "First commit on <span class=\"nowrap\">%(date)s</span>"
715
+ msgstr ""
716
+
717
+ msgid "Folder"
718
+ msgstr ""
719
+
720
+ msgid "Folders"
721
+ msgstr ""
722
+
723
+ msgid "For example: how does a request reach the database?"
724
+ msgstr ""
725
+
726
+ msgid "Found in"
727
+ msgstr ""
728
+
729
+ msgid "Found in a file you can open"
730
+ msgstr ""
731
+
732
+ msgctxt "weekday"
733
+ msgid "Fri"
734
+ msgstr ""
735
+
736
+ msgid "Friday"
737
+ msgstr ""
738
+
739
+ #, python-format
740
+ msgid "From %(start)s to %(end)s"
741
+ msgstr ""
742
+
743
+ msgid "Go ahead"
744
+ msgstr ""
745
+
746
+ msgid "Go home"
747
+ msgstr ""
748
+
749
+ msgid "Go to decisions"
750
+ msgstr ""
751
+
752
+ msgid "Go to digests"
753
+ msgstr ""
754
+
755
+ msgid "Go to documentation"
756
+ msgstr ""
757
+
758
+ msgid "Go to progress"
759
+ msgstr ""
760
+
761
+ msgid "Go to saved answers"
762
+ msgstr ""
763
+
764
+ msgid "Go to the repository"
765
+ msgstr ""
766
+
767
+ msgid "Go to your progress"
768
+ msgstr ""
769
+
770
+ msgid "Go to your system"
771
+ msgstr ""
772
+
773
+ msgid "Group by"
774
+ msgstr ""
775
+
776
+ msgid "Guide"
777
+ msgstr ""
778
+
779
+ msgid "Guide area"
780
+ msgstr ""
781
+
782
+ msgid "Guide areas"
783
+ msgstr ""
784
+
785
+ msgid "Hide or show the sidebar"
786
+ msgstr ""
787
+
788
+ msgid "Hide the sidebar"
789
+ msgstr ""
790
+
791
+ msgid "Home"
792
+ msgstr ""
793
+
794
+ msgid "How many"
795
+ msgstr ""
796
+
797
+ msgid ""
798
+ "How well the repository explains itself: its guide's rationale, its "
799
+ "commits, its decisions and its documents. Measured from the code and the "
800
+ "guide, without calling your assistant."
801
+ msgstr ""
802
+
803
+ msgid ""
804
+ "How well the repository explains itself: rationale, commits, decisions "
805
+ "and documents."
806
+ msgstr ""
807
+
808
+ msgid "Imports"
809
+ msgstr ""
810
+
811
+ msgid "In this path"
812
+ msgstr ""
813
+
814
+ msgid "Inferred"
815
+ msgstr ""
816
+
817
+ msgid "Inferred: worth documenting"
818
+ msgstr ""
819
+
820
+ msgid "Infrastructure"
821
+ msgstr ""
822
+
823
+ msgctxt "month"
824
+ msgid "Jan"
825
+ msgstr ""
826
+
827
+ msgctxt "month"
828
+ msgid "Jul"
829
+ msgstr ""
830
+
831
+ msgctxt "month"
832
+ msgid "Jun"
833
+ msgstr ""
834
+
835
+ msgid "Keep the answers worth keeping"
836
+ msgstr ""
837
+
838
+ msgid "Keyboard shortcuts"
839
+ msgstr ""
840
+
841
+ msgid "Language"
842
+ msgstr ""
843
+
844
+ msgid "Languages, as a table"
845
+ msgstr ""
846
+
847
+ msgid "Largest files"
848
+ msgstr ""
849
+
850
+ msgid "Later"
851
+ msgstr ""
852
+
853
+ msgid "Latest commit"
854
+ msgstr ""
855
+
856
+ #, python-format
857
+ msgid "Latest: %(name)s, on <span class=\"nowrap\">%(date)s</span>"
858
+ msgstr ""
859
+
860
+ msgid "Learned"
861
+ msgstr ""
862
+
863
+ msgid "Learned, but changed since"
864
+ msgstr ""
865
+
866
+ #, python-format
867
+ msgid "Left: %(name)s"
868
+ msgstr ""
869
+
870
+ msgid "Legend"
871
+ msgstr ""
872
+
873
+ msgid "Libraries"
874
+ msgstr ""
875
+
876
+ msgid "Library"
877
+ msgstr ""
878
+
879
+ msgid "Lines"
880
+ msgstr ""
881
+
882
+ msgid "Longest quiet stretch"
883
+ msgstr ""
884
+
885
+ msgctxt "month"
886
+ msgid "Mar"
887
+ msgstr ""
888
+
889
+ msgid "Mark read"
890
+ msgstr ""
891
+
892
+ msgid "Mark this page read, or unread"
893
+ msgstr ""
894
+
895
+ msgid "Mark unread"
896
+ msgstr ""
897
+
898
+ msgid "Matched by name: likely, not certain"
899
+ msgstr ""
900
+
901
+ msgctxt "month"
902
+ msgid "May"
903
+ msgstr ""
904
+
905
+ msgid "Mentioned and explained"
906
+ msgstr ""
907
+
908
+ msgid "Mentioned in a document"
909
+ msgstr ""
910
+
911
+ msgid "Menu"
912
+ msgstr ""
913
+
914
+ msgctxt "weekday"
915
+ msgid "Mon"
916
+ msgstr ""
917
+
918
+ msgid "Monday"
919
+ msgstr ""
920
+
921
+ msgid "Month"
922
+ msgstr ""
923
+
924
+ msgid "More"
925
+ msgstr ""
926
+
927
+ msgid "Most changed files"
928
+ msgstr ""
929
+
930
+ msgid "Most changed files in it"
931
+ msgstr ""
932
+
933
+ msgid "Most changed folders"
934
+ msgstr ""
935
+
936
+ msgid "Mostly inferred rationale: where an ADR or a README would help most"
937
+ msgstr ""
938
+
939
+ msgid "Needs attention"
940
+ msgstr ""
941
+
942
+ msgid "Next"
943
+ msgstr ""
944
+
945
+ msgid ""
946
+ "No architecture decision records were found where the target's settings "
947
+ "say they live."
948
+ msgstr ""
949
+
950
+ msgid "No code to draw yet."
951
+ msgstr ""
952
+
953
+ msgid "No commits to measure yet."
954
+ msgstr ""
955
+
956
+ msgid "No connections between the parts were found."
957
+ msgstr ""
958
+
959
+ msgid "No decisions found"
960
+ msgstr ""
961
+
962
+ msgid "No dependency changes in this window."
963
+ msgstr ""
964
+
965
+ msgid "No digest yet."
966
+ msgstr ""
967
+
968
+ msgid "No digests yet"
969
+ msgstr ""
970
+
971
+ msgid "No earlier update to compare with."
972
+ msgstr ""
973
+
974
+ msgid "No facts yet"
975
+ msgstr ""
976
+
977
+ msgid "No file in it changed in the commits read."
978
+ msgstr ""
979
+
980
+ msgid "No pages yet"
981
+ msgstr ""
982
+
983
+ msgid ""
984
+ "No pages yet: the guide's rationale is measured once your assistant "
985
+ "writes it."
986
+ msgstr ""
987
+
988
+ msgid "No releases in this window."
989
+ msgstr ""
990
+
991
+ msgid "No releases: the branch has no tags."
992
+ msgstr ""
993
+
994
+ msgid ""
995
+ "No shortcut spends anything: questions are sent by their Send button, and"
996
+ " updates start only when you choose Go ahead."
997
+ msgstr ""
998
+
999
+ #, python-format
1000
+ msgid ""
1001
+ "No sources yet. Run <code>codetrail update %(name)s</code> to read the "
1002
+ "repository."
1003
+ msgstr ""
1004
+
1005
+ msgid "No tags on the branch."
1006
+ msgstr ""
1007
+
1008
+ msgid "None found"
1009
+ msgstr ""
1010
+
1011
+ msgid "Not available just now."
1012
+ msgstr ""
1013
+
1014
+ msgid "Not explained by any page"
1015
+ msgstr ""
1016
+
1017
+ msgid "Not found"
1018
+ msgstr ""
1019
+
1020
+ msgid "Not mentioned in any document"
1021
+ msgstr ""
1022
+
1023
+ msgid "Not read yet"
1024
+ msgstr ""
1025
+
1026
+ msgid "Not yet"
1027
+ msgstr ""
1028
+
1029
+ msgid "Notes, from the tag"
1030
+ msgstr ""
1031
+
1032
+ #, python-format
1033
+ msgid "Nothing in the guide matches “%(query)s”."
1034
+ msgstr ""
1035
+
1036
+ #, python-brace-format
1037
+ msgid "Nothing in the guide matches “{query}”."
1038
+ msgstr ""
1039
+
1040
+ msgid "Nothing inferred"
1041
+ msgstr ""
1042
+
1043
+ msgid "Nothing to learn yet"
1044
+ msgstr ""
1045
+
1046
+ msgctxt "month"
1047
+ msgid "Nov"
1048
+ msgstr ""
1049
+
1050
+ msgctxt "month"
1051
+ msgid "Oct"
1052
+ msgstr ""
1053
+
1054
+ msgid "On this page"
1055
+ msgstr ""
1056
+
1057
+ #, python-format
1058
+ msgid "One every %(count)s day at the median"
1059
+ msgid_plural "One every %(count)s days at the median"
1060
+ msgstr[0] ""
1061
+ msgstr[1] ""
1062
+
1063
+ #, python-format
1064
+ msgid "One page wasn’t written."
1065
+ msgid_plural "%(count)s pages weren’t written."
1066
+ msgstr[0] ""
1067
+ msgstr[1] ""
1068
+
1069
+ #, python-format
1070
+ msgid "One waits for the next update."
1071
+ msgid_plural "%(count)s wait for the next update."
1072
+ msgstr[0] ""
1073
+ msgstr[1] ""
1074
+
1075
+ msgid "Open the area page"
1076
+ msgstr ""
1077
+
1078
+ msgid "Open the file"
1079
+ msgstr ""
1080
+
1081
+ #, python-format
1082
+ msgid "Or from a terminal: <code>codetrail update %(name)s</code>"
1083
+ msgstr ""
1084
+
1085
+ msgid "Other"
1086
+ msgstr ""
1087
+
1088
+ msgid "Outside the paths"
1089
+ msgstr ""
1090
+
1091
+ msgid "Over the last updates"
1092
+ msgstr ""
1093
+
1094
+ #, python-format
1095
+ msgid ""
1096
+ "Over the latest %(count)s commit, merges left out. Only files Codetrail "
1097
+ "may read are named."
1098
+ msgid_plural ""
1099
+ "Over the latest %(count)s commits, merges left out. Only files Codetrail "
1100
+ "may read are named."
1101
+ msgstr[0] ""
1102
+ msgstr[1] ""
1103
+
1104
+ msgid "Overview"
1105
+ msgstr ""
1106
+
1107
+ msgid "Packages"
1108
+ msgstr ""
1109
+
1110
+ msgid "Pages"
1111
+ msgstr ""
1112
+
1113
+ msgid "Pages, in the order they’re written:"
1114
+ msgstr ""
1115
+
1116
+ msgid "Part"
1117
+ msgstr ""
1118
+
1119
+ msgid "Partly there"
1120
+ msgstr ""
1121
+
1122
+ msgid "Parts"
1123
+ msgstr ""
1124
+
1125
+ msgid "Passed"
1126
+ msgstr ""
1127
+
1128
+ msgid "Path"
1129
+ msgstr ""
1130
+
1131
+ msgid "Paths"
1132
+ msgstr ""
1133
+
1134
+ #, python-format
1135
+ msgid "Pin %(title)s"
1136
+ msgstr ""
1137
+
1138
+ msgid "Pinned pages"
1139
+ msgstr ""
1140
+
1141
+ #, python-format
1142
+ msgid "Plan usage (%(provider)s, %(window)s): %(used)s%%, as of %(when)s."
1143
+ msgstr ""
1144
+
1145
+ #, python-format
1146
+ msgid "Planned one new page."
1147
+ msgid_plural "Planned %(count)s new pages."
1148
+ msgstr[0] ""
1149
+ msgstr[1] ""
1150
+
1151
+ msgid "Planning the outline…"
1152
+ msgstr ""
1153
+
1154
+ msgid "Platform"
1155
+ msgstr ""
1156
+
1157
+ msgid "Platforms"
1158
+ msgstr ""
1159
+
1160
+ msgid "Pointed to by"
1161
+ msgstr ""
1162
+
1163
+ msgid "Points to"
1164
+ msgstr ""
1165
+
1166
+ msgid "Previous"
1167
+ msgstr ""
1168
+
1169
+ msgid "Previous or next page in the path"
1170
+ msgstr ""
1171
+
1172
+ msgid "Progress"
1173
+ msgstr ""
1174
+
1175
+ msgid "Projects"
1176
+ msgstr ""
1177
+
1178
+ msgid "Proposed for too long"
1179
+ msgstr ""
1180
+
1181
+ msgid "Proposed, with no date"
1182
+ msgstr ""
1183
+
1184
+ msgid "Provider and model"
1185
+ msgstr ""
1186
+
1187
+ #, python-format
1188
+ msgid "Questions are limited to %(count)s characters."
1189
+ msgstr ""
1190
+
1191
+ msgid "Quiet code"
1192
+ msgstr ""
1193
+
1194
+ msgid ""
1195
+ "Rationale blocks in the guide's area and concept pages: documented ones "
1196
+ "quote a source Codetrail checked, inferred ones are the assistant's "
1197
+ "reading. It counts only what the guide wrote about."
1198
+ msgstr ""
1199
+
1200
+ msgid "Rationale in its guide page"
1201
+ msgstr ""
1202
+
1203
+ msgid "Read"
1204
+ msgstr ""
1205
+
1206
+ msgid "Refreshing the facts (free)…"
1207
+ msgstr ""
1208
+
1209
+ msgid "Release"
1210
+ msgstr ""
1211
+
1212
+ msgid "Releases"
1213
+ msgstr ""
1214
+
1215
+ msgid "Repository"
1216
+ msgstr ""
1217
+
1218
+ msgid "Resize the Ask panel"
1219
+ msgstr ""
1220
+
1221
+ msgid "Resize the sidebar"
1222
+ msgstr ""
1223
+
1224
+ msgid "Resources"
1225
+ msgstr ""
1226
+
1227
+ msgid "Results"
1228
+ msgstr ""
1229
+
1230
+ #, python-format
1231
+ msgid "Revised “%(title)s”."
1232
+ msgstr ""
1233
+
1234
+ #, python-format
1235
+ msgid ""
1236
+ "Revising “%(title)s” (catching up: its facts changed after it was "
1237
+ "written)…"
1238
+ msgstr ""
1239
+
1240
+ #, python-format
1241
+ msgid "Revising “%(title)s” (one of its facts changed in this update)…"
1242
+ msgid_plural "Revising “%(title)s” (%(count)s of its facts changed in this update)…"
1243
+ msgstr[0] ""
1244
+ msgstr[1] ""
1245
+
1246
+ #, python-format
1247
+ msgid "Revising “%(title)s” again, with its problems…"
1248
+ msgstr ""
1249
+
1250
+ #, python-format
1251
+ msgid "Run codetrail update %(target)s first."
1252
+ msgstr ""
1253
+
1254
+ msgid "Run your first update"
1255
+ msgstr ""
1256
+
1257
+ msgid "Runs on"
1258
+ msgstr ""
1259
+
1260
+ msgctxt "weekday"
1261
+ msgid "Sat"
1262
+ msgstr ""
1263
+
1264
+ msgid "Saturday"
1265
+ msgstr ""
1266
+
1267
+ msgid "Save to guide"
1268
+ msgstr ""
1269
+
1270
+ msgid "Saved answer"
1271
+ msgstr ""
1272
+
1273
+ #, python-format
1274
+ msgid "Saved answer, asked %(when)s at commit %(commit)s."
1275
+ msgstr ""
1276
+
1277
+ msgid "Saved answers"
1278
+ msgstr ""
1279
+
1280
+ #, python-format
1281
+ msgid "Saved one page to the guide."
1282
+ msgid_plural "Saved %(count)s pages to the guide."
1283
+ msgstr[0] ""
1284
+ msgstr[1] ""
1285
+
1286
+ msgid "Saved · open it"
1287
+ msgstr ""
1288
+
1289
+ msgid "Scopes"
1290
+ msgstr ""
1291
+
1292
+ msgid "Search"
1293
+ msgstr ""
1294
+
1295
+ msgid "Search isn't available right now. The rest of the guide still works."
1296
+ msgstr ""
1297
+
1298
+ msgid "Search isn’t available right now."
1299
+ msgstr ""
1300
+
1301
+ msgid "Search or ask"
1302
+ msgstr ""
1303
+
1304
+ msgid "Search or ask…"
1305
+ msgstr ""
1306
+
1307
+ msgid "Search the guide"
1308
+ msgstr ""
1309
+
1310
+ msgid "Search the guide, or ask a question"
1311
+ msgstr ""
1312
+
1313
+ msgid "Search the guide, or ask a question…"
1314
+ msgstr ""
1315
+
1316
+ msgid "Search, or ask a question"
1317
+ msgstr ""
1318
+
1319
+ msgid "Searching…"
1320
+ msgstr ""
1321
+
1322
+ #, python-brace-format
1323
+ msgid "See every result for “{query}”"
1324
+ msgstr ""
1325
+
1326
+ msgid "See how it fits together"
1327
+ msgstr ""
1328
+
1329
+ msgid "See the repository's statistics"
1330
+ msgstr ""
1331
+
1332
+ msgid "See the whole system"
1333
+ msgstr ""
1334
+
1335
+ msgid "See what's documented"
1336
+ msgstr ""
1337
+
1338
+ msgid "Send"
1339
+ msgstr ""
1340
+
1341
+ msgctxt "month"
1342
+ msgid "Sep"
1343
+ msgstr ""
1344
+
1345
+ msgid "Service or app"
1346
+ msgstr ""
1347
+
1348
+ msgid "Services"
1349
+ msgstr ""
1350
+
1351
+ msgid "Show"
1352
+ msgstr ""
1353
+
1354
+ msgid "Show the sidebar"
1355
+ msgstr ""
1356
+
1357
+ msgid "Show the sidebar for a moment"
1358
+ msgstr ""
1359
+
1360
+ msgid "Show these shortcuts"
1361
+ msgstr ""
1362
+
1363
+ msgid "Since the last update"
1364
+ msgstr ""
1365
+
1366
+ msgid "Skip to content"
1367
+ msgstr ""
1368
+
1369
+ msgid "Skipped, since they failed last time and nothing in them changed:"
1370
+ msgstr ""
1371
+
1372
+ msgid "Source"
1373
+ msgstr ""
1374
+
1375
+ #, python-format
1376
+ msgid "Started on %(date)s"
1377
+ msgstr ""
1378
+
1379
+ msgid "Steps"
1380
+ msgstr ""
1381
+
1382
+ msgid "Subject only"
1383
+ msgstr ""
1384
+
1385
+ msgctxt "weekday"
1386
+ msgid "Sun"
1387
+ msgstr ""
1388
+
1389
+ msgid "Sunday"
1390
+ msgstr ""
1391
+
1392
+ msgid "Superseded or deprecated, still cited by the guide"
1393
+ msgstr ""
1394
+
1395
+ msgid "Switch theme"
1396
+ msgstr ""
1397
+
1398
+ msgid "System"
1399
+ msgstr ""
1400
+
1401
+ msgid "Tests"
1402
+ msgstr ""
1403
+
1404
+ msgid "That answer is gone; ask again."
1405
+ msgstr ""
1406
+
1407
+ msgid "That check doesn't exist."
1408
+ msgstr ""
1409
+
1410
+ msgid "That estimate isn't waiting any more."
1411
+ msgstr ""
1412
+
1413
+ msgid "That estimate isn't waiting any more; start the update again."
1414
+ msgstr ""
1415
+
1416
+ msgid "That page doesn't exist."
1417
+ msgstr ""
1418
+
1419
+ msgid "The answer couldn’t be graded."
1420
+ msgstr ""
1421
+
1422
+ #, python-format
1423
+ msgid "The answer failed (%(error)s)."
1424
+ msgstr ""
1425
+
1426
+ #, python-format
1427
+ msgid ""
1428
+ "The answer was withheld: it contains something that looks like a secret "
1429
+ "(%(rule)s)."
1430
+ msgstr ""
1431
+
1432
+ msgid "The assistant is reading the code…"
1433
+ msgstr ""
1434
+
1435
+ msgid ""
1436
+ "The branch's whole history, by author date in UTC. Only dates and counts "
1437
+ "are read: no author or message."
1438
+ msgstr ""
1439
+
1440
+ msgid "The charts need the page's script; their numbers are in the tables below."
1441
+ msgstr ""
1442
+
1443
+ msgid "The commit history couldn't be read just now; the log says why."
1444
+ msgstr ""
1445
+
1446
+ msgid "The commit messages couldn't be read just now; the log says why."
1447
+ msgstr ""
1448
+
1449
+ msgid "The estimate expired before it was confirmed, so nothing was spent."
1450
+ msgstr ""
1451
+
1452
+ msgid "The facts are refreshed. Writing the guide will call:"
1453
+ msgstr ""
1454
+
1455
+ msgid "The facts are refreshed: none changed."
1456
+ msgstr ""
1457
+
1458
+ #, python-format
1459
+ msgid "The facts are refreshed: one changed."
1460
+ msgid_plural "The facts are refreshed: %(count)s changed."
1461
+ msgstr[0] ""
1462
+ msgstr[1] ""
1463
+
1464
+ #, python-format
1465
+ msgid ""
1466
+ "The feedback was withheld: it contains something that looks like a secret"
1467
+ " (%(rule)s)."
1468
+ msgstr ""
1469
+
1470
+ msgid ""
1471
+ "The files Codetrail may read, without the excluded ones. A file's "
1472
+ "language comes from its name; documents are the files matching the "
1473
+ "target's document_globs, and tests those matching its test_globs."
1474
+ msgstr ""
1475
+
1476
+ msgid "The first release"
1477
+ msgstr ""
1478
+
1479
+ msgid "The grade couldn't be read, so nothing was recorded; try again."
1480
+ msgstr ""
1481
+
1482
+ msgid "The guide matches the branch."
1483
+ msgstr ""
1484
+
1485
+ msgid "The history couldn't be read just now."
1486
+ msgstr ""
1487
+
1488
+ msgid "The history couldn't be read just now; the log says why."
1489
+ msgstr ""
1490
+
1491
+ msgid "The last 53 weeks, a square per day, shaded by its commits."
1492
+ msgstr ""
1493
+
1494
+ #, python-format
1495
+ msgid "The last update used ~%(tokens)s tokens (%(cost)s at API prices)."
1496
+ msgstr ""
1497
+
1498
+ msgid ""
1499
+ "The latest commits on the branch, merges left out. A commit explains why "
1500
+ "when its body matches the target's commit_why_pattern."
1501
+ msgstr ""
1502
+
1503
+ msgid "The metrics aren't available just now"
1504
+ msgstr ""
1505
+
1506
+ msgid "The parts in this folder and the parts they connect to."
1507
+ msgstr ""
1508
+
1509
+ msgid "The releases couldn't be read just now; the log says why."
1510
+ msgstr ""
1511
+
1512
+ msgid "The repository"
1513
+ msgstr ""
1514
+
1515
+ msgid "The repository doesn't appear to use typed commit subjects."
1516
+ msgstr ""
1517
+
1518
+ msgid "The repository's architecture decision records, as Codetrail found them."
1519
+ msgstr ""
1520
+
1521
+ msgid ""
1522
+ "The repository's parts and how they connect, drawn from facts: nothing "
1523
+ "here is the assistant's guess."
1524
+ msgstr ""
1525
+
1526
+ msgid "The server is stopping."
1527
+ msgstr ""
1528
+
1529
+ msgid "The statistics aren't available just now"
1530
+ msgstr ""
1531
+
1532
+ msgid ""
1533
+ "The tags that point into the branch's history. A tag gitleaks flags is "
1534
+ "withheld."
1535
+ msgstr ""
1536
+
1537
+ #, python-format
1538
+ msgid ""
1539
+ "The timeline shows the latest %(count)s commits; the counts cover them "
1540
+ "all."
1541
+ msgstr ""
1542
+
1543
+ #, python-format
1544
+ msgid "The update failed (%(error)s)."
1545
+ msgstr ""
1546
+
1547
+ msgid "The update failed:"
1548
+ msgstr ""
1549
+
1550
+ #, python-format
1551
+ msgid ""
1552
+ "The update stops at its budget of %(budget)s or %(tokens)s tokens, "
1553
+ "whichever comes first."
1554
+ msgstr ""
1555
+
1556
+ msgid "The update was cancelled."
1557
+ msgstr ""
1558
+
1559
+ msgid "Theme: dark (switch to system)"
1560
+ msgstr ""
1561
+
1562
+ msgid "Theme: light (switch to dark)"
1563
+ msgstr ""
1564
+
1565
+ msgid "Theme: system (switch to light)"
1566
+ msgstr ""
1567
+
1568
+ msgid "There's nothing here. It may be excluded, or not in the guide yet."
1569
+ msgstr ""
1570
+
1571
+ msgid "This file isn't text, or is too large to show."
1572
+ msgstr ""
1573
+
1574
+ msgctxt "weekday"
1575
+ msgid "Thu"
1576
+ msgstr ""
1577
+
1578
+ msgid "Thursday"
1579
+ msgstr ""
1580
+
1581
+ msgid "Time range"
1582
+ msgstr ""
1583
+
1584
+ msgid "Timeline"
1585
+ msgstr ""
1586
+
1587
+ #, python-format
1588
+ msgid "To write it anyway: <code>codetrail update %(name)s --retry-failed</code>"
1589
+ msgstr ""
1590
+
1591
+ msgid "Tokens each"
1592
+ msgstr ""
1593
+
1594
+ msgid ""
1595
+ "Too many modules to show one by one: folders are shown, with the number "
1596
+ "of imports on each arrow."
1597
+ msgstr ""
1598
+
1599
+ msgid ""
1600
+ "Too many parts to show one by one: libraries, then folders, are grouped, "
1601
+ "with the number of connections on each arrow. Every part is listed below."
1602
+ msgstr ""
1603
+
1604
+ #, python-format
1605
+ msgid "Trend over %(count)s update: %(values)s"
1606
+ msgid_plural "Trend over %(count)s updates: %(values)s"
1607
+ msgstr[0] ""
1608
+ msgstr[1] ""
1609
+
1610
+ msgctxt "weekday"
1611
+ msgid "Tue"
1612
+ msgstr ""
1613
+
1614
+ msgid "Tuesday"
1615
+ msgstr ""
1616
+
1617
+ #, python-format
1618
+ msgid "Unpin %(title)s"
1619
+ msgstr ""
1620
+
1621
+ msgid "Unpin a page first"
1622
+ msgstr ""
1623
+
1624
+ msgid "Unread"
1625
+ msgstr ""
1626
+
1627
+ msgid "Up to date"
1628
+ msgstr ""
1629
+
1630
+ msgid "Update the guide"
1631
+ msgstr ""
1632
+
1633
+ msgid "Update the guide (shows the estimate first)"
1634
+ msgstr ""
1635
+
1636
+ msgid ""
1637
+ "Update the guide and its guided paths appear here, with what you've "
1638
+ "learned on each."
1639
+ msgstr ""
1640
+
1641
+ msgid ""
1642
+ "Update the guide once: reading the code is free, and the metrics come "
1643
+ "from it."
1644
+ msgstr ""
1645
+
1646
+ msgid ""
1647
+ "Update the guide once: reading the code is free, and the statistics come "
1648
+ "from it."
1649
+ msgstr ""
1650
+
1651
+ msgid "Update the guide…"
1652
+ msgstr ""
1653
+
1654
+ msgid "Updated."
1655
+ msgstr ""
1656
+
1657
+ msgid "Updating the guide"
1658
+ msgstr ""
1659
+
1660
+ msgid "Updating…"
1661
+ msgstr ""
1662
+
1663
+ msgid "Use the left and right arrow keys to read each bar."
1664
+ msgstr ""
1665
+
1666
+ msgid "Used"
1667
+ msgstr ""
1668
+
1669
+ msgid "Wait a few seconds before the next answer."
1670
+ msgstr ""
1671
+
1672
+ #, python-format
1673
+ msgid "Watched by Codetrail since %(date)s"
1674
+ msgstr ""
1675
+
1676
+ msgctxt "weekday"
1677
+ msgid "Wed"
1678
+ msgstr ""
1679
+
1680
+ msgid "Wednesday"
1681
+ msgstr ""
1682
+
1683
+ #, python-format
1684
+ msgid "Week of %(date)s"
1685
+ msgstr ""
1686
+
1687
+ msgid "Weeks with a commit"
1688
+ msgstr ""
1689
+
1690
+ #, python-format
1691
+ msgid ""
1692
+ "What Codetrail's extractors found, by kind. Codetrail's history of this "
1693
+ "repository starts on %(date)s: packages present then are counted as there"
1694
+ " from the start."
1695
+ msgstr ""
1696
+
1697
+ msgid "What changed"
1698
+ msgstr ""
1699
+
1700
+ msgid "What changed in the repository at each update, and why, newest first."
1701
+ msgstr ""
1702
+
1703
+ msgid "What changed since you learned this page"
1704
+ msgstr ""
1705
+
1706
+ msgid "What each box links to"
1707
+ msgstr ""
1708
+
1709
+ msgid ""
1710
+ "What the repository is: its history, its releases, its code and its "
1711
+ "facts. Read from the code and its history, without calling your "
1712
+ "assistant."
1713
+ msgstr ""
1714
+
1715
+ msgid "What this counts"
1716
+ msgstr ""
1717
+
1718
+ msgid "Where change happens"
1719
+ msgstr ""
1720
+
1721
+ msgid "Where change happens, as tables"
1722
+ msgstr ""
1723
+
1724
+ msgid "Where it fits"
1725
+ msgstr ""
1726
+
1727
+ msgid ""
1728
+ "Which facts the guide explains, and which ADRs it cites, are measured "
1729
+ "once your assistant has written its pages."
1730
+ msgstr ""
1731
+
1732
+ msgid "Whole history"
1733
+ msgstr ""
1734
+
1735
+ msgid "Why each arrow is there"
1736
+ msgstr ""
1737
+
1738
+ msgid "Without a why"
1739
+ msgstr ""
1740
+
1741
+ msgid "Worth a look"
1742
+ msgstr ""
1743
+
1744
+ msgid "Writing the digest…"
1745
+ msgstr ""
1746
+
1747
+ #, python-format
1748
+ msgid "Writing “%(title)s” (a new page)…"
1749
+ msgstr ""
1750
+
1751
+ #, python-format
1752
+ msgid "Writing “%(title)s” (catching up: its facts changed after it was written)…"
1753
+ msgstr ""
1754
+
1755
+ #, python-format
1756
+ msgid "Writing “%(title)s” (its outline entry changed)…"
1757
+ msgstr ""
1758
+
1759
+ #, python-format
1760
+ msgid "Writing “%(title)s” (one of its facts changed in this update)…"
1761
+ msgid_plural "Writing “%(title)s” (%(count)s of its facts changed in this update)…"
1762
+ msgstr[0] ""
1763
+ msgstr[1] ""
1764
+
1765
+ #, python-format
1766
+ msgid "Writing “%(title)s” again, with its problems…"
1767
+ msgstr ""
1768
+
1769
+ #, python-format
1770
+ msgid "Writing “%(title)s”…"
1771
+ msgstr ""
1772
+
1773
+ #, python-format
1774
+ msgid "Wrote “%(title)s”."
1775
+ msgstr ""
1776
+
1777
+ msgid "Year"
1778
+ msgstr ""
1779
+
1780
+ msgid "You're caught up."
1781
+ msgstr ""
1782
+
1783
+ msgid "You've learned every guided path. Updates will tell you what changes."
1784
+ msgstr ""
1785
+
1786
+ msgid "Your answer"
1787
+ msgstr ""
1788
+
1789
+ msgid "Your progress"
1790
+ msgstr ""
1791
+
1792
+ msgid "Your question"
1793
+ msgstr ""
1794
+
1795
+ msgid "Your saved answers"
1796
+ msgstr ""
1797
+
1798
+ msgid "Your system"
1799
+ msgstr ""
1800
+
1801
+ msgid "a new page"
1802
+ msgstr ""
1803
+
1804
+ msgid "a starting guess"
1805
+ msgstr ""
1806
+
1807
+ msgid "billed to that account."
1808
+ msgstr ""
1809
+
1810
+ msgid "body without a why"
1811
+ msgstr ""
1812
+
1813
+ msgid "calls through"
1814
+ msgstr ""
1815
+
1816
+ msgid "catching up, since its facts changed after it was written"
1817
+ msgstr ""
1818
+
1819
+ msgid "changed"
1820
+ msgstr ""
1821
+
1822
+ msgid "commits"
1823
+ msgstr ""
1824
+
1825
+ msgid "default model"
1826
+ msgstr ""
1827
+
1828
+ msgid "depends on"
1829
+ msgstr ""
1830
+
1831
+ msgid "documented"
1832
+ msgstr ""
1833
+
1834
+ msgid "free"
1835
+ msgstr ""
1836
+
1837
+ msgid "implements"
1838
+ msgstr ""
1839
+
1840
+ #, python-format
1841
+ msgid "in %(count)s language"
1842
+ msgid_plural "in %(count)s languages"
1843
+ msgstr[0] ""
1844
+ msgstr[1] ""
1845
+
1846
+ msgid "inferred"
1847
+ msgstr ""
1848
+
1849
+ msgid "is deployed on"
1850
+ msgstr ""
1851
+
1852
+ msgid "its outline entry changed"
1853
+ msgstr ""
1854
+
1855
+ msgid "lines of code"
1856
+ msgstr ""
1857
+
1858
+ msgctxt "text direction"
1859
+ msgid "ltr"
1860
+ msgstr ""
1861
+
1862
+ msgid "matched by name:"
1863
+ msgstr ""
1864
+
1865
+ msgid "more"
1866
+ msgstr ""
1867
+
1868
+ msgid "mostly inferred rationale"
1869
+ msgstr ""
1870
+
1871
+ msgid "no charge; the work counts against your plan's usage limits."
1872
+ msgstr ""
1873
+
1874
+ msgid "no price configured"
1875
+ msgstr ""
1876
+
1877
+ msgid "not read"
1878
+ msgstr ""
1879
+
1880
+ msgid "nothing to measure yet"
1881
+ msgstr ""
1882
+
1883
+ #, python-format
1884
+ msgid "one of its facts changed in this update"
1885
+ msgid_plural "%(count)s of its facts changed in this update"
1886
+ msgstr[0] ""
1887
+ msgstr[1] ""
1888
+
1889
+ #, python-format
1890
+ msgid "proposed %(count)s day ago"
1891
+ msgid_plural "proposed %(count)s days ago"
1892
+ msgstr[0] ""
1893
+ msgstr[1] ""
1894
+
1895
+ msgid "proposed too long, or retired and still cited"
1896
+ msgstr ""
1897
+
1898
+ msgid "revised"
1899
+ msgstr ""
1900
+
1901
+ msgid "source"
1902
+ msgstr ""
1903
+
1904
+ msgid "sources changed"
1905
+ msgstr ""
1906
+
1907
+ msgid "subject only"
1908
+ msgstr ""
1909
+
1910
+ msgid "to close"
1911
+ msgstr ""
1912
+
1913
+ msgid "to move"
1914
+ msgstr ""
1915
+
1916
+ msgid "to open"
1917
+ msgstr ""
1918
+
1919
+ msgid "tokens"
1920
+ msgstr ""
1921
+
1922
+ msgid "unread"
1923
+ msgstr ""
1924
+
1925
+ #, python-format
1926
+ msgid ""
1927
+ "“%(title)s” is skipped: it failed last time, and nothing in it changed "
1928
+ "since."
1929
+ msgstr ""
1930
+
1931
+ #, python-format
1932
+ msgid "“%(title)s” needed no change."
1933
+ msgstr ""
1934
+
1935
+ #, python-format
1936
+ msgid "“%(title)s” waits for the next update: the budget is spent."
1937
+ msgstr ""
1938
+
1939
+ #, python-format
1940
+ msgid "“%(title)s” wasn’t written: %(reason)s"
1941
+ msgstr ""
1942
+