[locale] Added localization files.

Based on similar files from mcrecover.

[qrvthtool] TranslationManager: Search for rvthtool_*.qm,
not mcrecover_*.qm.
This commit is contained in:
David Korth 2018-09-30 21:48:58 -04:00
parent 6404db3781
commit 56929bf421
9 changed files with 833 additions and 2 deletions

View File

@ -110,6 +110,14 @@ ADD_CUSTOM_TARGET(uninstall
### Subdirectories. ###
# Translations.
IF(ENABLE_NLS)
# NOTE: ENABLE_NLS only controls whether or not translations
# are built. TranslationManager and related are always built
# regardless.
ADD_SUBDIRECTORY(locale)
ENDIF(ENABLE_NLS)
# Project subdirectories.
ADD_SUBDIRECTORY(extlib)
ADD_SUBDIRECTORY(src)

View File

@ -25,3 +25,6 @@ IF(INSTALL_DEBUG AND NOT SPLIT_DEBUG)
# Cannot install debug files if we're not splitting them.
SET(INSTALL_DEBUG OFF CACHE "Install the split debug files." INTERNAL FORCE)
ENDIF(INSTALL_DEBUG AND NOT SPLIT_DEBUG)
# Translations.
OPTION(ENABLE_NLS "Enable NLS using Qt's built-in localization system." ON)

51
locale/CMakeLists.txt Normal file
View File

@ -0,0 +1,51 @@
# Localization files.
PROJECT(locale)
# rvthtool translations subproject.
FIND_PACKAGE(Qt5 COMPONENTS Core LinguistTools)
IF(Qt5_FOUND AND Qt5Core_FOUND AND Qt5LinguistTools_FOUND)
# Found Qt5.
ELSE()
# Did not find Qt5.
MESSAGE(WARNING "Qt5 not found. Not building localization files.")
SET(ENABLE_NLS OFF)
ENDIF()
IF(ENABLE_NLS)
# Compile the translations.
SET(TRANSLATION_FILES
rvthtool_en.ts
rvthtool_1337.ts
)
QT5_ADD_TRANSLATION(QM_FILES ${TRANSLATION_FILES})
# Make the destination files available in parent score.
SET(QM_FILES ${QM_FILES} PARENT_SCOPE)
ADD_CUSTOM_TARGET(translations_target DEPENDS ${QM_FILES})
#################
# Installation. #
#################
INCLUDE(DirInstallPaths)
INSTALL(FILES ${QM_FILES}
DESTINATION "${DIR_INSTALL_TRANSLATIONS}"
COMPONENT "translations"
)
# System translations.
# Install on Windows and Mac OS X, or if we're using statically-linked Qt.
# Dynamically-linked Qt uses system translations.
IF(QT_IS_STATIC OR APPLE OR NOT UNIX)
FILE(GLOB QT_SYS_TRANSLATIONS "${QT_TRANSLATIONS_DIR}/qt_??.qm")
INSTALL(FILES ${QT_SYS_TRANSLATIONS}
DESTINATION ${DIR_INSTALL_TRANSLATIONS}
COMPONENT "translations"
)
ENDIF(QT_IS_STATIC OR APPLE OR NOT UNIX)
ENDIF(ENABLE_NLS)

22
locale/lupdate.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
# Qt lupdate script for qrvthtool.
# Run this script to update the translations from the source code.
# NOTE: This script must be run from the locale/ directory!
# Source file extensions.
SRC_EXTS="h,hpp,c,cpp,m,mm,ui"
# Process the translation files.
TS_FILES=$(find . -maxdepth 1 -type f -name "*.ts")
if [[ -z "${TS_FILES}" ]]; then
echo "*** ERROR: No translation files (*.ts) were found."
echo "*** Create an empty translation file and try again."
exit 1
fi
for TS_FILE in ${TS_FILES}; do
if [ ! -s "${TS_FILE}" ]; then
rm -f "${TS_FILE}"
fi
lupdate -extensions "${SRC_EXTS}" ../src/ -ts "${TS_FILE}"
done

371
locale/rvthtool_1337.ts Normal file
View File

@ -0,0 +1,371 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>BankEntryView</name>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="54"/>
<source>Type:</source>
<translation>7yp3:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="71"/>
<source>Size:</source>
<translation>51z3:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="88"/>
<source>Timestamp:</source>
<translation>71m3574mp:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="105"/>
<source>Game ID:</source>
<translation>64m3 1d:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="122"/>
<source>Disc #:</source>
<translation>d15c #:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="139"/>
<source>Revision:</source>
<translation>r3v1510n:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="156"/>
<source>Region:</source>
<translation>r3610n:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="173"/>
<source>IOS Version:</source>
<translation>105 v3r510n:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="190"/>
<source>Encryption:</source>
<translation>3ncryp710n:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="207"/>
<source>Ticket Sig:</source>
<translation>71ck37 516:</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="224"/>
<source>TMD Sig:</source>
<translation>7md 516:</translation>
</message>
<message numerus="yes">
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="115"/>
<source>byte(s)</source>
<translation>
<numerusform>by73</numerusform>
<numerusform>by735</numerusform>
</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="120"/>
<source>KiB</source>
<translation>k1b</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="125"/>
<source>MiB</source>
<translation>m1b</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="130"/>
<source>GiB</source>
<translation>61b</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="135"/>
<source>TiB</source>
<translation>71b</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="140"/>
<source>PiB</source>
<translation>p1b</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="145"/>
<source>EiB</source>
<translation>31b</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="174"/>
<source>%1 %2</source>
<extracomment>%1 == localized value, %2 == suffix (e.g. MiB)</extracomment>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="200"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="298"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="330"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="394"/>
<source>Unknown</source>
<translation>unkn0wn</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="203"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="400"/>
<source>Debug</source>
<translation>d3bu6</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="206"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="403"/>
<source>Retail</source>
<translation>r3741l</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="222"/>
<source>INVALID</source>
<translation>1nv4l1d</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="226"/>
<source>fakesigned</source>
<translation>f4k3516n3d</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="287"/>
<source>[DELETED]</source>
<translation>[d3l373d]</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="301"/>
<source>Empty</source>
<translation>3mp7y</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="304"/>
<source>GameCube</source>
<translation>64m3cub3</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="307"/>
<source>Wii (Single-Layer)</source>
<translation>w11 (51n6l3-l4y3r)</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="310"/>
<source>Wii (Dual-Layer)</source>
<translation>w11 (du4l-l4y3r)</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="313"/>
<source>Wii (DL Bank 2)</source>
<translation>w11 (dl b4nk 2)</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="397"/>
<source>None</source>
<translation>n0n3</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="406"/>
<source>Korean</source>
<translation>k0r34n</translation>
</message>
</context>
<context>
<name>LanguageMenu</name>
<message>
<location filename="../src/qrvthtool/widgets/LanguageMenu.cpp" line="152"/>
<source>System Default (%1)</source>
<comment>ts-language</comment>
<extracomment>Translation: System Default (retrieved from system settings)</extracomment>
<translation>5y573m d3f4ul7 (%1)</translation>
</message>
</context>
<context>
<name>QRvtHToolWindow</name>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="76"/>
<source>Bank Information</source>
<translation>b4nk 1nf0rm4710n</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="100"/>
<source>&amp;File</source>
<translation>&amp;f1l3</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="109"/>
<source>&amp;Help</source>
<translation>&amp;h3lp</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="115"/>
<source>&amp;Language</source>
<translation>&amp;l4n6u463</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="136"/>
<source>&amp;Open</source>
<translation>&amp;Op3n</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="139"/>
<source>Open an RVT-H Reader disk image</source>
<translation>0p3n 4n rv7-h r34d3r d15k 1m463</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="142"/>
<source>Ctrl+O</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="151"/>
<source>E&amp;xit</source>
<translation>3&amp;x17</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="154"/>
<source>Exit the program</source>
<translation>3x17 7h3 pr06r4m</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="163"/>
<source>&amp;About</source>
<translation>&amp;Ab0u7</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="166"/>
<source>About this program</source>
<translation>4b0u7 7h15 pr06r4m</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="175"/>
<source>&amp;Close</source>
<translation>&amp;cl053</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="178"/>
<source>Close the RVT-H Reader disk image</source>
<translation>cl053 7h3 rv7-h r34d3r d15k 1m463</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="181"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="108"/>
<source>No RVT-H Reader disk image loaded.</source>
<translation>n0 rv7-h r34d3r d15k 1m463 l04d3d.</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="394"/>
<source>All Supported Files</source>
<translation>4ll 5upp0r73d f1l35</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="396"/>
<source>RVT-H Reader Disk Image Files</source>
<translation>rv7-h r34d3r d15k 1m463 f1l35</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="398"/>
<source>GameCube/Wii Disc Image Files</source>
<translation>64m3cub3/w11 d15c 1m463 f1l35</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="400"/>
<source>All Files</source>
<translation>4ll f1l35</translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="414"/>
<source>Open RVT-H Reader Disk Image</source>
<translation>0p3n rv7-h r34d3r d15k 1m463</translation>
</message>
</context>
<context>
<name>QTreeViewOpt</name>
<message>
<location filename="../src/qrvthtool/widgets/QTreeViewOpt.cpp" line="87"/>
<source>Hide Column &apos;%1&apos;</source>
<translation>h1d3 c0lumn &apos;%1&apos;</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/QTreeViewOpt.cpp" line="101"/>
<source>Show Column &apos;%1&apos;</source>
<translation>5h0w c0lumn &apos;%1&apos;</translation>
</message>
</context>
<context>
<name>RvtHModel</name>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="545"/>
<source>#</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="546"/>
<source>Type</source>
<translation>7yp3</translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="547"/>
<source>Title</source>
<translation>717l3</translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="549"/>
<source>Game ID</source>
<extracomment>6-character game ID, e.g. GALE01.</extracomment>
<translation>64m3 1d</translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="550"/>
<source>Disc #</source>
<translation>d15c #</translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="551"/>
<source>Revision</source>
<translation>r3v1510n</translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="552"/>
<source>Region</source>
<translation>r3610n</translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="553"/>
<source>IOS</source>
<translation>105</translation>
</message>
</context>
<context>
<name>TranslationManager</name>
<message>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="182"/>
<source>David Korth</source>
<comment>ts-author</comment>
<extracomment>Translation file author. Put your name here.</extracomment>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="185"/>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="232"/>
<source>Default</source>
<comment>ts-language</comment>
<translatorcomment>http://www.robertecker.com/hp/research/leet-converter.php?lang=en (&quot;basic leet&quot; mode)</translatorcomment>
<translation>1337 5p34k</translation>
</message>
<message>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="188"/>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="225"/>
<source>C</source>
<comment>ts-locale</comment>
<translation>1337</translation>
</message>
</context>
</TS>

370
locale/rvthtool_en.ts Normal file
View File

@ -0,0 +1,370 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>BankEntryView</name>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="54"/>
<source>Type:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="71"/>
<source>Size:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="88"/>
<source>Timestamp:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="105"/>
<source>Game ID:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="122"/>
<source>Disc #:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="139"/>
<source>Revision:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="156"/>
<source>Region:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="173"/>
<source>IOS Version:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="190"/>
<source>Encryption:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="207"/>
<source>Ticket Sig:</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.ui" line="224"/>
<source>TMD Sig:</source>
<translation></translation>
</message>
<message numerus="yes">
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="115"/>
<source>byte(s)</source>
<translation>
<numerusform>byte</numerusform>
<numerusform>bytes</numerusform>
</translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="120"/>
<source>KiB</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="125"/>
<source>MiB</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="130"/>
<source>GiB</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="135"/>
<source>TiB</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="140"/>
<source>PiB</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="145"/>
<source>EiB</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="174"/>
<source>%1 %2</source>
<extracomment>%1 == localized value, %2 == suffix (e.g. MiB)</extracomment>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="200"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="298"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="330"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="394"/>
<source>Unknown</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="203"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="400"/>
<source>Debug</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="206"/>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="403"/>
<source>Retail</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="222"/>
<source>INVALID</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="226"/>
<source>fakesigned</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="287"/>
<source>[DELETED]</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="301"/>
<source>Empty</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="304"/>
<source>GameCube</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="307"/>
<source>Wii (Single-Layer)</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="310"/>
<source>Wii (Dual-Layer)</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="313"/>
<source>Wii (DL Bank 2)</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="397"/>
<source>None</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/BankEntryView.cpp" line="406"/>
<source>Korean</source>
<translation></translation>
</message>
</context>
<context>
<name>LanguageMenu</name>
<message>
<location filename="../src/qrvthtool/widgets/LanguageMenu.cpp" line="152"/>
<source>System Default (%1)</source>
<comment>ts-language</comment>
<extracomment>Translation: System Default (retrieved from system settings)</extracomment>
<translation></translation>
</message>
</context>
<context>
<name>QRvtHToolWindow</name>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="76"/>
<source>Bank Information</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="100"/>
<source>&amp;File</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="109"/>
<source>&amp;Help</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="115"/>
<source>&amp;Language</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="136"/>
<source>&amp;Open</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="139"/>
<source>Open an RVT-H Reader disk image</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="142"/>
<source>Ctrl+O</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="151"/>
<source>E&amp;xit</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="154"/>
<source>Exit the program</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="163"/>
<source>&amp;About</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="166"/>
<source>About this program</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="175"/>
<source>&amp;Close</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="178"/>
<source>Close the RVT-H Reader disk image</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.ui" line="181"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="108"/>
<source>No RVT-H Reader disk image loaded.</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="394"/>
<source>All Supported Files</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="396"/>
<source>RVT-H Reader Disk Image Files</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="398"/>
<source>GameCube/Wii Disc Image Files</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="400"/>
<source>All Files</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/windows/QRvtHToolWindow.cpp" line="414"/>
<source>Open RVT-H Reader Disk Image</source>
<translation></translation>
</message>
</context>
<context>
<name>QTreeViewOpt</name>
<message>
<location filename="../src/qrvthtool/widgets/QTreeViewOpt.cpp" line="87"/>
<source>Hide Column &apos;%1&apos;</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/widgets/QTreeViewOpt.cpp" line="101"/>
<source>Show Column &apos;%1&apos;</source>
<translation></translation>
</message>
</context>
<context>
<name>RvtHModel</name>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="545"/>
<source>#</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="546"/>
<source>Type</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="547"/>
<source>Title</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="549"/>
<source>Game ID</source>
<extracomment>6-character game ID, e.g. GALE01.</extracomment>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="550"/>
<source>Disc #</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="551"/>
<source>Revision</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="552"/>
<source>Region</source>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/RvtHModel.cpp" line="553"/>
<source>IOS</source>
<translation></translation>
</message>
</context>
<context>
<name>TranslationManager</name>
<message>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="182"/>
<source>David Korth</source>
<comment>ts-author</comment>
<extracomment>Translation file author. Put your name here.</extracomment>
<translation></translation>
</message>
<message>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="185"/>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="232"/>
<source>Default</source>
<comment>ts-language</comment>
<translation>English (US)</translation>
</message>
<message>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="188"/>
<location filename="../src/qrvthtool/TranslationManager.cpp" line="225"/>
<source>C</source>
<comment>ts-locale</comment>
<translation>en_US</translation>
</message>
</context>
</TS>

View File

@ -89,6 +89,7 @@ QT5_ADD_RESOURCES(
#########################
# Win32 resource files. #
#########################
IF(WIN32)
SET(qrvthtool_RC resources/win32/resource.rc)
ENDIF(WIN32)
@ -148,6 +149,11 @@ ADD_DEFINITIONS(-DQT_USE_FAST_CONCATENATION
INCLUDE(Win32ImageVersionLinkerFlags)
WIN32_IMAGE_VERSION_LINKER_FLAGS(${VERSION_MAJOR} ${VERSION_MINOR})
# Translations.
IF(ENABLE_NLS)
ADD_DEPENDENCIES(qrvthtool translations_target)
ENDIF(ENABLE_NLS)
#################
# Installation. #
#################

View File

@ -545,7 +545,7 @@ QVariant RvtHModel::headerData(int section, Qt::Orientation orientation, int rol
case COL_BANKNUM: return tr("#");
case COL_TYPE: return tr("Type");
case COL_TITLE: return tr("Title");
//: 6-digit game ID, e.g. GALE01.
//: 6-character game ID, e.g. GALE01.
case COL_GAMEID: return tr("Game ID");
case COL_DISCNUM: return tr("Disc #");
case COL_REVISION: return tr("Revision");

View File

@ -169,7 +169,7 @@ void TranslationManager::setTranslation(const QString &locale)
}
// Initialize the application translator.
QString prgLocale = QLatin1String("mcrecover_") + locale;
QString prgLocale = QLatin1String("rvthtool_") + locale;
foreach (const QString &path, d->pathList) {
if (d->prgTranslator->load(prgLocale, path)) {
break;