// ignore: unused_import import 'package:intl/intl.dart' as intl; import 'app_localizations.dart'; // ignore_for_file: type=lint /// The translations for Chinese (`zh`). class AppLocalizationsZh extends AppLocalizations { AppLocalizationsZh([String locale = 'zh']) : super(locale); @override String get appTitle => 'MeshCore SAR'; @override String get messages => '消息'; @override String get contacts => '联系人'; @override String get map => '地图'; @override String get settings => '设置'; @override String get connect => '连接'; @override String get disconnect => '断开连接'; @override String get scanningForDevices => '正在扫描设备...'; @override String get noDevicesFound => '未找到设备'; @override String get scanAgain => '重新扫描'; @override String get tapToConnect => '点击连接'; @override String get deviceNotConnected => '设备未连接'; @override String get locationPermissionDenied => '位置权限被拒绝'; @override String get locationPermissionPermanentlyDenied => '位置权限被永久拒绝。请在设置中启用。'; @override String get locationPermissionRequired => 'GPS 跟踪和团队协调需要位置权限。您可以稍后在设置中启用它。'; @override String get locationServicesDisabled => '位置服务已禁用。请在设置中启用它们。'; @override String get failedToGetGpsLocation => '获取 GPS 位置失败'; @override String advertisedAtLocation(String latitude, String longitude) { return '已在 $latitude, $longitude 广播位置'; } @override String failedToAdvertise(String error) { return '广播失败: $error'; } @override String reconnecting(int attempt, int max) { return '正在重新连接... ($attempt/$max)'; } @override String get cancelReconnection => '取消重新连接'; @override String get mapManagement => '地图管理'; @override String get general => '通用'; @override String get theme => '主题'; @override String get chooseTheme => '选择主题'; @override String get light => '浅色'; @override String get dark => '深色'; @override String get blueLightTheme => '蓝色浅色主题'; @override String get blueDarkTheme => '蓝色深色主题'; @override String get sarRed => '搜救红'; @override String get alertEmergencyMode => '警报/紧急模式'; @override String get sarGreen => '搜救绿'; @override String get safeAllClearMode => '安全/解除警报模式'; @override String get autoSystem => '自动 (系统)'; @override String get followSystemTheme => '跟随系统主题'; @override String get showRxTxIndicators => '显示 RX/TX 指示器'; @override String get displayPacketActivity => '在顶部栏显示数据包活动指示器'; @override String get simpleMode => '简洁模式'; @override String get simpleModeDescription => '在消息和联系人中隐藏非必要信息'; @override String get disableMap => '禁用地图'; @override String get disableMapDescription => '隐藏地图标签页以减少电池使用量'; @override String get language => '语言'; @override String get chooseLanguage => '选择语言'; @override String get english => '英语'; @override String get slovenian => '斯洛文尼亚语'; @override String get croatian => '克罗地亚语'; @override String get german => '德语'; @override String get spanish => '西班牙语'; @override String get french => '法语'; @override String get italian => '意大利语'; @override String get locationBroadcasting => '位置广播'; @override String get autoLocationTracking => '自动位置跟踪'; @override String get automaticallyBroadcastPosition => '自动广播位置更新'; @override String get configureTracking => '配置跟踪'; @override String get distanceAndTimeThresholds => '距离和时间阈值'; @override String get locationTrackingConfiguration => '位置跟踪配置'; @override String get configureWhenLocationBroadcasts => '配置何时向网格网络发送位置广播'; @override String get minimumDistance => '最小距离'; @override String broadcastAfterMoving(String distance) { return '仅移动 $distance 米后广播'; } @override String get maximumDistance => '最大距离'; @override String alwaysBroadcastAfterMoving(String distance) { return '移动 $distance 米后始终广播'; } @override String get minimumTimeInterval => '最小时间间隔'; @override String alwaysBroadcastEvery(String duration) { return '每 $duration 始终广播一次'; } @override String get save => '保存'; @override String get cancel => '取消'; @override String get close => '关闭'; @override String get about => '关于'; @override String get appVersion => '应用版本'; @override String get appName => '应用名称'; @override String get aboutMeshCoreSar => '关于 MeshCore 搜救'; @override String get aboutDescription => '专为应急响应团队设计的搜救应用。功能包括:\n\n• 用于设备间通信的 BLE 网状网络\n• 支持多种图层选项的离线地图\n• 实时团队成员跟踪\n• 搜救战术标记(发现人员、火情、集结点)\n• 联系人管理和消息传递\n• 带指南针方向的 GPS 跟踪\n• 用于离线使用的地图瓦片缓存'; @override String get technologiesUsed => '使用的技术:'; @override String get technologiesList => '• 用于跨平台开发的 Flutter\n• 用于网状网络的 BLE(低功耗蓝牙)\n• 用于地图的 OpenStreetMap\n• 用于状态管理的 Provider\n• 用于本地存储的 SharedPreferences'; @override String get moreInfo => '更多信息'; @override String get learnMoreAbout => '了解更多关于 MeshCore 搜救的信息'; @override String get developer => '开发者'; @override String get packageName => '包名'; @override String get sampleData => '示例数据'; @override String get sampleDataDescription => '加载或清除用于测试的示例联系人、频道消息和搜救标记'; @override String get loadSampleData => '加载示例数据'; @override String get clearAllData => '清除所有数据'; @override String get clearAllDataConfirmTitle => '清除所有数据'; @override String get clearAllDataConfirmMessage => '这将清除所有联系人和搜救标记。确定吗?'; @override String get clear => '清除'; @override String loadedSampleData( int teamCount, int channelCount, int sarCount, int messageCount, ) { return '已加载 $teamCount 个团队成员, $channelCount 个频道, $sarCount 个搜救标记, $messageCount 条消息'; } @override String failedToLoadSampleData(String error) { return '加载示例数据失败:$error'; } @override String get allDataCleared => '所有数据已清除'; @override String get failedToStartBackgroundTracking => '启动后台跟踪失败。检查权限和 BLE 连接。'; @override String locationBroadcast(String latitude, String longitude) { return '位置广播:$latitude, $longitude'; } @override String get defaultPinInfo => '无屏幕设备的默认 PIN 码是 123456。配对有问题?请在系统设置中忘记此蓝牙设备。'; @override String get noMessagesYet => '暂无消息'; @override String get pullDownToSync => '下拉同步消息'; @override String get deleteContact => '删除联系人'; @override String get delete => '删除'; @override String get viewOnMap => '在地图上查看'; @override String get refresh => '刷新'; @override String get sendDirectMessage => '发送'; @override String get resetPath => '重置路径(重新路由)'; @override String get publicKeyCopied => '公钥已复制到剪贴板'; @override String copiedToClipboard(String label) { return '$label 已复制到剪贴板'; } @override String get pleaseEnterPassword => '请输入密码'; @override String failedToSyncContacts(String error) { return '同步联系人失败:$error'; } @override String get loggedInSuccessfully => '登录成功!正在等待房间消息...'; @override String get loginFailed => '登录失败 - 密码错误'; @override String loggingIn(String roomName) { return '正在登录 $roomName...'; } @override String failedToSendLogin(String error) { return '发送登录命令失败:$error'; } @override String get lowLocationAccuracy => '位置精度低'; @override String get continue_ => '继续'; @override String get sendSarMarker => '发送搜救标记'; @override String get deleteDrawing => '删除绘图'; @override String get drawingTools => '绘图工具'; @override String get drawLine => '画线'; @override String get drawLineDesc => '在地图上画一条手绘线'; @override String get drawRectangle => '画矩形'; @override String get drawRectangleDesc => '在地图上绘制一个矩形区域'; @override String get measureDistance => '测量距离'; @override String get measureDistanceDesc => '长按两个点进行测量'; @override String get clearMeasurement => '清除测量'; @override String distanceLabel(String distance) { return '距离:$distance'; } @override String get longPressForSecondPoint => '长按选择第二个点'; @override String get longPressToStartMeasurement => '长按设置第一个点'; @override String get longPressToStartNewMeasurement => '长按开始新测量'; @override String get shareDrawings => '共享绘图'; @override String get clearAllDrawings => '清除所有绘图'; @override String get completeLine => '完成线条'; @override String broadcastDrawingsToTeam(int count, String plural) { return '向团队广播 $count 个绘图'; } @override String removeAllDrawings(int count, String plural) { return '移除所有 $count 个绘图'; } @override String deleteAllDrawingsConfirm(int count, String plural) { return '从地图上删除所有 $count 个绘图吗?'; } @override String get drawing => '绘图'; @override String shareDrawingsCount(int count, String plural) { return '共享 $count 个绘图'; } @override String sentDrawingsToRoom(int count, String plural, String roomName) { return '已将 $count 个地图绘图发送到 $roomName'; } @override String sharedDrawingsToRoom( int success, int total, String plural, String roomName, ) { return '已将 $success/$total 个绘图共享到 $roomName'; } @override String get showReceivedDrawings => '显示接收到的绘图'; @override String get showingAllDrawings => '显示所有绘图'; @override String get showingOnlyYourDrawings => '仅显示您自己的绘图'; @override String get showSarMarkers => '显示搜救标记'; @override String get showingSarMarkers => '显示搜救标记'; @override String get hidingSarMarkers => '隐藏搜救标记'; @override String get clearAll => '全部清除'; @override String get noLocalDrawings => '没有可共享的本地绘图'; @override String get publicChannel => '公共频道'; @override String get broadcastToAll => '广播到所有附近节点(临时)'; @override String get storedPermanently => '永久存储在房间中'; @override String drawingsSentToPublicChannel(int count, String plural) { return '已将 $count 个地图绘图发送到公共频道'; } @override String drawingsSharedToPublicChannel(int success, int total) { return '已将 $success/$total 个绘图共享到公共频道'; } @override String get notConnectedToDevice => '未连接到设备'; @override String get directMessage => '直连消息'; @override String directMessageSentTo(String contactName) { return '已向 $contactName 发送直连消息'; } @override String failedToSend(String error) { return '发送失败:$error'; } @override String directMessageInfo(String contactName) { return '此消息将直接发送给 $contactName。它也会出现在主消息列表中。'; } @override String get typeYourMessage => '输入您的消息...'; @override String get quickLocationMarker => '快速位置标记'; @override String get markerType => '标记类型'; @override String get sendTo => '发送至'; @override String get noDestinationsAvailable => '没有可用的目的地。'; @override String get selectDestination => '选择目的地...'; @override String get ephemeralBroadcastInfo => '临时:仅空中广播。不存储 - 节点必须在线。'; @override String get persistentRoomInfo => '持久:不可变地存储在房间中。自动同步并可离线保存。'; @override String get location => '位置'; @override String get myLocation => '我的位置'; @override String get fromMap => '来自地图'; @override String get gettingLocation => '正在获取位置...'; @override String get locationError => '位置错误'; @override String get retry => '重试'; @override String get refreshLocation => '刷新位置'; @override String accuracyMeters(int accuracy) { return '精度:±$accuracy米'; } @override String get notesOptional => '备注(可选)'; @override String get addAdditionalInformation => '添加附加信息...'; @override String lowAccuracyWarning(int accuracy) { return '位置精度为 ±$accuracy米。这对于搜救行动可能不够准确。\n\n仍然继续吗?'; } @override String get loginToRoom => '登录到房间'; @override String get enterPasswordInfo => '输入密码以访问此房间。密码将被保存以供将来使用。'; @override String get password => '密码'; @override String get enterRoomPassword => '输入房间密码'; @override String get loggingInDots => '正在登录...'; @override String get login => '登录'; @override String failedToAddRoom(String error) { return '向设备添加房间失败:$error\n\n该房间可能尚未广播。请等待房间广播。'; } @override String get direct => '直连'; @override String get flood => '泛洪'; @override String get admin => '管理员'; @override String get loggedIn => '已登录'; @override String get noGpsData => '无 GPS 数据'; @override String get distance => '距离'; @override String pingingDirect(String name) { return '正在 ping $name (通过路径直连)...'; } @override String pingingFlood(String name) { return '正在 ping $name (泛洪 - 无路径)...'; } @override String directPingTimeout(String name) { return '直连 ping 超时 - 正在使用泛洪重试 $name...'; } @override String pingSuccessful(String name, String fallback) { return '成功 ping 到 $name$fallback'; } @override String get viaFloodingFallback => ' (通过泛洪回退)'; @override String pingFailed(String name) { return 'ping $name 失败 - 未收到响应'; } @override String deleteContactConfirmation(String name) { return '确定要删除“$name”吗?\n\n这将从应用和配套的无线电设备中移除该联系人。'; } @override String removingContact(String name) { return '正在移除 $name...'; } @override String contactRemoved(String name) { return '联系人“$name”已移除'; } @override String failedToRemoveContact(String error) { return '移除联系人失败:$error'; } @override String get type => '类型'; @override String get publicKey => '公钥'; @override String get lastSeen => '最后在线'; @override String get roomStatus => '房间状态'; @override String get loginStatus => '登录状态'; @override String get notLoggedIn => '未登录'; @override String get adminAccess => '管理员访问权限'; @override String get yes => '是'; @override String get no => '否'; @override String get permissions => '权限'; @override String get passwordSaved => '密码已保存'; @override String get locationColon => '位置:'; @override String get telemetry => '遥测'; @override String requestingTelemetry(String name) { return '正在向 $name 请求遥测数据...'; } @override String get voltage => '电压'; @override String get battery => '电池'; @override String get temperature => '温度'; @override String get humidity => '湿度'; @override String get pressure => '气压'; @override String get gpsTelemetry => 'GPS (遥测)'; @override String get updated => '更新于'; @override String pathResetInfo(String name) { return '$name 的路径已重置。下一条消息将找到新路由。'; } @override String get reLoginToRoom => '重新登录到房间'; @override String get heading => '航向'; @override String get elevation => '海拔'; @override String get accuracy => '精度'; @override String get bearing => '方位角'; @override String get direction => '方向'; @override String get filterMarkers => '筛选标记'; @override String get filterMarkersTooltip => '筛选标记'; @override String get contactsFilter => '联系人'; @override String get repeatersFilter => '转发节点'; @override String get sarMarkers => '搜救标记'; @override String get foundPerson => '找到人员'; @override String get fire => '火情'; @override String get stagingArea => '集结点'; @override String get showAll => '显示全部'; @override String get nearbyContacts => '附近联系人'; @override String get locationUnavailable => '位置不可用'; @override String get ahead => '前方'; @override String degreesRight(int degrees) { return '右 $degrees°'; } @override String degreesLeft(int degrees) { return '左 $degrees°'; } @override String latLonFormat(String latitude, String longitude) { return '纬度:$latitude 经度:$longitude'; } @override String get noContactsYet => '暂无联系人'; @override String get connectToDeviceToLoadContacts => '连接设备以加载联系人'; @override String get teamMembers => '团队成员'; @override String get repeaters => '转发节点'; @override String get rooms => '房间'; @override String get channels => '频道'; @override String get cacheStatistics => '缓存统计'; @override String get totalTiles => '瓦片总数'; @override String get cacheSize => '缓存大小'; @override String get storeName => '存储名称'; @override String get noCacheStatistics => '无可用缓存统计'; @override String get downloadRegion => '下载区域'; @override String get mapLayer => '地图图层'; @override String get regionBounds => '区域边界'; @override String get north => '北'; @override String get south => '南'; @override String get east => '东'; @override String get west => '西'; @override String get zoomLevels => '缩放级别'; @override String minZoom(int zoom) { return '最小:$zoom'; } @override String maxZoom(int zoom) { return '最大:$zoom'; } @override String get downloadingDots => '正在下载...'; @override String get cancelDownload => '取消下载'; @override String get downloadRegionButton => '下载区域'; @override String get downloadNote => '注意:大区域或高缩放级别可能需要大量时间和存储空间。'; @override String get cacheManagement => '缓存管理'; @override String get clearAllMaps => '清除所有地图'; @override String get clearMapsConfirmTitle => '清除所有地图'; @override String get clearMapsConfirmMessage => '确定要删除所有已下载的地图吗?此操作无法撤销。'; @override String get mapDownloadCompleted => '地图下载完成!'; @override String get cacheClearedSuccessfully => '缓存清除成功!'; @override String get downloadCancelled => '下载已取消'; @override String get startingDownload => '正在开始下载...'; @override String get downloadingMapTiles => '正在下载地图瓦片...'; @override String get downloadCompletedSuccessfully => '下载成功完成!'; @override String get cancellingDownload => '正在取消下载...'; @override String errorLoadingStats(String error) { return '加载统计信息时出错:$error'; } @override String downloadFailed(String error) { return '下载失败:$error'; } @override String cancelFailed(String error) { return '取消失败:$error'; } @override String clearCacheFailed(String error) { return '清除缓存失败:$error'; } @override String minZoomError(String error) { return '最小缩放:$error'; } @override String maxZoomError(String error) { return '最大缩放:$error'; } @override String get minZoomGreaterThanMax => '最小缩放必须小于或等于最大缩放'; @override String get selectMapLayer => '选择地图图层'; @override String get mapOptions => '地图选项'; @override String get showLegend => '显示图例'; @override String get displayMarkerTypeCounts => '显示标记类型计数'; @override String get rotateMapWithHeading => '随航向旋转地图'; @override String get mapFollowsDirection => '移动时地图跟随您的方向'; @override String get resetMapRotation => '重置旋转'; @override String get resetMapRotationTooltip => '将地图重置为北向上'; @override String get showMapDebugInfo => '显示地图调试信息'; @override String get displayZoomLevelBounds => '显示缩放级别和边界'; @override String get fullscreenMode => '全屏模式'; @override String get hideUiFullMapView => '隐藏所有 UI 控件以获得完整地图视图'; @override String get openStreetMap => 'OpenStreetMap'; @override String get openTopoMap => 'OpenTopoMap'; @override String get esriSatellite => 'ESRI 卫星图'; @override String get googleHybrid => 'Google 混合'; @override String get googleRoadmap => 'Google 道路图'; @override String get googleTerrain => 'Google 地形图'; @override String get downloadVisibleArea => '下载可见区域'; @override String get initializingMap => '正在初始化地图...'; @override String get dragToPosition => '拖动以定位'; @override String get createSarMarker => '创建搜救标记'; @override String get compass => '指南针'; @override String get navigationAndContacts => '导航与联系人'; @override String get sarAlert => '搜救警报'; @override String get messageSentToPublicChannel => '消息已发送到公共频道'; @override String get pleaseSelectRoomToSendSar => '请选择一个房间以发送搜救标记'; @override String failedToSendSarMarker(String error) { return '发送搜救标记失败:$error'; } @override String sarMarkerSentTo(String roomName) { return '搜救标记已发送到 $roomName'; } @override String get notConnectedCannotSync => '未连接 - 无法同步消息'; @override String syncedMessageCount(int count) { return '已同步 $count 条消息'; } @override String get noNewMessages => '没有新消息'; @override String syncFailed(String error) { return '同步失败:$error'; } @override String get failedToResendMessage => '重新发送消息失败'; @override String get retryingMessage => '正在重试消息...'; @override String retryFailed(String error) { return '重试失败:$error'; } @override String get textCopiedToClipboard => '文本已复制到剪贴板'; @override String get cannotReplySenderMissing => '无法回复:缺少发件人信息'; @override String get cannotReplyContactNotFound => '无法回复:找不到联系人'; @override String get messageDeleted => '消息已删除'; @override String get copyText => '复制文本'; @override String get saveAsTemplate => '另存为模板'; @override String get templateSaved => '模板保存成功'; @override String get templateAlreadyExists => '具有此表情符号的模板已存在'; @override String get deleteMessage => '删除消息'; @override String get deleteMessageConfirmation => '确定要删除此消息吗?'; @override String get shareLocation => '共享位置'; @override String shareLocationText( String markerInfo, String lat, String lon, String url, ) { return '$markerInfo\n\n坐标:$lat, $lon\n\n谷歌地图:$url'; } @override String get sarLocationShare => '搜救位置'; @override String get locationShared => '位置已共享'; @override String get refreshedContacts => '联系人已刷新'; @override String get justNow => '刚刚'; @override String minutesAgo(int minutes) { return '$minutes 分钟前'; } @override String hoursAgo(int hours) { return '$hours 小时前'; } @override String daysAgo(int days) { return '$days 天前'; } @override String secondsAgo(int seconds) { return '$seconds 秒前'; } @override String get sending => '发送中...'; @override String get sent => '已发送'; @override String get delivered => '已送达'; @override String deliveredWithTime(int time) { return '已送达 (${time}ms)'; } @override String get failed => '失败'; @override String get broadcast => '广播'; @override String deliveredToContacts(int delivered, int total) { return '已送达 $delivered/$total 个联系人'; } @override String get allDelivered => '全部送达'; @override String get recipientDetails => '收件人详情'; @override String get pending => '等待中'; @override String get sarMarkerFoundPerson => '找到人员'; @override String get sarMarkerFire => '火情位置'; @override String get sarMarkerStagingArea => '集结点'; @override String get sarMarkerObject => '找到物品'; @override String get from => '来自'; @override String get coordinates => '坐标'; @override String get tapToViewOnMap => '点击在地图上查看'; @override String get radioSettings => '无线电设置'; @override String get frequencyMHz => '频率 (MHz)'; @override String get frequencyExample => '例如:869.618'; @override String get bandwidth => '带宽'; @override String get spreadingFactor => '扩频因子'; @override String get codingRate => '编码率'; @override String get txPowerDbm => '发射功率 (dBm)'; @override String maxPowerDbm(int power) { return '最大:$power dBm'; } @override String get you => '您'; @override String get offlineVectorMaps => '离线矢量地图'; @override String get offlineVectorMapsDescription => '导入和管理离线矢量地图瓦片(MBTiles 格式),以便在没有互联网连接时使用'; @override String get importMbtiles => '导入 MBTiles 文件'; @override String get importMbtilesNote => '支持带有矢量瓦片(PBF/MVT 格式)的 MBTiles 文件。Geofabrik 提取文件效果很好!'; @override String get noMbtilesFiles => '未找到离线矢量地图'; @override String get mbtilesImportedSuccessfully => 'MBTiles 文件导入成功'; @override String get failedToImportMbtiles => '导入 MBTiles 文件失败'; @override String get deleteMbtilesConfirmTitle => '删除离线地图'; @override String deleteMbtilesConfirmMessage(String name) { return '确定要删除“$name”吗?这将永久移除该离线地图。'; } @override String get mbtilesDeletedSuccessfully => '离线地图删除成功'; @override String get failedToDeleteMbtiles => '删除离线地图失败'; @override String get importExportCachedTiles => '导入/导出缓存的瓦片'; @override String get importExportDescription => '在设备之间备份、共享和恢复已下载的地图瓦片'; @override String get exportTilesToFile => '导出瓦片到文件'; @override String get importTilesFromFile => '从文件导入瓦片'; @override String get selectExportLocation => '选择导出位置'; @override String get selectImportFile => '选择瓦片存档'; @override String get exportingTiles => '正在导出瓦片...'; @override String get importingTiles => '正在导入瓦片...'; @override String exportSuccess(int count) { return '成功导出 $count 个瓦片'; } @override String importSuccess(int count) { return '成功导入 $count 个存储'; } @override String exportFailed(String error) { return '导出失败:$error'; } @override String importFailed(String error) { return '导入失败:$error'; } @override String get exportNote => '创建一个压缩存档 (.fmtc) 文件,可以共享并在其他设备上导入。'; @override String get importNote => '从先前导出的存档文件导入地图瓦片。瓦片将与现有缓存合并。'; @override String get noTilesToExport => '没有可导出的瓦片'; @override String archiveContainsStores(int count) { return '存档包含 $count 个存储'; } @override String get vectorTiles => '矢量瓦片'; @override String get schema => '模式'; @override String get unknown => '未知'; @override String get bounds => '边界'; @override String get onlineLayers => '在线图层'; @override String get offlineLayers => '离线图层'; @override String get locationTrail => '位置轨迹'; @override String get showTrailOnMap => '在地图上显示轨迹'; @override String get trailVisible => '轨迹在地图上可见'; @override String get trailHiddenRecording => '轨迹已隐藏(仍在记录)'; @override String get duration => '持续时间'; @override String get points => '点数'; @override String get clearTrail => '清除轨迹'; @override String get clearTrailQuestion => '清除轨迹?'; @override String get clearTrailConfirmation => '确定要清除当前的位置轨迹吗?此操作无法撤销。'; @override String get noTrailRecorded => '尚未记录轨迹'; @override String get startTrackingToRecord => '开始位置跟踪以记录您的轨迹'; @override String get trailControls => '轨迹控制'; @override String get exportTrailToGpx => '将轨迹导出为 GPX'; @override String get importTrailFromGpx => '从 GPX 导入轨迹'; @override String get trailExportedSuccessfully => '轨迹导出成功!'; @override String get failedToExportTrail => '导出轨迹失败'; @override String failedToImportTrail(String error) { return '导入轨迹失败:$error'; } @override String get importTrail => '导入轨迹'; @override String importTrailQuestion(int pointCount) { return '导入包含 $pointCount 个点的轨迹?\n\n您可以替换当前轨迹或将其与当前轨迹并排查看。'; } @override String get viewAlongside => '并排查看'; @override String get replaceCurrent => '替换当前'; @override String trailImported(int pointCount) { return '轨迹已导入!($pointCount 个点)'; } @override String trailReplaced(int pointCount) { return '轨迹已替换!($pointCount 个点)'; } @override String get contactTrails => '联系人轨迹'; @override String get showAllContactTrails => '显示所有联系人轨迹'; @override String get noContactsWithLocationHistory => '没有带位置历史的联系人'; @override String showingTrailsForContacts(int count) { return '正在显示 $count 个联系人的轨迹'; } @override String get individualContactTrails => '单个联系人轨迹'; @override String get deviceInformation => '设备信息'; @override String get bleName => 'BLE 名称'; @override String get meshName => '网格名称'; @override String get notSet => '未设置'; @override String get model => '型号'; @override String get version => '版本'; @override String get buildDate => '构建日期'; @override String get firmware => '固件'; @override String get maxContacts => '最大联系人数'; @override String get maxChannels => '最大频道数'; @override String get publicInfo => '公共信息'; @override String get meshNetworkName => '网格网络名称'; @override String get nameBroadcastInMesh => '在网格广播中通告的名称'; @override String get telemetryAndLocationSharing => '遥测和位置共享'; @override String get lat => '纬度'; @override String get lon => '经度'; @override String get useCurrentLocation => '使用当前位置'; @override String get noneUnknown => '无/未知'; @override String get chatNode => '聊天节点'; @override String get repeater => '转发节点'; @override String get roomChannel => '房间/频道'; @override String typeNumber(int number) { return '类型 $number'; } @override String copiedToClipboardShort(String label) { return '$label 已复制到剪贴板'; } @override String failedToSave(String error) { return '保存失败:$error'; } @override String failedToGetLocation(String error) { return '获取位置失败:$error'; } @override String get sarTemplates => '搜救模板'; @override String get manageSarTemplates => '管理目标标记模板'; @override String get addTemplate => '添加模板'; @override String get editTemplate => '编辑模板'; @override String get deleteTemplate => '删除模板'; @override String get templateName => '模板名称'; @override String get templateNameHint => '例如:找到的人员'; @override String get templateEmoji => '表情符号'; @override String get emojiRequired => '需要表情符号'; @override String get nameRequired => '需要名称'; @override String get templateDescription => '描述(可选)'; @override String get templateDescriptionHint => '添加上下文...'; @override String get templateColor => '颜色'; @override String get previewFormat => '预览(搜救消息格式)'; @override String get importFromClipboard => '导入'; @override String get exportToClipboard => '导出'; @override String deleteTemplateConfirmation(String name) { return '删除模板“$name”?'; } @override String get templateAdded => '模板已添加'; @override String get templateUpdated => '模板已更新'; @override String get templateDeleted => '模板已删除'; @override String templatesImported(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: '已导入 $count 个模板', one: '已导入 1 个模板', zero: '没有导入模板', ); return '$_temp0'; } @override String templatesExported(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: '已导出 $count 个模板到剪贴板', one: '已导出 1 个模板到剪贴板', ); return '$_temp0'; } @override String get resetToDefaults => '重置为默认值'; @override String get resetToDefaultsConfirmation => '这将删除所有自定义模板并恢复 4 个默认模板。继续吗?'; @override String get reset => '重置'; @override String get resetComplete => '模板已重置为默认值'; @override String get noTemplates => '没有可用的模板'; @override String get tapAddToCreate => '点击 + 创建您的第一个模板'; @override String get ok => '确定'; @override String get permissionsSection => '权限'; @override String get locationPermission => '位置权限'; @override String get checking => '检查中...'; @override String get locationPermissionGrantedAlways => '已授予(始终)'; @override String get locationPermissionGrantedWhileInUse => '已授予(使用时)'; @override String get locationPermissionDeniedTapToRequest => '已拒绝 - 点击请求'; @override String get locationPermissionPermanentlyDeniedOpenSettings => '永久拒绝 - 打开设置'; @override String get locationPermissionDialogContent => '位置权限被永久拒绝。请在您的设备设置中启用它,以使用 GPS 跟踪和位置共享功能。'; @override String get openSettings => '打开设置'; @override String get locationPermissionGranted => '位置权限已授予!'; @override String get locationPermissionRequiredForGps => 'GPS 跟踪和位置共享需要位置权限。'; @override String get locationPermissionAlreadyGranted => '位置权限已经授予。'; @override String get sarNavyBlue => '搜救海军蓝'; @override String get sarNavyBlueDescription => '专业/操作模式'; @override String get selectRecipient => '选择收件人'; @override String get broadcastToAllNearby => '广播给所有附近的人'; @override String get searchRecipients => '搜索收件人...'; @override String get noContactsFound => '未找到联系人'; @override String get noRoomsFound => '未找到房间'; @override String get noContactsOrRoomsAvailable => '没有可用的联系人或房间'; @override String get noRecipientsAvailable => '没有可用的收件人'; @override String get noChannelsFound => '未找到频道'; @override String get messagesWillBeSentToPublicChannel => '消息将被发送到公共频道'; @override String get newMessage => '新消息'; @override String get channel => '频道'; @override String get samplePoliceLead => '警方负责人'; @override String get sampleDroneOperator => '无人机操作员'; @override String get sampleFirefighterAlpha => '消防员'; @override String get sampleMedicCharlie => '医护人员'; @override String get sampleCommandDelta => '指挥部'; @override String get sampleFireEngine => '消防车'; @override String get sampleAirSupport => '空中支援'; @override String get sampleBaseCoordinator => '基地协调员'; @override String get channelEmergency => '紧急'; @override String get channelCoordination => '协调'; @override String get channelUpdates => '更新'; @override String get sampleTeamMember => '示例团队成员'; @override String get sampleScout => '示例侦察员'; @override String get sampleBase => '示例基地'; @override String get sampleSearcher => '示例搜索员'; @override String get sampleObjectBackpack => ' 发现背包 - 蓝色'; @override String get sampleObjectVehicle => ' 废弃车辆 - 检查车主'; @override String get sampleObjectCamping => ' 发现露营装备'; @override String get sampleObjectTrailMarker => ' 在小径旁发现路径标记'; @override String get sampleMsgAllTeamsCheckIn => '所有队伍签到'; @override String get sampleMsgWeatherUpdate => '天气更新:晴朗,气温 18°C'; @override String get sampleMsgBaseCamp => '大本营已在集结点建立'; @override String get sampleMsgTeamAlpha => '队伍正在向第二区移动'; @override String get sampleMsgRadioCheck => '无线电检查 - 所有电台回应'; @override String get sampleMsgWaterSupply => '3 号检查点有水源'; @override String get sampleMsgTeamBravo => '队伍报告:第一区已搜索完毕'; @override String get sampleMsgEtaRallyPoint => '预计到达集合点时间:15 分钟'; @override String get sampleMsgSupplyDrop => '已确认 14:00 空投物资'; @override String get sampleMsgDroneSurvey => '无人机勘察完成 - 无发现'; @override String get sampleMsgTeamCharlie => '队伍请求支援'; @override String get sampleMsgRadioDiscipline => '所有单位:保持无线电纪律'; @override String get sampleMsgUrgentMedical => '紧急:第四区需要医疗援助'; @override String get sampleMsgAdultMale => ' 成年男性,意识清醒'; @override String get sampleMsgFireSpotted => '发现火情 - 坐标稍后'; @override String get sampleMsgSpreadingRapidly => ' 正在快速蔓延!'; @override String get sampleMsgPriorityHelicopter => '优先级:需要直升机支援'; @override String get sampleMsgMedicalTeamEnRoute => '医疗队正在前往您的位置'; @override String get sampleMsgEvacHelicopter => '疏散直升机预计 10 分钟到达'; @override String get sampleMsgEmergencyResolved => '紧急情况已解决 - 解除警报'; @override String get sampleMsgEmergencyStagingArea => ' 紧急集结点'; @override String get sampleMsgEmergencyServices => '已通知急救服务,正在响应'; @override String get sampleAlphaTeamLead => '队长'; @override String get sampleBravoScout => '侦察员'; @override String get sampleCharlieMedic => '医护人员'; @override String get sampleDeltaNavigator => '导航员'; @override String get sampleEchoSupport => '支援'; @override String get sampleBaseCommand => '基地指挥部'; @override String get sampleFieldCoordinator => '现场协调员'; @override String get sampleMedicalTeam => '医疗队'; @override String get mapDrawing => '地图绘图'; @override String get navigateToDrawing => '导航到绘图'; @override String get copyCoordinates => '复制坐标'; @override String get hideFromMap => '在地图上隐藏'; @override String get lineDrawing => '线条绘图'; @override String get rectangleDrawing => '矩形绘图'; @override String get coordinatesCopiedToClipboard => '坐标已复制到剪贴板'; @override String get manualCoordinates => '手动输入坐标'; @override String get enterCoordinatesManually => '手动输入坐标'; @override String get latitudeLabel => '纬度'; @override String get longitudeLabel => '经度'; @override String get invalidLatitude => '无效的纬度(-90 到 90)'; @override String get invalidLongitude => '无效的经度(-180 到 180)'; @override String get exampleCoordinates => '例如:46.0569, 14.5058'; @override String get drawingShared => '地图绘图'; @override String get drawingHidden => '绘图已从地图上隐藏'; @override String alreadyShared(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: '$count 个已共享', one: '1 个已共享', ); return '$_temp0'; } @override String newDrawingsShared(int count, String plural) { return '已共享 $count 个新绘图'; } @override String get shareDrawing => '共享绘图'; @override String get shareWithAllNearbyDevices => '与所有附近设备共享'; @override String get shareToRoom => '共享到房间'; @override String get sendToPersistentStorage => '发送到持久房间存储'; @override String get deleteDrawingConfirm => '确定要删除此绘图吗?'; @override String get drawingDeleted => '绘图已删除'; @override String yourDrawingsCount(int count) { return '您的绘图 ($count)'; } @override String get shared => '已共享'; @override String get line => '线条'; @override String get rectangle => '矩形'; @override String get updateAvailable => '有可用更新'; @override String get currentVersion => '当前版本'; @override String get latestVersion => '最新版本'; @override String get downloadUpdate => '下载'; @override String get updateLater => '稍后'; @override String get cadastralParcels => '地籍宗地'; @override String get forestRoads => '森林道路'; @override String get showCadastralParcels => '显示地籍宗地'; @override String get showForestRoads => '显示森林道路'; @override String get wmsOverlays => 'WMS 叠加层'; @override String get hikingTrails => '徒步小径'; @override String get mainRoads => '主要道路'; @override String get houseNumbers => '门牌号'; @override String get fireHazardZones => '火灾危险区'; @override String get historicalFires => '历史火灾'; @override String get firebreaks => '防火隔离带'; @override String get krasFireZones => '喀斯特火灾区'; @override String get placeNames => '地名'; @override String get municipalityBorders => '市镇边界'; @override String get topographicMap => '地形图 1:25000'; @override String get recentMessages => '最近消息'; @override String get addChannel => '添加频道'; @override String get channelName => '频道名称'; @override String get channelNameHint => '例如:救援队阿尔法'; @override String get channelSecret => '频道密钥'; @override String get channelSecretHint => '此频道的共享密码'; @override String get channelSecretHelp => '此密钥必须与需要访问此频道的所有团队成员共享'; @override String get channelTypesInfo => '哈希频道(#团队):密钥根据名称自动生成。相同名称 = 跨设备相同频道。\n\n私有频道:使用明确的密钥。只有拥有密钥的人才能加入。'; @override String get hashChannelInfo => '哈希频道:密钥将从频道名称自动生成。任何使用相同名称的人都会加入同一个频道。'; @override String get channelNameRequired => '频道名称是必填项'; @override String get channelNameTooLong => '频道名称不能超过 31 个字符'; @override String get channelSecretRequired => '频道密钥是必填项'; @override String get channelSecretTooLong => '频道密钥不能超过 32 个字符'; @override String get invalidAsciiCharacters => '只允许使用 ASCII 字符'; @override String get channelCreatedSuccessfully => '频道创建成功'; @override String channelCreationFailed(String error) { return '创建频道失败:$error'; } @override String get deleteChannel => '删除频道'; @override String deleteChannelConfirmation(String channelName) { return '确定要删除频道“$channelName”吗?此操作无法撤销。'; } @override String get channelDeletedSuccessfully => '频道删除成功'; @override String channelDeletionFailed(String error) { return '删除频道失败:$error'; } @override String get allChannelSlotsInUse => '所有频道槽位已满(最多 39 个自定义频道)'; @override String get createChannel => '创建频道'; @override String get wizardBack => '返回'; @override String get wizardSkip => '跳过'; @override String get wizardNext => '下一步'; @override String get wizardGetStarted => '开始使用'; @override String get wizardWelcomeTitle => '欢迎使用 MeshCore 搜救'; @override String get wizardWelcomeDescription => '一个强大的离网通信工具,专为搜索和救援行动设计。当传统网络不可用时,使用网状无线电技术与您的团队连接。'; @override String get wizardConnectingTitle => '连接到您的无线电'; @override String get wizardConnectingDescription => '通过蓝牙将您的智能手机连接到 MeshCore 无线电设备,开始离网通信。'; @override String get wizardConnectingFeature1 => '扫描附近的 MeshCore 设备'; @override String get wizardConnectingFeature2 => '通过蓝牙与您的无线电配对'; @override String get wizardConnectingFeature3 => '完全离线工作 - 无需互联网'; @override String get wizardSimpleModeTitle => '简洁模式'; @override String get wizardSimpleModeDescription => '刚接触网状网络?启用简洁模式以获得仅包含基本功能的简化界面。'; @override String get wizardSimpleModeFeature1 => '初学者友好的界面,包含核心功能'; @override String get wizardSimpleModeFeature2 => '随时在设置中切换到高级模式'; @override String get wizardChannelTitle => '频道'; @override String get wizardChannelDescription => '向频道上的所有人广播消息,非常适合团队范围内的公告和协调。'; @override String get wizardChannelFeature1 => '用于一般团队沟通的公共频道'; @override String get wizardChannelFeature2 => '为特定群组创建自定义频道'; @override String get wizardChannelFeature3 => '消息由网格自动转发'; @override String get wizardContactsTitle => '联系人'; @override String get wizardContactsDescription => '您的团队成员在加入网格网络时会自动出现。向他们发送直连消息或查看他们的位置。'; @override String get wizardContactsFeature1 => '联系人自动发现'; @override String get wizardContactsFeature2 => '发送私人直连消息'; @override String get wizardContactsFeature3 => '查看电池电量和最后在线时间'; @override String get wizardMapTitle => '地图与位置'; @override String get wizardMapDescription => '实时跟踪您的团队,并为搜索和救援行动标记重要位置。'; @override String get wizardMapFeature1 => '用于找到人员、火情和集结点的搜救标记'; @override String get wizardMapFeature2 => '团队成员的实时 GPS 跟踪'; @override String get wizardMapFeature3 => '下载偏远地区的离线地图'; @override String get wizardMapFeature4 => '绘制形状并共享战术信息'; @override String get viewWelcomeTutorial => '查看欢迎教程'; @override String get allTeamContacts => '所有团队联系人'; @override String directMessagesInfo(int count) { return '带有确认的直连消息。发送给 $count 个团队成员。'; } @override String sarMarkerSentToContacts(int count) { return '搜救标记已发送给 $count 个联系人'; } @override String get noContactsAvailable => '没有可用的团队联系人'; @override String get reply => '回复'; @override String get technicalDetails => '技术细节'; @override String get messageTechnicalDetails => '消息技术细节'; @override String get linkQuality => '链路质量'; @override String get delivery => '投递'; @override String get status => '状态'; @override String get expectedAckTag => '预期确认标签'; @override String get roundTrip => '往返'; @override String get retryAttempt => '重试尝试'; @override String get floodFallback => '泛洪回退'; @override String get identity => '身份'; @override String get messageId => '消息 ID'; @override String get sender => '发件人'; @override String get senderKey => '发件人密钥'; @override String get recipient => '收件人'; @override String get recipientKey => '收件人密钥'; @override String get voice => '语音'; @override String get voiceId => '语音 ID'; @override String get envelope => '信封'; @override String get sessionProgress => '会话进度'; @override String get complete => '完成'; @override String get rawDump => '原始数据转储'; @override String get cannotRetryMissingRecipient => '无法重试:缺少收件人信息'; @override String get voiceUnavailable => '语音目前不可用'; @override String get requestingVoice => '正在请求语音'; }