diff options
author | GeckoEidechse <gecko.eidechse+git@pm.me> | 2023-07-19 16:05:55 +0200 |
---|---|---|
committer | GeckoEidechse <gecko.eidechse+git@pm.me> | 2023-07-19 16:05:55 +0200 |
commit | f8d321a2854063aed7377ca80f2023af49139caf (patch) | |
tree | 0e97516c1da4b80221545924eaabc9c34e68d9c5 | |
parent | 349a3cbb56b36c78788d007495341925711e6026 (diff) | |
parent | a2b80ef3cb53736e0f934a1d3af710f99124e9c7 (diff) | |
download | FlightCore-f8d321a2854063aed7377ca80f2023af49139caf.tar.gz FlightCore-f8d321a2854063aed7377ca80f2023af49139caf.zip |
Merge remote-tracking branch 'origin/feat/read-packages-dir' into dev/packages
-rw-r--r-- | src-tauri/Cargo.lock | 2 | ||||
-rw-r--r-- | src-tauri/Cargo.toml | 4 | ||||
-rw-r--r-- | src-tauri/src/main.rs | 36 | ||||
-rw-r--r-- | src-tauri/tauri.conf.json | 2 | ||||
-rw-r--r-- | src-vue/src/components/LanguageSelector.vue | 4 | ||||
-rw-r--r-- | src-vue/src/i18n/lang/zh_Hans.json | 153 | ||||
-rw-r--r-- | src-vue/src/main.ts | 3 |
7 files changed, 176 insertions, 28 deletions
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 9c916f6f..d57c1752 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -85,7 +85,7 @@ checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "app" -version = "1.23.0" +version = "1.24.0" dependencies = [ "anyhow", "async-recursion", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3369e142..261e0b9d 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "app" -version = "1.23.0" +version = "1.24.0" description = "A Tauri App" authors = ["you"] license = "" @@ -23,7 +23,7 @@ tauri-build = { version = "1.4", features = [] } [dependencies] serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.4", features = ["api-all", "updater"] } +tauri = { version = "1.4", features = ["api-all", "dialog", "updater"] } tokio = { version = "1", features = ["full"] } # Sentry (crash) logging sentry = "0.30" diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index a295f322..1067f5d3 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -9,11 +9,6 @@ use std::{ time::Duration, }; -#[cfg(target_os = "windows")] -use std::ptr::null_mut; -#[cfg(target_os = "windows")] -use winapi::um::winuser::{MessageBoxW, MB_ICONERROR, MB_OK, MB_USERICON}; - use crate::constants::REFRESH_DELAY; mod development; @@ -26,6 +21,10 @@ mod util; use semver::Version; use serde::{Deserialize, Serialize}; +#[cfg(target_os = "windows")] +use tauri::api::dialog::blocking::MessageDialogBuilder; +#[cfg(target_os = "windows")] +use tauri::api::dialog::{MessageDialogButtons, MessageDialogKind}; use tauri::{Manager, Runtime}; use tokio::time::sleep; use ts_rs::TS; @@ -175,23 +174,16 @@ fn main() { #[cfg(target_os = "windows")] { log::error!("WebView2 not installed: {err}"); - // Display a message box to the user with a button to open the installation instructions - let title = "WebView2 not found" - .encode_utf16() - .chain(Some(0)) - .collect::<Vec<_>>(); - let message = "FlightCore requires WebView2 to run.\n\nClick OK to open installation instructions.".encode_utf16().chain(Some(0)).collect::<Vec<_>>(); - unsafe { - let result = MessageBoxW( - null_mut(), - message.as_ptr(), - title.as_ptr(), - MB_OK | MB_ICONERROR | MB_USERICON, - ); - if result == 1 { - // Open the installation instructions URL in the user's default web browser - open::that("https://github.com/R2NorthstarTools/FlightCore/blob/main/docs/TROUBLESHOOTING.md#flightcore-wont-launch").unwrap(); - } + let dialog = MessageDialogBuilder::new( + "WebView2 not found", + "FlightCore requires WebView2 to run.\n\nClick OK to open installation instructions." + ) + .kind(MessageDialogKind::Error) + .buttons(MessageDialogButtons::Ok); + + if dialog.show() { + // Open the installation instructions URL in the user's default web browser + open::that("https://github.com/R2NorthstarTools/FlightCore/blob/main/docs/TROUBLESHOOTING.md#flightcore-wont-launch").unwrap(); } } } diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 820b6d9b..b801b9a6 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "FlightCore", - "version": "1.23.0" + "version": "1.24.0" }, "tauri": { "allowlist": { diff --git a/src-vue/src/components/LanguageSelector.vue b/src-vue/src/components/LanguageSelector.vue index afa2549a..4f275369 100644 --- a/src-vue/src/components/LanguageSelector.vue +++ b/src-vue/src/components/LanguageSelector.vue @@ -46,6 +46,10 @@ export default defineComponent({ value: 'it', label: 'Italiano' }, + { + value: 'zh_Hans', + label: '简体中文' + }, ] }), mounted: async function () { diff --git a/src-vue/src/i18n/lang/zh_Hans.json b/src-vue/src/i18n/lang/zh_Hans.json index 0967ef42..dbc53104 100644 --- a/src-vue/src/i18n/lang/zh_Hans.json +++ b/src-vue/src/i18n/lang/zh_Hans.json @@ -1 +1,152 @@ -{} +{ + "menu": { + "mods": "模组", + "settings": "设置", + "dev": "开发者模式", + "play": "开始游玩", + "changelog": "更新日志" + }, + "generic": { + "error": "错误", + "cancel": "取消", + "yes": "是", + "no": "否", + "informationShort": "信息", + "downloading": "下载中", + "extracting": "解压中", + "done": "完成", + "success": "成功" + }, + "play": { + "button": { + "northstar_is_running": "游戏正在运行", + "select_game_dir": "选择Titanfall 2游戏目录", + "install": "安装", + "installing": "安装中...", + "update": "升级", + "ready_to_play": "启动游戏", + "updating": "升级中..." + }, + "unknown_version": "未知版本", + "see_patch_notes": "参阅相关补丁说明", + "servers": "服务器", + "players": "玩家", + "unable_to_load_playercount": "加载玩家数量失败", + "ea_app_running": "EA App正在运行:", + "northstar_running": "Northstar正在运行:" + }, + "mods": { + "local": { + "no_mods": "未找到模组。", + "delete_confirm": "你确定要删除该模组吗?", + "delete": "删除", + "part_of_ts_mod": "该Northstar模组来源于Thunderstore", + "success_deleting": "成功删除 {modName}" + }, + "online": { + "try_another_search": "尝试其他搜索方式!", + "no_match": "未找到相匹配的模组。" + }, + "menu": { + "local": "本地", + "search": "搜索", + "sort_mods": "模组排序", + "select_categories": "标签选择", + "sort": { + "date_desc": "日期降序", + "date_asc": "日期升序", + "name_desc": "按名称(Z到A)", + "most_downloaded": "最多下载", + "top_rated": "最高评分", + "name_asc": "按名称(A到Z)" + }, + "online": "线上", + "filter": "筛选" + }, + "card": { + "button": { + "being_installed": "安装中...", + "being_updated": "升级中...", + "installed": "已安装", + "install": "安装", + "outdated": "升级" + }, + "by": "作者:", + "remove": "移除模组", + "remove_dialog_title": "警告", + "remove_success": "已移除{modName}", + "install_success": "已安装 {modName}", + "more_info": "更多信息", + "remove_dialog_text": "删除该来自Thunderstore的模组?" + } + }, + "settings": { + "manage_install": "安装管理", + "choose_folder": "选择安装目录", + "open_game_folder": "打开文件夹", + "nb_ts_mods_per_page": "Thunderstore每页显示多少个模组", + "nb_ts_mods_per_page_desc2": "该值设为0时将不再显示页码。", + "nb_ts_mods_reset": "重置为默认值", + "language": "语言", + "language_select": "请选择你需要的语言", + "about": "关于:", + "flightcore_version": "FlightCore 版本:", + "testing": "测试选项:", + "enable_test_channels": "开启测试版本选项", + "nb_ts_mods_per_page_desc1": "该数值对加载Thunderstore页面时的速度有影响。", + "dev_mode_enabled_title": "看上面!", + "dev_mode_enabled_text": "开发者模式已启用。", + "show_deprecated_mods": "显示已弃用的Thunderstore模组", + "show_deprecated_mods_desc1": "该选项会使您可以在线上模组合集中看到已弃用的模组。", + "show_deprecated_mods_desc2": "请注意,这类模组被弃用一般是有原因的。", + "repair": { + "title": "修复", + "window": { + "title": "FlightCore 修复工具", + "warning": "此工具包含修复Northstar和FlightCore各种常见问题的功能。", + "disable_all_but_core": "除了核心模组以外禁用其他模组", + "disable_all_but_core_success": "已禁用除核心模组以外的所有模组", + "disable_modsettings": "禁用ModSettings模组", + "disable_modsettings_success": "已禁用ModSettings模组", + "force_delete_temp_dl": "强制删除临时下载目录", + "delete_persistent_store": "删除FlightCore永久存储文件", + "reinstall_text": "请耐心等待", + "reinstall_success": "成功重装Northstar", + "force_reinstall_ns": "强制重装Northstar", + "reinstall_title": "正在强制重装Northstar" + }, + "open_window": "打开修复工具" + } + }, + "notification": { + "game_folder": { + "new": { + "title": "新的游戏目录", + "text": "已成功更新游戏目录。" + }, + "wrong": { + "title": "错误的文件夹", + "text": "所选文件夹不是有效的Titanfall2安装目录。" + }, + "not_found": { + "title": "未找到Titanfall2!", + "text": "请手动选择安装目录" + } + }, + "flightcore_outdated": { + "title": "FlightCore需要更新!", + "text": "请更新FlightCore.\n正在运行旧版本 {oldVersion}.\n最新版本为 {newVersion}!" + } + }, + "channels": { + "release": { + "switch": { + "text": "将资源版本切换至 \"{canal}\"." + } + }, + "names": { + "NorthstarReleaseCandidate": "Northstar测试版本", + "Northstar": "Northstar" + } + } +} diff --git a/src-vue/src/main.ts b/src-vue/src/main.ts index e07c14f2..b595f21c 100644 --- a/src-vue/src/main.ts +++ b/src-vue/src/main.ts @@ -17,6 +17,7 @@ import de from "./i18n/lang/de.json"; import pl from "./i18n/lang/pl.json"; import ru from "./i18n/lang/ru.json"; import it from "./i18n/lang/it.json"; +import zh_Hans from "./i18n/lang/zh_Hans.json"; const app = createApp(App); @@ -26,7 +27,7 @@ export const i18n = createI18n({ locale: 'en', fallbackLocale: 'en', messages: { - en, fr, de, pl, ru, it + en, fr, de, pl, ru, it, zh_Hans } }); app.use(i18n); |