mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-14 08:11:03 +00:00
486a2eeca3
The addons sit in a card per type now, the way every other admin tab sets its cards, instead of three columns nested in one card. A head card shows how many of each type are on and finds an addon by its name or description, with a switch between all, the ones on and the ones off.
954 lines
78 KiB
TypeScript
954 lines
78 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const admin: TranslationStrings = {
|
||
'admin.notifications.title': '通知',
|
||
'admin.notifications.hint': '通知チャネルを1つ選択してください。同時に有効にできるのは1つだけです。',
|
||
'admin.notifications.none': '無効',
|
||
'admin.notifications.email': 'メール(SMTP)',
|
||
'admin.notifications.webhook': 'Webhook',
|
||
'admin.notifications.ntfy': 'Ntfy',
|
||
'admin.ntfy.hint': 'ユーザーが独自のntfyトピックを設定できるようにします。下で既定サーバーを設定してください。',
|
||
'admin.notifications.save': '通知設定を保存',
|
||
'admin.notifications.saved': '通知設定を保存しました',
|
||
'admin.notifications.testWebhook': 'Webhookテスト送信',
|
||
'admin.notifications.testWebhookSuccess': 'テストWebhookを送信しました',
|
||
'admin.notifications.testWebhookFailed': 'テストWebhookに失敗しました',
|
||
'admin.notifications.testNtfy': 'ntfyテスト送信',
|
||
'admin.notifications.testNtfySuccess': 'テストntfyを送信しました',
|
||
'admin.notifications.testNtfyFailed': 'テストntfyに失敗しました',
|
||
'admin.notifications.emailPanel.title': 'メール(SMTP)',
|
||
'admin.notifications.webhookPanel.title': 'Webhook',
|
||
'admin.notifications.webPushPanel.title': 'Webプッシュ',
|
||
'admin.notifications.webPushPanel.hint':
|
||
'TREKを閉じている間も、ユーザーがブラウザ経由でスマートフォンやパソコンに通知を受け取れるようにします。HTTPSが必要です。iPhoneとiPadでは、TREKをホーム画面に追加する必要があります。',
|
||
'admin.notifications.inappPanel.title': 'アプリ内',
|
||
'admin.notifications.inappPanel.hint': 'アプリ内通知は常に有効で、全体では無効にできません。',
|
||
'admin.notifications.adminWebhookPanel.title': '管理者Webhook',
|
||
'admin.notifications.adminWebhookPanel.hint': '管理者通知専用のWebhookです(例:バージョン通知)。常に送信されます。',
|
||
'admin.notifications.adminWebhookPanel.saved': '管理者Webhook URLを保存しました',
|
||
'admin.notifications.adminWebhookPanel.testSuccess': 'テストWebhookを送信しました',
|
||
'admin.notifications.adminWebhookPanel.testFailed': 'テストWebhookに失敗しました',
|
||
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'URLが設定されていると常に送信されます',
|
||
'admin.notifications.adminNtfyPanel.title': '管理者Ntfy',
|
||
'admin.notifications.adminNtfyPanel.hint': '管理者通知専用のntfyトピックです。',
|
||
'admin.notifications.adminNtfyPanel.serverLabel': 'Ntfy サーバーURL',
|
||
'admin.notifications.adminNtfyPanel.serverHint': 'ユーザー通知の既定サーバーとしても使用されます。',
|
||
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
||
'admin.notifications.adminNtfyPanel.topicLabel': '管理者トピック',
|
||
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
|
||
'admin.notifications.adminNtfyPanel.tokenLabel': 'アクセストークン(任意)',
|
||
'admin.notifications.adminNtfyPanel.tokenCleared': '管理者アクセストークンを削除しました',
|
||
'admin.notifications.adminNtfyPanel.saved': '管理者ntfy設定を保存しました',
|
||
'admin.notifications.adminNtfyPanel.test': 'ntfyテスト送信',
|
||
'admin.notifications.adminNtfyPanel.testSuccess': 'テストntfyを送信しました',
|
||
'admin.notifications.adminNtfyPanel.testFailed': 'テストntfyに失敗しました',
|
||
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'トピック設定時は常に送信されます',
|
||
'admin.notifications.adminNotificationsHint': '管理者専用通知の配信先を設定します。',
|
||
'admin.notificationDefaults.title': 'ユーザーの既定値',
|
||
'admin.notificationDefaults.hint':
|
||
'各ユーザーの通知の初期状態です。「オフ」はユーザー自身でオンにでき、「ブロック」は全員に対してオフになり、設定画面でロック表示されます。そのセルを自分で変更していない全員に適用されます。',
|
||
'admin.notificationDefaults.on': 'オン',
|
||
'admin.notificationDefaults.off': 'オフ',
|
||
'admin.notificationDefaults.blocked': 'ブロック',
|
||
'admin.notificationDefaults.cycle': 'クリックで切替: {next}',
|
||
'admin.notifications.tripReminders.title': '旅行リマインダー',
|
||
'admin.notifications.tripReminders.hint': '旅行開始前に通知を送信します(旅行側の設定が必要)。',
|
||
'admin.notifications.tripReminders.enabled': '旅行リマインダー有効',
|
||
'admin.notifications.tripReminders.disabled': '旅行リマインダー無効',
|
||
'admin.smtp.title': 'メール・通知',
|
||
'admin.smtp.hint': 'メール通知送信用のSMTP設定。',
|
||
'admin.smtp.testButton': 'テストメール送信',
|
||
'admin.webhook.hint': 'ユーザーが独自のWebhook URLを設定できるようにします。',
|
||
'admin.smtp.testSuccess': 'テストメールを送信しました',
|
||
'admin.smtp.testFailed': 'テストメールに失敗しました',
|
||
'admin.title': '管理',
|
||
'admin.subtitle': 'ユーザー管理とシステム設定',
|
||
'admin.tabs.users': 'ユーザー',
|
||
'admin.tabs.categories': 'カテゴリ',
|
||
'admin.tabs.backup': 'バックアップ',
|
||
'admin.tabs.notifications': '通知',
|
||
'admin.tabs.audit': '監査',
|
||
'admin.stats.users': 'ユーザー',
|
||
'admin.stats.trips': '旅行',
|
||
'admin.stats.places': '場所',
|
||
'admin.stats.photos': '写真',
|
||
'admin.stats.files': 'ファイル',
|
||
'admin.table.user': 'ユーザー',
|
||
'admin.table.email': 'メール',
|
||
'admin.table.role': '権限',
|
||
'admin.table.created': '作成日',
|
||
'admin.table.lastActive': '最終アクティブ',
|
||
'admin.table.actions': '操作',
|
||
'admin.you': '(あなた)',
|
||
'admin.editUser': 'ユーザーを編集',
|
||
'admin.newPassword': '新しいパスワード',
|
||
'admin.newPasswordHint': '空欄の場合は現在のパスワードを維持',
|
||
'admin.deleteUser':
|
||
'ユーザー「{name}」を削除しますか?アカウントと、本人が所有するすべての旅行とジャーナルが完全に削除されます。他のメンバーと共有している旅行も含まれ、そのメンバーはアクセスできなくなります。他の人が所有する旅行は残ります。',
|
||
'admin.deleteUserTitle': 'ユーザー削除',
|
||
'admin.newPasswordPlaceholder': '新しいパスワードを入力…',
|
||
'admin.toast.loadError': '管理データの読み込みに失敗しました',
|
||
'admin.toast.userUpdated': 'ユーザーを更新しました',
|
||
'admin.toast.updateError': '更新に失敗しました',
|
||
'admin.toast.userDeleted': 'ユーザーを削除しました',
|
||
'admin.toast.deleteError': '削除に失敗しました',
|
||
'admin.toast.cannotDeleteSelf': '自分のアカウントは削除できません',
|
||
'admin.toast.userCreated': 'ユーザーを作成しました',
|
||
'admin.toast.createError': 'ユーザー作成に失敗しました',
|
||
'admin.toast.fieldsRequired': 'ユーザー名、メール、パスワードは必須です',
|
||
'admin.createUser': 'ユーザーを作成',
|
||
'admin.invite.title': '招待リンク',
|
||
'admin.invite.subtitle': '使い切り登録リンクを作成',
|
||
'admin.invite.create': 'リンク作成',
|
||
'admin.invite.createAndCopy': '作成してコピー',
|
||
'admin.invite.empty': '招待リンクがまだありません',
|
||
'admin.invite.maxUses': '最大使用回数',
|
||
'admin.invite.expiry': '有効期限',
|
||
'admin.invite.uses': '使用済み',
|
||
'admin.invite.expiresAt': '期限',
|
||
'admin.invite.createdBy': '作成者',
|
||
'admin.invite.active': '有効',
|
||
'admin.invite.expired': '期限切れ',
|
||
'admin.invite.usedUp': '使用済み',
|
||
'admin.invite.copied': '招待リンクをコピーしました',
|
||
'admin.invite.copyLink': 'リンクをコピー',
|
||
'admin.invite.deleted': '招待リンクを削除しました',
|
||
'admin.invite.createError': '招待リンクの作成に失敗しました',
|
||
'admin.invite.deleteError': '招待リンクの削除に失敗しました',
|
||
'admin.tabs.settings': '設定',
|
||
'admin.allowRegistration': '登録を許可',
|
||
'admin.allowRegistrationHint': '新規ユーザーの自己登録を許可します',
|
||
'admin.authMethods': '認証方法',
|
||
'admin.passwordLogin': 'パスワードログイン',
|
||
'admin.passwordLoginHint': 'メールとパスワードでのログインを許可',
|
||
'admin.passwordRegistration': 'パスワード登録',
|
||
'admin.passwordRegistrationHint': 'メールとパスワードでの新規登録を許可',
|
||
'admin.oidcLogin': 'SSOログイン',
|
||
'admin.oidcLoginHint': 'SSOでのログインを許可',
|
||
'admin.oidcRegistration': 'SSO自動登録',
|
||
'admin.oidcRegistrationHint': '新しいSSOユーザーを自動作成',
|
||
'admin.envOverrideHint': 'パスワードログイン設定は OIDC_ONLY 環境変数で制御されています。',
|
||
'admin.lockoutWarning': '少なくとも1つのログイン方法を有効にしてください',
|
||
'admin.requireMfa': '二要素認証(2FA)を必須にする',
|
||
'admin.requireMfaHint': '2FA未設定のユーザーは、利用前に設定が必要です。',
|
||
'admin.apiKeys': 'APIキー',
|
||
'admin.apiKeysHint': '場所データの出どころ。TREK のインデックスにキーは不要で、下の二つの提供元は任意です。',
|
||
'admin.trekApi.badgeDefault': '推奨の既定ソース',
|
||
'admin.googleCaveat.badge': '推奨しません',
|
||
'admin.googleCaveat.body':
|
||
'TREK はオープンソースで、この点で中立ではありません。この規模でレビューとふつうの店舗の写真があるのは Google だけで、それが独占です。この欄は代わりがないから置いてあるのであって、勧めているからではありません。使えば問い合わせはすべて Google に届きます。',
|
||
'admin.trekApi.tagline':
|
||
'TREK 自前の場所インデックス。Google のキーなし、上限なし、そして誰にも検索を数えられずに探せます。',
|
||
'admin.trekApi.factPlaces': '世界で 7,360 万件の場所',
|
||
'admin.trekApi.factNoKey': 'キーも上限も不要',
|
||
'admin.trekApi.factOffline': '国別パッケージはオフラインでも使えます',
|
||
'admin.trekApi.factPrivacy': '検索内容は一切記録しません',
|
||
'admin.trekApi.more': '何が入っているか',
|
||
'admin.trekApi.fieldPhone': '電話',
|
||
'admin.trekApi.fieldStableId': '不変の識別子',
|
||
'admin.trekApi.includedNote':
|
||
'説明はその場所自身のサイトから、営業時間は記入されている範囲で OpenStreetMap から取得します。',
|
||
'admin.trekApi.notRatings': 'レビュー',
|
||
'admin.trekApi.notPhotos': 'ふつうの店舗の写真',
|
||
'admin.trekApi.notIncludedNote':
|
||
'どちらもどんな価格でも公開データセットには存在しません。この二つには Google のキーが唯一の道として残ります。',
|
||
'admin.trekApi.sourcesLabel': '出典',
|
||
'admin.trekApi.sourcesNote': '応答のどの項目も、このうちどれに由来するかを示します。',
|
||
'admin.trekApi.included': '含まれるもの',
|
||
'admin.trekApi.notIncluded': '含まれないもの',
|
||
'admin.mapsKey': 'Google Maps APIキー',
|
||
'admin.mapsKeyHint': '場所検索に必要。console.cloud.google.com で取得',
|
||
'admin.mapsKeyHintLong':
|
||
'Google の API キーがなくても、推奨の TREK API が使われます。キーがあれば、写真・評価・営業時間を追加で読み込めます。キーは console.cloud.google.com で作成できます。',
|
||
'admin.recommended': '推奨',
|
||
'admin.weatherKey': 'OpenWeatherMap APIキー',
|
||
'admin.weatherKeyHint': '天気データ用。openweathermap.org で無料',
|
||
'admin.unsplashKey': 'Unsplash APIキー',
|
||
'admin.unsplashKeyHint': '画像検索用。unsplash.com/developers で無料',
|
||
'admin.amapKey': 'Amap(高德地图)API キー',
|
||
'admin.amapKeyHint':
|
||
'Google に接続できず OpenStreetMap のデータも少ない中国本土での地点検索用です。JS API キーではなく「Web 服务」(Web サービス)タイプのキーが必要です。console.amap.com で取得できます。',
|
||
'admin.keyFromEnv': '{name} で設定済み',
|
||
'admin.placesProvider.title': '地点検索のプロバイダー',
|
||
'admin.placesProvider.subtitle':
|
||
'TREK 自身の索引と OpenStreetMap がすべての検索に答えます。ここでは、それらが何も見つけられなかったときに誰に尋ねるかを選びます。自動はキーがあれば Google を、次に Amap を選びます。',
|
||
'admin.placesProvider.auto': '自動',
|
||
'admin.placesProvider.google': 'Google Places',
|
||
'admin.placesProvider.amap': 'Amap(高德地图)',
|
||
'admin.placesProvider.openstreetmap': 'OpenStreetMap',
|
||
'admin.placesProvider.missingKey':
|
||
'選択したプロバイダに API キーが設定されていないため、地点検索には TREK の索引と OpenStreetMap だけが答えます。',
|
||
'admin.placesProvider.saved': '地点検索のプロバイダーを保存しました',
|
||
'admin.validateKey': 'テスト',
|
||
'admin.keyValid': '接続済み',
|
||
'admin.keyInvalid': '無効',
|
||
'admin.keySaved': 'APIキーを保存しました',
|
||
'admin.oidcTitle': 'シングルサインオン(OIDC)',
|
||
'admin.oidcSubtitle': 'Google、Apple、Authentik、Keycloak などでログインを許可します。',
|
||
'admin.oidcDisplayName': '表示名',
|
||
'admin.oidcIssuer': '発行者 URL',
|
||
'admin.oidcIssuerHint': 'OpenID ConnectのIssuer URL(例:https://accounts.google.com)',
|
||
'admin.oidcSaved': 'OIDC設定を保存しました',
|
||
'admin.oidcOnlyMode': 'パスワード認証を無効化',
|
||
'admin.oidcOnlyModeHint': '有効にするとSSOのみ使用可能になり、パスワードログインと登録は無効になります。',
|
||
'admin.fileTypes': '許可するファイル形式',
|
||
'admin.fileTypesHint': 'ユーザーがアップロードできるファイル形式を設定します。',
|
||
'admin.fileTypesFormat': '拡張子をカンマ区切り(例:jpg,png,pdf,doc)。すべて許可する場合は *。',
|
||
'admin.fileTypesSaved': 'ファイル形式の設定を保存しました',
|
||
'admin.googleOptions': 'キーの使いみち',
|
||
'admin.googleOptionsSummary': '{total} 件中 {on} 件が有効',
|
||
'admin.placesPhotos.title': '場所の写真',
|
||
'admin.placesPhotos.subtitle':
|
||
'Google Places APIから写真を取得します。APIクォータ節約のため無効にできます。Wikimediaの写真には影響しません。',
|
||
'admin.placesAutocomplete.title': '場所のオートコンプリート',
|
||
'admin.placesAutocomplete.subtitle': '検索候補にGoogle Places APIを使用します。APIクォータ節約のため無効にできます。',
|
||
'admin.placesDetails.title': '場所の詳細',
|
||
'admin.placesDetails.subtitle':
|
||
'Google Places APIから営業時間、評価、ウェブサイトなどの詳細情報を取得します。APIクォータ節約のため無効にできます。',
|
||
'admin.placesEnrich.title': '場所の情報補完',
|
||
'admin.placesEnrich.subtitle':
|
||
'場所を追加するときに写真と説明を表示します。WikipediaとOpenStreetMapは常に使用され、「場所の写真」または「場所の詳細」が有効な場合はGoogleも追加されます。',
|
||
'admin.placesGoogleOnly.title': 'Google だけで検索',
|
||
'admin.placesGoogleOnly.subtitle':
|
||
'すべての検索と候補が Google Places に送られます。オフの場合は TREK のインデックスと OpenStreetMap が先に答え、何も見つからないときだけ Google に問い合わせます。',
|
||
'admin.placesGoogleOnly.missingKey':
|
||
'Google Maps API キーが必要です。キーがない場合、このスイッチに関係なく検索は TREK のインデックスと OpenStreetMap で行われます。',
|
||
'admin.placesGoogleOnly.otherProvider':
|
||
'場所プロバイダーとして Google が必要です。Amap または OpenStreetMap を選択している間は、このスイッチの状態にかかわらず検索は Google に送られません。',
|
||
'admin.googleQuota.title': 'Google 呼び出しの1日の上限',
|
||
'admin.googleQuota.subtitle':
|
||
'上限に達すると、翌日(UTC)まで TREK は Google を呼び出さず、OpenStreetMap で検索します。空欄なら上限なし。',
|
||
'admin.googleQuota.placeholder': '上限なし',
|
||
'admin.googleQuota.usedToday': '今日: {used}',
|
||
'admin.googleQuota.usedOfLimit': '今日: {used} / {limit}',
|
||
'admin.googleQuota.reached': '上限に到達({used})、Google は明日まで停止中',
|
||
'admin.googleQuota.saved': '1日の上限を保存しました',
|
||
'admin.transitProvider.title': '公共交通のプロバイダー',
|
||
'admin.transitProvider.subtitle': '公共交通の検索に応答するサービス。',
|
||
'admin.transitProvider.transitous': 'Transitous(無料)',
|
||
'admin.transitProvider.google': 'Google',
|
||
'admin.transitProvider.transitousHint':
|
||
'コミュニティの GTFS フィード。無料でキー不要、ヨーロッパのカバー率が最も高い。',
|
||
'admin.transitProvider.googleHint':
|
||
'上記の Google キーを使用し、Transitous にデータがない地域に対応します。検索ごとに課金されます。キーが未設定の間は Transitous を使用します。',
|
||
'admin.transitProvider.noKeyWarning':
|
||
'Google が選択されていますが、Google キーが設定されていません。公共交通の検索は引き続き Transitous を使用します。上の「API キー」でキーを追加してください。',
|
||
'admin.transitProvider.personalKeyWarning':
|
||
'あなた自身の Google キーのみが設定されているため、他のメンバーの検索は引き続き Transitous になります。インスタンス全体に適用するには、管理者として上でキーを保存してください。',
|
||
'admin.placeShadow.title': '場所検索の記録',
|
||
'admin.placeShadow.subtitle':
|
||
'どの検索結果が選ばれたかを記録し、後で別の場所インデックスを実際の検索で評価できるようにします。データがこのインスタンスの外に出ることはなく、管理者はいつでも書き出しや削除ができます。',
|
||
'admin.bagTracking.title': 'バッグ管理',
|
||
'admin.bagTracking.subtitle': '持ち物の重量とバッグ割り当てを有効化',
|
||
'admin.collab.chat.title': 'チャット',
|
||
'admin.collab.chat.subtitle': '旅行の共同作業用リアルタイムメッセージ',
|
||
'admin.collab.notes.title': 'ノート',
|
||
'admin.collab.notes.subtitle': '共有ノートとドキュメント',
|
||
'admin.collab.polls.title': '投票',
|
||
'admin.collab.polls.subtitle': 'グループ投票・アンケート',
|
||
'admin.collab.whatsnext.title': '次にすること',
|
||
'admin.collab.whatsnext.subtitle': 'アクティビティ提案と次のステップ',
|
||
'admin.tabs.config': 'カスタマイズ',
|
||
'admin.tabs.defaults': 'ユーザーのデフォルト',
|
||
'admin.defaultSettings.title': '既定のユーザー設定',
|
||
'admin.defaultSettings.description':
|
||
'インスタンス全体の既定値を設定します。設定を変更していないユーザーにはこれらの値が適用されます。各ユーザーの設定変更は常に優先されます。',
|
||
'admin.defaultSettings.saved': '既定値を保存しました',
|
||
'admin.defaultSettings.reset': '組み込みの既定値に戻す',
|
||
'admin.defaultSettings.resetToBuiltIn': 'リセット',
|
||
'admin.tabs.templates': '持ち物テンプレート',
|
||
'admin.packingTemplates.title': '持ち物テンプレート',
|
||
'admin.packingTemplates.subtitle': '旅行で使い回せる持ち物リストを作成',
|
||
'admin.packingTemplates.create': '新規テンプレート',
|
||
'admin.packingTemplates.namePlaceholder': 'テンプレート名(例:ビーチ旅行)',
|
||
'admin.packingTemplates.empty': 'テンプレートはまだありません',
|
||
'admin.packingTemplates.items': 'アイテム',
|
||
'admin.packingTemplates.categories': 'カテゴリ',
|
||
'admin.packingTemplates.itemName': 'アイテム名',
|
||
'admin.packingTemplates.itemCategory': 'カテゴリ',
|
||
'admin.packingTemplates.categoryName': 'カテゴリ名(例:衣類)',
|
||
'admin.packingTemplates.addCategory': 'カテゴリを追加',
|
||
'admin.packingTemplates.created': 'テンプレートを作成しました',
|
||
'admin.packingTemplates.deleted': 'テンプレートを削除しました',
|
||
'admin.packingTemplates.loadError': 'テンプレートの読み込みに失敗しました',
|
||
'admin.packingTemplates.createError': 'テンプレートの作成に失敗しました',
|
||
'admin.packingTemplates.deleteError': 'テンプレートの削除に失敗しました',
|
||
'admin.packingTemplates.deleteCategoryError': 'カテゴリを削除できませんでした',
|
||
'admin.packingTemplates.deleteItemError': 'アイテムを削除できませんでした',
|
||
'admin.packingTemplates.saveError': '保存に失敗しました',
|
||
'admin.tabs.addons': 'アドオン',
|
||
'admin.tabs.plugins': 'プラグイン',
|
||
'admin.tabs.storage': 'ストレージ',
|
||
'admin.plugins.rescan': '再スキャン',
|
||
'admin.plugins.rescanned': 'プラグインフォルダを再スキャンしました',
|
||
'admin.plugins.upload': 'プラグインをアップロード',
|
||
'admin.plugins.dropToUpload': 'プラグインの .zip をドロップしてインストール',
|
||
'admin.plugins.uploaded': 'プラグイン「{name}」をアップロードしました — 実行するには有効化してください',
|
||
'admin.plugins.sideloaded': '手動読み込み',
|
||
'admin.plugins.devLinkBadge': 'Dev-Link',
|
||
'admin.plugins.devLinkHint':
|
||
'ローカルのビルドディレクトリから読み込まれ、実データでホットリロードされます(開発専用)',
|
||
'admin.plugins.devLinkTitle': 'ローカルプラグインをリンク',
|
||
'admin.plugins.devLinkPathPlaceholder': '/absolute/path/to/your/plugin',
|
||
'admin.plugins.devLinkButton': 'リンク',
|
||
'admin.plugins.devLinkLinked': '{id} をリンクしました — 実行するには有効化してください',
|
||
'admin.plugins.sideloadedHint': '手動でアップロード — レジストリ経由ではなく、署名・審査なし',
|
||
'admin.plugins.browse': 'プラグインを探す',
|
||
'admin.plugins.installed': 'インストール済み',
|
||
'admin.plugins.install': 'インストール',
|
||
'admin.plugins.registryEmpty': 'レジストリに利用可能なプラグインはまだありません。',
|
||
'admin.plugins.actionError': '操作に失敗しました',
|
||
'admin.plugins.activate': '有効化',
|
||
'admin.plugins.activated': 'プラグインを有効化しました',
|
||
'admin.plugins.deactivate': '無効化',
|
||
'admin.plugins.deactivated': 'プラグインを無効化しました',
|
||
'admin.plugins.viewErrors': 'エラーログを表示',
|
||
'admin.plugins.errorLog': 'エラーログ',
|
||
'admin.plugins.allowedHosts': '許可するホスト',
|
||
'admin.plugins.allowedHosts.hint':
|
||
'このプラグインは、あなたしか指定できないサービス(セルフホストのサーバー)と通信します。到達を許可するホストを追加してください。それ以外には到達できません。',
|
||
'admin.plugins.allowedHosts.none': 'ホストはまだ追加されていません。',
|
||
'admin.plugins.allowedHosts.unsupported':
|
||
'このプラグインは運用者指定のホストを使いません。許可ホストはマニフェストで固定されています。',
|
||
'admin.plugins.allowedHosts.restartNote': '保存するとプラグインが再起動し、新しい一覧が反映されます。',
|
||
'admin.plugins.allowedHosts.add': '許可ホストを追加',
|
||
'admin.plugins.allowedHosts.count': '許可ホスト {n} 件',
|
||
'admin.plugins.operatorEgressPill': '+ 追加するホスト',
|
||
'admin.plugins.operatorEgressHint':
|
||
'このプラグインは、あなたしか指定できないサービス(セルフホストのサーバー)と通信します。インストール後、⋯ → 許可するホスト から追加してください。それ以外には到達できません。',
|
||
'admin.plugins.noErrors': '記録されたエラーはありません。',
|
||
'admin.plugins.uninstalled': 'プラグインをアンインストールしました',
|
||
'admin.plugins.uninstallTitle': 'プラグインをアンインストールしますか?',
|
||
'admin.plugins.uninstallBody':
|
||
'プラグインを停止してコードを削除し、そのすべてのデータを消去します。この操作は元に戻せません。',
|
||
'admin.plugins.status.starting': '起動中…',
|
||
'admin.plugins.type.widget': 'ウィジェット',
|
||
'admin.plugins.type.page': 'ページ',
|
||
'admin.plugins.type.integration': '連携',
|
||
'admin.plugins.type.trip-page': '旅程ページ',
|
||
'admin.plugins.reviewed': 'レビュー済み',
|
||
'admin.plugins.unreviewed': '未レビュー',
|
||
'admin.plugins.updated': 'プラグインを更新しました',
|
||
'admin.plugins.updateTo': '更新 → v{version}',
|
||
'admin.plugins.enabledToggle': 'プラグインを有効にする',
|
||
'plugins.notFound': 'プラグインが見つかりません',
|
||
'plugins.frameLoadFailed': 'このプラグインを読み込めませんでした。',
|
||
'admin.plugins.title': 'プラグイン',
|
||
'admin.plugins.subtitle': 'サードパーティ製プラグインをインスタンスにインストール・管理します。',
|
||
'admin.plugins.disabledTitle': 'プラグインは無効になっています',
|
||
'admin.plugins.disabledBody':
|
||
'プラグインランタイムがオフになっています(TREK_PLUGINS_ENABLED)。管理者がサーバー設定で有効にするまで、プラグインは実行できません。',
|
||
'admin.plugins.empty': 'インストール済みのプラグインはまだありません。',
|
||
'admin.plugins.loadError': 'プラグインを読み込めませんでした。',
|
||
'admin.plugins.scaffoldNote':
|
||
'プラグインのインストールと有効化は今後のアップデートで提供予定です。現在このパネルにはインストール済みのプラグインのみが表示されます。',
|
||
'admin.plugins.status.active': '有効',
|
||
'admin.plugins.status.inactive': '停止中',
|
||
'admin.plugins.status.disabled': '無効',
|
||
'admin.plugins.status.error': 'エラー',
|
||
'admin.plugins.status.incompatible': '非互換',
|
||
'admin.plugins.details': '詳細',
|
||
'admin.plugins.detailError': 'プラグインの詳細を読み込めませんでした。',
|
||
'admin.plugins.permissionsTitle': '権限',
|
||
'admin.plugins.noPermissions': 'このプラグインは特別な権限を要求しません。',
|
||
'admin.plugins.egressNote': '接続先の可能性:{hosts}',
|
||
'admin.plugins.setupTitle': 'セットアップ',
|
||
'admin.plugins.noSetup': '設定不要でそのまま使用できます。',
|
||
'admin.plugins.scope.instance': 'インスタンス全体',
|
||
'admin.plugins.scope.user': 'ユーザーごと',
|
||
'admin.plugins.fieldRequired': '必須',
|
||
'admin.plugins.sourceRepo': 'ソースリポジトリ',
|
||
'admin.plugins.reportIssue': '問題を報告',
|
||
'admin.plugins.homepage': 'ホームページ',
|
||
'admin.plugins.requiresTrek': 'TREK {version} 以上が必要',
|
||
'admin.plugins.reviewedOn': 'レビュー日:{date}',
|
||
'admin.plugins.perm.db:own': '専用の分離データベースに独自データを保存',
|
||
'admin.plugins.perm.db:read:trips': '操作中のユーザーがアクセスできる旅行の読み取り',
|
||
'admin.plugins.perm.db:read:users': '基本プロフィール情報の読み取り(名前・アバターのみ — 認証情報は含まれません)',
|
||
'admin.plugins.perm.db:read:costs': '操作中のユーザーがアクセスできる支出(予算項目)の読み取り',
|
||
'admin.plugins.perm.db:read:packing': '操作中のユーザーがアクセスできる旅行の持ち物リストの読み取り',
|
||
'admin.plugins.perm.db:write:packing': '操作中のユーザーが編集できる旅行の持ち物リスト項目の作成・編集・削除',
|
||
'admin.plugins.perm.weather:read': 'ホストのキャッシュされた天気予報を読み取る(座標で)',
|
||
'admin.plugins.perm.db:read:categories': 'グローバルな場所カテゴリ一覧を読み取る',
|
||
'admin.plugins.perm.db:read:tags': '操作中のユーザーのタグを読み取る',
|
||
'admin.plugins.perm.db:write:tags': '操作中のユーザーのタグの作成・編集・削除',
|
||
'admin.plugins.perm.db:read:todos': '操作中のユーザーがアクセスできる旅行のToDoを読み取る',
|
||
'admin.plugins.perm.db:write:todos': '操作中のユーザーが編集できる旅行のToDoの作成・編集・削除',
|
||
'admin.plugins.perm.db:write:atlas':
|
||
'操作中のユーザーの訪問済みの国と地域をマークし、バケットリストを管理(Atlas アドオンが必要)',
|
||
'admin.plugins.perm.db:write:vacay':
|
||
'操作中のユーザーのアクティブなプランで休暇日と会社休日を切り替え(Vacay アドオンが必要)',
|
||
'admin.plugins.perm.db:write:journal':
|
||
'操作中のユーザーが編集できる日記のエントリの作成・編集・削除(Journey アドオンが必要)',
|
||
'admin.plugins.perm.db:write:collections':
|
||
'コレクションの作成・編集と場所の保存(操作中のユーザーのコレクションロールで実行、Collections アドオンが必要)',
|
||
'admin.plugins.perm.db:write:files':
|
||
'操作中のユーザーが編集できる旅行にファイルを添付(10MB上限、ブロック対象の拡張子は拒否)し、そのリンクを管理',
|
||
'admin.plugins.perm.db:write:collab':
|
||
'操作中のユーザーが編集できる旅行にメモ・アンケート・チャットメッセージを投稿(Collab アドオンが必要)',
|
||
'admin.plugins.perm.db:write:members':
|
||
'旅行にユーザーを追加 — 旅行へのアクセスを付与。操作中のユーザーのメンバー管理権限で保護',
|
||
'admin.plugins.perm.notify:send':
|
||
'操作中のユーザー、またはそのユーザーが所属する旅行に通知(ベル受信箱+メール/ntfy)を送信 — 任意の受信者には送らない',
|
||
'admin.plugins.perm.ai:invoke':
|
||
'管理者が構成した AI プロバイダー(テキスト補完+ドキュメント抽出)を操作中のユーザーの代わりに実行 — プラグインはキーを保持しない',
|
||
'admin.plugins.perm.oauth:client':
|
||
'ホスト仲介の OAuth であなたに代わってサードパーティサービスに接続(トークンはホストが保持し、プラグインは決して見ない)',
|
||
'admin.plugins.perm.db:read:files': '操作中のユーザーがアクセスできる旅行のファイルの読み取り',
|
||
'admin.plugins.perm.db:write:reservations': '操作中のユーザーが編集できる旅行の予約の作成・編集・削除',
|
||
'admin.plugins.perm.db:write:accommodations': '操作中のユーザーが編集できる旅行の宿泊の作成・編集・削除',
|
||
'admin.plugins.perm.db:read:journal': '操作中のユーザーの旅行日記の読み取り(Journey アドオンが必要)',
|
||
'admin.plugins.perm.db:read:atlas': '操作中のユーザーが訪問した国と地域の読み取り(Atlas アドオンが必要)',
|
||
'admin.plugins.perm.db:read:vacay': '操作中のユーザーの休暇プランの読み取り(Vacay アドオンが必要)',
|
||
'admin.plugins.perm.db:read:daynotes': '操作中のユーザーがアクセスできる旅行の日別メモの読み取り',
|
||
'admin.plugins.perm.db:read:collections':
|
||
'操作中のユーザーの保存した場所のコレクションの読み取り(Collections アドオンが必要)',
|
||
'admin.plugins.perm.db:write:daynotes': '操作中のユーザーが編集できる旅行の日別メモの作成・編集・削除',
|
||
'admin.plugins.perm.jobs:run':
|
||
'宣言されたバックグラウンドジョブをスケジュールに従って実行(ユーザーコンテキストなし — ユーザーデータは読み取れません)',
|
||
'admin.plugins.perm.db:write:costs': '操作中のユーザーが編集できる旅行への支出(予算項目)の作成',
|
||
'admin.plugins.perm.db:write:places': '操作中のユーザーが編集できる旅行の場所の追加・編集・削除',
|
||
'admin.plugins.perm.db:write:days': '操作中のユーザーが編集できる旅行の日程の追加・編集・削除',
|
||
'admin.plugins.perm.db:write:itinerary': '操作中のユーザーが編集できる旅行の各日への場所の割り当てと解除',
|
||
'admin.plugins.perm.db:write:trips': '操作中のユーザーが編集できる旅行の詳細(タイトル・日付・通貨など)の編集',
|
||
'admin.plugins.perm.db:meta':
|
||
'操作中のユーザーがアクセスできる旅行・場所・日程に、プラグイン独自の非公開データを付加',
|
||
'admin.plugins.perm.ws:broadcast:trip': '旅行メンバーへのリアルタイム更新の送信',
|
||
'admin.plugins.perm.ws:broadcast:user': '個々のユーザーへのリアルタイム更新の送信',
|
||
'admin.plugins.perm.hook:photo-provider': '「写真」機能への写真の提供',
|
||
'admin.plugins.perm.hook:calendar-source': 'カレンダーへの予定の提供',
|
||
'admin.plugins.perm.hook:place-detail-provider': '場所に追加の詳細情報(レビュー、評価、リンク)を提供',
|
||
'admin.plugins.perm.hook:search-provider': '独自のインデックスから場所の検索に回答(TREK 自身の結果と並べて表示)',
|
||
'admin.plugins.perm.hook:poi-category-provider':
|
||
'独自のスポットカテゴリを「地図でスポットを探す」に追加(カテゴリを選ぶと、表示中の地図の範囲がプラグインに送られます)',
|
||
'admin.plugins.perm.hook:trip-warning-provider': '旅程に検証警告を表示(プランナー内に表示)',
|
||
'admin.plugins.perm.hook:table-contributor': '旅行のビュー(予約、場所、日程)に列とアクションを追加',
|
||
'admin.plugins.perm.hook:map-marker-provider': '旅行の地図にマーカーを追加(例: 予約や POI を表示)',
|
||
'admin.plugins.perm.hook:map-layer-provider': '旅行の地図にルート、コリドー、ゾーンを描画',
|
||
'admin.plugins.perm.hook:route-provider':
|
||
'プランナーが日程のルート計算に使えるルーティングプロファイルを提供(例: 充電スポットを経由する EV ルーティング)',
|
||
'admin.plugins.perm.hook:day-schedule-provider':
|
||
'日程プランに時間エントリーを追加(充電ストップ、保安検査のバッファ)',
|
||
'admin.plugins.perm.hook:day-tint-provider': '日程プランの日付を色分け(例:その日が旅程のどの区間に属するか)',
|
||
'admin.plugins.cap.mcpTools': 'AI ツールを公開',
|
||
'admin.plugins.mcpToolsTitle': '公開する AI ツール',
|
||
'admin.plugins.mcpToolsHint':
|
||
'アシスタントがユーザーの代わりに実行できます。各ツールは上記で付与した権限で動作します。',
|
||
'admin.plugins.poiCategoriesTitle': '追加する地図カテゴリ',
|
||
'admin.plugins.perm.mcp:tools':
|
||
'AI アシスタントがあなたの代わりに実行できるツールを公開する(ここでプラグインに付与した権限で動作し、アシスタント自身の権限ではありません)',
|
||
'admin.plugins.perm.geolocation:read':
|
||
'このプラグインのビューが開いている間、あなたの現在地を取得(TREK がこのサイトの位置情報の許可を使って読み取ります。プラグイン専用の許可は求められません)',
|
||
'admin.plugins.perm.hook:pdf-section-provider': '旅行の PDF エクスポートにテキストセクションを追加',
|
||
'admin.plugins.perm.hook:atlas-layer-provider': 'Atlas の世界地図で国をハイライト(例: ウィッシュリストや渡航情報)',
|
||
'admin.plugins.perm.hook:journal-entry-provider': '日記のエントリーに追加の行(リンク、統計)を提供',
|
||
'admin.plugins.perm.hook:user-data':
|
||
'ユーザーについて保存したデータの消去またはエクスポート(GDPR:アカウント削除・データ開示請求)',
|
||
'admin.plugins.perm.hook:trip-card-provider': 'ダッシュボードの旅行カードに小さなバッジ(状態・カウント)を追加',
|
||
'admin.plugins.perm.hook:notification-channel': '追加のチャンネルで通知を配信する',
|
||
'admin.plugins.perm.events:subscribe':
|
||
'コアのアクティビティイベントに反応(イベント名と旅程のみで、内容には一切アクセスしません)',
|
||
'admin.plugins.perm.http:outbound': '宣言済みホストへの外部リクエストの送信',
|
||
'admin.plugins.perm.db:read:collab':
|
||
'操作中のユーザーがアクセスできる旅行のメモ・アンケート・チャットメッセージの読み取り(Collab アドオンが必要)',
|
||
'admin.plugins.perm.db:read:files:content': '操作中のユーザーがアクセスできる旅行のファイル内容(バイト)の読み取り',
|
||
'admin.plugins.perm.db:create:trips': '操作中のユーザーが所有する新しい旅行の作成',
|
||
'admin.plugins.perm.rates:read': 'ホストのキャッシュされた為替レートを読み取る',
|
||
'admin.plugins.updateConsentTitle': 'このアップデートには新しい権限が必要です',
|
||
'admin.plugins.updateConsentBody':
|
||
'{name} v{version} は、まだ許可していない権限を要求しています。新しいバージョンはインストール済みですが、承認するまで無効のままです。',
|
||
'admin.plugins.updateNewPermissions': '新たに要求された権限',
|
||
'admin.plugins.updateNewEgress': '新しい外部接続',
|
||
'admin.plugins.updateApprove': '承認して有効化',
|
||
'admin.plugins.updateLater': '今は無効のままにする',
|
||
'admin.plugins.updateKeptOff': 'アップデートをインストールしました — 新しい権限を承認するまで無効のままです',
|
||
'admin.plugins.reviewedMeaning':
|
||
'「レビュー済み」とは、TREKのメンテナーが各バージョンでこのプラグインをマルウェアの観点から確認したという意味です — 品質や動作の可否を確認したものではありません。プラグインが無害であることを保証するものではありません。',
|
||
'admin.plugins.security.title': 'プラグインの分離のしくみ — そしてその限界',
|
||
'admin.plugins.security.isolationTitle': 'すべてのプラグインは隔離環境で実行されます',
|
||
'admin.plugins.security.isolationBody':
|
||
'プラグインは、自身のファイルしか読み取れない厳重に制限された独立プロセスとして実行されます。データベース、ログイン用のシークレット、暗号鍵を読み取ることはできず、他のプログラムを起動することも、どこかにファイルを書き込むこともできません。その画面は隔離されたブラウザフレーム内で動作し、セッションCookieを読み取ったり、周囲のTREKページに干渉したりすることはできません。',
|
||
'admin.plugins.security.permsTitle': '権限の意味',
|
||
'admin.plugins.security.permsBody':
|
||
'インストール前に表示される権限は、プラグインの実行中にTREKが強制する厳格な制限です — リストにないことは一切実行できません。ただし、これらはプラグインが何をできるかを示すもので、実際に何をするかを示すものではありません。旅行の読み取りとサーバーへの接続を許可されたプラグインは、あなたの旅行をそのサーバーに送信できます。説明文だけでなく、権限と接続先ホストも確認してください。',
|
||
'admin.plugins.security.limitsTitle': '保証できないこと',
|
||
'admin.plugins.security.limitsBody':
|
||
'この分離は強固なソフトウェア上の境界ですが、絶対的なものではありません。プラグインは、あなたが承認した権限のとおりに動作するため、その権限の範囲内では説明とは異なる振る舞いをする場合があり、正当に保持しているデータを宣言済みのホストへ送信することもできます。TREKは、プラグインのコードが実際に何をするかを読み取ったり判断したりはしません。',
|
||
'admin.plugins.security.worstTitle': '最悪の場合',
|
||
'admin.plugins.security.worstBody':
|
||
'有効化した悪意のあるプラグインは、あなたが与えたデータと接続を悪用する可能性があります — たとえば、読み取りを許可された旅行を漏えいさせるなどです。ただし、パスワードを盗んだり、管理者ログインを偽造したり、サーバー上でコマンドを実行したり、許可していないデータにアクセスしたりすることはできません。被害はあなたが承認した範囲内にとどまり、プラグインを無効化すれば止まります。',
|
||
'admin.plugins.security.reviewedTitle': '「レビュー済み」の意味',
|
||
'admin.plugins.security.reviewedBody':
|
||
'レビュー済みのプラグインは、TREKのメンテナーが各バージョンで手動でマルウェアの有無を確認したものです — 悪意のあるコードの有無を確認したものであり、正しく動作するかどうかを確認したものではありません。プラグインが無害であることを約束するものではありません。',
|
||
'admin.plugins.security.signedTitle': '「署名済み」の意味',
|
||
'admin.plugins.security.signedBody':
|
||
'TREKがインストールのたびに検証するチェックサムは、ファイルがレジストリの保証するものとまったく同一であることを証明します。署名が証明するのは別のことです。そのファイルが作者本人から届いたこと、そして作者だけが持つ鍵で署名されていることです。署名済みのプラグインはその両方を備えています。署名がないプラグインが危険というわけではありません — 保証がひとつ少ないだけであり、現時点ではレジストリのプラグインの多くは署名されていません。',
|
||
'admin.plugins.signed': '署名済み',
|
||
'admin.plugins.signedHint': 'インストール時に作者の署名鍵で検証済み',
|
||
'admin.plugins.unsigned': '署名なし',
|
||
'admin.plugins.unsignedHint':
|
||
'ファイルはレジストリが保証するものと一致しますが、作者と結びつけるものはありません。保証がひとつ少ないだけで、危険というわけではありません。',
|
||
'admin.plugins.updateBlocked': 'アップデートをブロックしました — {reason}',
|
||
'admin.plugins.reviewBlock': '確認する',
|
||
'admin.plugins.retrusted': '新しい署名鍵を信頼しました — プラグインを更新しました',
|
||
'admin.plugins.sig.title': '{name}の署名を検証できませんでした',
|
||
'admin.plugins.sig.keyChangedBody':
|
||
'作者の署名鍵が、このプラグインをインストールしたときの鍵と異なります。作者が鍵を更新することは実際にあります — ただし、プラグインを乗っ取った攻撃者も、ここからはまったく同じように見えます。',
|
||
'admin.plugins.sig.invalidBody':
|
||
'ファイルが作者の署名と一致しません。作者が署名したものではなく、破損したか、改ざんされたかのどちらかです。これを上書きすることはできません。',
|
||
'admin.plugins.sig.missingBody':
|
||
'このプラグインはインストール時には署名されていましたが、新しいバージョンには署名がありません。TREKはこの後退を黙って受け入れることはしません。これを上書きすることはできません。',
|
||
'admin.plugins.sig.incompleteBody':
|
||
'レジストリの登録内容が中途半端です。作者の鍵は宣言されているのに、このバージョンには署名がありません(またはその逆です)。これはプラグイン側の不備です。これを上書きすることはできません。',
|
||
'admin.plugins.sig.pinnedKey': 'インストール時の鍵',
|
||
'admin.plugins.sig.newKey': '現在提示されている鍵',
|
||
'admin.plugins.sig.confirmOutOfBand':
|
||
'TREKには、正当な鍵の更新と乗っ取りを見分けることはできません — ここからは両者はまったく同じに見えます。受け入れる前に、すでに信頼している経路で作者に新しい鍵を確認してください。受け入れると、プラグインが更新され、新しい鍵が記憶されます。',
|
||
'admin.plugins.sig.retrustConfirm': '新しい鍵を信頼して更新',
|
||
'admin.plugins.sig.cancel': '信頼しない',
|
||
'admin.plugins.sig.consentUnsigned':
|
||
'このバージョンと作者を結びつけるものはありません — ファイルはレジストリと一致しますが、作者の署名は付いていません。',
|
||
'admin.plugins.security.trustTitle': '結論',
|
||
'admin.plugins.security.trustBody':
|
||
'プラグインのインストールは、サードパーティ製アプリのインストールと同じです。信頼できる作者のコードのみを追加し、少しでも疑わしい場合は、まずご自身で内容を確認してください。TREKはサードパーティ製プラグインについて一切の責任を負いません。',
|
||
'admin.plugins.runtimeOn': 'ランタイム:オン',
|
||
'admin.plugins.tabDiscover': '探す',
|
||
'admin.plugins.searchPlaceholder': 'プラグインを検索…',
|
||
'admin.plugins.filterType': 'タイプ',
|
||
'admin.plugins.filterStatus': 'ステータス',
|
||
'admin.plugins.sortBy': '並び替え',
|
||
'admin.plugins.allTypes': 'すべてのタイプ',
|
||
'admin.plugins.allStatuses': 'すべて',
|
||
'admin.plugins.stateOff': 'オフ',
|
||
'admin.plugins.filterUpdate': 'アップデートあり',
|
||
'admin.plugins.sortName': '名前',
|
||
'admin.plugins.sortRecent': '最近更新',
|
||
'admin.plugins.sortUpdates': 'アップデート優先',
|
||
'admin.plugins.sortDownloads': 'ダウンロード数順',
|
||
'admin.plugins.updatesAvailable': 'プラグインに{count}件のアップデートがあります。',
|
||
'admin.plugins.newerNeedsTrek': 'v{version} が利用可能 — TREK {range} が必要',
|
||
'admin.plugins.versionsTitle': 'バージョン',
|
||
'admin.plugins.versionPickerTitle': 'バージョン変更 — {name}',
|
||
'admin.plugins.versionSwitch': '{version} に切り替え',
|
||
'admin.plugins.versionNeedsTrek': 'TREK {range} が必要',
|
||
'admin.plugins.changeVersion': 'バージョン変更…',
|
||
'admin.plugins.noVersions': 'レジストリに公開バージョンが見つかりません。',
|
||
'admin.plugins.downgradeTitle': 'このプラグインをロールバックしますか?',
|
||
'admin.plugins.downgradeBody':
|
||
'v{from} から v{to} への切り替え:新しいバージョンが書き込んだデータはそのまま残り、古いバージョンはそれを認識できない可能性があります。',
|
||
'admin.plugins.downgradeConfirm': 'ロールバック',
|
||
'admin.plugins.updatesHeld': 'v{version} で更新を一時停止中',
|
||
'admin.plugins.resumeUpdates': '更新を再開',
|
||
'admin.plugins.updatesResumed': '更新を再開しました',
|
||
'admin.plugins.updateAll': 'すべて更新',
|
||
'admin.plugins.noMatchInstalled': '検索条件に一致するインストール済みプラグインはありません。',
|
||
'admin.plugins.noMatchRegistry': '検索条件に一致するプラグインはレジストリにありません。',
|
||
'admin.plugins.restart': '再起動',
|
||
'admin.plugins.restarted': 'プラグインを再起動しました',
|
||
'admin.plugins.instanceSettings': 'インスタンス設定',
|
||
'admin.plugins.settingsSaved': '設定を保存しました',
|
||
'admin.plugins.settingsSavedRestarted': '設定を保存しました — プラグインを再起動しました',
|
||
'admin.plugins.actions': 'アクション',
|
||
'admin.plugins.actions.confirm': 'このアクションを実行しますか?',
|
||
'admin.plugins.actions.inactive': 'アクションを実行するにはプラグインを有効化してください',
|
||
'admin.plugins.requiredMissing': '「{field}」は必須です',
|
||
'admin.plugins.cap.readsTrips': '旅行を読み取り',
|
||
'admin.plugins.cap.readsUsers': '基本プロフィールを読み取り',
|
||
'admin.plugins.cap.readsCosts': '支出を読み取り',
|
||
'admin.plugins.cap.readsPacking': '持ち物リストを読み取り',
|
||
'admin.plugins.cap.readsFiles': '旅行ファイルを読み取り',
|
||
'admin.plugins.cap.writesCosts': '支出を追加',
|
||
'admin.plugins.cap.writesPlaces': '場所を編集',
|
||
'admin.plugins.cap.writesDays': '日程を編集',
|
||
'admin.plugins.cap.writesItinerary': '旅程を編集',
|
||
'admin.plugins.cap.writesTrips': '旅行を編集',
|
||
'admin.plugins.cap.metadata': 'メタデータを追加',
|
||
'admin.plugins.cap.widget': 'ダッシュボードウィジェット',
|
||
'admin.plugins.cap.heroWidget': '搭乗券ウィジェット',
|
||
'admin.plugins.cap.placeSlot': '場所詳細',
|
||
'admin.plugins.cap.daySlot': '日程詳細',
|
||
'admin.plugins.cap.reservationSlot': '予約詳細',
|
||
'admin.plugins.cap.replacesTabs': 'プランナーのタブを置き換え',
|
||
'admin.plugins.cap.realtime': 'リアルタイム更新',
|
||
'admin.plugins.cap.notificationChannel': '通知チャンネル',
|
||
'admin.plugins.cap.photos': '写真を提供',
|
||
'admin.plugins.cap.calendar': 'カレンダー予定を提供',
|
||
'admin.plugins.cap.placeDetails': '場所を充実',
|
||
'admin.plugins.cap.search': '検索に回答',
|
||
'admin.plugins.cap.poiCategories': '地図にカテゴリを追加',
|
||
'admin.plugins.cap.warnings': '問題を検出',
|
||
'admin.plugins.cap.mapLayers': '地図に描画',
|
||
'admin.plugins.cap.routing': 'ルーティングを提供',
|
||
'admin.plugins.cap.daySchedule': '予定時刻を追加',
|
||
'admin.plugins.cap.dayTint': '日を色分け',
|
||
'admin.plugins.cap.geolocation': '現在地を読み取り',
|
||
'admin.plugins.cap.events': 'アクティビティに反応',
|
||
'admin.plugins.cap.requiresAddon': '{addon}が必要',
|
||
'admin.plugins.cap.dependsOn': '{id} {version}が必要',
|
||
'admin.plugins.dep.addonDisabledToast': '先に必要なアドオンを有効にしてください:{addons}',
|
||
'admin.plugins.dep.autoEnabled': '必要なプラグインを先に有効にしました:{plugins}',
|
||
'admin.plugins.dep.downloaded': '{id}をダウンロードしました',
|
||
'admin.plugins.dep.resolveTitle': '依存関係が不足しています',
|
||
'admin.plugins.dep.resolveBody': '「{name}」を有効にするには、これらのプラグインのインストールが必要です。',
|
||
'admin.plugins.dep.requires': '{version}が必要',
|
||
'admin.plugins.dep.mismatch': '{wanted}が必要 — 現在{installed}',
|
||
'admin.plugins.dep.download': 'ダウンロード',
|
||
'admin.plugins.dep.update': '更新',
|
||
'admin.plugins.dep.resolveHint': '独自の依存関係を含め、最新の互換バージョンをダウンロードします。',
|
||
'admin.plugins.dep.trekIncompatible': 'TREK {range} が必要です — このサーバーは {host} です',
|
||
'admin.plugins.dep.trekUnknown': '対応する TREK バージョンが宣言されていません',
|
||
'admin.plugins.installCompatible': '{version} をインストール',
|
||
'admin.plugins.installAnyway': 'それでもインストール',
|
||
'admin.plugins.rangeBypass.pill': 'バージョンチェック無効',
|
||
'admin.plugins.rangeBypass.pillHint':
|
||
'TREK_PLUGINS_IGNORE_TREK_RANGE が設定されています — プラグインは作者が宣言した TREK バージョンの範囲外でもインストール・実行できます',
|
||
'admin.plugins.rangeBypass.title': 'サポート対象の TREK バージョン外',
|
||
'admin.plugins.rangeBypass.noticeTitle': 'サポート対象の TREK バージョン外にインストールされました',
|
||
'admin.plugins.rangeBypass.body':
|
||
'「{name}」は TREK {range} をサポートすると宣言していますが、このサーバーは {host} で動作しています。TREK_PLUGINS_IGNORE_TREK_RANGE が設定されているため TREK はこれを許可します。作者はこの TREK 向けにプラグインのバージョン範囲を更新していないため、動作する保証はなく、まれに不適合なプラグインが TREK のデータを破損することがあります。このリスクを受け入れる場合のみ続行してください。',
|
||
'admin.plugins.rangeBypass.bodyUnknown':
|
||
'「{name}」はサポートする TREK バージョンを宣言していません。このサーバーは {host} で動作しています。TREK_PLUGINS_IGNORE_TREK_RANGE が設定されているため TREK はこれを許可します。作者がこの TREK で検証した形跡はなく、動作する保証はありません。まれに不適合なプラグインが TREK のデータを破損することがあります。このリスクを受け入れる場合のみ続行してください。',
|
||
'admin.plugins.dep.trekBypassed': 'TREK 範囲外({range})— バージョンチェック無効',
|
||
'admin.plugins.dep.trekBypassedUnknown': 'TREK 範囲の宣言なし — バージョンチェック無効',
|
||
'admin.plugins.incompatible': '非対応',
|
||
'admin.plugins.accessTitle': 'アクセスできるもの',
|
||
'admin.plugins.connectsTitle': '接続先',
|
||
'admin.plugins.detailsTitle': '詳細',
|
||
'admin.plugins.noAccess': '特別なアクセスは不要です。',
|
||
'admin.plugins.metaVersion': 'バージョン',
|
||
'admin.plugins.metaSize': 'サイズ',
|
||
'admin.plugins.metaRequires': '要件',
|
||
'admin.plugins.metaReviewed': 'レビュー日',
|
||
'admin.plugins.downloads': 'ダウンロード数',
|
||
'admin.addons.title': 'アドオン',
|
||
'admin.addons.subtitle': '機能を有効/無効にしてTREKをカスタマイズします。',
|
||
'admin.addons.catalog.packing.name': 'リスト',
|
||
'admin.addons.catalog.packing.description': '旅行用の持ち物リストとToDo',
|
||
'admin.addons.catalog.budget.name': '費用',
|
||
'admin.addons.catalog.budget.description': '旅行の支出を記録し、同行者と分担',
|
||
'admin.addons.catalog.documents.name': 'ドキュメント',
|
||
'admin.addons.catalog.documents.description': '旅行書類の保存・管理',
|
||
'admin.addons.catalog.vacay.name': 'Vacay',
|
||
'admin.addons.catalog.vacay.description': 'カレンダー表示の個人休暇プランナー',
|
||
'admin.addons.catalog.atlas.name': 'Atlas',
|
||
'admin.addons.catalog.atlas.description': '訪問国と旅行統計の世界地図',
|
||
'admin.addons.catalog.collab.name': 'コラボ',
|
||
'admin.addons.catalog.collab.description': 'メモ、投票、チャット、提案で一緒に計画',
|
||
'admin.addons.catalog.roadtrip.name': 'ロードトリップ',
|
||
'admin.addons.catalog.roadtrip.description':
|
||
'立ち寄り先付きのドライブを計画。運転時間と到着時刻は自動で再計算されます',
|
||
'admin.addons.catalog.tours.name': 'ツアー',
|
||
'admin.addons.catalog.tours.description': 'ルートに沿ったハイキング、サイクリングなどのツアー',
|
||
'admin.addons.catalog.memories.name': '写真(Immich)',
|
||
'admin.addons.catalog.memories.description': 'Immichで旅行写真を共有',
|
||
'admin.addons.catalog.mcp.name': 'MCP',
|
||
'admin.addons.catalog.mcp.description': 'AI連携のためのModel Context Protocol',
|
||
'admin.addons.subtitleBefore': '機能を有効/無効にして ',
|
||
'admin.addons.subtitleAfter': ' をカスタマイズします。',
|
||
'admin.addons.catalog.naver_list_import.name': 'Naver リストのインポート',
|
||
'admin.addons.catalog.naver_list_import.description': '共有された Naver マップのリストから場所をインポート',
|
||
'admin.addons.catalog.airtrail.name': 'AirTrail',
|
||
'admin.addons.catalog.airtrail.description': '自分の AirTrail から フライトを同期',
|
||
'admin.addons.catalog.dawarich.name': 'Dawarich',
|
||
'admin.addons.catalog.dawarich.description':
|
||
'各自が接続した Dawarich インスタンスから、滞在と記録されたルートを読み取ります',
|
||
'admin.addons.catalog.llm_parsing.name': 'AI 解析',
|
||
'admin.addons.catalog.llm_parsing.description': '内蔵パーサーが読めない予約を、選んだ AI モデルで読み取ります',
|
||
'admin.addons.catalog.ai_assistant.name': 'AI アシスタント',
|
||
'admin.addons.catalog.ai_assistant.description':
|
||
'旅行ごとに質問に答え、変更を提案するチャット。変更はあなたが確認してから反映されます',
|
||
'admin.addons.llm.vision.auto': '自動',
|
||
'admin.addons.llm.vision.on': 'はい',
|
||
'admin.addons.llm.vision.off': 'いいえ',
|
||
'admin.addons.llm.vision.hintLocal': '「自動」では、このモデルが画像を読めるかを Ollama サーバーに問い合わせます。',
|
||
'admin.addons.llm.vision.hintCloud':
|
||
'クラウドのモデルでは「自動」は「いいえ」になります。このモデルが画像を読める場合は「はい」を選んでください。',
|
||
'admin.addons.enabled': '有効',
|
||
'admin.addons.disabled': '無効',
|
||
'admin.addons.type.trip': '旅行',
|
||
'admin.addons.type.global': '全体',
|
||
'admin.addons.type.integration': '連携',
|
||
'admin.addons.tripHint': '各旅行内のタブとして利用可能',
|
||
'admin.addons.globalHint': 'メインナビの独立セクションとして利用可能',
|
||
'admin.addons.integrationHint': '専用ページのないバックエンド/API連携',
|
||
'admin.addons.toast.updated': 'アドオンを更新しました',
|
||
'admin.addons.toast.error': 'アドオンの更新に失敗しました',
|
||
'admin.addons.group.count': '{total} 件中 {enabled} 件が有効',
|
||
'admin.addons.search': 'アドオンを検索',
|
||
'admin.addons.filter': '表示',
|
||
'admin.addons.filter.all': 'すべて',
|
||
'admin.addons.filter.on': 'オン',
|
||
'admin.addons.filter.off': 'オフ',
|
||
'admin.addons.noMatch': '検索またはフィルターに一致するアドオンはありません。',
|
||
'admin.addons.subOptions': '{count}件のオプション',
|
||
'admin.addons.subOptionsOn': '{count}件が有効',
|
||
'admin.toursWanderer.title': 'wanderer',
|
||
'admin.toursWanderer.subtitle':
|
||
'ユーザーが自分のwandererインスタンスを接続し、そのトレイルをツアーとしてインポートできます',
|
||
'admin.toursHikingMap.title': 'ハイキング地図 (OpenHikingMap)',
|
||
'admin.toursHikingMap.subtitle':
|
||
'ツアープランナーのベースマップとして OpenHikingMap を提供します。非商用の環境では月 500,000 タイルまで無料です。商用またはそれ以上の規模の環境では、先に openmaps.fr との合意が必要です',
|
||
'admin.toursCycleMap.title': 'サイクリング地図(CyclOSM)',
|
||
'admin.toursCycleMap.subtitle':
|
||
'ツアープランナーで自転車ツアーのベース地図として CyclOSM を提供します。OpenStreetMap France が適度な利用向けに配信しています。利用の多い、または商用のインストールでは無効にするか、事前に運営者と合意してください',
|
||
'admin.toursSkiRouting.title': 'ゲレンデルーター',
|
||
'admin.toursSkiRouting.subtitle':
|
||
'Places サーバーのゲレンデデータで、コース、リフト、トレイルに沿ってスキーツアーを計画します。オフにすると、スキーツアーの区間は直線で描かれます',
|
||
'admin.addons.noAddons': '利用可能なアドオンはありません',
|
||
'admin.weather.title': '天気データ',
|
||
'admin.weather.badge': '2026年3月24日以降',
|
||
'admin.weather.description':
|
||
'TREKは天気データにOpen‑Meteoを使用しています。無料でオープンソース、APIキーは不要です。',
|
||
'admin.weather.forecast': '16日間予報',
|
||
'admin.weather.forecastDesc': '以前は5日(OpenWeatherMap)',
|
||
'admin.weather.climate': '過去の気候データ',
|
||
'admin.weather.climateDesc': '16日以降は過去85年の平均値',
|
||
'admin.weather.requests': '1日10,000リクエスト',
|
||
'admin.weather.requestsDesc': '無料、APIキー不要',
|
||
'admin.weather.locationHint':
|
||
'各日の座標付き最初の場所を基準にします。場所が未割り当ての場合は、場所一覧の任意の場所を参照します。',
|
||
'admin.tabs.mcpTokens': 'MCPトークン',
|
||
'admin.mcpTokens.title': 'MCPトークン',
|
||
'admin.mcpTokens.subtitle': 'すべてのユーザーのAPIトークンを管理',
|
||
'admin.mcpTokens.sectionTitle': 'API トークン',
|
||
'admin.mcpTokens.owner': '所有者',
|
||
'admin.mcpTokens.tokenName': 'トークン名',
|
||
'admin.mcpTokens.created': '作成日',
|
||
'admin.mcpTokens.lastUsed': '最終使用',
|
||
'admin.mcpTokens.never': '未使用',
|
||
'admin.mcpTokens.empty': 'MCPトークンはまだ作成されていません',
|
||
'admin.mcpTokens.deleteTitle': 'トークンを削除',
|
||
'admin.mcpTokens.deleteMessage':
|
||
'このトークンは即座に失効します。ユーザーはこのトークン経由のMCPアクセスを失います。',
|
||
'admin.mcpTokens.deleteSuccess': 'トークンを削除しました',
|
||
'admin.mcpTokens.deleteError': 'トークンの削除に失敗しました',
|
||
'admin.mcpTokens.loadError': 'トークンの読み込みに失敗しました',
|
||
'admin.oauthSessions.sectionTitle': 'OAuthセッション',
|
||
'admin.oauthSessions.clientName': 'クライアント',
|
||
'admin.oauthSessions.owner': '所有者',
|
||
'admin.oauthSessions.scopes': 'スコープ',
|
||
'admin.oauthSessions.created': '作成日時',
|
||
'admin.oauthSessions.empty': '有効なOAuthセッションはありません',
|
||
'admin.oauthSessions.revokeTitle': 'セッションを無効化',
|
||
'admin.oauthSessions.revokeMessage': 'このOAuthセッションは即時無効化され、クライアントはMCPへのアクセスを失います。',
|
||
'admin.oauthSessions.revokeSuccess': 'セッションを無効化しました',
|
||
'admin.oauthSessions.revokeError': 'セッションの無効化に失敗しました',
|
||
'admin.oauthSessions.loadError': 'OAuthセッションの読み込みに失敗しました',
|
||
'admin.tabs.github': 'GitHub',
|
||
'admin.audit.subtitle': 'セキュリティおよび管理イベント(バックアップ、ユーザー、MFA、設定)。',
|
||
'admin.audit.empty': '監査ログはまだありません。',
|
||
'admin.audit.refresh': '更新',
|
||
'admin.audit.loadMore': 'さらに読み込む',
|
||
'admin.audit.showing': '{count}件表示、全{total}件',
|
||
'admin.audit.col.time': '時刻',
|
||
'admin.audit.col.user': 'ユーザー',
|
||
'admin.audit.col.action': '操作',
|
||
'admin.audit.col.resource': '対象',
|
||
'admin.audit.col.ip': 'IP',
|
||
'admin.audit.col.details': '詳細',
|
||
'admin.github.title': 'リリース履歴',
|
||
'admin.github.subtitle': '{repo} の最新アップデート',
|
||
'admin.github.latest': '最新',
|
||
'admin.github.prerelease': 'プレリリース',
|
||
'admin.github.showDetails': '詳細を表示',
|
||
'admin.github.hideDetails': '詳細を非表示',
|
||
'admin.github.loadMore': 'さらに読み込む',
|
||
'admin.github.loading': '読み込み中...',
|
||
'admin.github.error': 'リリースの読み込みに失敗しました',
|
||
'admin.github.by': '作成者',
|
||
'admin.github.support': 'TREKの開発を支援',
|
||
'admin.update.available': '更新があります',
|
||
'admin.update.text': 'TREK {version} が利用可能です。現在は {current} を使用しています。',
|
||
'admin.update.button': 'GitHubで見る',
|
||
'admin.update.install': '更新をインストール',
|
||
'admin.update.confirmTitle': '更新をインストールしますか?',
|
||
'admin.update.confirmText': 'TREKを {current} から {version} に更新します。更新後、サーバーは自動的に再起動します。',
|
||
'admin.update.dataInfo':
|
||
'すべてのデータ(旅行、ユーザー、APIキー、アップロード、Vacay、Atlas、予算)は保持されます。',
|
||
'admin.update.warning': '再起動中、アプリは短時間利用できません。',
|
||
'admin.update.confirm': '今すぐ更新',
|
||
'admin.update.installing': '更新中…',
|
||
'admin.update.success': '更新が完了しました!サーバーを再起動しています…',
|
||
'admin.update.failed': '更新に失敗しました',
|
||
'admin.update.backupHint': '更新前にバックアップを作成することをおすすめします。',
|
||
'admin.update.backupLink': 'バックアップへ',
|
||
'admin.update.howTo': '更新方法',
|
||
'admin.update.dockerText':
|
||
'TREKはDockerで実行されています。{version} に更新するには、サーバーで次のコマンドを実行してください:',
|
||
'admin.update.nonDockerText':
|
||
'このTREKインスタンスはDockerで実行されていません。{version} に更新するには、使用したインストールまたは更新方法をもう一度実行してください。たとえばProxmox Community Scriptsの場合は、LXCコンソールから更新を実行します:',
|
||
'admin.update.wikiLink': '更新ガイドを開く',
|
||
'admin.update.reloadHint': '数秒後にページを再読み込みしてください。',
|
||
'admin.tabs.permissions': '権限',
|
||
'admin.addons.catalog.journey.name': '日記',
|
||
'admin.addons.catalog.journey.description': 'チェックイン、写真、日ごとのストーリーで旅を記録',
|
||
'admin.addons.catalog.collections.name': 'コレクション',
|
||
'admin.addons.catalog.collections.description': 'どの旅行の場所も名前付きリストにまとめて再利用',
|
||
'admin.passkey.title': 'パスキーログイン',
|
||
'admin.passkey.cardHint': 'ユーザーがパスキー(WebAuthn)でサインインできるようにします。既定では無効です。',
|
||
'admin.passkey.login': 'パスキーログインを有効化',
|
||
'admin.passkey.loginHint':
|
||
'「パスキーでサインイン」オプションを表示し、ユーザーが設定でパスキーを登録できるようにします。',
|
||
'admin.passkey.notConfigured':
|
||
'このデプロイにはまだ有効な WebAuthn ドメインがありません。下の APP_URL または Relying Party ID を設定してください。それまでパスキーは表示されません。',
|
||
'admin.passkey.rpId': 'Relying Party ID(ドメイン)',
|
||
'admin.passkey.rpIdHint':
|
||
'パスキーが紐づくドメイン名のみ(例:trek.example.org)。空欄の場合は APP_URL から導出されます。後で変更すると既存のパスキーは無効になります。',
|
||
'admin.passkey.origins': '許可するオリジン',
|
||
'admin.passkey.originsHint':
|
||
'カンマ区切りの完全なオリジン(例:https://trek.example.org)。空欄の場合は APP_URL を使用します。',
|
||
'admin.passkey.reset': 'パスキーをリセット',
|
||
'admin.passkey.resetHint':
|
||
'このユーザーのパスキーをすべて削除します(例:デバイスを紛失した場合)。パスワードでのサインインは引き続き可能です。',
|
||
'admin.passkey.resetConfirm': '{name} のパスキーをすべて削除しますか?',
|
||
'admin.passkey.resetDone': '{count} 件のパスキーを削除しました',
|
||
'admin.defaultSettings.mapProvider': '地図エンジン',
|
||
'admin.defaultSettings.mapProviderHint':
|
||
'このインスタンスの全員に適用される既定の地図です。各ユーザーは自分の設定でこれを上書きできます。',
|
||
'admin.defaultSettings.providerLeaflet': '標準(無料)',
|
||
'admin.defaultSettings.providerMapbox': 'Mapbox(3D)',
|
||
'admin.defaultSettings.providerMapLibre': 'MapLibre (OpenFreeMap)',
|
||
'admin.defaultSettings.mapboxToken': '共有 Mapbox トークン',
|
||
'admin.defaultSettings.mapboxTokenHint':
|
||
'自分のトークンを入力していないすべてのユーザーに使用されます。これにより、キーを個別に共有しなくてもインスタンス全体で Mapbox を利用できます。暗号化して保存されます。',
|
||
'admin.defaultSettings.mapboxStyle': '地図スタイル',
|
||
'admin.defaultSettings.mapboxStylePlaceholder': 'スタイルを選択…',
|
||
'admin.defaultSettings.mapbox3d': '3D の建物と地形',
|
||
'admin.defaultSettings.mapboxQuality': '高品質モード',
|
||
'admin.defaultSettings.cartoKey': '共有 CARTO キー',
|
||
'admin.defaultSettings.cartoKeyHint':
|
||
'自分のキーを入力していないすべてのユーザーに使用されます。これによりインスタンス全体で透かしのない CARTO タイルを利用できます。暗号化して保存されます。',
|
||
'admin.group.users': 'ユーザー',
|
||
'admin.group.config': '設定',
|
||
'admin.group.integration': '連携',
|
||
'admin.group.maintenance': 'メンテナンス',
|
||
'admin.invite.tripLabel': '旅行に追加(任意)',
|
||
'admin.invite.tripNone': '旅行なし',
|
||
'admin.invite.tripHint': '新しいユーザーがリンク経由で登録すると、自動的にこの旅行に追加されます。',
|
||
'admin.invite.boundTo': '{trip}に追加',
|
||
'admin.placesUsageTitle': 'キーの使いみち',
|
||
'admin.mapsKeyHintShort': '写真・評価・営業時間が加わります。以降の検索はすべて Google に送られます。',
|
||
'admin.amapKeyHintShort': '中国本土での地点検索用。JS API キーではなく Web サービスキーが必要です。',
|
||
'admin.collab.links.subtitle': '共有リンクとブックマーク',
|
||
'admin.paddleRegions.title': 'パドル用の水域データ',
|
||
'admin.paddleRegions.hint': 'OpenStreetMap の堰、閘門、航行ルールを地域ごとに読み込み、毎月読み直します。',
|
||
'admin.paddleRegions.search': '地域を追加',
|
||
'admin.paddleRegions.searchPlaceholder': 'Geofabrik を検索(例:Oberpfalz)',
|
||
'admin.paddleRegions.noHits': 'その名前の地域はありません',
|
||
'admin.paddleRegions.added': '追加済み',
|
||
'admin.paddleRegions.empty': 'まだ地域がありません。その場合、パドルツアーには障害物データが不明と表示されます。',
|
||
'admin.paddleRegions.status.queued': '待機中',
|
||
'admin.paddleRegions.status.importing': '読み込み中',
|
||
'admin.paddleRegions.status.ready': '準備完了',
|
||
'admin.paddleRegions.status.failed': '失敗',
|
||
'admin.paddleRegions.phase.download': 'ダウンロード中',
|
||
'admin.paddleRegions.phase.read': '読み取り中',
|
||
'admin.paddleRegions.objects': '{count} 件のオブジェクト',
|
||
'admin.paddleRegions.asOf': '{date}時点',
|
||
'admin.paddleRegions.keptData': '以前に読み込んだデータを引き続き使用します。',
|
||
'admin.paddleRegions.refresh': '再読み込み',
|
||
'admin.paddleRegions.remove': '地域を削除',
|
||
'admin.paddleRegions.removeMessage':
|
||
'{name} とその障害物データが削除されます。その地域のパドルツアーにはデータが表示されなくなります。',
|
||
'admin.paddleRegions.retry': '再試行',
|
||
'admin.paddleRegions.offline': '地域の管理は接続中のみ行えます。',
|
||
'admin.paddleRegions.catalogUnavailable': '現在 Geofabrik に接続できません。後でもう一度お試しください。',
|
||
'admin.paddleRegions.attribution':
|
||
'データ © OpenStreetMap 貢献者(ODbL)、地域別の抽出データは Geofabrik によるものです。毎月 3 日に読み直します。',
|
||
'admin.paddleRegions.toast.added': '地域を追加しました。TREK がバックグラウンドで読み込みます。',
|
||
'admin.paddleRegions.toast.removed': '地域を削除しました',
|
||
'admin.paddleRegions.phase.build': '水路ネットワークを構築中',
|
||
'admin.paddleRegions.network.km': '水域 {km} km',
|
||
'admin.paddleRegions.network.lakes': '湖 {count} 件',
|
||
'admin.paddleRegions.network.portages': '地図上のポーテージ {count} 件',
|
||
'admin.paddleRegions.network.inferred': '推定の担ぎ {count} 件',
|
||
'admin.paddleRegions.network.locks': '閘門 {count} 件',
|
||
'admin.paddleRegions.network.gaps': 'つないだ欠落 {count} 件',
|
||
'admin.paddleRegions.network.missing': '水路ネットワークなし',
|
||
'admin.paddleRegions.network.missingHint':
|
||
'地域を読み込み直すと、パドリングのルートが使うネットワークが構築されます。',
|
||
'admin.paddleRegions.auto.title': '地域を自動で読み込む',
|
||
'admin.paddleRegions.auto.mode.auto': '自動',
|
||
'admin.paddleRegions.auto.mode.ask': 'リクエスト制',
|
||
'admin.paddleRegions.auto.mode.off': 'オフ',
|
||
'admin.paddleRegions.auto.modeHint.auto':
|
||
'水域データのない場所でパドルツアーが計画されると、TREKは該当する最小の地域をすぐに読み込みます。サイズ上限まで、1日に数件だけです。それより大きいものはここでリクエストとして待ちます。Geofabrikに送られるのは地域名だけで、場所は送られません。',
|
||
'admin.paddleRegions.auto.modeHint.ask':
|
||
'新しい地域は管理者が許可するまでここで待ちます。管理者自身が計画した場合はすぐに読み込みます。',
|
||
'admin.paddleRegions.auto.modeHint.off':
|
||
'TREKは自分では何も読み込まず、リクエストも出しません。地域はここで手動で追加してください。',
|
||
'admin.paddleRegions.auto.maxSize': '自動で読み込む最大の地域',
|
||
'admin.paddleRegions.auto.maxSizeHint':
|
||
'より大きい地域はここでリクエストとして待ちます。地域の読み込みには数分かかり、その間メモリを使います。',
|
||
'admin.paddleRegions.requests.title': 'リクエスト',
|
||
'admin.paddleRegions.requests.reason.ask': 'リクエスト制',
|
||
'admin.paddleRegions.requests.reason.too_large': '大きすぎ',
|
||
'admin.paddleRegions.requests.reason.limit': '1日の上限',
|
||
'admin.paddleRegions.requests.declined': '却下',
|
||
'admin.paddleRegions.requests.by': '{user}より',
|
||
'admin.paddleRegions.requests.approve': '読み込む',
|
||
'admin.paddleRegions.requests.decline': '却下する',
|
||
'admin.paddleRegions.origin.auto': '自動',
|
||
'admin.paddleRegions.origin.autoHint': 'この地域は、そこで計画されたパドルツアーのためにTREKが自動で読み込みました。',
|
||
'admin.mfa.reset': '2FAをリセット',
|
||
'admin.mfa.resetHint':
|
||
'このユーザーの二要素認証をオフにします(スマートフォンを紛失した場合など)。すべての場所からサインアウトされ、パスワードでサインインした後に再設定できます。',
|
||
'admin.mfa.resetConfirm': '{name} の二要素認証をオフにしますか?',
|
||
'admin.mfa.resetDone': '二要素認証をリセットしました',
|
||
'admin.danger.title': '危険ゾーン',
|
||
'admin.rotateJwt.title': 'JWTシークレットをローテーション',
|
||
'admin.rotateJwt.hint':
|
||
'新しい JWT 署名シークレットを生成します。すべてのアクティブなセッションは直ちに無効になります。',
|
||
'admin.rotateJwt.confirm': 'ローテーションしてログアウト',
|
||
'admin.rotateJwt.warning': '注意: すべてのセッションが無効になり、あなたもログアウトされます。',
|
||
'admin.rotateJwt.body':
|
||
'新しい JWT シークレットが直ちに生成されます。あなたを含め、ログイン中のすべてのユーザーがサインアウトされ、再度ログインが必要になります。',
|
||
'admin.oidcDisplayNamePlaceholder': '例: Google、Authentik、Keycloak',
|
||
'admin.oidcDiscoveryUrl': 'ディスカバリー URL(任意)',
|
||
'admin.oidcDiscoveryUrlHint':
|
||
'自動生成されるディスカバリー URL を上書きします。エンドポイントが {path} にない Authentik などのプロバイダーで必要です。',
|
||
'admin.smtp.skipTls': 'TLS 証明書の検証をスキップ',
|
||
'admin.smtp.skipTlsHint': 'ローカルのメールサーバーで自己署名証明書を使う場合にオンにします',
|
||
'admin.demoBaseline.title': 'デモの基準状態',
|
||
'admin.demoBaseline.hint': '現在の状態を毎時のリセット地点として保存します。管理者の旅行と設定はすべて保持されます。',
|
||
'admin.demoBaseline.button': '基準状態を保存',
|
||
'admin.demoBaseline.saved': '基準状態を保存しました。以降のリセットではこの状態に戻ります。',
|
||
'admin.demoBaseline.failed': '基準状態を保存できませんでした',
|
||
'admin.invite.deleteTitle': '招待リンクを削除',
|
||
'admin.invite.deleteConfirm':
|
||
'この招待リンクを削除しますか?まだ使っていない人は、このリンクで登録できなくなります。',
|
||
'admin.packingTemplates.deleteTemplateTitle': 'テンプレートを削除',
|
||
'admin.packingTemplates.deleteTemplateConfirm':
|
||
'テンプレート「{name}」を、すべてのカテゴリーと項目ごと削除しますか?',
|
||
'admin.packingTemplates.deleteCategoryTitle': 'カテゴリーを削除',
|
||
'admin.packingTemplates.deleteCategoryConfirm': 'カテゴリー「{name}」を、すべての項目ごと削除しますか?',
|
||
'admin.rotateJwt.button': '更新',
|
||
'admin.addons.ai.name': 'AI', // same-as-en
|
||
'admin.addons.ai.description':
|
||
'アシスタントと予約の取り込みに使う接続を一つに。MCP を使うと他の AI アプリから TREK を使えます。',
|
||
'admin.addons.ai.setup': 'AI を設定',
|
||
'admin.addons.ai.dialogSub': 'アシスタントと AI 解析が共有する接続と、それぞれに許可すること。',
|
||
'admin.addons.ai.tab.connection': '接続',
|
||
'admin.addons.ai.parsing.readsWith': '予約の読み取りに使う接続',
|
||
'admin.addons.ai.parsing.own': '専用の接続',
|
||
'admin.addons.ai.parsing.ownHint': '共有の接続の代わりに使われます。',
|
||
'admin.addons.ai.parsing.useShared': '共有の接続を使う',
|
||
'admin.addons.ai.parsing.sharedTag': '共有',
|
||
'admin.addons.ai.parsing.perUser': '各ユーザーが自分の設定にある接続で読み取ります。',
|
||
'admin.addons.ai.parsing.none': 'まだ接続がありません。全員用に設定するか、AI 解析専用の接続を設定してください。',
|
||
'admin.addons.ai.parsing.setupOwn': '別の接続を使う',
|
||
'admin.addons.ai.parsing.installed': 'サーバーにインストール済み',
|
||
'admin.addons.ai.parsing.refresh': '更新',
|
||
'admin.addons.ai.parsing.noModels': 'まだモデルがありません。下から取得してください。',
|
||
'admin.addons.ai.parsing.pullTitle': 'おすすめのモデルを取得',
|
||
'admin.addons.ai.parsing.pull': '取得',
|
||
'admin.addons.ai.parsing.pulling': '取得中…',
|
||
'admin.addons.ai.parsing.use': '使う',
|
||
'admin.addons.ai.parsing.selected': '選択中',
|
||
'admin.addons.ai.parsing.pulled': 'モデルを取得しました',
|
||
'admin.addons.ai.parsing.pullFailed': 'モデルを取得できませんでした',
|
||
'admin.addons.ai.parsing.unreachable': 'ローカルサーバーに接続できません',
|
||
'admin.addons.ai.parsing.apiKeyOptional': '通常は不要',
|
||
};
|
||
export default admin;
|