feat: YearlyReportUI

This commit is contained in:
xkeyC 2025-12-17 17:42:33 +08:00
parent 70c47a8b85
commit 0186b5f9f0
13 changed files with 2851 additions and 120 deletions

View File

@ -300,6 +300,54 @@ class MessageLookup extends MessageLookupByLibrary {
static String m122(v0) => "P4K Viewer -> ${v0}";
static String m123(v0) => "Logged in ${v0} times";
static String m124(v0) => "Detected ${v0} accounts in total";
static String m125(year) =>
"View your Star Citizen gameplay statistics for ${year}. Data is from local logs, please check on your main computer.";
static String m126(year) => "${year} Yearly Report (Limited Time)";
static String m127(v0, v1, v2, v3) => "${v0}/${v1} - ${v2}/${v3}";
static String m128(v0, v1) => "${v0} hours ${v1} minutes";
static String m129(v0) => "${v0} minutes";
static String m130(v0, v1) =>
"You started your space journey at dawn on ${v0}/${v1}";
static String m131(v0, v1) =>
"Late night on ${v0}/${v1}, you were still exploring the universe";
static String m132(v0) => "${v0} times";
static String m133(v0) => "Month ${v0}";
static String m134(v0) => "Only launched ${v0} times";
static String m135(v0) => "Launched ${v0} times";
static String m136(v0) => "${v0} hours";
static String m137(v0, v1) => "${v0}/${v1}";
static String m138(year) =>
"In ${year}, together we created\\ncountless wonderful memories in Star Citizen";
static String m139(nextYear) => "Looking forward to ${nextYear} with you!";
static String m140(year) => "Star Citizen ${year} Yearly Report";
static String m141(v0) => "Destroyed ${v0} times";
static String m142(v0) => "Piloted ${v0} times";
static String m143(v0) => "View all ${v0} vehicles";
static String m144(year) => "${year} Yearly Report";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"about_action_btn_faq": MessageLookupByLibrary.simpleMessage("FAQ"),
@ -2475,5 +2523,208 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Total invitations:"),
"webview_localization_unfinished_invitations":
MessageLookupByLibrary.simpleMessage("Unfinished invitations"),
"yearly_report_account_count": m123,
"yearly_report_account_expand": MessageLookupByLibrary.simpleMessage(
"View all accounts",
),
"yearly_report_account_most": MessageLookupByLibrary.simpleMessage(
"Most used account",
),
"yearly_report_account_title": MessageLookupByLibrary.simpleMessage(
"Account Statistics",
),
"yearly_report_account_total": m124,
"yearly_report_analyzing_logs": MessageLookupByLibrary.simpleMessage(
"Analyzing game log data",
),
"yearly_report_card_desc": m125,
"yearly_report_card_title": m126,
"yearly_report_crash_desc": MessageLookupByLibrary.simpleMessage(
"Unstable moments this year",
),
"yearly_report_crash_label": MessageLookupByLibrary.simpleMessage(
"Total Crashes",
),
"yearly_report_crash_note_high": MessageLookupByLibrary.simpleMessage(
"Hope it\'s more stable next year!",
),
"yearly_report_crash_note_low": MessageLookupByLibrary.simpleMessage(
"Lucky you!",
),
"yearly_report_crash_title": MessageLookupByLibrary.simpleMessage(
"Game Crash Count",
),
"yearly_report_date_range": m127,
"yearly_report_disclaimer": MessageLookupByLibrary.simpleMessage(
"Data is generated from your local logs and will not be sent to any third party. Due to significant log changes across versions, data may be incomplete. For entertainment purposes only.",
),
"yearly_report_duration_hours_minutes": m128,
"yearly_report_duration_minutes": m129,
"yearly_report_earliest_play_desc": m130,
"yearly_report_earliest_play_title": MessageLookupByLibrary.simpleMessage(
"Earliest Play Session",
),
"yearly_report_error_description": MessageLookupByLibrary.simpleMessage(
"Please ensure the game directory is correct and log files exist",
),
"yearly_report_error_title": MessageLookupByLibrary.simpleMessage(
"Unable to generate yearly report",
),
"yearly_report_generating": MessageLookupByLibrary.simpleMessage(
"Generating your yearly report...",
),
"yearly_report_kd_death": MessageLookupByLibrary.simpleMessage("Deaths"),
"yearly_report_kd_kill": MessageLookupByLibrary.simpleMessage("Kills"),
"yearly_report_kd_no_record": MessageLookupByLibrary.simpleMessage(
"No kill/death records detected this year",
),
"yearly_report_kd_suicide": MessageLookupByLibrary.simpleMessage(
"Suicides",
),
"yearly_report_kd_title": MessageLookupByLibrary.simpleMessage(
"Kill Statistics",
),
"yearly_report_latest_play_desc": m131,
"yearly_report_latest_play_title": MessageLookupByLibrary.simpleMessage(
"Latest Play Session",
),
"yearly_report_launch_count_desc": MessageLookupByLibrary.simpleMessage(
"This year you launched the game",
),
"yearly_report_launch_count_label": MessageLookupByLibrary.simpleMessage(
"Total Launches",
),
"yearly_report_launch_count_title": MessageLookupByLibrary.simpleMessage(
"Game Launch Count",
),
"yearly_report_launch_count_value": m132,
"yearly_report_location_frequent": MessageLookupByLibrary.simpleMessage(
"Frequent Locations",
),
"yearly_report_location_no_record": MessageLookupByLibrary.simpleMessage(
"No location visit records",
),
"yearly_report_location_note": MessageLookupByLibrary.simpleMessage(
"Based on inventory viewing records",
),
"yearly_report_location_title": MessageLookupByLibrary.simpleMessage(
"Location Statistics",
),
"yearly_report_month_format": m133,
"yearly_report_monthly_least": MessageLookupByLibrary.simpleMessage(
"Least played",
),
"yearly_report_monthly_least_count": m134,
"yearly_report_monthly_most": MessageLookupByLibrary.simpleMessage(
"Most played",
),
"yearly_report_monthly_most_count": m135,
"yearly_report_monthly_title": MessageLookupByLibrary.simpleMessage(
"Monthly Statistics",
),
"yearly_report_nav_next": MessageLookupByLibrary.simpleMessage("Continue"),
"yearly_report_nav_prev": MessageLookupByLibrary.simpleMessage(
"Previous Page",
),
"yearly_report_no_data": MessageLookupByLibrary.simpleMessage(
"No data available",
),
"yearly_report_play_time_desc": MessageLookupByLibrary.simpleMessage(
"This year you explored the universe for",
),
"yearly_report_play_time_label": MessageLookupByLibrary.simpleMessage(
"Total Playtime",
),
"yearly_report_play_time_title": MessageLookupByLibrary.simpleMessage(
"Play Time",
),
"yearly_report_play_time_unit": MessageLookupByLibrary.simpleMessage(
"hours",
),
"yearly_report_play_time_value": m136,
"yearly_report_powered_by": MessageLookupByLibrary.simpleMessage(
"Presented by SCToolbox",
),
"yearly_report_session_average": MessageLookupByLibrary.simpleMessage(
"Average",
),
"yearly_report_session_date": m137,
"yearly_report_session_longest": MessageLookupByLibrary.simpleMessage(
"Longest",
),
"yearly_report_session_note": MessageLookupByLibrary.simpleMessage(
"(Shortest only counts sessions over 5 minutes)",
),
"yearly_report_session_shortest": MessageLookupByLibrary.simpleMessage(
"Shortest",
),
"yearly_report_session_title": MessageLookupByLibrary.simpleMessage(
"Session Time Details",
),
"yearly_report_streak_day_unit": MessageLookupByLibrary.simpleMessage(
"days",
),
"yearly_report_streak_offline": MessageLookupByLibrary.simpleMessage(
"Consecutive Offline",
),
"yearly_report_streak_play": MessageLookupByLibrary.simpleMessage(
"Consecutive Play",
),
"yearly_report_streak_title": MessageLookupByLibrary.simpleMessage(
"Streak Records",
),
"yearly_report_summary_earliest_time": MessageLookupByLibrary.simpleMessage(
"Earliest Time",
),
"yearly_report_summary_favorite_vehicle":
MessageLookupByLibrary.simpleMessage("Favorite Vehicle"),
"yearly_report_summary_frequent_location":
MessageLookupByLibrary.simpleMessage("Frequent Location"),
"yearly_report_summary_hottest_month": MessageLookupByLibrary.simpleMessage(
"Hottest Month",
),
"yearly_report_summary_latest_time": MessageLookupByLibrary.simpleMessage(
"Latest Time",
),
"yearly_report_summary_launch_game": MessageLookupByLibrary.simpleMessage(
"Launch Game",
),
"yearly_report_summary_longest_online":
MessageLookupByLibrary.simpleMessage("Longest Online"),
"yearly_report_summary_respawn_count": MessageLookupByLibrary.simpleMessage(
"Respawn Count",
),
"yearly_report_thanks_message": m138,
"yearly_report_thanks_next": m139,
"yearly_report_thanks_title": MessageLookupByLibrary.simpleMessage(
"Thank You for Being With Us",
),
"yearly_report_title": m140,
"yearly_report_vehicle_destruction_count": m141,
"yearly_report_vehicle_destruction_desc":
MessageLookupByLibrary.simpleMessage("This year you destroyed"),
"yearly_report_vehicle_destruction_most":
MessageLookupByLibrary.simpleMessage("Most destroyed ship"),
"yearly_report_vehicle_destruction_title":
MessageLookupByLibrary.simpleMessage("Vehicle Destruction Statistics"),
"yearly_report_vehicle_destruction_unit":
MessageLookupByLibrary.simpleMessage("ships"),
"yearly_report_vehicle_pilot_collapse":
MessageLookupByLibrary.simpleMessage("Collapse details"),
"yearly_report_vehicle_pilot_count": m142,
"yearly_report_vehicle_pilot_expand": m143,
"yearly_report_vehicle_pilot_most": MessageLookupByLibrary.simpleMessage(
"Most piloted vehicle",
),
"yearly_report_vehicle_pilot_title": MessageLookupByLibrary.simpleMessage(
"Vehicle Piloting Statistics",
),
"yearly_report_welcome_hint": MessageLookupByLibrary.simpleMessage(
"Scroll down or click the button below to start",
),
"yearly_report_welcome_subtitle": MessageLookupByLibrary.simpleMessage(
"Relive your memorable moments in Star Citizen",
),
"yearly_report_welcome_title": m144,
};
}

View File

@ -256,6 +256,52 @@ class MessageLookup extends MessageLookupByLibrary {
static String m122(v0) => "P4Kビューア -> ${v0}";
static String m123(v0) => "${v0} 回ログイン";
static String m124(v0) => "合計 ${v0} アカウントを検出";
static String m125(year) =>
"${year}年のStar Citizenプレイ統計を表示します。データはローカルログからのものです。メインのコンピュータで確認してください。";
static String m126(year) => "${year} 年間レポート(期間限定)";
static String m127(v0, v1, v2, v3) => "${v0}${v1}日 - ${v2}${v3}";
static String m128(v0, v1) => "${v0} 時間 ${v1}";
static String m129(v0) => "${v0}";
static String m130(v0, v1) => "あなたは ${v0}${v1}日 の夜明けに宇宙の旅を始めました";
static String m131(v0, v1) => "${v0}${v1}日 の深夜、あなたはまだ宇宙を探索していました";
static String m132(v0) => "${v0}";
static String m133(v0) => "${v0}";
static String m134(v0) => "わずか ${v0} 回起動";
static String m135(v0) => "${v0} 回起動";
static String m136(v0) => "${v0} 時間";
static String m137(v0, v1) => "${v0}${v1}";
static String m138(year) =>
"${year} 年、私たちはStar Citizenで\\n数え切れないほどの素晴らしい思い出を作りました";
static String m139(nextYear) => "${nextYear} 年もよろしくお願いします!";
static String m140(year) => "Star Citizen ${year} 年間レポート";
static String m141(v0) => "${v0} 回破壊";
static String m142(v0) => "${v0} 回操縦";
static String m143(v0) => "${v0} 車両を表示";
static String m144(year) => "${year} 年間レポート";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"about_action_btn_faq": MessageLookupByLibrary.simpleMessage("よくある質問"),
@ -2025,5 +2071,184 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("招待総数:"),
"webview_localization_unfinished_invitations":
MessageLookupByLibrary.simpleMessage("未完了の招待"),
"yearly_report_account_count": m123,
"yearly_report_account_expand": MessageLookupByLibrary.simpleMessage(
"すべてのアカウントを表示",
),
"yearly_report_account_most": MessageLookupByLibrary.simpleMessage(
"最も使用されたアカウント",
),
"yearly_report_account_title": MessageLookupByLibrary.simpleMessage(
"アカウント統計",
),
"yearly_report_account_total": m124,
"yearly_report_analyzing_logs": MessageLookupByLibrary.simpleMessage(
"ゲームログデータを分析中",
),
"yearly_report_card_desc": m125,
"yearly_report_card_title": m126,
"yearly_report_crash_desc": MessageLookupByLibrary.simpleMessage(
"今年の不安定な瞬間",
),
"yearly_report_crash_label": MessageLookupByLibrary.simpleMessage(
"合計クラッシュ数",
),
"yearly_report_crash_note_high": MessageLookupByLibrary.simpleMessage(
"来年はもっと安定しますように!",
),
"yearly_report_crash_note_low": MessageLookupByLibrary.simpleMessage(
"ラッキーですね!",
),
"yearly_report_crash_title": MessageLookupByLibrary.simpleMessage(
"ゲームクラッシュ回数",
),
"yearly_report_date_range": m127,
"yearly_report_disclaimer": MessageLookupByLibrary.simpleMessage(
"データはローカルログから生成され、第三者に送信されることはありません。バージョン間のログの大幅な変更により、データが不完全な場合があります。娯楽目的のみ。",
),
"yearly_report_duration_hours_minutes": m128,
"yearly_report_duration_minutes": m129,
"yearly_report_earliest_play_desc": m130,
"yearly_report_earliest_play_title": MessageLookupByLibrary.simpleMessage(
"最も早いプレイ",
),
"yearly_report_error_description": MessageLookupByLibrary.simpleMessage(
"ゲームディレクトリが正しいか、ログファイルが存在するか確認してください",
),
"yearly_report_error_title": MessageLookupByLibrary.simpleMessage(
"年間レポートを作成できません",
),
"yearly_report_generating": MessageLookupByLibrary.simpleMessage(
"年間レポートを作成中...",
),
"yearly_report_kd_death": MessageLookupByLibrary.simpleMessage("デス"),
"yearly_report_kd_kill": MessageLookupByLibrary.simpleMessage("キル"),
"yearly_report_kd_no_record": MessageLookupByLibrary.simpleMessage(
"今年はキル/デス記録が検出されませんでした",
),
"yearly_report_kd_suicide": MessageLookupByLibrary.simpleMessage("自殺"),
"yearly_report_kd_title": MessageLookupByLibrary.simpleMessage("キル統計"),
"yearly_report_latest_play_desc": m131,
"yearly_report_latest_play_title": MessageLookupByLibrary.simpleMessage(
"最も遅いプレイ",
),
"yearly_report_launch_count_desc": MessageLookupByLibrary.simpleMessage(
"今年あなたはゲームを起動しました",
),
"yearly_report_launch_count_label": MessageLookupByLibrary.simpleMessage(
"合計起動回数",
),
"yearly_report_launch_count_title": MessageLookupByLibrary.simpleMessage(
"ゲーム起動回数",
),
"yearly_report_launch_count_value": m132,
"yearly_report_location_frequent": MessageLookupByLibrary.simpleMessage(
"よく行く場所",
),
"yearly_report_location_no_record": MessageLookupByLibrary.simpleMessage(
"場所訪問記録なし",
),
"yearly_report_location_note": MessageLookupByLibrary.simpleMessage(
"インベントリ閲覧記録に基づく",
),
"yearly_report_location_title": MessageLookupByLibrary.simpleMessage(
"場所統計",
),
"yearly_report_month_format": m133,
"yearly_report_monthly_least": MessageLookupByLibrary.simpleMessage(
"最少プレイ",
),
"yearly_report_monthly_least_count": m134,
"yearly_report_monthly_most": MessageLookupByLibrary.simpleMessage("最多プレイ"),
"yearly_report_monthly_most_count": m135,
"yearly_report_monthly_title": MessageLookupByLibrary.simpleMessage("月間統計"),
"yearly_report_nav_next": MessageLookupByLibrary.simpleMessage("次へ"),
"yearly_report_nav_prev": MessageLookupByLibrary.simpleMessage("前のページ"),
"yearly_report_no_data": MessageLookupByLibrary.simpleMessage("データなし"),
"yearly_report_play_time_desc": MessageLookupByLibrary.simpleMessage(
"今年あなたは宇宙を探索しました",
),
"yearly_report_play_time_label": MessageLookupByLibrary.simpleMessage(
"合計プレイ時間",
),
"yearly_report_play_time_title": MessageLookupByLibrary.simpleMessage(
"プレイ時間",
),
"yearly_report_play_time_unit": MessageLookupByLibrary.simpleMessage("時間"),
"yearly_report_play_time_value": m136,
"yearly_report_powered_by": MessageLookupByLibrary.simpleMessage(
"SCToolbox 提供",
),
"yearly_report_session_average": MessageLookupByLibrary.simpleMessage("平均"),
"yearly_report_session_date": m137,
"yearly_report_session_longest": MessageLookupByLibrary.simpleMessage("最長"),
"yearly_report_session_note": MessageLookupByLibrary.simpleMessage(
"(最短は5分以上のセッションのみ集計)",
),
"yearly_report_session_shortest": MessageLookupByLibrary.simpleMessage(
"最短",
),
"yearly_report_session_title": MessageLookupByLibrary.simpleMessage(
"セッション時間詳細",
),
"yearly_report_streak_day_unit": MessageLookupByLibrary.simpleMessage(""),
"yearly_report_streak_offline": MessageLookupByLibrary.simpleMessage(
"連続オフライン",
),
"yearly_report_streak_play": MessageLookupByLibrary.simpleMessage("連続プレイ"),
"yearly_report_streak_title": MessageLookupByLibrary.simpleMessage("連続記録"),
"yearly_report_summary_earliest_time": MessageLookupByLibrary.simpleMessage(
"最も早い時間",
),
"yearly_report_summary_favorite_vehicle":
MessageLookupByLibrary.simpleMessage("お気に入りの乗り物"),
"yearly_report_summary_frequent_location":
MessageLookupByLibrary.simpleMessage("頻繁な場所"),
"yearly_report_summary_hottest_month": MessageLookupByLibrary.simpleMessage(
"最も活発な月",
),
"yearly_report_summary_latest_time": MessageLookupByLibrary.simpleMessage(
"最も遅い時間",
),
"yearly_report_summary_launch_game": MessageLookupByLibrary.simpleMessage(
"ゲーム起動",
),
"yearly_report_summary_longest_online":
MessageLookupByLibrary.simpleMessage("最長オンライン"),
"yearly_report_summary_respawn_count": MessageLookupByLibrary.simpleMessage(
"リスポーン回数",
),
"yearly_report_thanks_message": m138,
"yearly_report_thanks_next": m139,
"yearly_report_thanks_title": MessageLookupByLibrary.simpleMessage(
"ご愛顧ありがとうございます",
),
"yearly_report_title": m140,
"yearly_report_vehicle_destruction_count": m141,
"yearly_report_vehicle_destruction_desc":
MessageLookupByLibrary.simpleMessage("今年あなたは破壊しました"),
"yearly_report_vehicle_destruction_most":
MessageLookupByLibrary.simpleMessage("最も破壊された船"),
"yearly_report_vehicle_destruction_title":
MessageLookupByLibrary.simpleMessage("ビークル破壊統計"),
"yearly_report_vehicle_destruction_unit":
MessageLookupByLibrary.simpleMessage("隻の船"),
"yearly_report_vehicle_pilot_collapse":
MessageLookupByLibrary.simpleMessage("詳細を折りたたむ"),
"yearly_report_vehicle_pilot_count": m142,
"yearly_report_vehicle_pilot_expand": m143,
"yearly_report_vehicle_pilot_most": MessageLookupByLibrary.simpleMessage(
"最も操縦したビークル",
),
"yearly_report_vehicle_pilot_title": MessageLookupByLibrary.simpleMessage(
"ビークル操縦統計",
),
"yearly_report_welcome_hint": MessageLookupByLibrary.simpleMessage(
"下にスクロールするか、下のボタンをクリックして開始",
),
"yearly_report_welcome_subtitle": MessageLookupByLibrary.simpleMessage(
"Star Citizenでの思い出深い瞬間を振り返る",
),
"yearly_report_welcome_title": m144,
};
}

View File

@ -271,6 +271,54 @@ class MessageLookup extends MessageLookupByLibrary {
static String m122(v0) => "Просмотрщик P4K -> ${v0}";
static String m123(v0) => "Вход выполнен ${v0} раз";
static String m124(v0) => "Всего обнаружено ${v0} аккаунтов";
static String m125(year) =>
"Посмотрите статистику вашей игры в Star Citizen за ${year} год. Данные из локальных логов, пожалуйста, проверяйте на основном компьютере.";
static String m126(year) => "Ежегодный отчет ${year} (Ограниченное время)";
static String m127(v0, v1, v2, v3) => "${v0}/${v1} - ${v2}/${v3}";
static String m128(v0, v1) => "${v0} ч ${v1} мин";
static String m129(v0) => "${v0} мин";
static String m130(v0, v1) =>
"Вы начали свое космическое путешествие на рассвете ${v0}/${v1}";
static String m131(v0, v1) =>
"Поздно ночью ${v0}/${v1} вы все еще исследовали вселенную";
static String m132(v0) => "${v0} раз";
static String m133(v0) => "Месяц ${v0}";
static String m134(v0) => "Запущено только ${v0} раз";
static String m135(v0) => "Запущено ${v0} раз";
static String m136(v0) => "${v0} часов";
static String m137(v0, v1) => "${v0}/${v1}";
static String m138(year) =>
"В ${year} году мы вместе создали\\nбесчисленное количество прекрасных воспоминаний в Star Citizen";
static String m139(nextYear) => "Ждем встречи с вами в ${nextYear} году!";
static String m140(year) => "Ежегодный отчет Star Citizen за ${year} год";
static String m141(v0) => "Уничтожено ${v0} раз";
static String m142(v0) => "Пилотировался ${v0} раз";
static String m143(v0) => "Показать все ${v0} тс";
static String m144(year) => "Ежегодный отчет ${year}";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"about_action_btn_faq": MessageLookupByLibrary.simpleMessage(
@ -2280,5 +2328,206 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Всего приглашений:"),
"webview_localization_unfinished_invitations":
MessageLookupByLibrary.simpleMessage("Незавершённые приглашения"),
"yearly_report_account_count": m123,
"yearly_report_account_expand": MessageLookupByLibrary.simpleMessage(
"Показать все аккаунты",
),
"yearly_report_account_most": MessageLookupByLibrary.simpleMessage(
"Самый используемый аккаунт",
),
"yearly_report_account_title": MessageLookupByLibrary.simpleMessage(
"Статистика аккаунта",
),
"yearly_report_account_total": m124,
"yearly_report_analyzing_logs": MessageLookupByLibrary.simpleMessage(
"Анализ данных игровых журналов",
),
"yearly_report_card_desc": m125,
"yearly_report_card_title": m126,
"yearly_report_crash_desc": MessageLookupByLibrary.simpleMessage(
"Нестабильные моменты этого года",
),
"yearly_report_crash_label": MessageLookupByLibrary.simpleMessage(
"Всего сбоев",
),
"yearly_report_crash_note_high": MessageLookupByLibrary.simpleMessage(
"Надеемся, в следующем году будет стабильнее!",
),
"yearly_report_crash_note_low": MessageLookupByLibrary.simpleMessage(
"Вам повезло!",
),
"yearly_report_crash_title": MessageLookupByLibrary.simpleMessage(
"Количество сбоев игры",
),
"yearly_report_date_range": m127,
"yearly_report_disclaimer": MessageLookupByLibrary.simpleMessage(
"Данные генерируются из ваших локальных логов и не отправляются третьим лицам. Из-за значительных изменений логов в разных версиях данные могут быть неполными. Только для развлечения.",
),
"yearly_report_duration_hours_minutes": m128,
"yearly_report_duration_minutes": m129,
"yearly_report_earliest_play_desc": m130,
"yearly_report_earliest_play_title": MessageLookupByLibrary.simpleMessage(
"Самая ранняя игровая сессия",
),
"yearly_report_error_description": MessageLookupByLibrary.simpleMessage(
"Пожалуйста, убедитесь, что путь к игре верен и файлы логов существуют",
),
"yearly_report_error_title": MessageLookupByLibrary.simpleMessage(
"Не удалось создать ежегодный отчет",
),
"yearly_report_generating": MessageLookupByLibrary.simpleMessage(
"Генерация вашего ежегодного отчета...",
),
"yearly_report_kd_death": MessageLookupByLibrary.simpleMessage("Смерти"),
"yearly_report_kd_kill": MessageLookupByLibrary.simpleMessage("Убийства"),
"yearly_report_kd_no_record": MessageLookupByLibrary.simpleMessage(
"В этом году записей об убийствах/смертях не обнаружено",
),
"yearly_report_kd_suicide": MessageLookupByLibrary.simpleMessage(
"Самоубийства",
),
"yearly_report_kd_title": MessageLookupByLibrary.simpleMessage(
"Статистика убийств",
),
"yearly_report_latest_play_desc": m131,
"yearly_report_latest_play_title": MessageLookupByLibrary.simpleMessage(
"Самая поздняя игровая сессия",
),
"yearly_report_launch_count_desc": MessageLookupByLibrary.simpleMessage(
"В этом году вы запускали игру",
),
"yearly_report_launch_count_label": MessageLookupByLibrary.simpleMessage(
"Всего запусков",
),
"yearly_report_launch_count_title": MessageLookupByLibrary.simpleMessage(
"Количество запусков игры",
),
"yearly_report_launch_count_value": m132,
"yearly_report_location_frequent": MessageLookupByLibrary.simpleMessage(
"Частые локации",
),
"yearly_report_location_no_record": MessageLookupByLibrary.simpleMessage(
"Нет записей о посещении локаций",
),
"yearly_report_location_note": MessageLookupByLibrary.simpleMessage(
"Основано на записях просмотра инвентаря",
),
"yearly_report_location_title": MessageLookupByLibrary.simpleMessage(
"Статистика локаций",
),
"yearly_report_month_format": m133,
"yearly_report_monthly_least": MessageLookupByLibrary.simpleMessage(
"Меньше всего игр",
),
"yearly_report_monthly_least_count": m134,
"yearly_report_monthly_most": MessageLookupByLibrary.simpleMessage(
"Больше всего игр",
),
"yearly_report_monthly_most_count": m135,
"yearly_report_monthly_title": MessageLookupByLibrary.simpleMessage(
"Ежемесячная статистика",
),
"yearly_report_nav_next": MessageLookupByLibrary.simpleMessage(
"Продолжить",
),
"yearly_report_nav_prev": MessageLookupByLibrary.simpleMessage("Назад"),
"yearly_report_no_data": MessageLookupByLibrary.simpleMessage("Нет данных"),
"yearly_report_play_time_desc": MessageLookupByLibrary.simpleMessage(
"В этом году вы исследовали вселенную в течение",
),
"yearly_report_play_time_label": MessageLookupByLibrary.simpleMessage(
"Общее время игры",
),
"yearly_report_play_time_title": MessageLookupByLibrary.simpleMessage(
"Время игры",
),
"yearly_report_play_time_unit": MessageLookupByLibrary.simpleMessage(
"часов",
),
"yearly_report_play_time_value": m136,
"yearly_report_powered_by": MessageLookupByLibrary.simpleMessage(
"Представлено SCToolbox",
),
"yearly_report_session_average": MessageLookupByLibrary.simpleMessage(
"Среднее",
),
"yearly_report_session_date": m137,
"yearly_report_session_longest": MessageLookupByLibrary.simpleMessage(
"Самое долгое",
),
"yearly_report_session_note": MessageLookupByLibrary.simpleMessage(
"(Учитываются только сессии более 5 минут)",
),
"yearly_report_session_shortest": MessageLookupByLibrary.simpleMessage(
"Самое короткое",
),
"yearly_report_session_title": MessageLookupByLibrary.simpleMessage(
"Детали времени сессии",
),
"yearly_report_streak_day_unit": MessageLookupByLibrary.simpleMessage(
"дн.",
),
"yearly_report_streak_offline": MessageLookupByLibrary.simpleMessage(
"Серия оффлайна",
),
"yearly_report_streak_play": MessageLookupByLibrary.simpleMessage(
"Серия игр",
),
"yearly_report_streak_title": MessageLookupByLibrary.simpleMessage(
"Рекорды серий",
),
"yearly_report_summary_earliest_time": MessageLookupByLibrary.simpleMessage(
"Самое раннее время",
),
"yearly_report_summary_favorite_vehicle":
MessageLookupByLibrary.simpleMessage("Любимый транспорт"),
"yearly_report_summary_frequent_location":
MessageLookupByLibrary.simpleMessage("Частая локация"),
"yearly_report_summary_hottest_month": MessageLookupByLibrary.simpleMessage(
"Самый жаркий месяц",
),
"yearly_report_summary_latest_time": MessageLookupByLibrary.simpleMessage(
"Самое позднее время",
),
"yearly_report_summary_launch_game": MessageLookupByLibrary.simpleMessage(
"Запуск игры",
),
"yearly_report_summary_longest_online":
MessageLookupByLibrary.simpleMessage("Дольше всего онлайн"),
"yearly_report_summary_respawn_count": MessageLookupByLibrary.simpleMessage(
"Количество возрождений",
),
"yearly_report_thanks_message": m138,
"yearly_report_thanks_next": m139,
"yearly_report_thanks_title": MessageLookupByLibrary.simpleMessage(
"Спасибо, что вы с нами",
),
"yearly_report_title": m140,
"yearly_report_vehicle_destruction_count": m141,
"yearly_report_vehicle_destruction_desc":
MessageLookupByLibrary.simpleMessage("В этом году вы уничтожили"),
"yearly_report_vehicle_destruction_most":
MessageLookupByLibrary.simpleMessage("Самый уничтожаемый корабль"),
"yearly_report_vehicle_destruction_title":
MessageLookupByLibrary.simpleMessage("Статистика уничтожения техники"),
"yearly_report_vehicle_destruction_unit":
MessageLookupByLibrary.simpleMessage("кораблей"),
"yearly_report_vehicle_pilot_collapse":
MessageLookupByLibrary.simpleMessage("Свернуть детали"),
"yearly_report_vehicle_pilot_count": m142,
"yearly_report_vehicle_pilot_expand": m143,
"yearly_report_vehicle_pilot_most": MessageLookupByLibrary.simpleMessage(
"Самый пилотируемый транспорт",
),
"yearly_report_vehicle_pilot_title": MessageLookupByLibrary.simpleMessage(
"Статистика пилотирования",
),
"yearly_report_welcome_hint": MessageLookupByLibrary.simpleMessage(
"Прокрутите вниз или нажмите кнопку ниже, чтобы начать",
),
"yearly_report_welcome_subtitle": MessageLookupByLibrary.simpleMessage(
"Вспомните свои незабываемые моменты в Star Citizen",
),
"yearly_report_welcome_title": m144,
};
}

View File

@ -277,6 +277,50 @@ class MessageLookup extends MessageLookupByLibrary {
static String m122(v0) => "P4K 查看器 -> ${v0}";
static String m123(v0) => "登录了 ${v0}";
static String m124(v0) => "共检测到 ${v0} 个账号";
static String m125(year) => "查看您在${year}年的星际公民游玩统计,数据来自本地 log ,请确保在常用电脑上查看。";
static String m126(year) => "${year} 年度报告(限时)";
static String m127(v0, v1, v2, v3) => "${v0}${v1}日 - ${v2}${v3}";
static String m128(v0, v1) => "${v0} 小时 ${v1} 分钟";
static String m129(v0) => "${v0} 分钟";
static String m130(v0, v1) => "您在清晨 ${v0}${v1} 日开始了星际之旅";
static String m131(v0, v1) => "深夜 ${v0}${v1} 日还在探索宇宙";
static String m132(v0) => "${v0}";
static String m133(v0) => "${v0}";
static String m134(v0) => "仅启动 ${v0}";
static String m135(v0) => "启动了 ${v0}";
static String m136(v0) => "${v0} 小时";
static String m137(v0, v1) => "${v0}${v1}";
static String m138(year) => "${year} 年,我们一起在星际公民中\\n创造了无数精彩回忆";
static String m139(nextYear) => "期待 ${nextYear} 年继续与您相伴!";
static String m140(year) => "星际公民 ${year} 年度报告";
static String m141(v0) => "炸了 ${v0}";
static String m142(v0) => "驾驶了 ${v0}";
static String m143(v0) => "查看全部 ${v0} 个载具";
static String m144(year) => "${year} 年度报告";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"about_action_btn_faq": MessageLookupByLibrary.simpleMessage("常见问题"),
@ -2089,5 +2133,176 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("总邀请数:"),
"webview_localization_unfinished_invitations":
MessageLookupByLibrary.simpleMessage("未完成的邀请"),
"yearly_report_account_count": m123,
"yearly_report_account_expand": MessageLookupByLibrary.simpleMessage(
"查看全部账号",
),
"yearly_report_account_most": MessageLookupByLibrary.simpleMessage(
"最常使用的账号",
),
"yearly_report_account_title": MessageLookupByLibrary.simpleMessage("账号统计"),
"yearly_report_account_total": m124,
"yearly_report_analyzing_logs": MessageLookupByLibrary.simpleMessage(
"正在分析游戏日志数据",
),
"yearly_report_card_desc": m125,
"yearly_report_card_title": m126,
"yearly_report_crash_desc": MessageLookupByLibrary.simpleMessage(
"今年游戏不太稳定的时刻",
),
"yearly_report_crash_label": MessageLookupByLibrary.simpleMessage("累计崩溃"),
"yearly_report_crash_note_high": MessageLookupByLibrary.simpleMessage(
"希望明年能更稳定!",
),
"yearly_report_crash_note_low": MessageLookupByLibrary.simpleMessage(
"运气不错!",
),
"yearly_report_crash_title": MessageLookupByLibrary.simpleMessage("游戏崩溃次数"),
"yearly_report_date_range": m127,
"yearly_report_disclaimer": MessageLookupByLibrary.simpleMessage(
"数据使用您的本地日志生成,不会发送到任何第三方。因跨版本 Log 改动较大,数据可能不完整,仅供娱乐。",
),
"yearly_report_duration_hours_minutes": m128,
"yearly_report_duration_minutes": m129,
"yearly_report_earliest_play_desc": m130,
"yearly_report_earliest_play_title": MessageLookupByLibrary.simpleMessage(
"最早的一次游玩",
),
"yearly_report_error_description": MessageLookupByLibrary.simpleMessage(
"请确保游戏目录正确且存在日志文件",
),
"yearly_report_error_title": MessageLookupByLibrary.simpleMessage(
"无法生成年度报告",
),
"yearly_report_generating": MessageLookupByLibrary.simpleMessage(
"正在生成您的年度报告...",
),
"yearly_report_kd_death": MessageLookupByLibrary.simpleMessage("死亡"),
"yearly_report_kd_kill": MessageLookupByLibrary.simpleMessage("击杀"),
"yearly_report_kd_no_record": MessageLookupByLibrary.simpleMessage(
"今年没有检测到击杀/死亡记录",
),
"yearly_report_kd_suicide": MessageLookupByLibrary.simpleMessage("自杀"),
"yearly_report_kd_title": MessageLookupByLibrary.simpleMessage("击杀统计"),
"yearly_report_latest_play_desc": m131,
"yearly_report_latest_play_title": MessageLookupByLibrary.simpleMessage(
"最晚的一次游玩",
),
"yearly_report_launch_count_desc": MessageLookupByLibrary.simpleMessage(
"今年您启动了游戏",
),
"yearly_report_launch_count_label": MessageLookupByLibrary.simpleMessage(
"累计启动",
),
"yearly_report_launch_count_title": MessageLookupByLibrary.simpleMessage(
"游戏启动次数",
),
"yearly_report_launch_count_value": m132,
"yearly_report_location_frequent": MessageLookupByLibrary.simpleMessage(
"常去的地点",
),
"yearly_report_location_no_record": MessageLookupByLibrary.simpleMessage(
"暂无地点访问记录",
),
"yearly_report_location_note": MessageLookupByLibrary.simpleMessage(
"基于库存查看记录统计",
),
"yearly_report_location_title": MessageLookupByLibrary.simpleMessage(
"地点统计",
),
"yearly_report_month_format": m133,
"yearly_report_monthly_least": MessageLookupByLibrary.simpleMessage("游玩最少"),
"yearly_report_monthly_least_count": m134,
"yearly_report_monthly_most": MessageLookupByLibrary.simpleMessage("游玩最多"),
"yearly_report_monthly_most_count": m135,
"yearly_report_monthly_title": MessageLookupByLibrary.simpleMessage("月份统计"),
"yearly_report_nav_next": MessageLookupByLibrary.simpleMessage("继续查看"),
"yearly_report_nav_prev": MessageLookupByLibrary.simpleMessage("上一页"),
"yearly_report_no_data": MessageLookupByLibrary.simpleMessage("暂无数据"),
"yearly_report_play_time_desc": MessageLookupByLibrary.simpleMessage(
"今年您在宇宙中遨游了",
),
"yearly_report_play_time_label": MessageLookupByLibrary.simpleMessage(
"累计游玩",
),
"yearly_report_play_time_title": MessageLookupByLibrary.simpleMessage(
"游玩时长",
),
"yearly_report_play_time_unit": MessageLookupByLibrary.simpleMessage("小时"),
"yearly_report_play_time_value": m136,
"yearly_report_powered_by": MessageLookupByLibrary.simpleMessage(
"由 SC 汉化盒子为您呈现",
),
"yearly_report_session_average": MessageLookupByLibrary.simpleMessage("平均"),
"yearly_report_session_date": m137,
"yearly_report_session_longest": MessageLookupByLibrary.simpleMessage("最长"),
"yearly_report_session_note": MessageLookupByLibrary.simpleMessage(
"(最短仅统计超过 5 分钟的游戏)",
),
"yearly_report_session_shortest": MessageLookupByLibrary.simpleMessage(
"最短",
),
"yearly_report_session_title": MessageLookupByLibrary.simpleMessage(
"游玩时长详情",
),
"yearly_report_streak_day_unit": MessageLookupByLibrary.simpleMessage(""),
"yearly_report_streak_offline": MessageLookupByLibrary.simpleMessage(
"连续离线",
),
"yearly_report_streak_play": MessageLookupByLibrary.simpleMessage("连续游玩"),
"yearly_report_streak_title": MessageLookupByLibrary.simpleMessage("连续记录"),
"yearly_report_summary_earliest_time": MessageLookupByLibrary.simpleMessage(
"最早时刻",
),
"yearly_report_summary_favorite_vehicle":
MessageLookupByLibrary.simpleMessage("最爱载具"),
"yearly_report_summary_frequent_location":
MessageLookupByLibrary.simpleMessage("常去位置"),
"yearly_report_summary_hottest_month": MessageLookupByLibrary.simpleMessage(
"最热月",
),
"yearly_report_summary_latest_time": MessageLookupByLibrary.simpleMessage(
"最晚时刻",
),
"yearly_report_summary_launch_game": MessageLookupByLibrary.simpleMessage(
"启动游戏",
),
"yearly_report_summary_longest_online":
MessageLookupByLibrary.simpleMessage("最长在线"),
"yearly_report_summary_respawn_count": MessageLookupByLibrary.simpleMessage(
"重开次数",
),
"yearly_report_thanks_message": m138,
"yearly_report_thanks_next": m139,
"yearly_report_thanks_title": MessageLookupByLibrary.simpleMessage(
"感谢您的陪伴",
),
"yearly_report_title": m140,
"yearly_report_vehicle_destruction_count": m141,
"yearly_report_vehicle_destruction_desc":
MessageLookupByLibrary.simpleMessage("今年您共炸了"),
"yearly_report_vehicle_destruction_most":
MessageLookupByLibrary.simpleMessage("炸的最多的船"),
"yearly_report_vehicle_destruction_title":
MessageLookupByLibrary.simpleMessage("载具损毁统计"),
"yearly_report_vehicle_destruction_unit":
MessageLookupByLibrary.simpleMessage("艘船"),
"yearly_report_vehicle_pilot_collapse":
MessageLookupByLibrary.simpleMessage("收起详情"),
"yearly_report_vehicle_pilot_count": m142,
"yearly_report_vehicle_pilot_expand": m143,
"yearly_report_vehicle_pilot_most": MessageLookupByLibrary.simpleMessage(
"最常驾驶的载具",
),
"yearly_report_vehicle_pilot_title": MessageLookupByLibrary.simpleMessage(
"载具驾驶统计",
),
"yearly_report_welcome_hint": MessageLookupByLibrary.simpleMessage(
"向下滚动或点击下方按钮开始",
),
"yearly_report_welcome_subtitle": MessageLookupByLibrary.simpleMessage(
"回顾您在星际公民中的精彩时刻",
),
"yearly_report_welcome_title": m144,
};
}

View File

@ -249,6 +249,50 @@ class MessageLookup extends MessageLookupByLibrary {
static String m122(v0) => "P4K 查看器 -> ${v0}";
static String m123(v0) => "登入了 ${v0}";
static String m124(v0) => "共檢測到 ${v0} 個帳號";
static String m125(year) => "查看您在${year}年的星際公民遊玩統計,數據來自本地 log ,請確保在常用電腦上查看。";
static String m126(year) => "${year} 年度報告(限時)";
static String m127(v0, v1, v2, v3) => "${v0}${v1}日 - ${v2}${v3}";
static String m128(v0, v1) => "${v0} 小時 ${v1} 分鐘";
static String m129(v0) => "${v0} 分鐘";
static String m130(v0, v1) => "您在清晨 ${v0}${v1} 日開始了星際之旅";
static String m131(v0, v1) => "深夜 ${v0}${v1} 日還在探索宇宙";
static String m132(v0) => "${v0}";
static String m133(v0) => "${v0}";
static String m134(v0) => "僅啟動 ${v0}";
static String m135(v0) => "啟動了 ${v0}";
static String m136(v0) => "${v0} 小時";
static String m137(v0, v1) => "${v0}${v1}";
static String m138(year) => "${year} 年,我們一起在星際公民中\\n創造了無數精彩回憶";
static String m139(nextYear) => "期待 ${nextYear} 年繼續與您相伴!";
static String m140(year) => "星際公民 ${year} 年度報告";
static String m141(v0) => "炸了 ${v0}";
static String m142(v0) => "駕駛了 ${v0}";
static String m143(v0) => "查看全部 ${v0} 個載具";
static String m144(year) => "${year} 年度報告";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"about_action_btn_faq": MessageLookupByLibrary.simpleMessage("常見問題"),
@ -1907,5 +1951,176 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("總邀請數:"),
"webview_localization_unfinished_invitations":
MessageLookupByLibrary.simpleMessage("未完成的邀請"),
"yearly_report_account_count": m123,
"yearly_report_account_expand": MessageLookupByLibrary.simpleMessage(
"查看全部帳號",
),
"yearly_report_account_most": MessageLookupByLibrary.simpleMessage(
"最常使用的帳號",
),
"yearly_report_account_title": MessageLookupByLibrary.simpleMessage("帳號統計"),
"yearly_report_account_total": m124,
"yearly_report_analyzing_logs": MessageLookupByLibrary.simpleMessage(
"正在分析遊戲日誌數據",
),
"yearly_report_card_desc": m125,
"yearly_report_card_title": m126,
"yearly_report_crash_desc": MessageLookupByLibrary.simpleMessage(
"今年遊戲不太穩定的時刻",
),
"yearly_report_crash_label": MessageLookupByLibrary.simpleMessage("累計崩潰"),
"yearly_report_crash_note_high": MessageLookupByLibrary.simpleMessage(
"希望明年能更穩定!",
),
"yearly_report_crash_note_low": MessageLookupByLibrary.simpleMessage(
"運氣不錯!",
),
"yearly_report_crash_title": MessageLookupByLibrary.simpleMessage("遊戲崩潰次數"),
"yearly_report_date_range": m127,
"yearly_report_disclaimer": MessageLookupByLibrary.simpleMessage(
"數據使用您的本地日誌生成,不會發送到任何第三方。因跨版本 Log 改動較大,數據可能不完整,僅供娛樂。",
),
"yearly_report_duration_hours_minutes": m128,
"yearly_report_duration_minutes": m129,
"yearly_report_earliest_play_desc": m130,
"yearly_report_earliest_play_title": MessageLookupByLibrary.simpleMessage(
"最早的一次遊玩",
),
"yearly_report_error_description": MessageLookupByLibrary.simpleMessage(
"請確保遊戲目錄正確且存在日誌文件",
),
"yearly_report_error_title": MessageLookupByLibrary.simpleMessage(
"無法生成年度報告",
),
"yearly_report_generating": MessageLookupByLibrary.simpleMessage(
"正在生成您的年度報告...",
),
"yearly_report_kd_death": MessageLookupByLibrary.simpleMessage("死亡"),
"yearly_report_kd_kill": MessageLookupByLibrary.simpleMessage("擊殺"),
"yearly_report_kd_no_record": MessageLookupByLibrary.simpleMessage(
"今年沒有檢測到擊殺/死亡記錄",
),
"yearly_report_kd_suicide": MessageLookupByLibrary.simpleMessage("自殺"),
"yearly_report_kd_title": MessageLookupByLibrary.simpleMessage("擊殺統計"),
"yearly_report_latest_play_desc": m131,
"yearly_report_latest_play_title": MessageLookupByLibrary.simpleMessage(
"最晚的一次遊玩",
),
"yearly_report_launch_count_desc": MessageLookupByLibrary.simpleMessage(
"今年您啟動了遊戲",
),
"yearly_report_launch_count_label": MessageLookupByLibrary.simpleMessage(
"累計啟動",
),
"yearly_report_launch_count_title": MessageLookupByLibrary.simpleMessage(
"遊戲啟動次數",
),
"yearly_report_launch_count_value": m132,
"yearly_report_location_frequent": MessageLookupByLibrary.simpleMessage(
"常去的地點",
),
"yearly_report_location_no_record": MessageLookupByLibrary.simpleMessage(
"暫無地點訪問記錄",
),
"yearly_report_location_note": MessageLookupByLibrary.simpleMessage(
"基於庫存查看記錄統計",
),
"yearly_report_location_title": MessageLookupByLibrary.simpleMessage(
"地點統計",
),
"yearly_report_month_format": m133,
"yearly_report_monthly_least": MessageLookupByLibrary.simpleMessage("遊玩最少"),
"yearly_report_monthly_least_count": m134,
"yearly_report_monthly_most": MessageLookupByLibrary.simpleMessage("遊玩最多"),
"yearly_report_monthly_most_count": m135,
"yearly_report_monthly_title": MessageLookupByLibrary.simpleMessage("月份統計"),
"yearly_report_nav_next": MessageLookupByLibrary.simpleMessage("繼續查看"),
"yearly_report_nav_prev": MessageLookupByLibrary.simpleMessage("上一頁"),
"yearly_report_no_data": MessageLookupByLibrary.simpleMessage("暫無數據"),
"yearly_report_play_time_desc": MessageLookupByLibrary.simpleMessage(
"今年您在宇宙中遨遊了",
),
"yearly_report_play_time_label": MessageLookupByLibrary.simpleMessage(
"累計遊玩",
),
"yearly_report_play_time_title": MessageLookupByLibrary.simpleMessage(
"遊玩時長",
),
"yearly_report_play_time_unit": MessageLookupByLibrary.simpleMessage("小時"),
"yearly_report_play_time_value": m136,
"yearly_report_powered_by": MessageLookupByLibrary.simpleMessage(
"由 SC工具箱為您呈現",
),
"yearly_report_session_average": MessageLookupByLibrary.simpleMessage("平均"),
"yearly_report_session_date": m137,
"yearly_report_session_longest": MessageLookupByLibrary.simpleMessage("最長"),
"yearly_report_session_note": MessageLookupByLibrary.simpleMessage(
"(最短僅統計超過 5 分鐘的遊戲)",
),
"yearly_report_session_shortest": MessageLookupByLibrary.simpleMessage(
"最短",
),
"yearly_report_session_title": MessageLookupByLibrary.simpleMessage(
"遊玩時長詳情",
),
"yearly_report_streak_day_unit": MessageLookupByLibrary.simpleMessage(""),
"yearly_report_streak_offline": MessageLookupByLibrary.simpleMessage(
"連續離線",
),
"yearly_report_streak_play": MessageLookupByLibrary.simpleMessage("連續遊玩"),
"yearly_report_streak_title": MessageLookupByLibrary.simpleMessage("連續記錄"),
"yearly_report_summary_earliest_time": MessageLookupByLibrary.simpleMessage(
"最早時刻",
),
"yearly_report_summary_favorite_vehicle":
MessageLookupByLibrary.simpleMessage("最愛載具"),
"yearly_report_summary_frequent_location":
MessageLookupByLibrary.simpleMessage("常去位置"),
"yearly_report_summary_hottest_month": MessageLookupByLibrary.simpleMessage(
"最熱月",
),
"yearly_report_summary_latest_time": MessageLookupByLibrary.simpleMessage(
"最晚時刻",
),
"yearly_report_summary_launch_game": MessageLookupByLibrary.simpleMessage(
"啟動遊戲",
),
"yearly_report_summary_longest_online":
MessageLookupByLibrary.simpleMessage("最長在線"),
"yearly_report_summary_respawn_count": MessageLookupByLibrary.simpleMessage(
"重開次數",
),
"yearly_report_thanks_message": m138,
"yearly_report_thanks_next": m139,
"yearly_report_thanks_title": MessageLookupByLibrary.simpleMessage(
"感謝您的陪伴",
),
"yearly_report_title": m140,
"yearly_report_vehicle_destruction_count": m141,
"yearly_report_vehicle_destruction_desc":
MessageLookupByLibrary.simpleMessage("今年您共炸了"),
"yearly_report_vehicle_destruction_most":
MessageLookupByLibrary.simpleMessage("炸的最多的船"),
"yearly_report_vehicle_destruction_title":
MessageLookupByLibrary.simpleMessage("載具損毀統計"),
"yearly_report_vehicle_destruction_unit":
MessageLookupByLibrary.simpleMessage("艘船"),
"yearly_report_vehicle_pilot_collapse":
MessageLookupByLibrary.simpleMessage("收起詳情"),
"yearly_report_vehicle_pilot_count": m142,
"yearly_report_vehicle_pilot_expand": m143,
"yearly_report_vehicle_pilot_most": MessageLookupByLibrary.simpleMessage(
"最常駕駛的載具",
),
"yearly_report_vehicle_pilot_title": MessageLookupByLibrary.simpleMessage(
"載具駕駛統計",
),
"yearly_report_welcome_hint": MessageLookupByLibrary.simpleMessage(
"向下滾動或點擊下方按鈕開始",
),
"yearly_report_welcome_subtitle": MessageLookupByLibrary.simpleMessage(
"回顧您在星際公民中的精彩時刻",
),
"yearly_report_welcome_title": m144,
};
}

View File

@ -8676,6 +8676,876 @@ class S {
args: [],
);
}
/// `Star Citizen {year} Yearly Report`
String yearly_report_title(Object year) {
return Intl.message(
'Star Citizen $year Yearly Report',
name: 'yearly_report_title',
desc: '',
args: [year],
);
}
/// `Generating your yearly report...`
String get yearly_report_generating {
return Intl.message(
'Generating your yearly report...',
name: 'yearly_report_generating',
desc: '',
args: [],
);
}
/// `Analyzing game log data`
String get yearly_report_analyzing_logs {
return Intl.message(
'Analyzing game log data',
name: 'yearly_report_analyzing_logs',
desc: '',
args: [],
);
}
/// `Unable to generate yearly report`
String get yearly_report_error_title {
return Intl.message(
'Unable to generate yearly report',
name: 'yearly_report_error_title',
desc: '',
args: [],
);
}
/// `Please ensure the game directory is correct and log files exist`
String get yearly_report_error_description {
return Intl.message(
'Please ensure the game directory is correct and log files exist',
name: 'yearly_report_error_description',
desc: '',
args: [],
);
}
/// `Previous Page`
String get yearly_report_nav_prev {
return Intl.message(
'Previous Page',
name: 'yearly_report_nav_prev',
desc: '',
args: [],
);
}
/// `Continue`
String get yearly_report_nav_next {
return Intl.message(
'Continue',
name: 'yearly_report_nav_next',
desc: '',
args: [],
);
}
/// `{year} Yearly Report`
String yearly_report_welcome_title(Object year) {
return Intl.message(
'$year Yearly Report',
name: 'yearly_report_welcome_title',
desc: '',
args: [year],
);
}
/// `Relive your memorable moments in Star Citizen`
String get yearly_report_welcome_subtitle {
return Intl.message(
'Relive your memorable moments in Star Citizen',
name: 'yearly_report_welcome_subtitle',
desc: '',
args: [],
);
}
/// `Scroll down or click the button below to start`
String get yearly_report_welcome_hint {
return Intl.message(
'Scroll down or click the button below to start',
name: 'yearly_report_welcome_hint',
desc: '',
args: [],
);
}
/// `Game Launch Count`
String get yearly_report_launch_count_title {
return Intl.message(
'Game Launch Count',
name: 'yearly_report_launch_count_title',
desc: '',
args: [],
);
}
/// `This year you launched the game`
String get yearly_report_launch_count_desc {
return Intl.message(
'This year you launched the game',
name: 'yearly_report_launch_count_desc',
desc: '',
args: [],
);
}
/// `Total Launches`
String get yearly_report_launch_count_label {
return Intl.message(
'Total Launches',
name: 'yearly_report_launch_count_label',
desc: '',
args: [],
);
}
/// `{v0} times`
String yearly_report_launch_count_value(Object v0) {
return Intl.message(
'$v0 times',
name: 'yearly_report_launch_count_value',
desc: '',
args: [v0],
);
}
/// `Play Time`
String get yearly_report_play_time_title {
return Intl.message(
'Play Time',
name: 'yearly_report_play_time_title',
desc: '',
args: [],
);
}
/// `This year you explored the universe for`
String get yearly_report_play_time_desc {
return Intl.message(
'This year you explored the universe for',
name: 'yearly_report_play_time_desc',
desc: '',
args: [],
);
}
/// `hours`
String get yearly_report_play_time_unit {
return Intl.message(
'hours',
name: 'yearly_report_play_time_unit',
desc: '',
args: [],
);
}
/// `Total Playtime`
String get yearly_report_play_time_label {
return Intl.message(
'Total Playtime',
name: 'yearly_report_play_time_label',
desc: '',
args: [],
);
}
/// `{v0} hours`
String yearly_report_play_time_value(Object v0) {
return Intl.message(
'$v0 hours',
name: 'yearly_report_play_time_value',
desc: '',
args: [v0],
);
}
/// `Game Crash Count`
String get yearly_report_crash_title {
return Intl.message(
'Game Crash Count',
name: 'yearly_report_crash_title',
desc: '',
args: [],
);
}
/// `Unstable moments this year`
String get yearly_report_crash_desc {
return Intl.message(
'Unstable moments this year',
name: 'yearly_report_crash_desc',
desc: '',
args: [],
);
}
/// `Total Crashes`
String get yearly_report_crash_label {
return Intl.message(
'Total Crashes',
name: 'yearly_report_crash_label',
desc: '',
args: [],
);
}
/// `Hope it's more stable next year!`
String get yearly_report_crash_note_high {
return Intl.message(
'Hope it\'s more stable next year!',
name: 'yearly_report_crash_note_high',
desc: '',
args: [],
);
}
/// `Lucky you!`
String get yearly_report_crash_note_low {
return Intl.message(
'Lucky you!',
name: 'yearly_report_crash_note_low',
desc: '',
args: [],
);
}
/// `Kill Statistics`
String get yearly_report_kd_title {
return Intl.message(
'Kill Statistics',
name: 'yearly_report_kd_title',
desc: '',
args: [],
);
}
/// `Kills`
String get yearly_report_kd_kill {
return Intl.message(
'Kills',
name: 'yearly_report_kd_kill',
desc: '',
args: [],
);
}
/// `Deaths`
String get yearly_report_kd_death {
return Intl.message(
'Deaths',
name: 'yearly_report_kd_death',
desc: '',
args: [],
);
}
/// `Suicides`
String get yearly_report_kd_suicide {
return Intl.message(
'Suicides',
name: 'yearly_report_kd_suicide',
desc: '',
args: [],
);
}
/// `No kill/death records detected this year`
String get yearly_report_kd_no_record {
return Intl.message(
'No kill/death records detected this year',
name: 'yearly_report_kd_no_record',
desc: '',
args: [],
);
}
/// `No data available`
String get yearly_report_no_data {
return Intl.message(
'No data available',
name: 'yearly_report_no_data',
desc: '',
args: [],
);
}
/// `Earliest Play Session`
String get yearly_report_earliest_play_title {
return Intl.message(
'Earliest Play Session',
name: 'yearly_report_earliest_play_title',
desc: '',
args: [],
);
}
/// `You started your space journey at dawn on {v0}/{v1}`
String yearly_report_earliest_play_desc(Object v0, Object v1) {
return Intl.message(
'You started your space journey at dawn on $v0/$v1',
name: 'yearly_report_earliest_play_desc',
desc: '',
args: [v0, v1],
);
}
/// `Latest Play Session`
String get yearly_report_latest_play_title {
return Intl.message(
'Latest Play Session',
name: 'yearly_report_latest_play_title',
desc: '',
args: [],
);
}
/// `Late night on {v0}/{v1}, you were still exploring the universe`
String yearly_report_latest_play_desc(Object v0, Object v1) {
return Intl.message(
'Late night on $v0/$v1, you were still exploring the universe',
name: 'yearly_report_latest_play_desc',
desc: '',
args: [v0, v1],
);
}
/// `Vehicle Destruction Statistics`
String get yearly_report_vehicle_destruction_title {
return Intl.message(
'Vehicle Destruction Statistics',
name: 'yearly_report_vehicle_destruction_title',
desc: '',
args: [],
);
}
/// `This year you destroyed`
String get yearly_report_vehicle_destruction_desc {
return Intl.message(
'This year you destroyed',
name: 'yearly_report_vehicle_destruction_desc',
desc: '',
args: [],
);
}
/// `ships`
String get yearly_report_vehicle_destruction_unit {
return Intl.message(
'ships',
name: 'yearly_report_vehicle_destruction_unit',
desc: '',
args: [],
);
}
/// `Most destroyed ship`
String get yearly_report_vehicle_destruction_most {
return Intl.message(
'Most destroyed ship',
name: 'yearly_report_vehicle_destruction_most',
desc: '',
args: [],
);
}
/// `Destroyed {v0} times`
String yearly_report_vehicle_destruction_count(Object v0) {
return Intl.message(
'Destroyed $v0 times',
name: 'yearly_report_vehicle_destruction_count',
desc: '',
args: [v0],
);
}
/// `Vehicle Piloting Statistics`
String get yearly_report_vehicle_pilot_title {
return Intl.message(
'Vehicle Piloting Statistics',
name: 'yearly_report_vehicle_pilot_title',
desc: '',
args: [],
);
}
/// `Most piloted vehicle`
String get yearly_report_vehicle_pilot_most {
return Intl.message(
'Most piloted vehicle',
name: 'yearly_report_vehicle_pilot_most',
desc: '',
args: [],
);
}
/// `Piloted {v0} times`
String yearly_report_vehicle_pilot_count(Object v0) {
return Intl.message(
'Piloted $v0 times',
name: 'yearly_report_vehicle_pilot_count',
desc: '',
args: [v0],
);
}
/// `Collapse details`
String get yearly_report_vehicle_pilot_collapse {
return Intl.message(
'Collapse details',
name: 'yearly_report_vehicle_pilot_collapse',
desc: '',
args: [],
);
}
/// `View all {v0} vehicles`
String yearly_report_vehicle_pilot_expand(Object v0) {
return Intl.message(
'View all $v0 vehicles',
name: 'yearly_report_vehicle_pilot_expand',
desc: '',
args: [v0],
);
}
/// `Account Statistics`
String get yearly_report_account_title {
return Intl.message(
'Account Statistics',
name: 'yearly_report_account_title',
desc: '',
args: [],
);
}
/// `Most used account`
String get yearly_report_account_most {
return Intl.message(
'Most used account',
name: 'yearly_report_account_most',
desc: '',
args: [],
);
}
/// `Logged in {v0} times`
String yearly_report_account_count(Object v0) {
return Intl.message(
'Logged in $v0 times',
name: 'yearly_report_account_count',
desc: '',
args: [v0],
);
}
/// `Detected {v0} accounts in total`
String yearly_report_account_total(Object v0) {
return Intl.message(
'Detected $v0 accounts in total',
name: 'yearly_report_account_total',
desc: '',
args: [v0],
);
}
/// `View all accounts`
String get yearly_report_account_expand {
return Intl.message(
'View all accounts',
name: 'yearly_report_account_expand',
desc: '',
args: [],
);
}
/// `{v0} hours {v1} minutes`
String yearly_report_duration_hours_minutes(Object v0, Object v1) {
return Intl.message(
'$v0 hours $v1 minutes',
name: 'yearly_report_duration_hours_minutes',
desc: '',
args: [v0, v1],
);
}
/// `{v0} minutes`
String yearly_report_duration_minutes(Object v0) {
return Intl.message(
'$v0 minutes',
name: 'yearly_report_duration_minutes',
desc: '',
args: [v0],
);
}
/// `Session Time Details`
String get yearly_report_session_title {
return Intl.message(
'Session Time Details',
name: 'yearly_report_session_title',
desc: '',
args: [],
);
}
/// `Average`
String get yearly_report_session_average {
return Intl.message(
'Average',
name: 'yearly_report_session_average',
desc: '',
args: [],
);
}
/// `Longest`
String get yearly_report_session_longest {
return Intl.message(
'Longest',
name: 'yearly_report_session_longest',
desc: '',
args: [],
);
}
/// `{v0}/{v1}`
String yearly_report_session_date(Object v0, Object v1) {
return Intl.message(
'$v0/$v1',
name: 'yearly_report_session_date',
desc: '',
args: [v0, v1],
);
}
/// `Shortest`
String get yearly_report_session_shortest {
return Intl.message(
'Shortest',
name: 'yearly_report_session_shortest',
desc: '',
args: [],
);
}
/// `(Shortest only counts sessions over 5 minutes)`
String get yearly_report_session_note {
return Intl.message(
'(Shortest only counts sessions over 5 minutes)',
name: 'yearly_report_session_note',
desc: '',
args: [],
);
}
/// `Month {v0}`
String yearly_report_month_format(Object v0) {
return Intl.message(
'Month $v0',
name: 'yearly_report_month_format',
desc: '',
args: [v0],
);
}
/// `Monthly Statistics`
String get yearly_report_monthly_title {
return Intl.message(
'Monthly Statistics',
name: 'yearly_report_monthly_title',
desc: '',
args: [],
);
}
/// `Most played`
String get yearly_report_monthly_most {
return Intl.message(
'Most played',
name: 'yearly_report_monthly_most',
desc: '',
args: [],
);
}
/// `Launched {v0} times`
String yearly_report_monthly_most_count(Object v0) {
return Intl.message(
'Launched $v0 times',
name: 'yearly_report_monthly_most_count',
desc: '',
args: [v0],
);
}
/// `Least played`
String get yearly_report_monthly_least {
return Intl.message(
'Least played',
name: 'yearly_report_monthly_least',
desc: '',
args: [],
);
}
/// `Only launched {v0} times`
String yearly_report_monthly_least_count(Object v0) {
return Intl.message(
'Only launched $v0 times',
name: 'yearly_report_monthly_least_count',
desc: '',
args: [v0],
);
}
/// `{v0}/{v1} - {v2}/{v3}`
String yearly_report_date_range(Object v0, Object v1, Object v2, Object v3) {
return Intl.message(
'$v0/$v1 - $v2/$v3',
name: 'yearly_report_date_range',
desc: '',
args: [v0, v1, v2, v3],
);
}
/// `Streak Records`
String get yearly_report_streak_title {
return Intl.message(
'Streak Records',
name: 'yearly_report_streak_title',
desc: '',
args: [],
);
}
/// `Consecutive Play`
String get yearly_report_streak_play {
return Intl.message(
'Consecutive Play',
name: 'yearly_report_streak_play',
desc: '',
args: [],
);
}
/// `days`
String get yearly_report_streak_day_unit {
return Intl.message(
'days',
name: 'yearly_report_streak_day_unit',
desc: '',
args: [],
);
}
/// `Consecutive Offline`
String get yearly_report_streak_offline {
return Intl.message(
'Consecutive Offline',
name: 'yearly_report_streak_offline',
desc: '',
args: [],
);
}
/// `Location Statistics`
String get yearly_report_location_title {
return Intl.message(
'Location Statistics',
name: 'yearly_report_location_title',
desc: '',
args: [],
);
}
/// `No location visit records`
String get yearly_report_location_no_record {
return Intl.message(
'No location visit records',
name: 'yearly_report_location_no_record',
desc: '',
args: [],
);
}
/// `Frequent Locations`
String get yearly_report_location_frequent {
return Intl.message(
'Frequent Locations',
name: 'yearly_report_location_frequent',
desc: '',
args: [],
);
}
/// `Based on inventory viewing records`
String get yearly_report_location_note {
return Intl.message(
'Based on inventory viewing records',
name: 'yearly_report_location_note',
desc: '',
args: [],
);
}
/// `Thank You for Being With Us`
String get yearly_report_thanks_title {
return Intl.message(
'Thank You for Being With Us',
name: 'yearly_report_thanks_title',
desc: '',
args: [],
);
}
/// `In {year}, together we created\ncountless wonderful memories in Star Citizen`
String yearly_report_thanks_message(Object year) {
return Intl.message(
'In $year, together we created\\ncountless wonderful memories in Star Citizen',
name: 'yearly_report_thanks_message',
desc: '',
args: [year],
);
}
/// `Looking forward to {nextYear} with you!`
String yearly_report_thanks_next(Object nextYear) {
return Intl.message(
'Looking forward to $nextYear with you!',
name: 'yearly_report_thanks_next',
desc: '',
args: [nextYear],
);
}
/// `Launch Game`
String get yearly_report_summary_launch_game {
return Intl.message(
'Launch Game',
name: 'yearly_report_summary_launch_game',
desc: '',
args: [],
);
}
/// `Longest Online`
String get yearly_report_summary_longest_online {
return Intl.message(
'Longest Online',
name: 'yearly_report_summary_longest_online',
desc: '',
args: [],
);
}
/// `Earliest Time`
String get yearly_report_summary_earliest_time {
return Intl.message(
'Earliest Time',
name: 'yearly_report_summary_earliest_time',
desc: '',
args: [],
);
}
/// `Latest Time`
String get yearly_report_summary_latest_time {
return Intl.message(
'Latest Time',
name: 'yearly_report_summary_latest_time',
desc: '',
args: [],
);
}
/// `Respawn Count`
String get yearly_report_summary_respawn_count {
return Intl.message(
'Respawn Count',
name: 'yearly_report_summary_respawn_count',
desc: '',
args: [],
);
}
/// `Hottest Month`
String get yearly_report_summary_hottest_month {
return Intl.message(
'Hottest Month',
name: 'yearly_report_summary_hottest_month',
desc: '',
args: [],
);
}
/// `Frequent Location`
String get yearly_report_summary_frequent_location {
return Intl.message(
'Frequent Location',
name: 'yearly_report_summary_frequent_location',
desc: '',
args: [],
);
}
/// `Favorite Vehicle`
String get yearly_report_summary_favorite_vehicle {
return Intl.message(
'Favorite Vehicle',
name: 'yearly_report_summary_favorite_vehicle',
desc: '',
args: [],
);
}
/// `Presented by SCToolbox`
String get yearly_report_powered_by {
return Intl.message(
'Presented by SCToolbox',
name: 'yearly_report_powered_by',
desc: '',
args: [],
);
}
/// `Data is generated from your local logs and will not be sent to any third party. Due to significant log changes across versions, data may be incomplete. For entertainment purposes only.`
String get yearly_report_disclaimer {
return Intl.message(
'Data is generated from your local logs and will not be sent to any third party. Due to significant log changes across versions, data may be incomplete. For entertainment purposes only.',
name: 'yearly_report_disclaimer',
desc: '',
args: [],
);
}
/// `{year} Yearly Report (Limited Time)`
String yearly_report_card_title(Object year) {
return Intl.message(
'$year Yearly Report (Limited Time)',
name: 'yearly_report_card_title',
desc: '',
args: [year],
);
}
/// `View your Star Citizen gameplay statistics for {year}. Data is from local logs, please check on your main computer.`
String yearly_report_card_desc(Object year) {
return Intl.message(
'View your Star Citizen gameplay statistics for $year. Data is from local logs, please check on your main computer.',
name: 'yearly_report_card_desc',
desc: '',
args: [year],
);
}
}
class AppLocalizationDelegate extends LocalizationsDelegate<S> {

View File

@ -1738,5 +1738,179 @@
"tools_graphics_renderer_dialog_save_failed": "Save failed: {v0}",
"@tools_graphics_renderer_dialog_save_failed": {},
"tools_graphics_renderer_dialog_no_version": "Version code not found. Please enter it manually. (If you are unfamiliar with this, please ask other players for help.)",
"@tools_graphics_renderer_dialog_no_version": {}
"@tools_graphics_renderer_dialog_no_version": {},
"yearly_report_title": "Star Citizen {year} Yearly Report",
"@yearly_report_title": {},
"yearly_report_generating": "Generating your yearly report...",
"@yearly_report_generating": {},
"yearly_report_analyzing_logs": "Analyzing game log data",
"@yearly_report_analyzing_logs": {},
"yearly_report_error_title": "Unable to generate yearly report",
"@yearly_report_error_title": {},
"yearly_report_error_description": "Please ensure the game directory is correct and log files exist",
"@yearly_report_error_description": {},
"yearly_report_nav_prev": "Previous Page",
"@yearly_report_nav_prev": {},
"yearly_report_nav_next": "Continue",
"@yearly_report_nav_next": {},
"yearly_report_welcome_title": "{year} Yearly Report",
"@yearly_report_welcome_title": {},
"yearly_report_welcome_subtitle": "Relive your memorable moments in Star Citizen",
"@yearly_report_welcome_subtitle": {},
"yearly_report_welcome_hint": "Scroll down or click the button below to start",
"@yearly_report_welcome_hint": {},
"yearly_report_launch_count_title": "Game Launch Count",
"@yearly_report_launch_count_title": {},
"yearly_report_launch_count_desc": "This year you launched the game",
"@yearly_report_launch_count_desc": {},
"yearly_report_launch_count_label": "Total Launches",
"@yearly_report_launch_count_label": {},
"yearly_report_launch_count_value": "{v0} times",
"@yearly_report_launch_count_value": {},
"yearly_report_play_time_title": "Play Time",
"@yearly_report_play_time_title": {},
"yearly_report_play_time_desc": "This year you explored the universe for",
"@yearly_report_play_time_desc": {},
"yearly_report_play_time_unit": "hours",
"@yearly_report_play_time_unit": {},
"yearly_report_play_time_label": "Total Playtime",
"@yearly_report_play_time_label": {},
"yearly_report_play_time_value": "{v0} hours",
"@yearly_report_play_time_value": {},
"yearly_report_crash_title": "Game Crash Count",
"@yearly_report_crash_title": {},
"yearly_report_crash_desc": "Unstable moments this year",
"@yearly_report_crash_desc": {},
"yearly_report_crash_label": "Total Crashes",
"@yearly_report_crash_label": {},
"yearly_report_crash_note_high": "Hope it's more stable next year!",
"@yearly_report_crash_note_high": {},
"yearly_report_crash_note_low": "Lucky you!",
"@yearly_report_crash_note_low": {},
"yearly_report_kd_title": "Kill Statistics",
"@yearly_report_kd_title": {},
"yearly_report_kd_kill": "Kills",
"@yearly_report_kd_kill": {},
"yearly_report_kd_death": "Deaths",
"@yearly_report_kd_death": {},
"yearly_report_kd_suicide": "Suicides",
"@yearly_report_kd_suicide": {},
"yearly_report_kd_no_record": "No kill/death records detected this year",
"@yearly_report_kd_no_record": {},
"yearly_report_no_data": "No data available",
"@yearly_report_no_data": {},
"yearly_report_earliest_play_title": "Earliest Play Session",
"@yearly_report_earliest_play_title": {},
"yearly_report_earliest_play_desc": "You started your space journey at dawn on {v0}/{v1}",
"@yearly_report_earliest_play_desc": {},
"yearly_report_latest_play_title": "Latest Play Session",
"@yearly_report_latest_play_title": {},
"yearly_report_latest_play_desc": "Late night on {v0}/{v1}, you were still exploring the universe",
"@yearly_report_latest_play_desc": {},
"yearly_report_vehicle_destruction_title": "Vehicle Destruction Statistics",
"@yearly_report_vehicle_destruction_title": {},
"yearly_report_vehicle_destruction_desc": "This year you destroyed",
"@yearly_report_vehicle_destruction_desc": {},
"yearly_report_vehicle_destruction_unit": "ships",
"@yearly_report_vehicle_destruction_unit": {},
"yearly_report_vehicle_destruction_most": "Most destroyed ship",
"@yearly_report_vehicle_destruction_most": {},
"yearly_report_vehicle_destruction_count": "Destroyed {v0} times",
"@yearly_report_vehicle_destruction_count": {},
"yearly_report_vehicle_pilot_title": "Vehicle Piloting Statistics",
"@yearly_report_vehicle_pilot_title": {},
"yearly_report_vehicle_pilot_most": "Most piloted vehicle",
"@yearly_report_vehicle_pilot_most": {},
"yearly_report_vehicle_pilot_count": "Piloted {v0} times",
"@yearly_report_vehicle_pilot_count": {},
"yearly_report_vehicle_pilot_collapse": "Collapse details",
"@yearly_report_vehicle_pilot_collapse": {},
"yearly_report_vehicle_pilot_expand": "View all {v0} vehicles",
"@yearly_report_vehicle_pilot_expand": {},
"yearly_report_account_title": "Account Statistics",
"@yearly_report_account_title": {},
"yearly_report_account_most": "Most used account",
"@yearly_report_account_most": {},
"yearly_report_account_count": "Logged in {v0} times",
"@yearly_report_account_count": {},
"yearly_report_account_total": "Detected {v0} accounts in total",
"@yearly_report_account_total": {},
"yearly_report_account_expand": "View all accounts",
"@yearly_report_account_expand": {},
"yearly_report_duration_hours_minutes": "{v0} hours {v1} minutes",
"@yearly_report_duration_hours_minutes": {},
"yearly_report_duration_minutes": "{v0} minutes",
"@yearly_report_duration_minutes": {},
"yearly_report_session_title": "Session Time Details",
"@yearly_report_session_title": {},
"yearly_report_session_average": "Average",
"@yearly_report_session_average": {},
"yearly_report_session_longest": "Longest",
"@yearly_report_session_longest": {},
"yearly_report_session_date": "{v0}/{v1}",
"@yearly_report_session_date": {},
"yearly_report_session_shortest": "Shortest",
"@yearly_report_session_shortest": {},
"yearly_report_session_note": "(Shortest only counts sessions over 5 minutes)",
"@yearly_report_session_note": {},
"yearly_report_month_format": "Month {v0}",
"@yearly_report_month_format": {},
"yearly_report_monthly_title": "Monthly Statistics",
"@yearly_report_monthly_title": {},
"yearly_report_monthly_most": "Most played",
"@yearly_report_monthly_most": {},
"yearly_report_monthly_most_count": "Launched {v0} times",
"@yearly_report_monthly_most_count": {},
"yearly_report_monthly_least": "Least played",
"@yearly_report_monthly_least": {},
"yearly_report_monthly_least_count": "Only launched {v0} times",
"@yearly_report_monthly_least_count": {},
"yearly_report_date_range": "{v0}/{v1} - {v2}/{v3}",
"@yearly_report_date_range": {},
"yearly_report_streak_title": "Streak Records",
"@yearly_report_streak_title": {},
"yearly_report_streak_play": "Consecutive Play",
"@yearly_report_streak_play": {},
"yearly_report_streak_day_unit": "days",
"@yearly_report_streak_day_unit": {},
"yearly_report_streak_offline": "Consecutive Offline",
"@yearly_report_streak_offline": {},
"yearly_report_location_title": "Location Statistics",
"@yearly_report_location_title": {},
"yearly_report_location_no_record": "No location visit records",
"@yearly_report_location_no_record": {},
"yearly_report_location_frequent": "Frequent Locations",
"@yearly_report_location_frequent": {},
"yearly_report_location_note": "Based on inventory viewing records",
"@yearly_report_location_note": {},
"yearly_report_thanks_title": "Thank You for Being With Us",
"@yearly_report_thanks_title": {},
"yearly_report_thanks_message": "In {year}, together we created\\ncountless wonderful memories in Star Citizen",
"@yearly_report_thanks_message": {},
"yearly_report_thanks_next": "Looking forward to {nextYear} with you!",
"@yearly_report_thanks_next": {},
"yearly_report_summary_launch_game": "Launch Game",
"@yearly_report_summary_launch_game": {},
"yearly_report_summary_longest_online": "Longest Online",
"@yearly_report_summary_longest_online": {},
"yearly_report_summary_earliest_time": "Earliest Time",
"@yearly_report_summary_earliest_time": {},
"yearly_report_summary_latest_time": "Latest Time",
"@yearly_report_summary_latest_time": {},
"yearly_report_summary_respawn_count": "Respawn Count",
"@yearly_report_summary_respawn_count": {},
"yearly_report_summary_hottest_month": "Hottest Month",
"@yearly_report_summary_hottest_month": {},
"yearly_report_summary_frequent_location": "Frequent Location",
"@yearly_report_summary_frequent_location": {},
"yearly_report_summary_favorite_vehicle": "Favorite Vehicle",
"@yearly_report_summary_favorite_vehicle": {},
"yearly_report_powered_by": "Presented by SCToolbox",
"@yearly_report_powered_by": {},
"yearly_report_disclaimer": "Data is generated from your local logs and will not be sent to any third party. Due to significant log changes across versions, data may be incomplete. For entertainment purposes only.",
"@yearly_report_disclaimer": {},
"yearly_report_card_title": "{year} Yearly Report (Limited Time)",
"@yearly_report_card_title": {},
"yearly_report_card_desc": "View your Star Citizen gameplay statistics for {year}. Data is from local logs, please check on your main computer.",
"@yearly_report_card_desc": {}
}

View File

@ -1561,4 +1561,92 @@
"@splash_db_reset_msg": {},
"splash_reset_db_failed": "[診断] データベースリセットに失敗: {v0}",
"@splash_reset_db_failed": {}
,
"yearly_report_title": "Star Citizen {year} 年間レポート",
"yearly_report_generating": "年間レポートを作成中...",
"yearly_report_analyzing_logs": "ゲームログデータを分析中",
"yearly_report_error_title": "年間レポートを作成できません",
"yearly_report_error_description": "ゲームディレクトリが正しいか、ログファイルが存在するか確認してください",
"yearly_report_nav_prev": "前のページ",
"yearly_report_nav_next": "次へ",
"yearly_report_welcome_title": "{year} 年間レポート",
"yearly_report_welcome_subtitle": "Star Citizenでの思い出深い瞬間を振り返る",
"yearly_report_welcome_hint": "下にスクロールするか、下のボタンをクリックして開始",
"yearly_report_launch_count_title": "ゲーム起動回数",
"yearly_report_launch_count_desc": "今年あなたはゲームを起動しました",
"yearly_report_launch_count_label": "合計起動回数",
"yearly_report_launch_count_value": "{v0} 回",
"yearly_report_play_time_title": "プレイ時間",
"yearly_report_play_time_desc": "今年あなたは宇宙を探索しました",
"yearly_report_play_time_unit": "時間",
"yearly_report_play_time_label": "合計プレイ時間",
"yearly_report_play_time_value": "{v0} 時間",
"yearly_report_crash_title": "ゲームクラッシュ回数",
"yearly_report_crash_desc": "今年の不安定な瞬間",
"yearly_report_crash_label": "合計クラッシュ数",
"yearly_report_crash_note_high": "来年はもっと安定しますように!",
"yearly_report_crash_note_low": "ラッキーですね!",
"yearly_report_kd_title": "キル統計",
"yearly_report_kd_kill": "キル",
"yearly_report_kd_death": "デス",
"yearly_report_kd_suicide": "自殺",
"yearly_report_kd_no_record": "今年はキル/デス記録が検出されませんでした",
"yearly_report_no_data": "データなし",
"yearly_report_earliest_play_title": "最も早いプレイ",
"yearly_report_earliest_play_desc": "あなたは {v0}月{v1}日 の夜明けに宇宙の旅を始めました",
"yearly_report_latest_play_title": "最も遅いプレイ",
"yearly_report_latest_play_desc": "{v0}月{v1}日 の深夜、あなたはまだ宇宙を探索していました",
"yearly_report_vehicle_destruction_title": "ビークル破壊統計",
"yearly_report_vehicle_destruction_desc": "今年あなたは破壊しました",
"yearly_report_vehicle_destruction_unit": "隻の船",
"yearly_report_vehicle_destruction_most": "最も破壊された船",
"yearly_report_vehicle_destruction_count": "{v0} 回破壊",
"yearly_report_vehicle_pilot_title": "ビークル操縦統計",
"yearly_report_vehicle_pilot_most": "最も操縦したビークル",
"yearly_report_vehicle_pilot_count": "{v0} 回操縦",
"yearly_report_vehicle_pilot_collapse": "詳細を折りたたむ",
"yearly_report_vehicle_pilot_expand": "全 {v0} 車両を表示",
"yearly_report_account_title": "アカウント統計",
"yearly_report_account_most": "最も使用されたアカウント",
"yearly_report_account_count": "{v0} 回ログイン",
"yearly_report_account_total": "合計 {v0} アカウントを検出",
"yearly_report_account_expand": "すべてのアカウントを表示",
"yearly_report_duration_hours_minutes": "{v0} 時間 {v1} 分",
"yearly_report_duration_minutes": "{v0} 分",
"yearly_report_session_title": "セッション時間詳細",
"yearly_report_session_average": "平均",
"yearly_report_session_longest": "最長",
"yearly_report_session_date": "{v0}月{v1}日",
"yearly_report_session_shortest": "最短",
"yearly_report_session_note": "(最短は5分以上のセッションのみ集計)",
"yearly_report_month_format": "{v0}月",
"yearly_report_monthly_title": "月間統計",
"yearly_report_monthly_most": "最多プレイ",
"yearly_report_monthly_most_count": "{v0} 回起動",
"yearly_report_monthly_least": "最少プレイ",
"yearly_report_monthly_least_count": "わずか {v0} 回起動",
"yearly_report_date_range": "{v0}月{v1}日 - {v2}月{v3}日",
"yearly_report_streak_title": "連続記録",
"yearly_report_streak_play": "連続プレイ",
"yearly_report_streak_day_unit": "日",
"yearly_report_streak_offline": "連続オフライン",
"yearly_report_location_title": "場所統計",
"yearly_report_location_no_record": "場所訪問記録なし",
"yearly_report_location_frequent": "よく行く場所",
"yearly_report_location_note": "インベントリ閲覧記録に基づく",
"yearly_report_thanks_title": "ご愛顧ありがとうございます",
"yearly_report_thanks_message": "{year} 年、私たちはStar Citizenで\\n数え切れないほどの素晴らしい思い出を作りました",
"yearly_report_thanks_next": "{nextYear} 年もよろしくお願いします!",
"yearly_report_summary_launch_game": "ゲーム起動",
"yearly_report_summary_longest_online": "最長オンライン",
"yearly_report_summary_earliest_time": "最も早い時間",
"yearly_report_summary_latest_time": "最も遅い時間",
"yearly_report_summary_respawn_count": "リスポーン回数",
"yearly_report_summary_hottest_month": "最も活発な月",
"yearly_report_summary_frequent_location": "頻繁な場所",
"yearly_report_summary_favorite_vehicle": "お気に入りの乗り物",
"yearly_report_powered_by": "SCToolbox 提供",
"yearly_report_disclaimer": "データはローカルログから生成され、第三者に送信されることはありません。バージョン間のログの大幅な変更により、データが不完全な場合があります。娯楽目的のみ。",
"yearly_report_card_title": "{year} 年間レポート(期間限定)",
"yearly_report_card_desc": "{year}年のStar Citizenプレイ統計を表示します。データはローカルログからのものです。メインのコンピュータで確認してください。"
}

View File

@ -1561,4 +1561,92 @@
"@splash_db_reset_msg": {},
"splash_reset_db_failed": "[Диагностика] Не удалось сбросить базу данных: {v0}",
"@splash_reset_db_failed": {}
,
"yearly_report_title": "Ежегодный отчет Star Citizen за {year} год",
"yearly_report_generating": "Генерация вашего ежегодного отчета...",
"yearly_report_analyzing_logs": "Анализ данных игровых журналов",
"yearly_report_error_title": "Не удалось создать ежегодный отчет",
"yearly_report_error_description": "Пожалуйста, убедитесь, что путь к игре верен и файлы логов существуют",
"yearly_report_nav_prev": "Назад",
"yearly_report_nav_next": "Продолжить",
"yearly_report_welcome_title": "Ежегодный отчет {year}",
"yearly_report_welcome_subtitle": "Вспомните свои незабываемые моменты в Star Citizen",
"yearly_report_welcome_hint": "Прокрутите вниз или нажмите кнопку ниже, чтобы начать",
"yearly_report_launch_count_title": "Количество запусков игры",
"yearly_report_launch_count_desc": "В этом году вы запускали игру",
"yearly_report_launch_count_label": "Всего запусков",
"yearly_report_launch_count_value": "{v0} раз",
"yearly_report_play_time_title": "Время игры",
"yearly_report_play_time_desc": "В этом году вы исследовали вселенную в течение",
"yearly_report_play_time_unit": "часов",
"yearly_report_play_time_label": "Общее время игры",
"yearly_report_play_time_value": "{v0} часов",
"yearly_report_crash_title": "Количество сбоев игры",
"yearly_report_crash_desc": "Нестабильные моменты этого года",
"yearly_report_crash_label": "Всего сбоев",
"yearly_report_crash_note_high": "Надеемся, в следующем году будет стабильнее!",
"yearly_report_crash_note_low": "Вам повезло!",
"yearly_report_kd_title": "Статистика убийств",
"yearly_report_kd_kill": "Убийства",
"yearly_report_kd_death": "Смерти",
"yearly_report_kd_suicide": "Самоубийства",
"yearly_report_kd_no_record": "В этом году записей об убийствах/смертях не обнаружено",
"yearly_report_no_data": "Нет данных",
"yearly_report_earliest_play_title": "Самая ранняя игровая сессия",
"yearly_report_earliest_play_desc": "Вы начали свое космическое путешествие на рассвете {v0}/{v1}",
"yearly_report_latest_play_title": "Самая поздняя игровая сессия",
"yearly_report_latest_play_desc": "Поздно ночью {v0}/{v1} вы все еще исследовали вселенную",
"yearly_report_vehicle_destruction_title": "Статистика уничтожения техники",
"yearly_report_vehicle_destruction_desc": "В этом году вы уничтожили",
"yearly_report_vehicle_destruction_unit": "кораблей",
"yearly_report_vehicle_destruction_most": "Самый уничтожаемый корабль",
"yearly_report_vehicle_destruction_count": "Уничтожено {v0} раз",
"yearly_report_vehicle_pilot_title": "Статистика пилотирования",
"yearly_report_vehicle_pilot_most": "Самый пилотируемый транспорт",
"yearly_report_vehicle_pilot_count": "Пилотировался {v0} раз",
"yearly_report_vehicle_pilot_collapse": "Свернуть детали",
"yearly_report_vehicle_pilot_expand": "Показать все {v0} тс",
"yearly_report_account_title": "Статистика аккаунта",
"yearly_report_account_most": "Самый используемый аккаунт",
"yearly_report_account_count": "Вход выполнен {v0} раз",
"yearly_report_account_total": "Всего обнаружено {v0} аккаунтов",
"yearly_report_account_expand": "Показать все аккаунты",
"yearly_report_duration_hours_minutes": "{v0} ч {v1} мин",
"yearly_report_duration_minutes": "{v0} мин",
"yearly_report_session_title": "Детали времени сессии",
"yearly_report_session_average": "Среднее",
"yearly_report_session_longest": "Самое долгое",
"yearly_report_session_date": "{v0}/{v1}",
"yearly_report_session_shortest": "Самое короткое",
"yearly_report_session_note": "(Учитываются только сессии более 5 минут)",
"yearly_report_month_format": "Месяц {v0}",
"yearly_report_monthly_title": "Ежемесячная статистика",
"yearly_report_monthly_most": "Больше всего игр",
"yearly_report_monthly_most_count": "Запущено {v0} раз",
"yearly_report_monthly_least": "Меньше всего игр",
"yearly_report_monthly_least_count": "Запущено только {v0} раз",
"yearly_report_date_range": "{v0}/{v1} - {v2}/{v3}",
"yearly_report_streak_title": "Рекорды серий",
"yearly_report_streak_play": "Серия игр",
"yearly_report_streak_day_unit": "дн.",
"yearly_report_streak_offline": "Серия оффлайна",
"yearly_report_location_title": "Статистика локаций",
"yearly_report_location_no_record": "Нет записей о посещении локаций",
"yearly_report_location_frequent": "Частые локации",
"yearly_report_location_note": "Основано на записях просмотра инвентаря",
"yearly_report_thanks_title": "Спасибо, что вы с нами",
"yearly_report_thanks_message": "В {year} году мы вместе создали\\nбесчисленное количество прекрасных воспоминаний в Star Citizen",
"yearly_report_thanks_next": "Ждем встречи с вами в {nextYear} году!",
"yearly_report_summary_launch_game": "Запуск игры",
"yearly_report_summary_longest_online": "Дольше всего онлайн",
"yearly_report_summary_earliest_time": "Самое раннее время",
"yearly_report_summary_latest_time": "Самое позднее время",
"yearly_report_summary_respawn_count": "Количество возрождений",
"yearly_report_summary_hottest_month": "Самый жаркий месяц",
"yearly_report_summary_frequent_location": "Частая локация",
"yearly_report_summary_favorite_vehicle": "Любимый транспорт",
"yearly_report_powered_by": "Представлено SCToolbox",
"yearly_report_disclaimer": "Данные генерируются из ваших локальных логов и не отправляются третьим лицам. Из-за значительных изменений логов в разных версиях данные могут быть неполными. Только для развлечения.",
"yearly_report_card_title": "Ежегодный отчет {year} (Ограниченное время)",
"yearly_report_card_desc": "Посмотрите статистику вашей игры в Star Citizen за {year} год. Данные из локальных логов, пожалуйста, проверяйте на основном компьютере."
}

View File

@ -1225,5 +1225,108 @@
"tools_graphics_renderer_dialog_save": "保存",
"tools_graphics_renderer_dialog_save_success": "渲染器设置已保存",
"tools_graphics_renderer_dialog_save_failed": "保存失败:{v0}",
"tools_graphics_renderer_dialog_no_version": "未找到版本代码,请手动输入(若您不了解此项,请群求其他玩家帮助)"
"tools_graphics_renderer_dialog_no_version": "未找到版本代码,请手动输入(若您不了解此项,请群求其他玩家帮助)",
"yearly_report_title": "星际公民 {year} 年度报告",
"yearly_report_generating": "正在生成您的年度报告...",
"yearly_report_analyzing_logs": "正在分析游戏日志数据",
"yearly_report_error_title": "无法生成年度报告",
"yearly_report_error_description": "请确保游戏目录正确且存在日志文件",
"yearly_report_nav_prev": "上一页",
"yearly_report_nav_next": "继续查看",
"yearly_report_welcome_title": "{year} 年度报告",
"yearly_report_welcome_subtitle": "回顾您在星际公民中的精彩时刻",
"yearly_report_welcome_hint": "向下滚动或点击下方按钮开始",
"yearly_report_launch_count_title": "游戏启动次数",
"yearly_report_launch_count_desc": "今年您启动了游戏",
"yearly_report_launch_count_label": "累计启动",
"yearly_report_launch_count_value": "{v0} 次",
"@yearly_report_launch_count_value": {},
"yearly_report_play_time_title": "游玩时长",
"yearly_report_play_time_desc": "今年您在宇宙中遨游了",
"yearly_report_play_time_unit": "小时",
"yearly_report_play_time_label": "累计游玩",
"yearly_report_play_time_value": "{v0} 小时",
"@yearly_report_play_time_value": {},
"yearly_report_crash_title": "游戏崩溃次数",
"yearly_report_crash_desc": "今年游戏不太稳定的时刻",
"yearly_report_crash_label": "累计崩溃",
"yearly_report_crash_note_high": "希望明年能更稳定!",
"yearly_report_crash_note_low": "运气不错!",
"yearly_report_kd_title": "击杀统计",
"yearly_report_kd_kill": "击杀",
"yearly_report_kd_death": "死亡",
"yearly_report_kd_suicide": "自杀",
"yearly_report_kd_no_record": "今年没有检测到击杀/死亡记录",
"yearly_report_no_data": "暂无数据",
"yearly_report_earliest_play_title": "最早的一次游玩",
"yearly_report_earliest_play_desc": "您在清晨 {v0} 月 {v1} 日开始了星际之旅",
"@yearly_report_earliest_play_desc": {},
"yearly_report_latest_play_title": "最晚的一次游玩",
"yearly_report_latest_play_desc": "深夜 {v0} 月 {v1} 日还在探索宇宙",
"@yearly_report_latest_play_desc": {},
"yearly_report_vehicle_destruction_title": "载具损毁统计",
"yearly_report_vehicle_destruction_desc": "今年您共炸了",
"yearly_report_vehicle_destruction_unit": "艘船",
"yearly_report_vehicle_destruction_most": "炸的最多的船",
"yearly_report_vehicle_destruction_count": "炸了 {v0} 次",
"@yearly_report_vehicle_destruction_count": {},
"yearly_report_vehicle_pilot_title": "载具驾驶统计",
"yearly_report_vehicle_pilot_most": "最常驾驶的载具",
"yearly_report_vehicle_pilot_count": "驾驶了 {v0} 次",
"@yearly_report_vehicle_pilot_count": {},
"yearly_report_vehicle_pilot_collapse": "收起详情",
"yearly_report_vehicle_pilot_expand": "查看全部 {v0} 个载具",
"@yearly_report_vehicle_pilot_expand": {},
"yearly_report_account_title": "账号统计",
"yearly_report_account_most": "最常使用的账号",
"yearly_report_account_count": "登录了 {v0} 次",
"@yearly_report_account_count": {},
"yearly_report_account_total": "共检测到 {v0} 个账号",
"@yearly_report_account_total": {},
"yearly_report_account_expand": "查看全部账号",
"yearly_report_duration_hours_minutes": "{v0} 小时 {v1} 分钟",
"@yearly_report_duration_hours_minutes": {},
"yearly_report_duration_minutes": "{v0} 分钟",
"@yearly_report_duration_minutes": {},
"yearly_report_session_title": "游玩时长详情",
"yearly_report_session_average": "平均",
"yearly_report_session_longest": "最长",
"yearly_report_session_date": "{v0}月{v1}日",
"@yearly_report_session_date": {},
"yearly_report_session_shortest": "最短",
"yearly_report_session_note": "(最短仅统计超过 5 分钟的游戏)",
"yearly_report_month_format": "{v0}月",
"@yearly_report_month_format": {},
"yearly_report_monthly_title": "月份统计",
"yearly_report_monthly_most": "游玩最多",
"yearly_report_monthly_most_count": "启动了 {v0} 次",
"@yearly_report_monthly_most_count": {},
"yearly_report_monthly_least": "游玩最少",
"yearly_report_monthly_least_count": "仅启动 {v0} 次",
"@yearly_report_monthly_least_count": {},
"yearly_report_date_range": "{v0}月{v1}日 - {v2}月{v3}日",
"@yearly_report_date_range": {},
"yearly_report_streak_title": "连续记录",
"yearly_report_streak_play": "连续游玩",
"yearly_report_streak_day_unit": "天",
"yearly_report_streak_offline": "连续离线",
"yearly_report_location_title": "地点统计",
"yearly_report_location_no_record": "暂无地点访问记录",
"yearly_report_location_frequent": "常去的地点",
"yearly_report_location_note": "基于库存查看记录统计",
"yearly_report_thanks_title": "感谢您的陪伴",
"yearly_report_thanks_message": "{year} 年,我们一起在星际公民中\\n创造了无数精彩回忆",
"yearly_report_thanks_next": "期待 {nextYear} 年继续与您相伴!",
"yearly_report_summary_launch_game": "启动游戏",
"yearly_report_summary_longest_online": "最长在线",
"yearly_report_summary_earliest_time": "最早时刻",
"yearly_report_summary_latest_time": "最晚时刻",
"yearly_report_summary_respawn_count": "重开次数",
"yearly_report_summary_hottest_month": "最热月",
"yearly_report_summary_frequent_location": "常去位置",
"yearly_report_summary_favorite_vehicle": "最爱载具",
"yearly_report_powered_by": "由 SC 汉化盒子为您呈现",
"yearly_report_disclaimer": "数据使用您的本地日志生成,不会发送到任何第三方。因跨版本 Log 改动较大,数据可能不完整,仅供娱乐。",
"yearly_report_card_title": "{year} 年度报告(限时)",
"yearly_report_card_desc": "查看您在{year}年的星际公民游玩统计,数据来自本地 log ,请确保在常用电脑上查看。"
}

View File

@ -1583,4 +1583,92 @@
"@splash_db_reset_msg": {},
"splash_reset_db_failed": "[診斷] 重置資料庫失敗: {v0}",
"@splash_reset_db_failed": {}
,
"yearly_report_title": "星際公民 {year} 年度報告",
"yearly_report_generating": "正在生成您的年度報告...",
"yearly_report_analyzing_logs": "正在分析遊戲日誌數據",
"yearly_report_error_title": "無法生成年度報告",
"yearly_report_error_description": "請確保遊戲目錄正確且存在日誌文件",
"yearly_report_nav_prev": "上一頁",
"yearly_report_nav_next": "繼續查看",
"yearly_report_welcome_title": "{year} 年度報告",
"yearly_report_welcome_subtitle": "回顧您在星際公民中的精彩時刻",
"yearly_report_welcome_hint": "向下滾動或點擊下方按鈕開始",
"yearly_report_launch_count_title": "遊戲啟動次數",
"yearly_report_launch_count_desc": "今年您啟動了遊戲",
"yearly_report_launch_count_label": "累計啟動",
"yearly_report_launch_count_value": "{v0} 次",
"yearly_report_play_time_title": "遊玩時長",
"yearly_report_play_time_desc": "今年您在宇宙中遨遊了",
"yearly_report_play_time_unit": "小時",
"yearly_report_play_time_label": "累計遊玩",
"yearly_report_play_time_value": "{v0} 小時",
"yearly_report_crash_title": "遊戲崩潰次數",
"yearly_report_crash_desc": "今年遊戲不太穩定的時刻",
"yearly_report_crash_label": "累計崩潰",
"yearly_report_crash_note_high": "希望明年能更穩定!",
"yearly_report_crash_note_low": "運氣不錯!",
"yearly_report_kd_title": "擊殺統計",
"yearly_report_kd_kill": "擊殺",
"yearly_report_kd_death": "死亡",
"yearly_report_kd_suicide": "自殺",
"yearly_report_kd_no_record": "今年沒有檢測到擊殺/死亡記錄",
"yearly_report_no_data": "暫無數據",
"yearly_report_earliest_play_title": "最早的一次遊玩",
"yearly_report_earliest_play_desc": "您在清晨 {v0} 月 {v1} 日開始了星際之旅",
"yearly_report_latest_play_title": "最晚的一次遊玩",
"yearly_report_latest_play_desc": "深夜 {v0} 月 {v1} 日還在探索宇宙",
"yearly_report_vehicle_destruction_title": "載具損毀統計",
"yearly_report_vehicle_destruction_desc": "今年您共炸了",
"yearly_report_vehicle_destruction_unit": "艘船",
"yearly_report_vehicle_destruction_most": "炸的最多的船",
"yearly_report_vehicle_destruction_count": "炸了 {v0} 次",
"yearly_report_vehicle_pilot_title": "載具駕駛統計",
"yearly_report_vehicle_pilot_most": "最常駕駛的載具",
"yearly_report_vehicle_pilot_count": "駕駛了 {v0} 次",
"yearly_report_vehicle_pilot_collapse": "收起詳情",
"yearly_report_vehicle_pilot_expand": "查看全部 {v0} 個載具",
"yearly_report_account_title": "帳號統計",
"yearly_report_account_most": "最常使用的帳號",
"yearly_report_account_count": "登入了 {v0} 次",
"yearly_report_account_total": "共檢測到 {v0} 個帳號",
"yearly_report_account_expand": "查看全部帳號",
"yearly_report_duration_hours_minutes": "{v0} 小時 {v1} 分鐘",
"yearly_report_duration_minutes": "{v0} 分鐘",
"yearly_report_session_title": "遊玩時長詳情",
"yearly_report_session_average": "平均",
"yearly_report_session_longest": "最長",
"yearly_report_session_date": "{v0}月{v1}日",
"yearly_report_session_shortest": "最短",
"yearly_report_session_note": "(最短僅統計超過 5 分鐘的遊戲)",
"yearly_report_month_format": "{v0}月",
"yearly_report_monthly_title": "月份統計",
"yearly_report_monthly_most": "遊玩最多",
"yearly_report_monthly_most_count": "啟動了 {v0} 次",
"yearly_report_monthly_least": "遊玩最少",
"yearly_report_monthly_least_count": "僅啟動 {v0} 次",
"yearly_report_date_range": "{v0}月{v1}日 - {v2}月{v3}日",
"yearly_report_streak_title": "連續記錄",
"yearly_report_streak_play": "連續遊玩",
"yearly_report_streak_day_unit": "天",
"yearly_report_streak_offline": "連續離線",
"yearly_report_location_title": "地點統計",
"yearly_report_location_no_record": "暫無地點訪問記錄",
"yearly_report_location_frequent": "常去的地點",
"yearly_report_location_note": "基於庫存查看記錄統計",
"yearly_report_thanks_title": "感謝您的陪伴",
"yearly_report_thanks_message": "{year} 年,我們一起在星際公民中\\n創造了無數精彩回憶",
"yearly_report_thanks_next": "期待 {nextYear} 年繼續與您相伴!",
"yearly_report_summary_launch_game": "啟動遊戲",
"yearly_report_summary_longest_online": "最長在線",
"yearly_report_summary_earliest_time": "最早時刻",
"yearly_report_summary_latest_time": "最晚時刻",
"yearly_report_summary_respawn_count": "重開次數",
"yearly_report_summary_hottest_month": "最熱月",
"yearly_report_summary_frequent_location": "常去位置",
"yearly_report_summary_favorite_vehicle": "最愛載具",
"yearly_report_powered_by": "由 SC工具箱為您呈現",
"yearly_report_disclaimer": "數據使用您的本地日誌生成,不會發送到任何第三方。因跨版本 Log 改動較大,數據可能不完整,僅供娛樂。",
"yearly_report_card_title": "{year} 年度報告(限時)",
"yearly_report_card_desc": "查看您在{year}年的星際公民遊玩統計,數據來自本地 log ,請確保在常用電腦上查看。"
}

View File

@ -81,18 +81,25 @@ class ToolsUIModel extends _$ToolsUIModel {
),
];
// 2025 - 2026120
final deadline = DateTime(2026, 1, 20);
if (DateTime.now().isBefore(deadline)) {
// logic
final now = DateTime.now();
int? reportYear;
if (now.month == 12 && now.day >= 10) {
reportYear = now.year;
} else if (now.month == 1 && now.day <= 20) {
reportYear = now.year - 1;
}
if (reportYear != null) {
items.insert(
0,
ToolsItemData(
"yearly_report",
"2025 年度报告(限时)",
"查看您在2025年的星际公民游玩统计数据来自本地 log ,请确保在常用电脑上查看。",
S.current.yearly_report_card_title(reportYear.toString()),
S.current.yearly_report_card_desc(reportYear.toString()),
const Icon(FontAwesomeIcons.star, size: 22),
onTap: () async {
_openYearlyReport(context);
_openYearlyReport(context, reportYear!);
},
),
);
@ -766,15 +773,17 @@ class ToolsUIModel extends _$ToolsUIModel {
);
}
void _openYearlyReport(BuildContext context) {
void _openYearlyReport(BuildContext context, int year) {
if (state.scInstallPaths.isEmpty) {
showToast(context, S.current.tools_action_info_valid_game_directory_needed);
return;
}
Navigator.of(
context,
).push(FluentPageRoute(builder: (context) => YearlyReportUI(gameInstallPaths: state.scInstallPaths)));
Navigator.of(context).push(
FluentPageRoute(
builder: (context) => YearlyReportUI(gameInstallPaths: state.scInstallPaths, year: year),
),
);
}
}

View File

@ -10,8 +10,9 @@ import 'package:starcitizen_doctor/widgets/widgets.dart';
class YearlyReportUI extends HookConsumerWidget {
final List<String> gameInstallPaths;
final int year;
const YearlyReportUI({super.key, required this.gameInstallPaths});
const YearlyReportUI({super.key, required this.gameInstallPaths, required this.year});
@override
Widget build(BuildContext context, WidgetRef ref) {
@ -29,7 +30,7 @@ class YearlyReportUI extends HookConsumerWidget {
return makeDefaultPage(
context,
title: "星际公民 2025 年度报告",
title: S.current.yearly_report_title(year.toString()),
useBodyContainer: true,
content: Column(
children: [
@ -68,7 +69,7 @@ class YearlyReportUI extends HookConsumerWidget {
//
final progressFuture = progressAnimation();
final report = await YearlyReportAnalyzer.generateReport(gameInstallPaths, 2025);
final report = await YearlyReportAnalyzer.generateReport(gameInstallPaths, year);
//
isGenerating = false;
@ -102,12 +103,18 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 40),
FadeInUp(
delay: const Duration(milliseconds: 300),
child: Text("正在生成您的年度报告...", style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_generating,
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 16),
FadeInUp(
delay: const Duration(milliseconds: 500),
child: Text("正在分析游戏日志数据", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6))),
child: Text(
S.current.yearly_report_analyzing_logs,
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
),
const SizedBox(height: 32),
FadeInUp(
@ -127,9 +134,12 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FluentIcons.error, size: 80, color: Colors.red),
const SizedBox(height: 24),
Text("无法生成年度报告", style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
Text(S.current.yearly_report_error_title, style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
const SizedBox(height: 12),
Text("请确保游戏目录正确且存在日志文件", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6))),
Text(
S.current.yearly_report_error_description,
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
],
),
),
@ -214,7 +224,7 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(isUp ? FluentIcons.chevron_up : FluentIcons.chevron_down, size: 12),
const SizedBox(width: 8),
Text(isUp ? "上一页" : "继续查看"),
Text(isUp ? S.current.yearly_report_nav_prev : S.current.yearly_report_nav_next),
],
),
onPressed: () =>
@ -272,12 +282,18 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 300),
child: Text("2025 年度报告", style: TextStyle(fontSize: 36, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_welcome_title(year.toString()),
style: TextStyle(fontSize: 36, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 16),
FadeInUp(
delay: const Duration(milliseconds: 500),
child: Text("回顾您在星际公民中的精彩时刻", style: TextStyle(fontSize: 18, color: Colors.white.withValues(alpha: .8))),
child: Text(
S.current.yearly_report_welcome_subtitle,
style: TextStyle(fontSize: 18, color: Colors.white.withValues(alpha: .8)),
),
),
const SizedBox(height: 48),
FadeInUp(
@ -285,7 +301,10 @@ class YearlyReportUI extends HookConsumerWidget {
child: Pulse(
infinite: true,
duration: const Duration(seconds: 2),
child: Text("向下滚动或点击下方按钮开始", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .5))),
child: Text(
S.current.yearly_report_welcome_hint,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .5)),
),
),
),
],
@ -297,12 +316,12 @@ class YearlyReportUI extends HookConsumerWidget {
return _AnimatedStatPage(
icon: FontAwesomeIcons.play,
iconColor: Colors.green,
title: "游戏启动次数",
description: "今年您启动了游戏",
title: S.current.yearly_report_launch_count_title,
description: S.current.yearly_report_launch_count_desc,
mainValue: "${data.yearlyLaunchCount}",
mainUnit: "",
secondaryLabel: "累计启动",
secondaryValue: "${data.totalLaunchCount}",
mainUnit: S.current.about_analytics_units_times,
secondaryLabel: S.current.yearly_report_launch_count_label,
secondaryValue: S.current.yearly_report_launch_count_value(data.totalLaunchCount),
);
}
@ -313,12 +332,12 @@ class YearlyReportUI extends HookConsumerWidget {
return _AnimatedStatPage(
icon: FontAwesomeIcons.clock,
iconColor: Colors.blue,
title: "游玩时长",
description: "今年您在宇宙中遨游了",
title: S.current.yearly_report_play_time_title,
description: S.current.yearly_report_play_time_desc,
mainValue: yearlyHours.toStringAsFixed(1),
mainUnit: "小时",
secondaryLabel: "累计游玩",
secondaryValue: "${totalHours.toStringAsFixed(1)} 小时",
mainUnit: S.current.yearly_report_play_time_unit,
secondaryLabel: S.current.yearly_report_play_time_label,
secondaryValue: S.current.yearly_report_play_time_value(totalHours.toStringAsFixed(1)),
);
}
@ -326,13 +345,15 @@ class YearlyReportUI extends HookConsumerWidget {
return _AnimatedStatPage(
icon: FontAwesomeIcons.bug,
iconColor: Colors.orange,
title: "游戏崩溃次数",
description: "今年游戏不太稳定的时刻",
title: S.current.yearly_report_crash_title,
description: S.current.yearly_report_crash_desc,
mainValue: "${data.yearlyCrashCount}",
mainUnit: "",
secondaryLabel: "累计崩溃",
secondaryValue: "${data.totalCrashCount}",
extraNote: data.yearlyCrashCount > 10 ? "希望明年能更稳定!" : "运气不错!",
mainUnit: S.current.about_analytics_units_times,
secondaryLabel: S.current.yearly_report_crash_label,
secondaryValue: S.current.yearly_report_launch_count_value(data.totalCrashCount),
extraNote: data.yearlyCrashCount > 10
? S.current.yearly_report_crash_note_high
: S.current.yearly_report_crash_note_low,
);
}
@ -352,7 +373,7 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("击杀统计", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(S.current.yearly_report_kd_title, style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
),
const SizedBox(height: 32),
// K/D
@ -397,7 +418,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.skull, size: 24, color: Colors.green),
const SizedBox(height: 8),
Text("击杀", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6))),
Text(
S.current.yearly_report_kd_kill,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6)),
),
const SizedBox(height: 4),
Text(
"${data.yearlyKillCount}",
@ -420,7 +444,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.skullCrossbones, size: 24, color: Colors.red),
const SizedBox(height: 8),
Text("死亡", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6))),
Text(
S.current.yearly_report_kd_death,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6)),
),
const SizedBox(height: 4),
Text(
"${data.yearlyDeathCount}",
@ -443,7 +470,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.personFalling, size: 24, color: Colors.orange),
const SizedBox(height: 8),
Text("自杀", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6))),
Text(
S.current.yearly_report_kd_suicide,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6)),
),
const SizedBox(height: 4),
Text(
"${data.yearlySelfKillCount}",
@ -459,7 +489,10 @@ class YearlyReportUI extends HookConsumerWidget {
if (totalKD == 0)
FadeInUp(
delay: const Duration(milliseconds: 400),
child: Text("今年没有检测到击杀/死亡记录", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6))),
child: Text(
S.current.yearly_report_kd_no_record,
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
),
],
),
@ -470,7 +503,7 @@ class YearlyReportUI extends HookConsumerWidget {
final time = data.earliestPlayDate;
final timeStr = time != null
? "${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}"
: "暂无数据";
: S.current.yearly_report_no_data;
return Center(
child: Column(
@ -480,7 +513,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("最早的一次游玩", style: TextStyle(fontSize: 24, color: Colors.white.withValues(alpha: .8))),
child: Text(
S.current.yearly_report_earliest_play_title,
style: TextStyle(fontSize: 24, color: Colors.white.withValues(alpha: .8)),
),
),
const SizedBox(height: 16),
FadeInUp(
@ -492,7 +528,7 @@ class YearlyReportUI extends HookConsumerWidget {
FadeInUp(
delay: const Duration(milliseconds: 600),
child: Text(
"您在清晨 ${time.month}${time.day} 日开始了星际之旅",
S.current.yearly_report_earliest_play_desc(time.month, time.day),
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
),
@ -505,7 +541,7 @@ class YearlyReportUI extends HookConsumerWidget {
final time = data.latestPlayDate;
final timeStr = time != null
? "${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}"
: "暂无数据";
: S.current.yearly_report_no_data;
return Center(
child: Column(
@ -515,7 +551,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("最晚的一次游玩", style: TextStyle(fontSize: 24, color: Colors.white.withValues(alpha: .8))),
child: Text(
S.current.yearly_report_latest_play_title,
style: TextStyle(fontSize: 24, color: Colors.white.withValues(alpha: .8)),
),
),
const SizedBox(height: 16),
FadeInUp(
@ -527,7 +566,7 @@ class YearlyReportUI extends HookConsumerWidget {
FadeInUp(
delay: const Duration(milliseconds: 600),
child: Text(
"深夜 ${time.month}${time.day} 日还在探索宇宙",
S.current.yearly_report_latest_play_desc(time.month, time.day),
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
),
@ -545,12 +584,18 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("载具损毁统计", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_vehicle_destruction_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 24),
FadeInUp(
delay: const Duration(milliseconds: 400),
child: Text("今年您共炸了", style: TextStyle(fontSize: 18, color: Colors.white.withValues(alpha: .7))),
child: Text(
S.current.yearly_report_vehicle_destruction_desc,
style: TextStyle(fontSize: 18, color: Colors.white.withValues(alpha: .7)),
),
),
const SizedBox(height: 8),
FadeInUp(
@ -565,7 +610,7 @@ class YearlyReportUI extends HookConsumerWidget {
),
Padding(
padding: const EdgeInsets.only(bottom: 10, left: 8),
child: Text("艘船", style: TextStyle(fontSize: 24)),
child: Text(S.current.yearly_report_vehicle_destruction_unit, style: TextStyle(fontSize: 24)),
),
],
),
@ -582,11 +627,14 @@ class YearlyReportUI extends HookConsumerWidget {
),
child: Column(
children: [
Text("炸的最多的船", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_vehicle_destruction_most,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
const SizedBox(height: 8),
Text(data.mostDestroyedVehicle!, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
Text(
"炸了 ${data.mostDestroyedVehicleCount}",
S.current.yearly_report_vehicle_destruction_count(data.mostDestroyedVehicleCount),
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .8)),
),
],
@ -613,7 +661,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("载具驾驶统计", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_vehicle_pilot_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 32),
if (data.mostPilotedVehicle != null)
@ -627,11 +678,14 @@ class YearlyReportUI extends HookConsumerWidget {
),
child: Column(
children: [
Text("最常驾驶的载具", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_vehicle_pilot_most,
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .9)),
),
const SizedBox(height: 12),
Text(data.mostPilotedVehicle!, style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
Text(
"驾驶了 ${data.mostPilotedVehicleCount}",
S.current.yearly_report_vehicle_pilot_count(data.mostPilotedVehicleCount),
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .8)),
),
],
@ -651,7 +705,11 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(showDetails.value ? FluentIcons.chevron_up : FluentIcons.chevron_down, size: 12),
const SizedBox(width: 8),
Text(showDetails.value ? "收起详情" : "查看全部 ${sortedVehicles.length} 个载具"),
Text(
showDetails.value
? S.current.yearly_report_vehicle_pilot_collapse
: S.current.yearly_report_vehicle_pilot_expand(sortedVehicles.length),
),
],
),
onPressed: () => showDetails.value = !showDetails.value,
@ -713,7 +771,7 @@ class YearlyReportUI extends HookConsumerWidget {
),
),
Text(
"",
S.current.about_analytics_units_times,
style: TextStyle(fontSize: 10, color: Colors.white.withValues(alpha: .6)),
),
],
@ -748,7 +806,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("账号统计", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_account_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 32),
if (data.mostPlayedAccount != null)
@ -762,11 +823,14 @@ class YearlyReportUI extends HookConsumerWidget {
),
child: Column(
children: [
Text("最常使用的账号", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_account_most,
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .9)),
),
const SizedBox(height: 12),
Text(data.mostPlayedAccount!, style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
Text(
"登录了 ${data.mostPlayedAccountSessionCount}",
S.current.yearly_report_account_count(data.mostPlayedAccountSessionCount),
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .8)),
),
],
@ -777,7 +841,7 @@ class YearlyReportUI extends HookConsumerWidget {
FadeInUp(
delay: const Duration(milliseconds: 600),
child: Text(
"共检测到 ${data.accountCount} 个账号",
S.current.yearly_report_account_total(data.accountCount),
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .5)),
),
),
@ -794,7 +858,11 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(showDetails.value ? FluentIcons.chevron_up : FluentIcons.chevron_down, size: 12),
const SizedBox(width: 8),
Text(showDetails.value ? "收起详情" : "查看全部账号"),
Text(
showDetails.value
? S.current.yearly_report_vehicle_pilot_collapse
: S.current.yearly_report_account_expand,
),
],
),
onPressed: () => showDetails.value = !showDetails.value,
@ -849,7 +917,7 @@ class YearlyReportUI extends HookConsumerWidget {
),
),
Text(
"",
S.current.about_analytics_units_times,
style: TextStyle(fontSize: 10, color: Colors.white.withValues(alpha: .6)),
),
],
@ -871,13 +939,13 @@ class YearlyReportUI extends HookConsumerWidget {
///
String _formatDuration(Duration? duration) {
if (duration == null) return "暂无数据";
if (duration == null) return S.current.yearly_report_no_data;
final hours = duration.inHours;
final minutes = duration.inMinutes.remainder(60);
if (hours > 0) {
return "$hours 小时 $minutes 分钟";
return S.current.yearly_report_duration_hours_minutes(hours, minutes);
}
return "$minutes 分钟";
return S.current.yearly_report_duration_minutes(minutes);
}
Widget _buildSessionStatsPage(BuildContext context, YearlyReportData data) {
@ -891,7 +959,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("游玩时长详情", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_session_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 32),
//
@ -920,7 +991,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.chartLine, size: 16, color: Colors.blue),
const SizedBox(width: 8),
Text("平均", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_session_average,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 8),
@ -950,7 +1024,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.arrowUp, size: 16, color: Colors.green),
const SizedBox(width: 8),
Text("最长", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_session_longest,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 8),
@ -961,7 +1038,10 @@ class YearlyReportUI extends HookConsumerWidget {
),
if (data.longestSessionDate != null)
Text(
"${data.longestSessionDate!.month}${data.longestSessionDate!.day}",
S.current.yearly_report_session_date(
data.longestSessionDate!.month,
data.longestSessionDate!.day,
),
style: TextStyle(fontSize: 12, color: Colors.white.withValues(alpha: .6)),
),
],
@ -985,7 +1065,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.arrowDown, size: 16, color: Colors.orange),
const SizedBox(width: 8),
Text("最短", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_session_shortest,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 8),
@ -996,7 +1079,10 @@ class YearlyReportUI extends HookConsumerWidget {
),
if (data.shortestSessionDate != null)
Text(
"${data.shortestSessionDate!.month}${data.shortestSessionDate!.day}",
S.current.yearly_report_session_date(
data.shortestSessionDate!.month,
data.shortestSessionDate!.day,
),
style: TextStyle(fontSize: 12, color: Colors.white.withValues(alpha: .6)),
),
],
@ -1012,7 +1098,7 @@ class YearlyReportUI extends HookConsumerWidget {
FadeInUp(
delay: const Duration(milliseconds: 600),
child: Text(
"(最短仅统计超过 5 分钟的游戏)",
S.current.yearly_report_session_note,
style: TextStyle(fontSize: 12, color: Colors.white.withValues(alpha: .5)),
),
),
@ -1024,7 +1110,7 @@ class YearlyReportUI extends HookConsumerWidget {
///
String _getMonthName(int month) {
return "$month月";
return S.current.yearly_report_month_format(month);
}
Widget _buildMonthlyStatsPage(BuildContext context, YearlyReportData data) {
@ -1036,7 +1122,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("月份统计", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_monthly_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 32),
//
@ -1061,7 +1150,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.fire, size: 18, color: Colors.orange),
const SizedBox(width: 10),
Text("游玩最多", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_monthly_most,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 12),
@ -1070,7 +1162,7 @@ class YearlyReportUI extends HookConsumerWidget {
style: TextStyle(fontSize: 36, fontWeight: FontWeight.bold, color: Colors.orange),
),
Text(
"启动了 ${data.mostPlayedMonthCount}",
S.current.yearly_report_monthly_most_count(data.mostPlayedMonthCount),
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .7)),
),
],
@ -1092,7 +1184,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.snowflake, size: 18, color: Colors.teal),
const SizedBox(width: 10),
Text("游玩最少", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_monthly_least,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 12),
@ -1101,7 +1196,7 @@ class YearlyReportUI extends HookConsumerWidget {
style: TextStyle(fontSize: 36, fontWeight: FontWeight.bold, color: Colors.teal),
),
Text(
"仅启动 ${data.leastPlayedMonthCount}",
S.current.yearly_report_monthly_least_count(data.leastPlayedMonthCount),
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .7)),
),
],
@ -1118,7 +1213,7 @@ class YearlyReportUI extends HookConsumerWidget {
Widget _buildStreakStatsPage(BuildContext context, YearlyReportData data) {
String formatDateRange(DateTime? start, DateTime? end) {
if (start == null || end == null) return "";
return "${start.month}${start.day}日 - ${end.month}${end.day}";
return S.current.yearly_report_date_range(start.month, start.day, end.month, end.day);
}
return Center(
@ -1129,7 +1224,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("连续记录", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_streak_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 32),
//
@ -1154,7 +1252,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.gamepad, size: 18, color: Colors.green),
const SizedBox(width: 10),
Text("连续游玩", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_streak_play,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 12),
@ -1168,7 +1269,10 @@ class YearlyReportUI extends HookConsumerWidget {
),
Padding(
padding: const EdgeInsets.only(bottom: 6, left: 4),
child: Text("", style: TextStyle(fontSize: 18, color: Colors.green)),
child: Text(
S.current.yearly_report_streak_day_unit,
style: TextStyle(fontSize: 18, color: Colors.green),
),
),
],
),
@ -1196,7 +1300,10 @@ class YearlyReportUI extends HookConsumerWidget {
children: [
Icon(FontAwesomeIcons.bed, size: 18, color: Colors.grey),
const SizedBox(width: 10),
Text("连续离线", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9))),
Text(
S.current.yearly_report_streak_offline,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .9)),
),
],
),
const SizedBox(height: 12),
@ -1210,7 +1317,10 @@ class YearlyReportUI extends HookConsumerWidget {
),
Padding(
padding: const EdgeInsets.only(bottom: 6, left: 4),
child: Text("", style: TextStyle(fontSize: 18, color: Colors.grey)),
child: Text(
S.current.yearly_report_streak_day_unit,
style: TextStyle(fontSize: 18, color: Colors.grey),
),
),
],
),
@ -1242,12 +1352,18 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("地点统计", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_location_title,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 16),
FadeInUp(
delay: const Duration(milliseconds: 400),
child: Text("暂无地点访问记录", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6))),
child: Text(
S.current.yearly_report_location_no_record,
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
),
],
),
@ -1270,12 +1386,18 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 200),
child: Text("常去的地点", style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_location_frequent,
style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 16),
FadeInUp(
delay: const Duration(milliseconds: 300),
child: Text("基于库存查看记录统计", style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6))),
child: Text(
S.current.yearly_report_location_note,
style: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: .6)),
),
),
const SizedBox(height: 24),
//
@ -1364,7 +1486,7 @@ class YearlyReportUI extends HookConsumerWidget {
maxLines: 1,
),
Text(
"${location.value}",
S.current.yearly_report_launch_count_value(location.value),
style: TextStyle(fontSize: 10, color: Colors.white.withValues(alpha: .5)),
),
],
@ -1398,13 +1520,16 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 300),
child: Text("感谢您的陪伴", style: TextStyle(fontSize: 32, fontWeight: FontWeight.bold)),
child: Text(
S.current.yearly_report_thanks_title,
style: TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
),
),
const SizedBox(height: 16),
FadeInUp(
delay: const Duration(milliseconds: 500),
child: Text(
"2025 年,我们一起在星际公民中\n创造了无数精彩回忆",
S.current.yearly_report_thanks_message(year.toString()),
textAlign: TextAlign.center,
style: TextStyle(fontSize: 18, color: Colors.white.withValues(alpha: .8)),
),
@ -1412,7 +1537,10 @@ class YearlyReportUI extends HookConsumerWidget {
const SizedBox(height: 32),
FadeInUp(
delay: const Duration(milliseconds: 700),
child: Text("期待 2026 年继续与您相伴!", style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6))),
child: Text(
S.current.yearly_report_thanks_next((year + 1).toString()),
style: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: .6)),
),
),
],
),
@ -1424,38 +1552,59 @@ class YearlyReportUI extends HookConsumerWidget {
//
final dataItems = <_SummaryGridItem>[
_SummaryGridItem("启动游戏", "${data.yearlyLaunchCount}", "", FontAwesomeIcons.play, Colors.green, isWide: false),
_SummaryGridItem(
"游玩时长",
S.current.yearly_report_summary_launch_game,
"${data.yearlyLaunchCount}",
S.current.about_analytics_units_times,
FontAwesomeIcons.play,
Colors.green,
isWide: false,
),
_SummaryGridItem(
S.current.yearly_report_play_time_title,
yearlyHours.toStringAsFixed(1),
"小时",
S.current.yearly_report_play_time_unit,
FontAwesomeIcons.clock,
Colors.blue,
isWide: false,
),
_SummaryGridItem("游戏崩溃", "${data.yearlyCrashCount}", "", FontAwesomeIcons.bug, Colors.orange, isWide: false),
_SummaryGridItem(
"击杀",
S.current.yearly_report_crash_title,
"${data.yearlyCrashCount}",
S.current.about_analytics_units_times,
FontAwesomeIcons.bug,
Colors.orange,
isWide: false,
),
_SummaryGridItem(
S.current.yearly_report_kd_kill,
"${data.yearlyKillCount}",
"",
S.current.about_analytics_units_times,
FontAwesomeIcons.crosshairs,
Colors.green,
isWide: false,
),
_SummaryGridItem("死亡", "${data.yearlyDeathCount}", "", FontAwesomeIcons.skull, Colors.red, isWide: false),
_SummaryGridItem(
"载具损毁",
S.current.yearly_report_kd_death,
"${data.yearlyDeathCount}",
S.current.about_analytics_units_times,
FontAwesomeIcons.skull,
Colors.red,
isWide: false,
),
_SummaryGridItem(
S.current.yearly_report_vehicle_destruction_title,
"${data.yearlyVehicleDestructionCount}",
"",
S.current.about_analytics_units_times,
FontAwesomeIcons.explosion,
Colors.red,
isWide: false,
),
if (data.longestSession != null)
_SummaryGridItem(
"最长在线",
S.current.yearly_report_summary_longest_online,
(data.longestSession!.inMinutes / 60).toStringAsFixed(1),
"小时",
S.current.yearly_report_play_time_unit,
FontAwesomeIcons.hourglassHalf,
Colors.purple,
isWide: false,
@ -1463,7 +1612,7 @@ class YearlyReportUI extends HookConsumerWidget {
//
if (data.earliestPlayDate != null)
_SummaryGridItem(
"最早时刻",
S.current.yearly_report_summary_earliest_time,
"${data.earliestPlayDate!.hour.toString().padLeft(2, '0')}:${data.earliestPlayDate!.minute.toString().padLeft(2, '0')}",
"",
FontAwesomeIcons.sun,
@ -1472,7 +1621,7 @@ class YearlyReportUI extends HookConsumerWidget {
),
if (data.latestPlayDate != null)
_SummaryGridItem(
"最晚时刻",
S.current.yearly_report_summary_latest_time,
"${data.latestPlayDate!.hour.toString().padLeft(2, '0')}:${data.latestPlayDate!.minute.toString().padLeft(2, '0')}",
"",
FontAwesomeIcons.moon,
@ -1480,9 +1629,9 @@ class YearlyReportUI extends HookConsumerWidget {
isWide: false,
),
_SummaryGridItem(
"重开次数",
S.current.yearly_report_summary_respawn_count,
"${data.yearlySelfKillCount}",
"",
S.current.about_analytics_units_times,
FontAwesomeIcons.personFalling,
Colors.grey,
isWide: false,
@ -1490,7 +1639,7 @@ class YearlyReportUI extends HookConsumerWidget {
//
if (data.mostPlayedMonth != null)
_SummaryGridItem(
"最热月",
S.current.yearly_report_summary_hottest_month,
_getMonthName(data.mostPlayedMonth!),
"",
FontAwesomeIcons.fire,
@ -1500,19 +1649,26 @@ class YearlyReportUI extends HookConsumerWidget {
// /线
if (data.longestPlayStreak > 0)
_SummaryGridItem(
"连续游玩",
S.current.yearly_report_streak_play,
"${data.longestPlayStreak}",
"",
S.current.yearly_report_streak_day_unit,
FontAwesomeIcons.gamepad,
Colors.green,
isWide: false,
),
if (data.longestOfflineStreak > 0)
_SummaryGridItem("连续离线", "${data.longestOfflineStreak}", "", FontAwesomeIcons.bed, Colors.grey, isWide: false),
_SummaryGridItem(
S.current.yearly_report_streak_offline,
"${data.longestOfflineStreak}",
S.current.yearly_report_streak_day_unit,
FontAwesomeIcons.bed,
Colors.grey,
isWide: false,
),
//
if (data.topLocations.isNotEmpty)
_SummaryGridItem(
"常去位置",
S.current.yearly_report_summary_frequent_location,
data.topLocations.first.key,
"",
FontAwesomeIcons.locationDot,
@ -1521,7 +1677,7 @@ class YearlyReportUI extends HookConsumerWidget {
),
if (data.mostPilotedVehicle != null)
_SummaryGridItem(
"最爱载具",
S.current.yearly_report_summary_favorite_vehicle,
data.mostPilotedVehicle!,
"",
FontAwesomeIcons.shuttleSpace,
@ -1543,7 +1699,7 @@ class YearlyReportUI extends HookConsumerWidget {
Icon(FontAwesomeIcons.star, size: 20, color: Colors.yellow),
const SizedBox(width: 12),
Text(
"星际公民 2025 年度报告",
S.current.yearly_report_title(year.toString()),
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold, color: Colors.white),
),
const SizedBox(width: 12),
@ -1638,7 +1794,7 @@ class YearlyReportUI extends HookConsumerWidget {
FadeInUp(
delay: const Duration(milliseconds: 400),
child: Text(
"由 SC 汉化盒子为您呈现",
S.current.yearly_report_powered_by,
style: TextStyle(fontSize: 12, color: Colors.white.withValues(alpha: .3)),
),
),
@ -1654,7 +1810,7 @@ class YearlyReportUI extends HookConsumerWidget {
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 24),
decoration: BoxDecoration(color: FluentTheme.of(context).cardColor.withValues(alpha: .15)),
child: Text(
"数据使用您的本地日志生成,不会发送到任何第三方。因跨版本 Log 改动较大,数据可能不完整,仅供娱乐。",
S.current.yearly_report_disclaimer,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 11, color: Colors.white.withValues(alpha: .7)),
),