From ada077a0caa0683f0d7640a9acf397bffc5251ad Mon Sep 17 00:00:00 2001 From: Rintim Date: Mon, 17 Aug 2020 09:09:18 +0800 Subject: [PATCH] 2020/08/17:Inchar - a little change --- .gitignore | 2 ++ Makefile | 4 ++-- README.md | 10 ++++++---- source/core/ui/ui.c | 2 +- source/fbi/action/rename.c | 2 +- source/fbi/dumpnand.c | 12 ++++++------ source/fbi/extsavedata.c | 6 +++--- source/fbi/files.c | 36 ++++++++++++++++++------------------ source/fbi/mainmenu.c | 16 ++++++++-------- source/fbi/task/listfiles.c | 8 ++++---- source/fbi/task/uitask.c | 24 ++++++++++++------------ source/fbi/tickets.c | 16 ++++++++-------- source/fbi/titles.c | 30 +++++++++++++++--------------- source/fbi/update.c | 2 +- 14 files changed, 87 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index d2d3c66..80127bb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ CMakeLists.txt build output + +.vscode \ No newline at end of file diff --git a/Makefile b/Makefile index c513d72..036dc90 100644 --- a/Makefile +++ b/Makefile @@ -21,8 +21,8 @@ VERSION_MAJOR := $(word 1, $(VERSION_PARTS)) VERSION_MINOR := $(word 2, $(VERSION_PARTS)) VERSION_MICRO := $(word 3, $(VERSION_PARTS)) -DESCRIPTION := Open source title manager. -AUTHOR := Steveice10 +DESCRIPTION := 3DS開源程式管理器. +AUTHOR := Steveice10 Rintim+OasisAkari PRODUCT_CODE := CTR-P-CFBI UNIQUE_ID := 0xF8001 diff --git a/README.md b/README.md index 4275326..581648a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ FBI是壹個3DS開源應用管理器。 -本倉庫為FBI的繁體漢化版本。 +本倉庫為FBI的繁體漢化版本,部分詞匯因兼容原字庫做簡化或改詞處理。 原倉庫: https://github.com/Steveice10/FBI/ @@ -25,9 +25,9 @@ FBI是壹個3DS開源應用管理器。 ## 編譯 -需要 [devkitARM](http://sourceforge.net/projects/devkitpro/files/devkitARM/) 中的 3ds-curl, 3ds-zlib, 和 3ds-jansson, 和Steveice10的 buildtools + - 需要 [devkitARM](http://sourceforge.net/projects/devkitpro/files/devkitARM/) 中的 3ds-curl, 3ds-zlib, 和 3ds-jansson -buildtools: https://github.com/Steveice10/buildtools + - 需要 Steveice10 的 [buildtools](https://github.com/Steveice10/buildtools) ``` git clone https://github.com/Steveice10/buildtools @@ -37,7 +37,9 @@ make ## 感謝 -感謝原作者Steveice10提供FBI +感謝原作者 Steveice10 提供 FBI + +OasisAkari : 用詞修正 >Banner: Originally created by [OctopusRift](http://gbatemp.net/members/octopusrift.356526/), touched up by [Apache Thunder](https://gbatemp.net/members/apache-thunder.105648/), updated for new logo by [PabloMK7](http://gbatemp.net/members/pablomk7.345712/). diff --git a/source/core/ui/ui.c b/source/core/ui/ui.c index ef551d2..c5c585f 100644 --- a/source/core/ui/ui.c +++ b/source/core/ui/ui.c @@ -411,5 +411,5 @@ const char* ui_get_display_size_units(u64 size) { return "KiB"; } - return "B"; + return "Byte"; } \ No newline at end of file diff --git a/source/fbi/action/rename.c b/source/fbi/action/rename.c index 19cd737..275632f 100644 --- a/source/fbi/action/rename.c +++ b/source/fbi/action/rename.c @@ -57,7 +57,7 @@ static void action_rename_onresponse(ui_view* view, void* data, SwkbdButton butt } if(R_SUCCEEDED(res)) { - if(strncmp(selected->name, "<當前目錄>", LIST_ITEM_NAME_MAX) != 0 && strncmp(selected->name, "<當前文件>", LIST_ITEM_NAME_MAX) != 0) { + if(strncmp(selected->name, "<當前目錄>", LIST_ITEM_NAME_MAX) != 0 && strncmp(selected->name, "<當前檔案>", LIST_ITEM_NAME_MAX) != 0) { string_copy(selected->name, fileName, LIST_ITEM_NAME_MAX); } diff --git a/source/fbi/dumpnand.c b/source/fbi/dumpnand.c index d3e480c..72d86f8 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("成功", "NAND已成功導出", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "成功備份NAND", 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("導出NAND", "按B鍵停止", true, data, dumpnand_update, NULL); + info_display("備份NAND", "按B鍵停止", true, data, dumpnand_update, NULL); } else { - error_display_res(NULL, NULL, res, "無法初始化導出NAND"); + error_display_res(NULL, NULL, res, "無法初始化備份NAND"); free(data); } } else { @@ -131,7 +131,7 @@ static void dumpnand_onresponse(ui_view* view, void* data, u32 response) { void dumpnand_open() { data_op_data* data = (data_op_data*) calloc(1, sizeof(data_op_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配導出NAND數據"); + error_display(NULL, NULL, "無法分配NAND備份數據"); return; } @@ -164,7 +164,7 @@ void dumpnand_open() { data->finished = true; - prompt_display_yes_no("確認", "是否導出原始NAND鏡像?", COLOR_TEXT, data, NULL, dumpnand_onresponse); + prompt_display_yes_no("確認", "是否備份原始NAND鏡像?", COLOR_TEXT, data, NULL, dumpnand_onresponse); } // オケー \ No newline at end of file diff --git a/source/fbi/extsavedata.c b/source/fbi/extsavedata.c index bb49a92..dac152a 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 = {"瀏覽SpotPass保存數據", 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 = {"瀏覽SpotPass保存資料", 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 06581cf..9cdfcb3 100644 --- a/source/fbi/files.c +++ b/source/fbi/files.c @@ -11,7 +11,7 @@ #include "../core/core.h" static list_item rename_opt = {"重命名", COLOR_TEXT, action_rename}; -static list_item copy = {"復制", COLOR_TEXT, NULL}; +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}; @@ -23,9 +23,9 @@ static list_item install_ticket = {"安裝ticket", COLOR_TEXT, action_install_ti 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 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 = {"安裝所有CIAs", COLOR_TEXT, action_install_cias}; static list_item install_and_delete_all_cias = {"安裝並刪除所有CIAs", COLOR_TEXT, action_install_cias_delete}; @@ -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,9 +238,9 @@ 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->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); } @@ -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) { diff --git a/source/fbi/mainmenu.c b/source/fbi/mainmenu.c index c5065da..05fc7f5 100644 --- a/source/fbi/mainmenu.c +++ b/source/fbi/mainmenu.c @@ -12,14 +12,14 @@ 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 = {"Dump NAND", COLOR_TEXT, dumpnand_open}; -static list_item titles = {"Titles", COLOR_TEXT, titles_open}; -static list_item pending_titles = {"Pending Titles", COLOR_TEXT, pendingtitles_open}; +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 = {"Tickets", COLOR_TEXT, tickets_open}; -static list_item ext_save_data = {"Ext Save Data", COLOR_TEXT, extsavedata_open}; -static list_item system_save_data = {"System Save Data", COLOR_TEXT, systemsavedata_open}; -static list_item remote_install = {"Remote Install", COLOR_TEXT, remoteinstall_open}; -static list_item update = {"Update", COLOR_TEXT, update_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 = {"升級", 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 +64,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 3b6cb2e..d2d5172 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; diff --git a/source/fbi/task/uitask.c b/source/fbi/task/uitask.c index 7846bf1..297f1e4 100644 --- a/source/fbi/task/uitask.c +++ b/source/fbi/task/uitask.c @@ -98,7 +98,7 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 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; } @@ -150,7 +150,7 @@ 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\n" "安裝後大小: %.2f %s", @@ -178,11 +178,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" - "媒體類型: %s\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" : "遊戲Card", info->version, (info->version >> 10) & 0x3F, (info->version >> 4) & 0x3F, info->version & 0xF); float infoWidth; @@ -214,7 +214,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); @@ -241,14 +241,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" - "媒體類型: %s\n" + "程式ID: %016llX\n" + "位置: %s\n" "版本: %hu (%d.%d.%d)\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" : "遊戲Card", info->version, (info->version >> 10) & 0x3F, (info->version >> 4) & 0x3F, info->version & 0xF, info->productCode, regionString, diff --git a/source/fbi/tickets.c b/source/fbi/tickets.c index 7afccc7..d579295 100644 --- a/source/fbi/tickets.c +++ b/source/fbi/tickets.c @@ -9,8 +9,8 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item delete_ticket = {"Delete Ticket", COLOR_TEXT, action_delete_ticket}; -static list_item delete_unused_tickets = {"Delete Unused Tickets", COLOR_TEXT, action_delete_tickets_unused}; +static list_item delete_ticket = {"刪除Ticket", COLOR_TEXT, action_delete_ticket}; +static list_item delete_unused_tickets = {"刪除未使用的Tickets", COLOR_TEXT, action_delete_tickets_unused}; typedef struct { populate_tickets_data populateData; @@ -61,7 +61,7 @@ static void tickets_action_update(ui_view* view, void* data, linked_list* items, static void tickets_action_open(linked_list* items, list_item* selected) { tickets_action_data* data = (tickets_action_data*) calloc(1, sizeof(tickets_action_data)); if(data == NULL) { - error_display(NULL, NULL, "Failed to allocate tickets action data."); + error_display(NULL, NULL, "無法分配 Tickets 操作數據"); return; } @@ -69,7 +69,7 @@ static void tickets_action_open(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - list_display("Ticket Action", "A: Select, B: Return", data, tickets_action_update, tickets_action_draw_top); + list_display("Ticket 操作", "A: 選擇, B: 返回", data, tickets_action_update, tickets_action_draw_top); } static void tickets_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -109,14 +109,14 @@ static void tickets_update(ui_view* view, void* data, linked_list* items, list_i listData->populateData.items = items; Result res = task_populate_tickets(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "Failed to initiate ticket list population."); + error_display_res(NULL, NULL, res, "無法初始化 Tickets 列表"); } listData->populated = true; } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "Failed to populate ticket list."); + error_display_res(NULL, NULL, listData->populateData.result, "無法填充 Tickets 列表"); listData->populateData.result = 0; } @@ -130,12 +130,12 @@ static void tickets_update(ui_view* view, void* data, linked_list* items, list_i void tickets_open() { tickets_data* data = (tickets_data*) calloc(1, sizeof(tickets_data)); if(data == NULL) { - error_display(NULL, NULL, "Failed to allocate tickets data."); + error_display(NULL, NULL, "無法分配 Tickets 數據"); return; } data->populateData.finished = true; - list_display("Tickets", "A: Select, B: Return, X: Refresh", data, tickets_update, tickets_draw_top); + list_display("Tickets", "A: 選擇, B: 返回, X: 刷新", data, tickets_update, tickets_draw_top); } \ No newline at end of file diff --git a/source/fbi/titles.c b/source/fbi/titles.c index 4a77eed..b87f0e6 100644 --- a/source/fbi/titles.c +++ b/source/fbi/titles.c @@ -10,15 +10,15 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item launch_title = {"啓動應用", COLOR_TEXT, action_launch_title}; -static list_item delete_title = {"刪除應用", COLOR_TEXT, action_delete_title}; -static list_item delete_title_ticket = {"刪除應用和保存數據", COLOR_TEXT, action_delete_title_ticket}; +static list_item launch_title = {"啓動程式", COLOR_TEXT, action_launch_title}; +static list_item delete_title = {"刪除程式", COLOR_TEXT, action_delete_title}; +static list_item delete_title_ticket = {"刪除程式和保存數據", COLOR_TEXT, action_delete_title_ticket}; static list_item extract_smdh = {"提取SMDH", COLOR_TEXT, action_extract_smdh}; static list_item import_seed = {"導入Seed", COLOR_TEXT, action_import_seed}; -static list_item browse_save_data = {"瀏覽存檔文件", COLOR_TEXT, action_browse_title_save_data}; -static list_item import_save_data = {"導入存檔文件", COLOR_TEXT, action_import_twl_save}; -static list_item export_save_data = {"導出存檔文件", COLOR_TEXT, action_export_twl_save}; -static list_item erase_save_data = {"清除存檔文件", COLOR_TEXT, action_erase_twl_save}; +static list_item browse_save_data = {"瀏覽保存文件", COLOR_TEXT, action_browse_title_save_data}; +static list_item import_save_data = {"導入保存文件", COLOR_TEXT, action_import_twl_save}; +static list_item export_save_data = {"導出保存文件", COLOR_TEXT, action_export_twl_save}; +static list_item erase_save_data = {"清除保存文件", COLOR_TEXT, action_erase_twl_save}; static list_item import_secure_value = {"導入安全値", COLOR_TEXT, action_import_secure_value}; static list_item export_secure_value = {"導出安全値", COLOR_TEXT, action_export_secure_value}; static list_item delete_secure_value = {"刪除安全値", COLOR_TEXT, action_delete_secure_value}; @@ -105,7 +105,7 @@ static void titles_action_update(ui_view* view, void* data, linked_list* items, static void titles_action_open(linked_list* items, list_item* selected) { titles_action_data* data = (titles_action_data*) calloc(1, sizeof(titles_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配應用操作數據"); + error_display(NULL, NULL, "無法分配程式操作數據"); return; } @@ -113,7 +113,7 @@ static void titles_action_open(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - list_display("應用操作", "A: 選擇, B: 返回", data, titles_action_update, titles_action_draw_top); + list_display("程式操作", "A: 選擇, B: 返回", data, titles_action_update, titles_action_draw_top); } static void titles_options_add_entry(linked_list* items, const char* name, bool* val) { @@ -177,8 +177,8 @@ static void titles_options_update(ui_view* view, void* data, linked_list* items, if(linked_list_size(items) == 0) { titles_options_add_entry(items, "顯示遊戲Card", &listData->showGameCard); - titles_options_add_entry(items, "顯示SD Card", &listData->showSD); - titles_options_add_entry(items, "顯示NAND", &listData->showNAND); + titles_options_add_entry(items, "顯示SD Card程式", &listData->showSD); + titles_options_add_entry(items, "顯示NAND程式", &listData->showNAND); titles_options_add_entry(items, "按ID排列", &listData->sortById); titles_options_add_entry(items, "按名稱排列", &listData->sortByName); titles_options_add_entry(items, "按大小排列", &listData->sortBySize); @@ -231,14 +231,14 @@ static void titles_update(ui_view* view, void* data, linked_list* items, list_it listData->populateData.items = items; Result res = task_populate_titles(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化應用列表"); + error_display_res(NULL, NULL, res, "無法初始化程式列表"); } listData->populated = true; } 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; } @@ -312,7 +312,7 @@ static int titles_compare(void* data, const void* p1, const void* p2) { void titles_open() { titles_data* data = (titles_data*) calloc(1, sizeof(titles_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配應用數據."); + error_display(NULL, NULL, "無法分配程式數據."); return; } @@ -330,7 +330,7 @@ void titles_open() { data->sortByName = true; data->sortBySize = false; - list_display("應用(Titles)", "A: 選擇, B: 返回, X: 刷新, Select: 選項", data, titles_update, titles_draw_top); + list_display("程式(Titles)", "A: 選擇, B: 返回, X: 刷新, Select: 選項", data, titles_update, titles_draw_top); } // オケー \ No newline at end of file diff --git a/source/fbi/update.c b/source/fbi/update.c index 0d6ee5c..30faa41 100644 --- a/source/fbi/update.c +++ b/source/fbi/update.c @@ -18,7 +18,7 @@ static void update_check_update(ui_view* view, void* data, float* progress, char Result res = 0; json_t* json = NULL; - if(R_SUCCEEDED(res = http_download_json("https://api.github.com/repos/Steveice10/FBI/releases/latest", &json, 16 * 1024))) { + if(R_SUCCEEDED(res = http_download_json("https://api.github.com/repos/Rintim/FBI-i18n-zh-tw/releases/latest", &json, 16 * 1024))) { if(json_is_object(json)) { json_t* name = json_object_get(json, "name"); json_t* assets = json_object_get(json, "assets");