mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
31f99f0e4e
* fix(auth): autofocus the 2FA code input when the MFA step appears (#767) * fix(notifications): show notification and admin times in the viewer timezone (#1149) SQLite CURRENT_TIMESTAMP is UTC but the string has no Z, so the client parsed it as local time. Normalize in-app notification created_at to ISO-UTC, and stop forcing the admin user table to render in the server timezone. * fix(places): warn before adding a duplicate place (#1152) Manually adding a place did not check the existing pool, so the same POI could land in Unplanned twice. Flag a likely duplicate by Google Place ID, name or near-identical coordinates and require a confirming second click to add anyway.
96 lines
5.3 KiB
TypeScript
96 lines
5.3 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const places: TranslationStrings = {
|
||
'places.addPlace': '場所/アクティビティを追加',
|
||
'places.importFile': 'ファイルをインポート',
|
||
'places.sidebarDrop': 'ドロップしてインポート',
|
||
'places.importFileHint':
|
||
'Google My Maps、Google Earth、GPSトラッカーなどの .gpx、.kml、.kmz ファイルをインポートできます。',
|
||
'places.importFileDropHere':
|
||
'クリックしてファイルを選択、またはここにドラッグ&ドロップ',
|
||
'places.importFileDropActive': 'ドロップして選択',
|
||
'places.importFileUnsupported':
|
||
'対応していないファイル形式です。.gpx、.kml、.kmz を使用してください。',
|
||
'places.importFileTooLarge':
|
||
'ファイルが大きすぎます。最大 {maxMb} MB までです。',
|
||
'places.importFileError': 'インポートに失敗しました',
|
||
'places.importAllSkipped': 'すべての場所は既に旅行に含まれています。',
|
||
'places.gpxImported': 'GPXから {count} 件の場所をインポートしました',
|
||
'places.gpxImportTypes': '何をインポートしますか?',
|
||
'places.gpxImportWaypoints': 'ウェイポイント',
|
||
'places.gpxImportRoutes': 'ルート',
|
||
'places.gpxImportTracks': 'トラック(経路付き)',
|
||
'places.gpxImportNoneSelected': '少なくとも1つ選択してください。',
|
||
'places.kmlImportTypes': '何をインポートしますか?',
|
||
'places.kmlImportPoints': 'ポイント(プレースマーク)',
|
||
'places.kmlImportPaths': 'パス(ライン)',
|
||
'places.kmlImportNoneSelected': '少なくとも1つ選択してください。',
|
||
'places.selectionCount': '{count} 件選択中',
|
||
'places.deleteSelected': '選択を削除',
|
||
'places.kmlKmzImported': 'KMZ/KMLから {count} 件の場所をインポートしました',
|
||
'places.urlResolved': 'URLから場所をインポートしました',
|
||
'places.importList': 'リストをインポート',
|
||
'places.kmlKmzSummaryValues':
|
||
'プレースマーク: {total} • 追加: {created} • スキップ: {skipped}',
|
||
'places.importGoogleList': 'Google リスト',
|
||
'places.importNaverList': 'Naver リスト',
|
||
'places.googleListHint':
|
||
'共有されたGoogleマップのリストリンクを貼り付けてください。',
|
||
'places.googleListImported':
|
||
'「{list}」から {count} 件の場所をインポートしました',
|
||
'places.googleListError': 'Googleマップのリストをインポートできませんでした',
|
||
'places.naverListHint':
|
||
'共有されたNaverマップのリストリンクを貼り付けてください。',
|
||
'places.naverListImported':
|
||
'「{list}」から {count} 件の場所をインポートしました',
|
||
'places.naverListError': 'Naverマップのリストをインポートできませんでした',
|
||
'places.viewDetails': '詳細を見る',
|
||
'places.assignToDay': 'どの日に追加しますか?',
|
||
'places.all': 'すべて',
|
||
'places.unplanned': '未計画',
|
||
'places.filterTracks': 'トラック',
|
||
'places.search': '場所を検索…',
|
||
'places.allCategories': 'すべてのカテゴリ',
|
||
'places.categoriesSelected': 'カテゴリ',
|
||
'places.clearFilter': 'フィルター解除',
|
||
'places.count': '{count} 件の場所',
|
||
'places.countSingular': '1 件の場所',
|
||
'places.allPlanned': 'すべての場所が計画済みです',
|
||
'places.noneFound': '場所が見つかりません',
|
||
'places.editPlace': '場所を編集',
|
||
'places.formName': '名前',
|
||
'places.formNamePlaceholder': '例:エッフェル塔',
|
||
'places.formDescription': '説明',
|
||
'places.formDescriptionPlaceholder': '短い説明…',
|
||
'places.formAddress': '住所',
|
||
'places.formAddressPlaceholder': '通り、都市、国',
|
||
'places.formLat': '緯度(例:48.8566)',
|
||
'places.formLng': '経度(例:2.3522)',
|
||
'places.formCategory': 'カテゴリ',
|
||
'places.noCategory': 'カテゴリなし',
|
||
'places.categoryNamePlaceholder': 'カテゴリ名',
|
||
'places.formTime': '時間',
|
||
'places.startTime': '開始',
|
||
'places.endTime': '終了',
|
||
'places.endTimeBeforeStart': '終了時間が開始時間より前です',
|
||
'places.timeCollision': '時間が重複しています:',
|
||
'places.formWebsite': 'ウェブサイト',
|
||
'places.formNotes': 'メモ',
|
||
'places.formNotesPlaceholder': '個人的なメモ…',
|
||
'places.formReservation': '予約',
|
||
'places.reservationNotesPlaceholder': '予約メモ、確認番号など…',
|
||
'places.mapsSearchPlaceholder': '場所を検索…',
|
||
'places.mapsSearchError': '場所の検索に失敗しました。',
|
||
'places.loadingDetails': '詳細を読み込み中…',
|
||
'places.osmHint':
|
||
'OpenStreetMapで検索しています(写真・営業時間・評価なし)。設定でGoogle APIキーを追加すると詳細が表示されます。',
|
||
'places.osmActive':
|
||
'OpenStreetMapで検索中(写真・評価・営業時間なし)。設定でGoogle APIキーを追加してください。',
|
||
'places.categoryCreateError': 'カテゴリの作成に失敗しました',
|
||
'places.nameRequired': '名前を入力してください',
|
||
'places.saveError': '保存に失敗しました',
|
||
'places.duplicateExists': '「{name}」はすでにこの旅程に含まれています。',
|
||
'places.addAnyway': 'それでも追加',
|
||
};
|
||
export default places;
|