| 64 | } |
| 65 | |
| 66 | void installTranslator(DApplication &a) |
| 67 | { |
| 68 | QTranslator *translator = new QTranslator(&a); |
| 69 | |
| 70 | auto translationFileDir = CustomPaths::endSeparator(CustomPaths::global(CustomPaths::Translations)); |
| 71 | QString configFile = CustomPaths::user(CustomPaths::Flags::Configures) |
| 72 | + QDir::separator() + "deepin-unioncode.json"; |
| 73 | |
| 74 | Settings settings("", configFile); |
| 75 | auto map = settings.value("General", "Language").toMap(); |
| 76 | QString language = map.value("path").toString(); |
| 77 | if (language.isEmpty()) { |
| 78 | language = QLocale().name() + ".qm"; |
| 79 | QVariantMap map; |
| 80 | map.insert("path", language); |
| 81 | settings.setValue("General", "Language", map); |
| 82 | } |
| 83 | |
| 84 | QString name = language.left(language.indexOf(".")); |
| 85 | a.loadTranslator(QList<QLocale>() << QLocale(name)); |
| 86 | translator->load(translationFileDir + language); |
| 87 | a.installTranslator(translator); |
| 88 | } |
| 89 | |
| 90 | void voidMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) |
| 91 | { |