162 "branches and paths of a repository when receiving incoming changesets\n" |
165 "branches and paths of a repository when receiving incoming changesets\n" |
163 "via pretxnchangegroup and pretxncommit." |
166 "via pretxnchangegroup and pretxncommit." |
164 msgstr "" |
167 msgstr "" |
165 "アクセス制御用フックを使用することで、 pretxnchangegroup や pretxncommit\n" |
168 "アクセス制御用フックを使用することで、 pretxnchangegroup や pretxncommit\n" |
166 "契機で更新反映を受理した際に、 指定されたブランチやパスに対して、\n" |
169 "契機で更新反映を受理した際に、 指定されたブランチやパスに対して、\n" |
167 "書き込みの可否を制御できます。" |
170 "アクセス (= 改変) の可否を制御できます。" |
168 |
171 |
169 msgid "" |
172 msgid "" |
170 "The authorization is matched based on the local user name on the\n" |
173 "The authorization is matched based on the local user name on the\n" |
171 "system where the hook runs, and not the committer of the original\n" |
174 "system where the hook runs, and not the committer of the original\n" |
172 "changeset (since the latter is merely informative)." |
175 "changeset (since the latter is merely informative)." |
173 msgstr "" |
176 msgstr "" |
|
177 "本エクステンションでは、 各リビジョンのコミット実施者 (この情報は、\n" |
|
178 "あまり有益ではありません) の名前ではなく、 フックが実行される環境での、\n" |
|
179 "ログインユーザ名情報をベースに、 アクセス可否が判定されます。" |
174 |
180 |
175 msgid "" |
181 msgid "" |
176 "The acl hook is best used along with a restricted shell like hgsh,\n" |
182 "The acl hook is best used along with a restricted shell like hgsh,\n" |
177 "preventing authenticating users from doing anything other than pushing\n" |
183 "preventing authenticating users from doing anything other than pushing\n" |
178 "or pulling. The hook is not safe to use if users have interactive\n" |
184 "or pulling. The hook is not safe to use if users have interactive\n" |
179 "shell access, as they can then disable the hook. Nor is it safe if\n" |
185 "shell access, as they can then disable the hook. Nor is it safe if\n" |
180 "remote users share an account, because then there is no way to\n" |
186 "remote users share an account, because then there is no way to\n" |
181 "distinguish them." |
187 "distinguish them." |
182 msgstr "" |
188 msgstr "" |
|
189 "ACL エクステンションのフックは、 hgsh (※ 訳注: contrib 成果物として、\n" |
|
190 "配布されています) のような、制限付きのシェルと併用することで、\n" |
|
191 "push/pull 以外の操作に関して、 ログイン済みユーザに対する抑止を行う、\n" |
|
192 "という様な用途に適しています。 ユーザがログインできる一般的な環境では、\n" |
|
193 "ユーザによって設定が無効化される可能性があるため、 ACL フックでの制限は、\n" |
|
194 "安全とは言えません。 同一アカウントを、 複数人で共有するような場合も、\n" |
|
195 "アクセス元のユーザを特定できないため、 安全とは言えません。" |
183 |
196 |
184 msgid "The order in which access checks are performed is:" |
197 msgid "The order in which access checks are performed is:" |
185 msgstr "" |
198 msgstr "アクセス可否の判定順序は、 以下の通りです:" |
186 |
199 |
187 msgid "" |
200 msgid "" |
188 "1) Deny list for branches (section ``acl.deny.branches``)\n" |
201 "1) Deny list for branches (section ``acl.deny.branches``)\n" |
189 "2) Allow list for branches (section ``acl.allow.branches``)\n" |
202 "2) Allow list for branches (section ``acl.allow.branches``)\n" |
190 "3) Deny list for paths (section ``acl.deny``)\n" |
203 "3) Deny list for paths (section ``acl.deny``)\n" |
191 "4) Allow list for paths (section ``acl.allow``)" |
204 "4) Allow list for paths (section ``acl.allow``)" |
192 msgstr "" |
205 msgstr "" |
|
206 "1) ブランチへの禁止一覧 (``acl.deny.branches`` セクション)\n" |
|
207 "2) ブランチへの許可一覧 (``acl.allow.branches`` セクション)\n" |
|
208 "3) パスへの禁止一覧 (``acl.deny`` セクション)\n" |
|
209 "4) パスへの許可一覧 (``acl.allow`` セクション)" |
193 |
210 |
194 msgid "The allow and deny sections take key-value pairs." |
211 msgid "The allow and deny sections take key-value pairs." |
195 msgstr "" |
212 msgstr "許可/禁止のいずれも、 キー/値の対で設定します。" |
196 |
213 |
197 msgid "" |
214 msgid "" |
198 "Branch-based Access Control\n" |
215 "Branch-based Access Control\n" |
199 "..........................." |
216 "..........................." |
200 msgstr "" |
217 msgstr "" |
|
218 "ブランチベースのアクセス制御\n" |
|
219 "............................" |
201 |
220 |
202 msgid "" |
221 msgid "" |
203 "Use the ``acl.deny.branches`` and ``acl.allow.branches`` sections to\n" |
222 "Use the ``acl.deny.branches`` and ``acl.allow.branches`` sections to\n" |
204 "have branch-based access control. Keys in these sections can be\n" |
223 "have branch-based access control. Keys in these sections can be\n" |
205 "either:" |
224 "either:" |
206 msgstr "" |
225 msgstr "" |
|
226 "ブランチベースのアクセス制御には、 ``acl.deny.branches`` および\n" |
|
227 "``acl.allow.branches`` セクションでの設定が使用されます。\n" |
|
228 "これらのセクションでは、 以下のいずれかを、 キーとして指定します:" |
207 |
229 |
208 msgid "" |
230 msgid "" |
209 "- a branch name, or\n" |
231 "- a branch name, or\n" |
210 "- an asterisk, to match any branch;" |
232 "- an asterisk, to match any branch;" |
211 msgstr "" |
233 msgstr "" |
|
234 "- ブランチ名、ないし\n" |
|
235 "- 「全ブランチ」を意味するアスタリスク(``*``)" |
212 |
236 |
213 msgid "The corresponding values can be either:" |
237 msgid "The corresponding values can be either:" |
214 msgstr "" |
238 msgstr "キーに対応する値には、 以下のいずれかを指定します:" |
215 |
239 |
216 msgid "" |
240 msgid "" |
217 "- a comma-separated list containing users and groups, or\n" |
241 "- a comma-separated list containing users and groups, or\n" |
218 "- an asterisk, to match anyone;" |
242 "- an asterisk, to match anyone;" |
219 msgstr "" |
243 msgstr "" |
|
244 "- ユーザ/グループの名前を、 カンマ区切りで並べた一覧、 ないし\n" |
|
245 "- 「全て」を意味するアスタリスク" |
220 |
246 |
221 msgid "" |
247 msgid "" |
222 "Path-based Access Control\n" |
248 "Path-based Access Control\n" |
223 "........................." |
249 "........................." |
224 msgstr "" |
250 msgstr "" |
|
251 "パスベースのアクセス制御\n" |
|
252 "........................" |
225 |
253 |
226 msgid "" |
254 msgid "" |
227 "Use the ``acl.deny`` and ``acl.allow`` sections to have path-based\n" |
255 "Use the ``acl.deny`` and ``acl.allow`` sections to have path-based\n" |
228 "access control. Keys in these sections accept a subtree pattern (with\n" |
256 "access control. Keys in these sections accept a subtree pattern (with\n" |
229 "a glob syntax by default). The corresponding values follow the same\n" |
257 "a glob syntax by default). The corresponding values follow the same\n" |
230 "syntax as the other sections above." |
258 "syntax as the other sections above." |
231 msgstr "" |
259 msgstr "" |
|
260 "パスベースのアクセス制御には ``acl.deny`` および ``acl.allow``\n" |
|
261 "セクションでの設定が使用されます。 これらのセクションでは、\n" |
|
262 "パスの合致判定をするパターン (無指定時の記述文法は glob) を、\n" |
|
263 "キーとして指定します。 キーに対応する値の記述方式は、\n" |
|
264 "他のセクションと同じです。" |
232 |
265 |
233 msgid "" |
266 msgid "" |
234 "Groups\n" |
267 "Groups\n" |
235 "......" |
268 "......" |
236 msgstr "" |
269 msgstr "" |
|
270 "グループ\n" |
|
271 "........" |
237 |
272 |
238 msgid "" |
273 msgid "" |
239 "Group names must be prefixed with an ``@`` symbol. Specifying a group\n" |
274 "Group names must be prefixed with an ``@`` symbol. Specifying a group\n" |
240 "name has the same effect as specifying all the users in that group." |
275 "name has the same effect as specifying all the users in that group." |
241 msgstr "" |
276 msgstr "" |
|
277 "グループ名を記述する場合、 接頭辞として ``@`` を付与します。\n" |
|
278 "グループ名記述は、 グループに属する全ユーザの列挙と、 同じ効果を持ちます。" |
242 |
279 |
243 msgid "" |
280 msgid "" |
244 "You can define group members in the ``acl.groups`` section.\n" |
281 "You can define group members in the ``acl.groups`` section.\n" |
245 "If a group name is not defined there, and Mercurial is running under\n" |
282 "If a group name is not defined there, and Mercurial is running under\n" |
246 "a Unix-like system, the list of users will be taken from the OS.\n" |
283 "a Unix-like system, the list of users will be taken from the OS.\n" |
247 "Otherwise, an exception will be raised." |
284 "Otherwise, an exception will be raised." |
248 msgstr "" |
285 msgstr "" |
|
286 "グループのメンバーは、 ``acl.groups`` セクションで定義できます。\n" |
|
287 "このセクションにおいて、 グループ名が定義されていない場合、\n" |
|
288 "UNIX 系の環境下であれば、 グループのメンバーに関する情報は、\n" |
|
289 "OS から取得されます。 それ以外の場合は、 例外が発生します。" |
249 |
290 |
250 msgid "" |
291 msgid "" |
251 "Example Configuration\n" |
292 "Example Configuration\n" |
252 "....................." |
293 "....................." |
253 msgstr "" |
294 msgstr "" |
|
295 "設定例\n" |
|
296 "......" |
254 |
297 |
255 msgid "::" |
298 msgid "::" |
256 msgstr "::" |
299 msgstr "::" |
257 |
300 |
258 msgid " [hooks]" |
301 msgid " [hooks]" |
260 |
303 |
261 msgid "" |
304 msgid "" |
262 " # Use this if you want to check access restrictions at commit time\n" |
305 " # Use this if you want to check access restrictions at commit time\n" |
263 " pretxncommit.acl = python:hgext.acl.hook" |
306 " pretxncommit.acl = python:hgext.acl.hook" |
264 msgstr "" |
307 msgstr "" |
|
308 " # コミット実行に制限を掛けたい場合の設定\n" |
|
309 " pretxncommit.acl = python:hgext.acl.hook" |
265 |
310 |
266 msgid "" |
311 msgid "" |
267 " # Use this if you want to check access restrictions for pull, push,\n" |
312 " # Use this if you want to check access restrictions for pull, push,\n" |
268 " # bundle and serve.\n" |
313 " # bundle and serve.\n" |
269 " pretxnchangegroup.acl = python:hgext.acl.hook" |
314 " pretxnchangegroup.acl = python:hgext.acl.hook" |
270 msgstr "" |
315 msgstr "" |
|
316 " # pull push bundle serve 実行に制限を掛けたい場合の設定\n" |
|
317 " pretxnchangegroup.acl = python:hgext.acl.hook" |
271 |
318 |
272 msgid "" |
319 msgid "" |
273 " [acl]\n" |
320 " [acl]\n" |
274 " # Allow or deny access for incoming changes only if their source is\n" |
321 " # Allow or deny access for incoming changes only if their source is\n" |
275 " # listed here, let them pass otherwise. Source is \"serve\" for all\n" |
322 " # listed here, let them pass otherwise. Source is \"serve\" for all\n" |
276 " # remote access (http or ssh), \"push\", \"pull\" or \"bundle\" when the\n" |
323 " # remote access (http or ssh), \"push\", \"pull\" or \"bundle\" when the\n" |
277 " # related commands are run locally.\n" |
324 " # related commands are run locally.\n" |
278 " # Default: serve\n" |
325 " # Default: serve\n" |
279 " sources = serve" |
326 " sources = serve" |
280 msgstr "" |
327 msgstr "" |
|
328 " [acl]\n" |
|
329 " # 変更反映元種別が、以下に列挙されている場合のみ、許可/禁止を行い、\n" |
|
330 " # それ以外の場合は、制限を行わない。 指定可能な種別は、http ないし\n" |
|
331 " # ssh 経由での全アクセスを指す \"serve\" か、対応するコマンドの\n" |
|
332 " # (ローカルでの)実行に対応する \"push\" \"pull\" \"bundle\" です。\n" |
|
333 " # デフォルト値: serve\n" |
|
334 " sources = serve" |
281 |
335 |
282 msgid " [acl.deny.branches]" |
336 msgid " [acl.deny.branches]" |
283 msgstr "" |
337 msgstr " [acl.deny.branches]" |
284 |
338 |
285 msgid "" |
339 msgid "" |
286 " # Everyone is denied to the frozen branch:\n" |
340 " # Everyone is denied to the frozen branch:\n" |
287 " frozen-branch = *" |
341 " frozen-branch = *" |
288 msgstr "" |
342 msgstr "" |
|
343 " # いずれのユーザも frozen-branch へのアクセスを禁止:\n" |
|
344 " frozen-branch = *" |
289 |
345 |
290 msgid "" |
346 msgid "" |
291 " # A bad user is denied on all branches:\n" |
347 " # A bad user is denied on all branches:\n" |
292 " * = bad-user" |
348 " * = bad-user" |
293 msgstr "" |
349 msgstr "" |
|
350 " # bad-user は全てのブランチへのアクセスを禁止:\n" |
|
351 " * = bad-user" |
294 |
352 |
295 msgid " [acl.allow.branches]" |
353 msgid " [acl.allow.branches]" |
296 msgstr "" |
354 msgstr " [acl.allow.branches]" |
297 |
355 |
298 msgid "" |
356 msgid "" |
299 " # A few users are allowed on branch-a:\n" |
357 " # A few users are allowed on branch-a:\n" |
300 " branch-a = user-1, user-2, user-3" |
358 " branch-a = user-1, user-2, user-3" |
301 msgstr "" |
359 msgstr "" |
|
360 " # branch-a へのアクセスを特定のユーザにのみ許可:\n" |
|
361 " branch-a = user-1, user-2, user-3" |
302 |
362 |
303 msgid "" |
363 msgid "" |
304 " # Only one user is allowed on branch-b:\n" |
364 " # Only one user is allowed on branch-b:\n" |
305 " branch-b = user-1" |
365 " branch-b = user-1" |
306 msgstr "" |
366 msgstr "" |
|
367 " # branch-b へのアクセスを一人のユーザにのみ許可:\n" |
|
368 " branch-b = user-1" |
307 |
369 |
308 msgid "" |
370 msgid "" |
309 " # The super user is allowed on any branch:\n" |
371 " # The super user is allowed on any branch:\n" |
310 " * = super-user" |
372 " * = super-user" |
311 msgstr "" |
373 msgstr "" |
|
374 " # super-user は全てのブランチにアクセス可能:\n" |
|
375 " * = super-user" |
312 |
376 |
313 msgid "" |
377 msgid "" |
314 " # Everyone is allowed on branch-for-tests:\n" |
378 " # Everyone is allowed on branch-for-tests:\n" |
315 " branch-for-tests = *" |
379 " branch-for-tests = *" |
316 msgstr "" |
380 msgstr "" |
|
381 " # 全てのユーザは branch-for-tests にアクセス可能:\n" |
|
382 " branch-for-tests = *" |
317 |
383 |
318 msgid "" |
384 msgid "" |
319 " [acl.deny]\n" |
385 " [acl.deny]\n" |
320 " # This list is checked first. If a match is found, acl.allow is not\n" |
386 " # This list is checked first. If a match is found, acl.allow is not\n" |
321 " # checked. All users are granted access if acl.deny is not present.\n" |
387 " # checked. All users are granted access if acl.deny is not present.\n" |
322 " # Format for both lists: glob pattern = user, ..., @group, ..." |
388 " # Format for both lists: glob pattern = user, ..., @group, ..." |
323 msgstr "" |
389 msgstr "" |
|
390 " [acl.deny]\n" |
|
391 " # acl.allow よりも先に、 本セクションの設定に対して確認が実施されます。\n" |
|
392 " # 合致する設定があった場合、acl.allow セクションの設定は無視されます。\n" |
|
393 " # acl.deny 設定が無い場合、全ユーザにアクセスが許可されます。\n" |
|
394 " # 記述形式: 合致パターン = ユーザ名, ..., @グループ名, ..." |
324 |
395 |
325 msgid "" |
396 msgid "" |
326 " # To match everyone, use an asterisk for the user:\n" |
397 " # To match everyone, use an asterisk for the user:\n" |
327 " # my/glob/pattern = *" |
398 " # my/glob/pattern = *" |
328 msgstr "" |
399 msgstr "" |
|
400 " # 全ユーザにマッチさせる場合は、値にアスタリスクを指定:\n" |
|
401 " # my/glob/pattern = *" |
329 |
402 |
330 msgid "" |
403 msgid "" |
331 " # user6 will not have write access to any file:\n" |
404 " # user6 will not have write access to any file:\n" |
332 " ** = user6" |
405 " ** = user6" |
333 msgstr "" |
406 msgstr "" |
|
407 " # user6 は全てのファイルに対してアクセス禁止:\n" |
|
408 " ** = user6" |
334 |
409 |
335 msgid "" |
410 msgid "" |
336 " # Group \"hg-denied\" will not have write access to any file:\n" |
411 " # Group \"hg-denied\" will not have write access to any file:\n" |
337 " ** = @hg-denied" |
412 " ** = @hg-denied" |
338 msgstr "" |
413 msgstr "" |
|
414 " # グループ \"hg-denied\" は全てのファイルに対してアクセス禁止:\n" |
|
415 " ** = @hg-denied" |
339 |
416 |
340 msgid "" |
417 msgid "" |
341 " # Nobody will be able to change \"DONT-TOUCH-THIS.txt\", despite\n" |
418 " # Nobody will be able to change \"DONT-TOUCH-THIS.txt\", despite\n" |
342 " # everyone being able to change all other files. See below.\n" |
419 " # everyone being able to change all other files. See below.\n" |
343 " src/main/resources/DONT-TOUCH-THIS.txt = *" |
420 " src/main/resources/DONT-TOUCH-THIS.txt = *" |
344 msgstr "" |
421 msgstr "" |
|
422 " # 全ユーザに対して \"DONT-TOUCH-THIS.txt\" はアクセス禁止。\n" |
|
423 " # (他のファイルにアクセス可能なユーザであっても同様)\n" |
|
424 " src/main/resources/DONT-TOUCH-THIS.txt = *" |
345 |
425 |
346 msgid "" |
426 msgid "" |
347 " [acl.allow]\n" |
427 " [acl.allow]\n" |
348 " # if acl.allow is not present, all users are allowed by default\n" |
428 " # if acl.allow is not present, all users are allowed by default\n" |
349 " # empty acl.allow = no users allowed" |
429 " # empty acl.allow = no users allowed" |
350 msgstr "" |
430 msgstr "" |
|
431 " [acl.allow]\n" |
|
432 " # 設定ファイルに acl.allow セクションが無い場合、全ユーザに対して、\n" |
|
433 " # 全アクセスが許可されます。 空の acl.allow セクションは、\n" |
|
434 " # 全ユーザに対して「許可を与えない」ことを意味します。" |
351 |
435 |
352 msgid "" |
436 msgid "" |
353 " # User \"doc_writer\" has write access to any file under the \"docs\"\n" |
437 " # User \"doc_writer\" has write access to any file under the \"docs\"\n" |
354 " # folder:\n" |
438 " # folder:\n" |
355 " docs/** = doc_writer" |
439 " docs/** = doc_writer" |
356 msgstr "" |
440 msgstr "" |
|
441 " # ユーザ \"doc_writer\" は \"docs\" 配下の任意のファイルにアクセス可能:\n" |
|
442 " docs/** = doc_writer" |
357 |
443 |
358 msgid "" |
444 msgid "" |
359 " # User \"jack\" and group \"designers\" have write access to any file\n" |
445 " # User \"jack\" and group \"designers\" have write access to any file\n" |
360 " # under the \"images\" folder:\n" |
446 " # under the \"images\" folder:\n" |
361 " images/** = jack, @designers" |
447 " images/** = jack, @designers" |
362 msgstr "" |
448 msgstr "" |
|
449 " # ユーザ \"jack\" とグループ \"designers\" は \"images\" 配下の任意の\n" |
|
450 " # ファイルにアクセス可能:\n" |
|
451 " images/** = jack, @designers" |
363 |
452 |
364 msgid "" |
453 msgid "" |
365 " # Everyone (except for \"user6\" - see acl.deny above) will have write\n" |
454 " # Everyone (except for \"user6\" - see acl.deny above) will have write\n" |
366 " # access to any file under the \"resources\" folder (except for 1\n" |
455 " # access to any file under the \"resources\" folder (except for 1\n" |
367 " # file. See acl.deny):\n" |
456 " # file. See acl.deny):\n" |
368 " src/main/resources/** = *" |
457 " src/main/resources/** = *" |
369 msgstr "" |
458 msgstr "" |
|
459 " # acl.deny で禁止されている \"user6\" 以外の全てのユーザに対して\n" |
|
460 " # (※ 訳注: グループ \"hg-denied\" も禁止されている筈)\n" |
|
461 " # \"resources\" 配下の任意のファイルへのアクセスを許可。\n" |
|
462 " # 但し acl.deny で全ユーザにアクセス禁止されている\n" |
|
463 " # src/main/resources/DONT-TOUCH-THIS.txt を除く:\n" |
|
464 " src/main/resources/** = *" |
370 |
465 |
371 msgid " .hgtags = release_engineer" |
466 msgid " .hgtags = release_engineer" |
372 msgstr "" |
467 msgstr " .hgtags = release_engineer" |
373 |
468 |
374 #, python-format |
469 #, python-format |
375 msgid "group '%s' is undefined" |
470 msgid "group '%s' is undefined" |
376 msgstr "" |
471 msgstr "グループ '%s' は未定義です" |
377 |
472 |
378 #, python-format |
473 #, python-format |
379 msgid "" |
474 msgid "" |
380 "config error - hook type \"%s\" cannot stop incoming changesets nor commits" |
475 "config error - hook type \"%s\" cannot stop incoming changesets nor commits" |
381 msgstr "設定エラー - フック種別 \"%s\" は履歴の取り込みを抑止できません" |
476 msgstr "設定エラー - フック種別 \"%s\" は履歴の取り込みを抑止できません" |
5931 |
6026 |
5932 msgid "operate on patch repository" |
6027 msgid "operate on patch repository" |
5933 msgstr "パッチ管理リポジトリへの操作" |
6028 msgstr "パッチ管理リポジトリへの操作" |
5934 |
6029 |
5935 msgid "hooks for sending email push notifications" |
6030 msgid "hooks for sending email push notifications" |
5936 msgstr "push 通知電子メール送信用のフック集" |
6031 msgstr "電子メールによる push 通知送信用フック集" |
5937 |
6032 |
5938 msgid "" |
6033 msgid "" |
5939 "This extension let you run hooks sending email notifications when\n" |
6034 "This extension let you run hooks sending email notifications when\n" |
5940 "changesets are being pushed, from the sending or receiving side." |
6035 "changesets are being pushed, from the sending or receiving side." |
5941 msgstr "" |
6036 msgstr "" |
|
6037 "本エクステンションは、 変更履歴が反映された際に、 反映元ないし反映先の、\n" |
|
6038 "いずれかが契機となって、 電子メールによる通知を行う機能を提供します。" |
5942 |
6039 |
5943 msgid "" |
6040 msgid "" |
5944 "First, enable the extension as explained in :hg:`help extensions`, and\n" |
6041 "First, enable the extension as explained in :hg:`help extensions`, and\n" |
5945 "register the hook you want to run. ``incoming`` and ``outgoing`` hooks\n" |
6042 "register the hook you want to run. ``incoming`` and ``outgoing`` hooks\n" |
5946 "are run by the changesets receiver while the ``outgoing`` one is for\n" |
6043 "are run by the changesets receiver while the ``outgoing`` one is for\n" |
5947 "the sender::" |
6044 "the sender::" |
5948 msgstr "" |
6045 msgstr "" |
|
6046 ":hg:`help extensions` にならって、 本エクステンションを有効にした上で、\n" |
|
6047 "実行したいフックを登録してください。 `incoming`` および ``outgoing``\n" |
|
6048 "(※ 訳注: ``changegroup`` の間違い?) フックは反映「先」で、\n" |
|
6049 "``outgoing`` は反映「元」で実行されます::" |
5949 |
6050 |
5950 msgid "" |
6051 msgid "" |
5951 " [hooks]\n" |
6052 " [hooks]\n" |
5952 " # one email for each incoming changeset\n" |
6053 " # one email for each incoming changeset\n" |
5953 " incoming.notify = python:hgext.notify.hook\n" |
6054 " incoming.notify = python:hgext.notify.hook\n" |
5954 " # one email for all incoming changesets\n" |
6055 " # one email for all incoming changesets\n" |
5955 " changegroup.notify = python:hgext.notify.hook" |
6056 " changegroup.notify = python:hgext.notify.hook" |
5956 msgstr "" |
6057 msgstr "" |
|
6058 " [hooks]\n" |
|
6059 " # 取り込み処理時にリビジョン毎にメールを送信\n" |
|
6060 " incoming.notify = python:hgext.notify.hook\n" |
|
6061 " # 取り込み処理毎にメールを送信\n" |
|
6062 " changegroup.notify = python:hgext.notify.hook" |
5957 |
6063 |
5958 msgid "" |
6064 msgid "" |
5959 " # one email for all outgoing changesets\n" |
6065 " # one email for all outgoing changesets\n" |
5960 " outgoing.notify = python:hgext.notify.hook" |
6066 " outgoing.notify = python:hgext.notify.hook" |
5961 msgstr "" |
6067 msgstr "" |
|
6068 " # 反映処理毎にメールを送信\n" |
|
6069 " outgoing.notify = python:hgext.notify.hook" |
5962 |
6070 |
5963 msgid "" |
6071 msgid "" |
5964 "Now the hooks are running, subscribers must be assigned to\n" |
6072 "Now the hooks are running, subscribers must be assigned to\n" |
5965 "repositories. Use the ``[usersubs]`` section to map repositories to a\n" |
6073 "repositories. Use the ``[usersubs]`` section to map repositories to a\n" |
5966 "given email or the ``[reposubs]`` section to map emails to a single\n" |
6074 "given email or the ``[reposubs]`` section to map emails to a single\n" |
5967 "repository::" |
6075 "repository::" |
5968 msgstr "" |
6076 msgstr "" |
|
6077 "フック実行には、 リポジトリに対するメール送信先 (subscriber:購読者)\n" |
|
6078 "の設定が必要です。 メール送信先毎のリポジトリ設定には ``[usersubs]``、\n" |
|
6079 "リポジトリ毎のメール送信先設定には ``[reposubs]`` を使用します::" |
5969 |
6080 |
5970 msgid "" |
6081 msgid "" |
5971 " [usersubs]\n" |
6082 " [usersubs]\n" |
5972 " # key is subscriber email, value is a comma-separated list of glob\n" |
6083 " # key is subscriber email, value is a comma-separated list of glob\n" |
5973 " # patterns\n" |
6084 " # patterns\n" |
5974 " user@host = pattern" |
6085 " user@host = pattern" |
5975 msgstr "" |
6086 msgstr "" |
|
6087 " [usersubs]\n" |
|
6088 " # 左辺には送信先メールアドレス、右辺にはカンマ区切りの合致(glob)\n" |
|
6089 " # パターンを記述してください\n" |
|
6090 " user@host = pattern" |
5976 |
6091 |
5977 msgid "" |
6092 msgid "" |
5978 " [reposubs]\n" |
6093 " [reposubs]\n" |
5979 " # key is glob pattern, value is a comma-separated list of subscriber\n" |
6094 " # key is glob pattern, value is a comma-separated list of subscriber\n" |
5980 " # emails\n" |
6095 " # emails\n" |
5981 " pattern = user@host" |
6096 " pattern = user@host" |
5982 msgstr "" |
6097 msgstr "" |
|
6098 " # 左辺には合致パターン、右辺にはカンマ区切りの送信先メールアドレスを\n" |
|
6099 " # 記述してください\n" |
|
6100 " pattern = user@host" |
5983 |
6101 |
5984 msgid "" |
6102 msgid "" |
5985 "Glob patterns are matched against absolute path to repository\n" |
6103 "Glob patterns are matched against absolute path to repository\n" |
5986 "root. The subscriptions can be defined in their own file and\n" |
6104 "root. The subscriptions can be defined in their own file and\n" |
5987 "referenced with::" |
6105 "referenced with::" |
5988 msgstr "" |
6106 msgstr "" |
|
6107 "合致パターンの適用対象は、 リポジトリルートの絶対パスです。\n" |
|
6108 "メール送信設定は、 別途設定ファイルにおいて、 記述することもできます::" |
5989 |
6109 |
5990 msgid "" |
6110 msgid "" |
5991 " [notify]\n" |
6111 " [notify]\n" |
5992 " config = /path/to/subscriptionsfile" |
6112 " config = /path/to/subscriptionsfile" |
5993 msgstr "" |
6113 msgstr "" |
|
6114 " [notify]\n" |
|
6115 " config = /path/to/subscriptionsfile" |
5994 |
6116 |
5995 msgid "" |
6117 msgid "" |
5996 "Alternatively, they can be added to Mercurial configuration files by\n" |
6118 "Alternatively, they can be added to Mercurial configuration files by\n" |
5997 "setting the previous entry to an empty value." |
6119 "setting the previous entry to an empty value." |
5998 msgstr "" |
6120 msgstr "" |
|
6121 "Mercurial の設定ファイルには、 これらの値に空値を設定する記述を、\n" |
|
6122 "「とりあえず」書いておいても構いません。" |
5999 |
6123 |
6000 msgid "" |
6124 msgid "" |
6001 "At this point, notifications should be generated but will not be sent until " |
6125 "At this point, notifications should be generated but will not be sent until " |
6002 "you\n" |
6126 "you\n" |
6003 "set the ``notify.test`` entry to ``False``." |
6127 "set the ``notify.test`` entry to ``False``." |
6004 msgstr "" |
6128 msgstr "" |
|
6129 "ここまでの段階では、 通知内容は生成されますが、 ``notify.test`` 設定を\n" |
|
6130 "``False`` にしない限り、 通知メールは送信されないからです。" |
6005 |
6131 |
6006 msgid "" |
6132 msgid "" |
6007 "Notifications content can be tweaked with the following configuration " |
6133 "Notifications content can be tweaked with the following configuration " |
6008 "entries:" |
6134 "entries:" |
6009 msgstr "" |
6135 msgstr "通知内容は、 以下の設定により変更可能です:" |
6010 |
6136 |
6011 msgid "" |
6137 msgid "" |
6012 "notify.test\n" |
6138 "notify.test\n" |
6013 " If ``True``, print messages to stdout instead of sending them. Default: " |
6139 " If ``True``, print messages to stdout instead of sending them. Default: " |
6014 "True." |
6140 "True." |
6015 msgstr "" |
6141 msgstr "" |
|
6142 "notify.test\n" |
|
6143 " 真値の場合、 生成された通知内容は、 標準出力に書き出されます\n" |
|
6144 " (メール送信無し)。 デフォルト値は True" |
6016 |
6145 |
6017 msgid "" |
6146 msgid "" |
6018 "notify.sources\n" |
6147 "notify.sources\n" |
6019 " Space separated list of change sources. Notifications are sent only\n" |
6148 " Space separated list of change sources. Notifications are sent only\n" |
6020 " if it includes the incoming or outgoing changes source. Incoming\n" |
6149 " if it includes the incoming or outgoing changes source. Incoming\n" |
6033 "you\n" |
6170 "you\n" |
6034 " turn them into relative paths. For example, ``notify.strip=3`` will " |
6171 " turn them into relative paths. For example, ``notify.strip=3`` will " |
6035 "change\n" |
6172 "change\n" |
6036 " ``/long/path/repository`` into ``repository``. Default: 0." |
6173 " ``/long/path/repository`` into ``repository``. Default: 0." |
6037 msgstr "" |
6174 msgstr "" |
|
6175 "notify.strip\n" |
|
6176 " URL パス冒頭から取り除く、 スラッシュ数。 無指定時は、\n" |
|
6177 " リポジトリの絶対パスが使用されます。 ``notify.strip`` によって、\n" |
|
6178 " リポジトリのパスを、 相対パス化することができます。 例えば、\n" |
|
6179 " ``notify.strip=3`` は ``/long/path/repository`` を ``repository``\n" |
|
6180 " に改変します。 デフォルト値は 0。" |
6038 |
6181 |
6039 msgid "" |
6182 msgid "" |
6040 "notify.domain\n" |
6183 "notify.domain\n" |
6041 " If subscribers emails or the from email have no domain set, complete them\n" |
6184 " If subscribers emails or the from email have no domain set, complete them\n" |
6042 " with this value." |
6185 " with this value." |
6043 msgstr "" |
6186 msgstr "" |
|
6187 "notify.domain\n" |
|
6188 " 電子メールの送信先、 ないし送信元が、 ドメイン部分を持たない場合に、\n" |
|
6189 " この設定値が使用されます。" |
6044 |
6190 |
6045 msgid "" |
6191 msgid "" |
6046 "notify.style\n" |
6192 "notify.style\n" |
6047 " Style file to use when formatting emails." |
6193 " Style file to use when formatting emails." |
6048 msgstr "" |
6194 msgstr "" |
|
6195 "notify.style\n" |
|
6196 " メール本文の整形に用いる、 スタイルファイル名。" |
6049 |
6197 |
6050 msgid "" |
6198 msgid "" |
6051 "notify.template\n" |
6199 "notify.template\n" |
6052 " Template to use when formatting emails." |
6200 " Template to use when formatting emails." |
6053 msgstr "" |
6201 msgstr "" |
|
6202 "notify.template\n" |
|
6203 " メール本文の整形に用いる、 テンプレート指定。" |
6054 |
6204 |
6055 msgid "" |
6205 msgid "" |
6056 "notify.incoming\n" |
6206 "notify.incoming\n" |
6057 " Template to use when run as incoming hook, override ``notify.template``." |
6207 " Template to use when run as incoming hook, override ``notify.template``." |
6058 msgstr "" |
6208 msgstr "" |
|
6209 "notify.incoming\n" |
|
6210 " incoming フックで使用するテンプレート指定。 設定された場合は、\n" |
|
6211 " ``notify.template`` に優先します。" |
6059 |
6212 |
6060 msgid "" |
6213 msgid "" |
6061 "notify.outgoing\n" |
6214 "notify.outgoing\n" |
6062 " Template to use when run as outgoing hook, override ``notify.template``." |
6215 " Template to use when run as outgoing hook, override ``notify.template``." |
6063 msgstr "" |
6216 msgstr "" |
|
6217 "notify.outgoing\n" |
|
6218 " outgoing フックで使用するテンプレート設定。 設定された場合は、\n" |
|
6219 " ``notify.template`` に優先します。" |
6064 |
6220 |
6065 msgid "" |
6221 msgid "" |
6066 "notify.changegroup\n" |
6222 "notify.changegroup\n" |
6067 " Template to use when running as changegroup hook, override\n" |
6223 " Template to use when running as changegroup hook, override\n" |
6068 " ``notify.template``." |
6224 " ``notify.template``." |
6069 msgstr "" |
6225 msgstr "" |
|
6226 "notify.changegroup\n" |
|
6227 " changegroup フックで使用するテンプレート設定、 設定された場合は、\n" |
|
6228 " ``notify.template`` に優先します。" |
6070 |
6229 |
6071 msgid "" |
6230 msgid "" |
6072 "notify.maxdiff\n" |
6231 "notify.maxdiff\n" |
6073 " Maximum number of diff lines to include in notification email. Set to 0\n" |
6232 " Maximum number of diff lines to include in notification email. Set to 0\n" |
6074 " to disable the diff, -1 to include all of it. Default: 300." |
6233 " to disable the diff, -1 to include all of it. Default: 300." |
6075 msgstr "" |
6234 msgstr "" |
|
6235 "notify.maxdiff\n" |
|
6236 " メール本文に含める、 差分情報の最大行数。 0 の場合は、 差分が含まれず、\n" |
|
6237 " -1 の場合は、 全差分行が含まれます。 デフォルト値は 300。" |
6076 |
6238 |
6077 msgid "" |
6239 msgid "" |
6078 "notify.maxsubject\n" |
6240 "notify.maxsubject\n" |
6079 " Maximum number of characters in emails subject line. Default: 67." |
6241 " Maximum number of characters in emails subject line. Default: 67." |
6080 msgstr "" |
6242 msgstr "" |
|
6243 "notify.maxsubject\n" |
|
6244 " メール表題 (subject) の最大文字数。 デフォルト値は 67。" |
6081 |
6245 |
6082 msgid "" |
6246 msgid "" |
6083 "notify.diffstat\n" |
6247 "notify.diffstat\n" |
6084 " Set to True to include a diffstat before diff content. Default: True." |
6248 " Set to True to include a diffstat before diff content. Default: True." |
6085 msgstr "" |
6249 msgstr "" |
|
6250 "notify.diffstat\n" |
|
6251 " 差分統計 (diffstat) 通知の有無。 デフォルト値は True。" |
6086 |
6252 |
6087 msgid "" |
6253 msgid "" |
6088 "notify.merge\n" |
6254 "notify.merge\n" |
6089 " If True, send notifications for merge changesets. Default: True." |
6255 " If True, send notifications for merge changesets. Default: True." |
6090 msgstr "" |
6256 msgstr "" |
|
6257 "notify.merge\n" |
|
6258 " マージ実施リビジョンに関する、 通知の有無。 デフォルト値は True。" |
6091 |
6259 |
6092 msgid "" |
6260 msgid "" |
6093 "notify.mbox\n" |
6261 "notify.mbox\n" |
6094 " If set, append mails to this mbox file instead of sending. Default: None." |
6262 " If set, append mails to this mbox file instead of sending. Default: None." |
6095 msgstr "" |
6263 msgstr "" |
|
6264 "notify.mbox\n" |
|
6265 " 値が設定された場合、 mbox ファイル指定とみなし、 メール送信の代わりに、\n" |
|
6266 " 送信内容を mbox ファイルに追記します。 デフォルト値は無設定。" |
6096 |
6267 |
6097 msgid "" |
6268 msgid "" |
6098 "notify.fromauthor\n" |
6269 "notify.fromauthor\n" |
6099 " If set, use the first committer of the changegroup for the \"From\" field " |
6270 " If set, use the first committer of the changegroup for the \"From\" field " |
6100 "of\n" |
6271 "of\n" |
6101 " the notification mail. If not set, take the user from the pushing repo.\n" |
6272 " the notification mail. If not set, take the user from the pushing repo.\n" |
6102 " Default: False." |
6273 " Default: False." |
6103 msgstr "" |
6274 msgstr "" |
|
6275 "notify.fromauthor\n" |
|
6276 " 真値の場合、 通知対象 (の最初の) リビジョンのユーザ名を、 通知メールの\n" |
|
6277 " \"From\" フィールドに使用します。 それ以外は、 変更反映元からの、\n" |
|
6278 " ユーザ名情報を利用します。 デフォルト値は False。" |
6104 |
6279 |
6105 msgid "" |
6280 msgid "" |
6106 "If set, the following entries will also be used to customize the " |
6281 "If set, the following entries will also be used to customize the " |
6107 "notifications:" |
6282 "notifications:" |
6108 msgstr "" |
6283 msgstr "通知のカスタマイズには、 以下の設定も利用可能です:" |
6109 |
6284 |
6110 msgid "" |
6285 msgid "" |
6111 "email.from\n" |
6286 "email.from\n" |
6112 " Email ``From`` address to use if none can be found in generated email " |
6287 " Email ``From`` address to use if none can be found in generated email " |
6113 "content." |
6288 "content." |
6114 msgstr "" |
6289 msgstr "" |
|
6290 "email.from\n" |
|
6291 " 生成された通知メール本文に、 相当する情報が無い場合は、 この値が\n" |
|
6292 " ``From`` フィールドに使用されます。" |
6115 |
6293 |
6116 msgid "" |
6294 msgid "" |
6117 "web.baseurl\n" |
6295 "web.baseurl\n" |
6118 " Root repository browsing URL to combine with repository paths when making\n" |
6296 " Root repository browsing URL to combine with repository paths when making\n" |
6119 " references. See also ``notify.strip``." |
6297 " references. See also ``notify.strip``." |
6120 msgstr "" |
6298 msgstr "" |
|
6299 "web.baseurl\n" |
|
6300 " リポジトリのパスと組み合わせて、 参照用 URL を生成する URL ベース。\n" |
|
6301 " ``notify.strip`` も参照してください。" |
6121 |
6302 |
6122 #, python-format |
6303 #, python-format |
6123 msgid "%s: %d new changesets" |
6304 msgid "%s: %d new changesets" |
6124 msgstr "%s: %d 件の新しいリビジョン" |
6305 msgstr "%s: %d 件の新しいリビジョン" |
6125 |
6306 |