mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-26 02:30:06 +00:00
basic translation support
This commit is contained in:
parent
26979cd6ef
commit
4218703d55
@ -80,8 +80,21 @@ set(UIS
|
|||||||
hotkeys.ui
|
hotkeys.ui
|
||||||
main.ui
|
main.ui
|
||||||
)
|
)
|
||||||
|
set(LANGS
|
||||||
|
translation/language_en.ts
|
||||||
|
)
|
||||||
|
find_package(Qt5 REQUIRED COMPONENTS LinguistTools ${QT_PREFIX_HINT})
|
||||||
|
|
||||||
create_directory_groups(${SRCS} ${HEADERS} ${UIS})
|
# Some packages might be in the system include path, qt5_create_translation is poorly written
|
||||||
|
# and will explicitly list all INCLUDE_DIRECTORIES for translation search which would take hours.
|
||||||
|
# To avoid this we first clear the list, and then restore it afterwards..
|
||||||
|
get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
|
||||||
|
set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "")
|
||||||
|
qt5_create_translation(translations ${SRCS} ${HEADERS} ${UIS} ${LANGS})
|
||||||
|
set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${_inc_DIRS}")
|
||||||
|
|
||||||
|
qt5_add_translation(TRANSLATIONS ${LANGS})
|
||||||
|
create_directory_groups(${SRCS} ${HEADERS} ${UIS} ${LANGS})
|
||||||
|
|
||||||
if (Qt5_FOUND)
|
if (Qt5_FOUND)
|
||||||
qt5_wrap_ui(UI_HDRS ${UIS})
|
qt5_wrap_ui(UI_HDRS ${UIS})
|
||||||
@ -90,12 +103,13 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
|
SET_SOURCE_FILES_PROPERTIES("${TRANSLATIONS}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/languages)
|
||||||
set(MACOSX_ICON "../../dist/citra.icns")
|
set(MACOSX_ICON "../../dist/citra.icns")
|
||||||
set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
add_executable(citra-qt MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${MACOSX_ICON})
|
add_executable(citra-qt MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${TRANSLATIONS} ${MACOSX_ICON})
|
||||||
set_target_properties(citra-qt PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
set_target_properties(citra-qt PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||||
else()
|
else()
|
||||||
add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS})
|
add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS} ${TRANSLATIONS})
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(citra-qt core video_core audio_core common input_common)
|
target_link_libraries(citra-qt core video_core audio_core common input_common)
|
||||||
target_link_libraries(citra-qt ${OPENGL_gl_LIBRARY} ${CITRA_QT_LIBS})
|
target_link_libraries(citra-qt ${OPENGL_gl_LIBRARY} ${CITRA_QT_LIBS})
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
#include <QLocale>
|
||||||
#include "citra_qt/configuration/configure_general.h"
|
#include "citra_qt/configuration/configure_general.h"
|
||||||
#include "citra_qt/ui_settings.h"
|
#include "citra_qt/ui_settings.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
@ -15,6 +17,21 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent)
|
|||||||
this->setConfiguration();
|
this->setConfiguration();
|
||||||
|
|
||||||
ui->toggle_cpu_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
ui->toggle_cpu_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
||||||
|
|
||||||
|
// locale stuff
|
||||||
|
QString m_langPath = QApplication::applicationDirPath();
|
||||||
|
m_langPath.append("/languages");
|
||||||
|
QDir dir(m_langPath);
|
||||||
|
QStringList fileNames = dir.entryList(QStringList("*.qm"));
|
||||||
|
|
||||||
|
for (int i = 0; i < fileNames.size(); ++i) {
|
||||||
|
// get locale extracted by filename
|
||||||
|
QString locale;
|
||||||
|
locale = fileNames[i]; // "de.qm"
|
||||||
|
locale.truncate(locale.lastIndexOf('.')); // "de"
|
||||||
|
QString lang = locale.right(2);
|
||||||
|
ui->language_combobox->addItem(lang, locale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigureGeneral::~ConfigureGeneral() {}
|
ConfigureGeneral::~ConfigureGeneral() {}
|
||||||
@ -29,6 +46,10 @@ void ConfigureGeneral::setConfiguration() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureGeneral::applyConfiguration() {
|
void ConfigureGeneral::applyConfiguration() {
|
||||||
|
QString m_langPath = QApplication::applicationDirPath() + "/languages/" +
|
||||||
|
ui->language_combobox->currentData().toString() + ".qm";
|
||||||
|
translator.load(m_langPath);
|
||||||
|
|
||||||
UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked();
|
UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked();
|
||||||
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
|
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
|
||||||
Settings::values.region_value = ui->region_combobox->currentIndex() - 1;
|
Settings::values.region_value = ui->region_combobox->currentIndex() - 1;
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <QTranslator>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@ -25,4 +26,5 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<Ui::ConfigureGeneral> ui;
|
std::unique_ptr<Ui::ConfigureGeneral> ui;
|
||||||
|
QTranslator translator;
|
||||||
};
|
};
|
||||||
|
@ -24,6 +24,21 @@
|
|||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Language:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="language_combobox">
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="toggle_deepscan">
|
<widget class="QCheckBox" name="toggle_deepscan">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
1660
src/citra_qt/translation/language_en.ts
Normal file
1660
src/citra_qt/translation/language_en.ts
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user