From 0629a5a4299fd08991245fb0b707c742aa08a094 Mon Sep 17 00:00:00 2001 From: Rintim Date: Wed, 6 Oct 2021 10:53:59 +0800 Subject: [PATCH] [2021/10/06: Niean] Translation (1/4) --- source/fbi/dumpnand.c | 8 ++--- source/fbi/extsavedata.c | 6 ++-- source/fbi/files.c | 70 ++++++++++++++++++------------------- source/fbi/mainmenu.c | 18 ++++++++-- source/fbi/task/listfiles.c | 10 +++--- source/fbi/task/uitask.c | 52 ++++++++++++++------------- source/fbi/update.c | 2 +- 7 files changed, 91 insertions(+), 75 deletions(-) diff --git a/source/fbi/dumpnand.c b/source/fbi/dumpnand.c index b23391a..01702f3 100644 --- a/source/fbi/dumpnand.c +++ b/source/fbi/dumpnand.c @@ -80,7 +80,7 @@ static Result dumpnand_restore(void* data, u32 index) { } static bool dumpnand_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(NULL, NULL, res, "无法导出 NAND."); + *errorView = error_display_res(NULL, NULL, res, "無法導出 NAND."); return true; } @@ -92,7 +92,7 @@ static void dumpnand_update(ui_view* view, void* data, float* progress, char* te info_destroy(view); if(R_SUCCEEDED(dumpData->result)) { - prompt_display_notify("成功", "已导出.", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已導出.", COLOR_TEXT, NULL, NULL, NULL); } free(dumpData); @@ -118,9 +118,9 @@ static void dumpnand_onresponse(ui_view* view, void* data, u32 response) { Result res = task_data_op(dumpData); if(R_SUCCEEDED(res)) { - info_display("正在导出", "按 B 取消.", true, data, dumpnand_update, NULL); + info_display("正在導出", "按 B 取消.", true, data, dumpnand_update, NULL); } else { - error_display_res(NULL, NULL, res, "无法启动导出 NAND."); + error_display_res(NULL, NULL, res, "無法啟動導出 NAND."); free(data); } } else { diff --git a/source/fbi/extsavedata.c b/source/fbi/extsavedata.c index 1ad0605..5aab20d 100644 --- a/source/fbi/extsavedata.c +++ b/source/fbi/extsavedata.c @@ -10,9 +10,9 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item browse_user_save_data = {"浏览用户数据", COLOR_TEXT, action_browse_user_ext_save_data}; -static list_item browse_spotpass_save_data = {"浏览悄然连接数据", COLOR_TEXT, action_browse_boss_ext_save_data}; -static list_item delete_save_data = {"删除数据", COLOR_TEXT, action_delete_ext_save_data}; +static list_item browse_user_save_data = {"瀏覽使用者數據", COLOR_TEXT, action_browse_user_ext_save_data}; +static list_item browse_spotpass_save_data = {"瀏覽順緣鏈接數據", COLOR_TEXT, action_browse_boss_ext_save_data}; +static list_item delete_save_data = {"刪除數據", COLOR_TEXT, action_delete_ext_save_data}; typedef struct { populate_ext_save_data_data populateData; diff --git a/source/fbi/files.c b/source/fbi/files.c index f203f13..e9ed2f5 100644 --- a/source/fbi/files.c +++ b/source/fbi/files.c @@ -11,29 +11,29 @@ #include "../core/core.h" static list_item rename_opt = {"重命名", COLOR_TEXT, action_rename}; -static list_item copy = {"复制", COLOR_TEXT, NULL}; -static list_item paste = {"粘贴", COLOR_TEXT, action_paste_contents}; +static list_item copy = {"拷貝", COLOR_TEXT, NULL}; +static list_item paste = {"貼上", COLOR_TEXT, action_paste_contents}; -static list_item delete_file = {"删除", COLOR_TEXT, action_delete_file}; +static list_item delete_file = {"刪除", COLOR_TEXT, action_delete_file}; -static list_item install_cia = {"安装安装包", COLOR_TEXT, action_install_cia}; -static list_item install_and_delete_cia = {"安装并删除安装包", COLOR_TEXT, action_install_cia_delete}; +static list_item install_cia = {"安裝 CIA", COLOR_TEXT, action_install_cia}; +static list_item install_and_delete_cia = {"安裝並刪除 CIA", COLOR_TEXT, action_install_cia_delete}; -static list_item install_ticket = {"安装应用引导表", COLOR_TEXT, action_install_ticket}; -static list_item install_and_delete_ticket = {"安装并删除应用引导表", COLOR_TEXT, action_install_ticket_delete}; +static list_item install_ticket = {"安裝 ticket", COLOR_TEXT, action_install_ticket}; +static list_item install_and_delete_ticket = {"安裝並刪除 ticket", COLOR_TEXT, action_install_ticket_delete}; -static list_item delete_dir = {"删除", COLOR_TEXT, action_delete_dir}; -static list_item copy_all_contents = {"复制所有项目", COLOR_TEXT, NULL}; -static list_item delete_all_contents = {"删除所有项目", COLOR_TEXT, action_delete_dir_contents}; -static list_item new_folder = {"新建文件夹", COLOR_TEXT, action_new_folder}; +static list_item delete_dir = {"刪除", COLOR_TEXT, action_delete_dir}; +static list_item copy_all_contents = {"拷貝所有檔案", COLOR_TEXT, NULL}; +static list_item delete_all_contents = {"刪除所有檔案", COLOR_TEXT, action_delete_dir_contents}; +static list_item new_folder = {"新建資料夾", COLOR_TEXT, action_new_folder}; -static list_item install_all_cias = {"安装所有安装包", COLOR_TEXT, action_install_cias}; -static list_item install_and_delete_all_cias = {"安装并删除所有安装包", COLOR_TEXT, action_install_cias_delete}; -static list_item delete_all_cias = {"删除安装包", COLOR_TEXT, action_delete_dir_cias}; +static list_item install_all_cias = {"安裝所有 CIA(s)", COLOR_TEXT, action_install_cias}; +static list_item install_and_delete_all_cias = {"安裝並刪除所有 CIA(s)", COLOR_TEXT, action_install_cias_delete}; +static list_item delete_all_cias = {"刪除所有 CIA(s)", COLOR_TEXT, action_delete_dir_cias}; -static list_item install_all_tickets = {"安装所有应用引导表", COLOR_TEXT, action_install_tickets}; -static list_item install_and_delete_all_tickets = {"安装并删除所有应用引导表", COLOR_TEXT, action_install_tickets_delete}; -static list_item delete_all_tickets = {"删除所有应用引导表", COLOR_TEXT, action_delete_dir_tickets}; +static list_item install_all_tickets = {"安裝所有 ticket(s)", COLOR_TEXT, action_install_tickets}; +static list_item install_and_delete_all_tickets = {"安裝並刪除所有 ticket(s)", COLOR_TEXT, action_install_tickets_delete}; +static list_item delete_all_tickets = {"删除所有 ticket(s)", COLOR_TEXT, action_delete_dir_tickets}; typedef struct { populate_files_data populateData; @@ -107,9 +107,9 @@ static void files_action_update(ui_view* view, void* data, linked_list* items, l Result res = 0; if(R_SUCCEEDED(res = clipboard_set_contents(actionData->parent->archive, info->path, selected == ©_all_contents))) { - prompt_display_notify("成功", selected == ©_all_contents ? "当前文件夹的所有项目已复制到剪贴板." : (info->attributes & FS_ATTRIBUTE_DIRECTORY) ? "当前文件夹已复制到剪贴板." : "文件已复制到剪贴板.", COLOR_TEXT, info, task_draw_file_info, NULL); + prompt_display_notify("成功", selected == ©_all_contents ? "當前資料夾的档案已拷貝到剪貼板上。" : (info->attributes & FS_ATTRIBUTE_DIRECTORY) ? "當前資料夾已拷貝到剪貼板上。" : "档案已拷貝到剪貼板上。", COLOR_TEXT, info, task_draw_file_info, NULL); } else { - error_display_res(info, task_draw_file_info, res, "无法复制到剪贴板."); + error_display_res(info, task_draw_file_info, res, "無法拷貝到剪貼板上。"); } } else if(selected == &install_all_cias || selected == &install_and_delete_all_cias || selected == &install_all_tickets || selected == &install_and_delete_all_tickets) { void (*filteredAction)(linked_list*, list_item*, bool (*)(void*, const char*, u32), void*) = action; @@ -171,7 +171,7 @@ static void files_action_update(ui_view* view, void* data, linked_list* items, l static void files_action_open(linked_list* items, list_item* selected, files_data* parent) { files_action_data* data = (files_action_data*) calloc(1, sizeof(files_action_data)); if(data == NULL) { - error_display(NULL, NULL, "无法分配文件操作的数据."); + error_display(NULL, NULL, "無法分配档案操作數據。"); return; } @@ -196,7 +196,7 @@ static void files_action_open(linked_list* items, list_item* selected, files_dat } } - list_display((((file_info*) selected->data)->attributes & FS_ATTRIBUTE_DIRECTORY) ? "文件夹操作" : "文件操作", "A: 选择, B: 返回", data, files_action_update, files_action_draw_top); + list_display((((file_info*) selected->data)->attributes & FS_ATTRIBUTE_DIRECTORY) ? "資料夾操作" : "档案操作", "A: 選擇, B: 返回", data, files_action_update, files_action_draw_top); } static void files_options_add_entry(linked_list* items, const char* name, bool* val) { @@ -238,16 +238,16 @@ static void files_options_update(ui_view* view, void* data, linked_list* items, } if(linked_list_size(items) == 0) { - files_options_add_entry(items, "显示隐藏的项目", &listData->showHidden); - files_options_add_entry(items, "显示文件夹", &listData->showDirectories); - files_options_add_entry(items, "显示文件", &listData->showFiles); - files_options_add_entry(items, "显示安装包", &listData->showCias); - files_options_add_entry(items, "显示应用引导表", &listData->showTickets); + files_options_add_entry(items, "顯示隠藏档案", &listData->showHidden); + files_options_add_entry(items, "顯示資料夾", &listData->showDirectories); + files_options_add_entry(items, "顯示档案", &listData->showFiles); + files_options_add_entry(items, "顯示 CIAs", &listData->showCias); + files_options_add_entry(items, "顯示 Tickets", &listData->showTickets); } } static void files_options_open(files_data* data) { - list_display("选项", "A: 切换, B: 返回", data, files_options_update, NULL); + list_display("選項", "A: 切換, B: 返回", data, files_options_update, NULL); } static void files_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -270,7 +270,7 @@ static void files_repopulate(files_data* listData, linked_list* items) { Result res = task_populate_files(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "无法启动文件列表填充."); + error_display_res(NULL, NULL, res, "無法初始化档案目錄結構"); } listData->populated = true; @@ -347,7 +347,7 @@ static void files_update(ui_view* view, void* data, linked_list* items, list_ite if(selected != NULL && selected->data != NULL && (selectedTouched || (hidKeysDown() & KEY_A))) { file_info* fileInfo = (file_info*) selected->data; - if((fileInfo->attributes & FS_ATTRIBUTE_DIRECTORY) && strncmp(selected->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) != 0) { + if((fileInfo->attributes & FS_ATTRIBUTE_DIRECTORY) && strncmp(selected->name, "<當前資料夾>", LIST_ITEM_NAME_MAX) != 0) { files_navigate(listData, items, fileInfo->path); } else { files_action_open(items, selected, listData); @@ -360,7 +360,7 @@ static void files_update(ui_view* view, void* data, linked_list* items, list_ite } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "无法填充文件列表."); + error_display_res(NULL, NULL, listData->populateData.result, "無法列舉档案目錄。"); listData->populateData.result = 0; } @@ -369,7 +369,7 @@ static void files_update(ui_view* view, void* data, linked_list* items, list_ite void files_open(FS_ArchiveID archiveId, FS_Path archivePath) { files_data* data = (files_data*) calloc(1, sizeof(files_data)); if(data == NULL) { - error_display(NULL, NULL, "无法分配文件的数据."); + error_display(NULL, NULL, "無法分配档案數據。"); return; } @@ -397,7 +397,7 @@ void files_open(FS_ArchiveID archiveId, FS_Path archivePath) { if(archivePath.data != NULL) { data->archivePath.data = calloc(1, data->archivePath.size); if(data->archivePath.data == NULL) { - error_display(NULL, NULL, "无法分配文件的数据."); + error_display(NULL, NULL, "無法分配档案數據。"); files_free_data(data); return; @@ -412,13 +412,13 @@ void files_open(FS_ArchiveID archiveId, FS_Path archivePath) { Result res = 0; if(R_FAILED(res = fs_open_archive(&data->archive, archiveId, archivePath))) { - error_display_res(NULL, NULL, res, "没有找到文件夹."); + error_display_res(NULL, NULL, res, "無法打開資料夾"。); files_free_data(data); return; } - list_display("文件", "A: 选择, B: 返回, X: 刷新, SELECT: 选项", data, files_update, files_draw_top); + list_display("档案", "A: 選擇, B: 返回, X: 刷新, Select: 選項", data, files_update, files_draw_top); } static void files_open_nand_warning_onresponse(ui_view* view, void* data, u32 response) { @@ -430,7 +430,7 @@ static void files_open_nand_warning_onresponse(ui_view* view, void* data, u32 re } void files_open_nand_warning(FS_ArchiveID archive) { - prompt_display_yes_no("确认", "修改 系统闪存分区 (NAND) 是危险的,\n这可能导致系统无法正常运行,\n请您确保自己知道正在做什么.\n\n继续?", COLOR_TEXT, (void*) archive, NULL, files_open_nand_warning_onresponse); + prompt_display_yes_no("確認", "修改NAND是危險的,可能會導致\n 系統無法正常運行。\n確保自己知道行為造成的後果。\n\n是否繼續?", COLOR_TEXT, (void*) archive, NULL, files_open_nand_warning_onresponse); } void files_open_sd() { diff --git a/source/fbi/mainmenu.c b/source/fbi/mainmenu.c index 1cda2f0..f340009 100644 --- a/source/fbi/mainmenu.c +++ b/source/fbi/mainmenu.c @@ -6,7 +6,7 @@ #include "resources.h" #include "section.h" #include "../core/core.h" - +/* static list_item sd = {"(Micro) SD 卡", COLOR_TEXT, files_open_sd}; static list_item ctr_nand = {"3DS 闪存分区 (CTR NAND)", COLOR_TEXT, files_open_ctr_nand}; static list_item twl_nand = {"DSi 闪存分区 (TWL NAND)", COLOR_TEXT, files_open_twl_nand}; @@ -20,6 +20,20 @@ static list_item ext_save_data = {"追加数据", COLOR_TEXT, extsavedata_open}; static list_item system_save_data = {"系统数据", COLOR_TEXT, systemsavedata_open}; static list_item remote_install = {"远程安装", COLOR_TEXT, remoteinstall_open}; static list_item update = {"检查更新", COLOR_TEXT, update_open}; +*/ +static list_item sd = {"SD Card", COLOR_TEXT, files_open_sd}; +static list_item ctr_nand = {"CTR NAND", COLOR_TEXT, files_open_ctr_nand}; +static list_item twl_nand = {"TWL NAND", COLOR_TEXT, files_open_twl_nand}; +static list_item twl_photo = {"TWL Photo", COLOR_TEXT, files_open_twl_photo}; +static list_item twl_sound = {"TWL Sound", COLOR_TEXT, files_open_twl_sound}; +static list_item dump_nand = {"導出 NAND", COLOR_TEXT, dumpnand_open}; +static list_item titles = {"程式", COLOR_TEXT, titles_open}; +static list_item pending_titles = {"待裝程式", COLOR_TEXT, pendingtitles_open}; +static list_item tickets = {"憑據", COLOR_TEXT, tickets_open}; +static list_item ext_save_data = {"追加儲存數據", COLOR_TEXT, extsavedata_open}; +static list_item system_save_data = {"系統儲存數據", COLOR_TEXT, systemsavedata_open}; +static list_item remote_install = {"遠程安裝", COLOR_TEXT, remoteinstall_open}; +static list_item update = {"升級至最新(Latest Not Releases)", COLOR_TEXT, update_open}; static void mainmenu_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { u32 logoWidth; @@ -64,5 +78,5 @@ static void mainmenu_update(ui_view* view, void* data, linked_list* items, list_ void mainmenu_open() { resources_load(); - list_display("主菜单", "A: 选择, START: 退出", NULL, mainmenu_update, mainmenu_draw_top); + list_display("主選單", "A: 選擇, START: 退出", NULL, mainmenu_update, mainmenu_draw_top); } diff --git a/source/fbi/task/listfiles.c b/source/fbi/task/listfiles.c index 0d5cc02..d9c05ed 100644 --- a/source/fbi/task/listfiles.c +++ b/source/fbi/task/listfiles.c @@ -16,8 +16,8 @@ int task_compare_files(void* userData, const void* p1, const void* p2) { list_item* info1 = (list_item*) p1; list_item* info2 = (list_item*) p2; - bool info1Base = strncmp(info1->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info1->name, "<当前文件>", LIST_ITEM_NAME_MAX) == 0; - bool info2Base = strncmp(info2->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info2->name, "<当前文件>", LIST_ITEM_NAME_MAX) == 0; + bool info1Base = strncmp(info1->name, "<當前資料夾>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info1->name, "<當前檔案>", LIST_ITEM_NAME_MAX) == 0; + bool info2Base = strncmp(info2->name, "<當前資料夾>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info2->name, "<當前檔案>", LIST_ITEM_NAME_MAX) == 0; if(info1Base && !info2Base) { return -1; @@ -199,9 +199,9 @@ static void task_populate_files_thread(void* arg) { if(R_SUCCEEDED(res = task_create_file_item(&baseItem, data->archive, data->path, 0, false))) { file_info* baseInfo = (file_info*) baseItem->data; if(baseInfo->attributes & FS_ATTRIBUTE_DIRECTORY) { - string_copy(baseItem->name, "<当前文件夹>", LIST_ITEM_NAME_MAX); + string_copy(baseItem->name, "<當前資料夾>", LIST_ITEM_NAME_MAX); } else { - string_copy(baseItem->name, "<当前文件>", LIST_ITEM_NAME_MAX); + string_copy(baseItem->name, "<當前檔案>", LIST_ITEM_NAME_MAX); } linked_list queue; @@ -363,4 +363,4 @@ Result task_populate_files(populate_files_data* data) { } return res; -} \ No newline at end of file +} diff --git a/source/fbi/task/uitask.c b/source/fbi/task/uitask.c index c999eac..46743cc 100644 --- a/source/fbi/task/uitask.c +++ b/source/fbi/task/uitask.c @@ -87,18 +87,18 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 size_t infoTextPos = 0; if(strlen(info->name) > 48) { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名称: %.45s...\n", info->name); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名稱: %.45s...\n", info->name); } else { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名称: %.48s\n", info->name); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名稱: %.48s\n", info->name); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "属性: "); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "屬性: "); if(info->attributes & (FS_ATTRIBUTE_DIRECTORY | FS_ATTRIBUTE_HIDDEN | FS_ATTRIBUTE_ARCHIVE | FS_ATTRIBUTE_READ_ONLY)) { bool needsSeparator = false; if(info->attributes & FS_ATTRIBUTE_DIRECTORY) { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "文件夹"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "資料夾"); needsSeparator = true; } @@ -107,7 +107,7 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, ", "); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "隐藏的项目"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "隱藏的檔案"); needsSeparator = true; } @@ -116,7 +116,7 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, ", "); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "文件"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "檔案"); needsSeparator = true; } @@ -125,11 +125,11 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, ", "); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "只读"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "只讀"); needsSeparator = true; } } else { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "无/任意"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "無"); } infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "\n"); @@ -137,10 +137,10 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 if(!(info->attributes & FS_ATTRIBUTE_DIRECTORY)) { infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "大小: %.2f %s", ui_get_display_size(info->size), ui_get_display_size_units(info->size)); - - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, " (%.2f %s)\n", - ui_get_display_size(info->ciaInfo.installedSize), - ui_get_display_size_units(info->ciaInfo.installedSize)); + + //infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, " (%.2f %s)\n", + //ui_get_display_size(info->ciaInfo.installedSize), + //ui_get_display_size_units(info->ciaInfo.installedSize)); if(info->isCia && info->ciaInfo.loaded) { char regionString[64]; @@ -154,15 +154,17 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 } infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, - "应用 ID: %016llX\n" + "程式 ID: %016llX\n" "版本: %hu (%d.%d.%d)\n" - "区域: %s", - //"安装后大小: %.2f %s", + "區域: %s", + "安裝後大小: %.2f %s", info->ciaInfo.titleId, info->ciaInfo.version, (info->ciaInfo.version >> 10) & 0x3F, (info->ciaInfo.version >> 4) & 0x3F, info->ciaInfo.version & 0xF, - regionString); + regionString, + ui_get_display_size(info->ciaInfo.installedSize), + ui_get_display_size_units(info->ciaInfo.installedSize)); } else if(info->isTicket && info->ticketInfo.loaded) { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "应用 ID: %016llX", info->ticketInfo.titleId); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "程式 ID: %016llX", info->ticketInfo.titleId); } } @@ -180,11 +182,11 @@ void task_draw_pending_title_info(ui_view* view, void* data, float x1, float y1, char infoText[512]; snprintf(infoText, sizeof(infoText), - "未完成的应用 ID: %016llX\n" + "未完成的程式 ID: %016llX\n" "位置: %s\n" "版本: %hu (%d.%d.%d)", info->titleId, - info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD 卡" : "游戏卡带", + info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD 卡" : "遊戲卡帶", info->version, (info->version >> 10) & 0x3F, (info->version >> 4) & 0x3F, info->version & 0xF); float infoWidth; @@ -200,7 +202,7 @@ void task_draw_system_save_data_info(ui_view* view, void* data, float x1, float char infoText[512]; - snprintf(infoText, sizeof(infoText), "系统数据 ID: %08lX", info->systemSaveDataId); + snprintf(infoText, sizeof(infoText), "系統數據 ID: %08lX", info->systemSaveDataId); float infoWidth; screen_get_string_size(&infoWidth, NULL, infoText, 0.5f, 0.5f); @@ -216,7 +218,7 @@ void task_draw_ticket_info(ui_view* view, void* data, float x1, float y1, float if(info->loaded) { char infoText[512]; - snprintf(infoText, sizeof(infoText), "应用 ID: %016llX", info->titleId); + snprintf(infoText, sizeof(infoText), "程式 ID: %016llX", info->titleId); float infoWidth; screen_get_string_size(&infoWidth, NULL, infoText, 0.5f, 0.5f); @@ -243,14 +245,14 @@ void task_draw_title_info(ui_view* view, void* data, float x1, float y1, float x char infoText[512]; snprintf(infoText, sizeof(infoText), - "应用 ID: %016llX\n" + "程式 ID: %016llX\n" "位置: %s\n" "版本: %hu (%d.%d.%d)\n" - "产品代码: %s\n" - "区域: %s\n" + "產品代碼: %s\n" + "區域: %s\n" "大小: %.2f %s", info->titleId, - info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD 卡" : "游戏卡带", + info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD 卡" : "遊戲卡帶", info->version, (info->version >> 10) & 0x3F, (info->version >> 4) & 0x3F, info->version & 0xF, info->productCode, regionString, diff --git a/source/fbi/update.c b/source/fbi/update.c index 659a657..e1a60d9 100644 --- a/source/fbi/update.c +++ b/source/fbi/update.c @@ -14,7 +14,7 @@ static void update_check_update(ui_view* view, void* data, float* progress, char* text) { ui_pop(); info_destroy(view); - prompt_display_notify("检查更新", "测试/滚动版不支持检查更新\n仅预览版及稳定版支持更新至最新版本.", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("檢查更新", "測試/滾動版本不支持檢查更新\n僅預覽版及穩定版支持更新至最新版本.", COLOR_TEXT, NULL, NULL, NULL); return;