diff --git a/src/lib/lang.hpp b/src/lib/lang.hpp deleted file mode 100644 index 93e00cb..0000000 --- a/src/lib/lang.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2021 ~ 2022 Deepin Technology Co., Ltd. - * - * Author: weizhixiang - * - * Maintainer: weizhixiang - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef LANG_H -#define LANG_H - -#include "dstring.h" - -#include -#include -#include -#include -#include - -// 返回用户语言,参见man gettext -inline std::vector queryLangs() { - std::vector ret; - const char *lcAll = getenv("LC_ALL"); - const char *lcMessage = getenv("LC_MESSAGE"); - const char *language = getenv("LANGUAGE"); - const char *lang = getenv("LANG"); - - auto cutOff = [](std::string str)->std::string { - size_t idx = str.find("."); - if (idx == std::string::npos) - return str; - - return std::string(str).substr(0, idx); - }; - - if (lcAll && std::string(lcAll) != "C" - && language && std::string(language) != "") - { - std::vector splits = DString::splitChars(language, ':'); - for (const auto &l : splits) { - ret.push_back(cutOff(l)); - } - return ret; - } - - if (lcAll && std::string(lcAll) != "") - ret.push_back(cutOff(lcAll)); - - if (lcMessage && std::string(lcMessage) != "") - ret.push_back(cutOff(lcMessage)); - - if (lang && std::string(lang) != "") - ret.push_back(cutOff(lang)); - - return ret; -} - - -#endif // LANG_H