diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f14b74d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +################################################################################ +# 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。 +################################################################################ + +/.vs diff --git a/README.md b/README.md index cc71aff..48efae2 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,24 @@ # 一键切换Ubuntu系统到简体中文 -## **注意!程序运行完之后会自动重启目标电脑/服务器,请确保没有未保存的工作!否则后果自负!** ## 这个程序有且仅在Ubuntu系统上测试过,18.04及以上应该都不会有问题,非Debian系列应该都用不了 *** -## 两个版本 -1.C++ -2.纯Shell -## 不同版本区别 -这两个版本的唯一区别就是运行方式不一样,功能和结构没有任何区别 -不信你可以去看源代码,C++版本我只是用了system函数执行shell语句,效果不能说天差地别吧,至少也能说是一模一样 +## 编程语言 +C++ +原本shell那个版本已经被彻底淘汰了,因为我从头到尾就不会bash,用cpp还能做更多设置 *** + ## 使用方法 确保已经安装wget或者有其他方法可以传输文件 ```shell apt update && apt install -y wget ``` *** -下面两个版本选一个就行 -*** -下载程序(Shell) -```shell -wget https://raw.githubusercontent.com/TheWhiteDog9487/ubuntu-language-onekey-zh_cn/main/language.sh -``` -下载程序(C++) +下载程序 ```shell wget https://raw.githubusercontent.com/TheWhiteDog9487/ubuntu-language-onekey-zh_cn/main/language ``` -运行程序(Shell) -```shell -sudo bash language.sh -``` -运行程序(C++) +运行程序 ```shell sudo chmod o+x language sudo ./language diff --git a/language.cpp b/language.cpp index f93a6aa..6d8a961 100644 --- a/language.cpp +++ b/language.cpp @@ -1,9 +1,31 @@ #include +#include +#include using namespace std; + +auto check() { + cout << "请输入您的选项(输入y或者yes继续)"; + string userin; + cin >> userin; + if (userin == "y" or userin == "yes") + return; + else + cout << "输入不正确欸,如果想停止本程序的话请按下Ctrl+C" << endl; + check();} + int main(){ + cout << "提示:本程序需要root权限,如果您不是以root运行的本程序,请Ctrl+C终止并重新提权运行" << endl; + cout << "如果确认权限没有问题,请输入y或者yes"; + check(); + cout << "即将开始安装并配置简体中文语言包,请输入y或者yes继续,或者按Ctrl+C终止本程序"; + check(); system("apt install -y language-pack-zh-hans"); system("locale-gen zh_CN.UTF-8"); system("mv /etc/default/locale /etc/default/locale.backup"); system("touch /etc/default/locale"); system("echo LANG=\"zh_CN.UTF-8\" > /etc/default/locale"); + cout << "原/etc/default/locale已经备份为/etc/default/locale.backup" << endl; + cout << "即将重启以应用语言设置,请保存您未完成的工作以防数据丢失" << endl; + cout << "输入y或者yes重启或者按Ctrl+C终止本程序" << endl; + check(); system("reboot");} \ No newline at end of file diff --git a/language.sh b/language.sh deleted file mode 100644 index 44232d2..0000000 --- a/language.sh +++ /dev/null @@ -1,7 +0,0 @@ -apt update -apt install -y language-pack-zh-hans -locale-gen zh_CN.UTF-8 -mv /etc/default/locale /etc/default/locale.backup -touch /etc/default/locale -echo LANG="zh_CN.UTF-8" > /etc/default/locale -reboot \ No newline at end of file