diff --git a/.github/workflows/translation-check.yml b/.github/workflows/translation-check.yml index 802ece7148..44ffe45d05 100644 --- a/.github/workflows/translation-check.yml +++ b/.github/workflows/translation-check.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: push: paths: - - 'src/res/translation/**' + - 'src/translation/**' jobs: translation-check: @@ -18,4 +18,4 @@ jobs: - name: "Check Windows installer translations" run: ./tools/check-wininstaller-translations.sh #- name: "Check for duplicate hotkeys (will not fail)" - # run: sudo apt install libxml-simple-perl && cd src/res/translation/ && perl ./tools/checkkeys.pl + # run: sudo apt install libxml-simple-perl && cd src/translation/ && perl ./tools/checkkeys.pl diff --git a/Jamulus.pro b/Jamulus.pro index a6d8dbc05c..65a2f3da93 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -41,18 +41,18 @@ contains(CONFIG, "headless") { QT += widgets } -LRELEASE_DIR = src/res/translation -TRANSLATIONS = src/res/translation/translation_de_DE.ts \ - src/res/translation/translation_fr_FR.ts \ - src/res/translation/translation_pt_PT.ts \ - src/res/translation/translation_pt_BR.ts \ - src/res/translation/translation_es_ES.ts \ - src/res/translation/translation_nl_NL.ts \ - src/res/translation/translation_pl_PL.ts \ - src/res/translation/translation_sk_SK.ts \ - src/res/translation/translation_it_IT.ts \ - src/res/translation/translation_sv_SE.ts \ - src/res/translation/translation_zh_CN.ts +LRELEASE_DIR = src/translation +TRANSLATIONS = src/translation/translation_de_DE.ts \ + src/translation/translation_fr_FR.ts \ + src/translation/translation_pt_PT.ts \ + src/translation/translation_pt_BR.ts \ + src/translation/translation_es_ES.ts \ + src/translation/translation_nl_NL.ts \ + src/translation/translation_pl_PL.ts \ + src/translation/translation_sk_SK.ts \ + src/translation/translation_it_IT.ts \ + src/translation/translation_sv_SE.ts \ + src/translation/translation_zh_CN.ts INCLUDEPATH += src @@ -683,17 +683,17 @@ DISTFILES += ChangeLog \ distributions/jamulus.png \ distributions/jamulus.svg \ distributions/jamulus-server.svg \ - src/res/translation/translation_de_DE.qm \ - src/res/translation/translation_fr_FR.qm \ - src/res/translation/translation_pt_PT.qm \ - src/res/translation/translation_pt_BR.qm \ - src/res/translation/translation_es_ES.qm \ - src/res/translation/translation_nl_NL.qm \ - src/res/translation/translation_pl_PL.qm \ - src/res/translation/translation_it_IT.qm \ - src/res/translation/translation_sv_SE.qm \ - src/res/translation/translation_sk_SK.qm \ - src/res/translation/translation_zh_CN.qm \ + src/translation/translation_de_DE.qm \ + src/translation/translation_fr_FR.qm \ + src/translation/translation_pt_PT.qm \ + src/translation/translation_pt_BR.qm \ + src/translation/translation_es_ES.qm \ + src/translation/translation_nl_NL.qm \ + src/translation/translation_pl_PL.qm \ + src/translation/translation_it_IT.qm \ + src/translation/translation_sv_SE.qm \ + src/translation/translation_sk_SK.qm \ + src/translation/translation_zh_CN.qm \ src/res/CLEDBlack.png \ src/res/CLEDBlackSmall.png \ src/res/CLEDDisabledSmall.png \ diff --git a/distributions/debian/rules b/distributions/debian/rules index b02fc89b4d..bf8fc2be5c 100755 --- a/distributions/debian/rules +++ b/distributions/debian/rules @@ -19,7 +19,7 @@ override_dh_auto_configure: mkdir -p build-nox && cd build-nox && $(QMAKE) "CONFIG+=headless serveronly" TARGET=jamulus-headless PREFIX=/usr ../Jamulus.pro override_dh_auto_build: - cd src/res/translation && lrelease *.ts + cd src/translation && lrelease *.ts cd build-gui && make -j "$$(nproc)" cd build-nox && make -j "$$(nproc)" diff --git a/docs/TRANSLATING.md b/docs/TRANSLATING.md index 407d56b066..161af7c536 100644 --- a/docs/TRANSLATING.md +++ b/docs/TRANSLATING.md @@ -175,7 +175,7 @@ Do not click on **Publish branch** just yet. ### Work on the translation file -Open Qt Linguist, and navigate to the directory `src/res/translation` within your project directory. +Open Qt Linguist, and navigate to the directory `src/translation` within your project directory. In this directory are translation source files for each language, each with a `.ts` suffix. Don't worry about the `.qm` files, as they are compiled when building the release code. @@ -220,7 +220,7 @@ Finally, go to the Github website where it will most likely offer a banner sayin Select the current repository as `jamulus`, and the branch that was created above, such as `translate-r3_7_0-german`. -The changed file(s) should be listed in the left-hand column as `src/res/translation/translation_xx_YY.ts`. When the file is selected, the differences will be displayed in the main panel. +The changed file(s) should be listed in the left-hand column as `src/translation/translation_xx_YY.ts`. When the file is selected, the differences will be displayed in the main panel. Add a simple commit message in the first box below the file list, (e.g. change "Update filename" to something like "Update German translations for v3.7.0"), and add any extra description in the Description box (optional, probably not required). diff --git a/src/res/translation/wininstaller/installerlng.nsi b/src/res/translation/wininstaller/installerlng.nsi deleted file mode 100644 index 7b6138c364..0000000000 --- a/src/res/translation/wininstaller/installerlng.nsi +++ /dev/null @@ -1,36 +0,0 @@ -; Language configuration - -; Additional languages can be added in this file. See https://nsis.sourceforge.io/Examples/Modern%20UI/MultiLanguage.nsi - -!insertmacro MUI_LANGUAGE "English" ; The first language is the default -!include "${ROOT_PATH}\src\res\translation\wininstaller\en.nsi" ; include english - -!insertmacro MUI_LANGUAGE "German" -!include "${ROOT_PATH}\src\res\translation\wininstaller\de.nsi" - -!insertmacro MUI_LANGUAGE "Italian" -!include "${ROOT_PATH}\src\res\translation\wininstaller\it.nsi" ; include italian - -!insertmacro MUI_LANGUAGE "Dutch" -!include "${ROOT_PATH}\src\res\translation\wininstaller\nl.nsi" - -!insertmacro MUI_LANGUAGE "Polish" -!include "${ROOT_PATH}\src\res\translation\wininstaller\pl.nsi" - -!insertmacro MUI_LANGUAGE "French" -!include "${ROOT_PATH}\src\res\translation\wininstaller\fr.nsi" - -!insertmacro MUI_LANGUAGE "Spanish" -!include "${ROOT_PATH}\src\res\translation\wininstaller\es.nsi" - -!insertmacro MUI_LANGUAGE "Swedish" -!include "${ROOT_PATH}\src\res\translation\wininstaller\se.nsi" - -!insertmacro MUI_LANGUAGE "PortugueseBR" -!include "${ROOT_PATH}\src\res\translation\wininstaller\pt_br.nsi" - -!insertmacro MUI_LANGUAGE "Portuguese" -!include "${ROOT_PATH}\src\res\translation\wininstaller\pt.nsi" - -!insertmacro MUI_LANGUAGE "SimpChinese" -!include "${ROOT_PATH}\src\res\translation\wininstaller\zh_cn.nsi" diff --git a/src/resources.qrc b/src/resources.qrc index aead3fc138..8d4fd7d3bf 100644 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -1,36 +1,36 @@ - res/translation/translation_de_DE.qm + translation/translation_de_DE.qm - res/translation/translation_fr_FR.qm + translation/translation_fr_FR.qm - res/translation/translation_pt_PT.qm + translation/translation_pt_PT.qm - res/translation/translation_pt_BR.qm + translation/translation_pt_BR.qm - res/translation/translation_es_ES.qm + translation/translation_es_ES.qm - res/translation/translation_nl_NL.qm + translation/translation_nl_NL.qm - res/translation/translation_it_IT.qm + translation/translation_it_IT.qm - res/translation/translation_pl_PL.qm + translation/translation_pl_PL.qm - res/translation/translation_sk_SK.qm + translation/translation_sk_SK.qm - res/translation/translation_sv_SE.qm + translation/translation_sv_SE.qm - res/translation/translation_zh_CN.qm + translation/translation_zh_CN.qm diff --git a/src/res/translation/translation_de_DE.qm b/src/translation/translation_de_DE.qm similarity index 99% rename from src/res/translation/translation_de_DE.qm rename to src/translation/translation_de_DE.qm index f314fa857b..640ad998d3 100644 Binary files a/src/res/translation/translation_de_DE.qm and b/src/translation/translation_de_DE.qm differ diff --git a/src/res/translation/translation_de_DE.ts b/src/translation/translation_de_DE.ts similarity index 100% rename from src/res/translation/translation_de_DE.ts rename to src/translation/translation_de_DE.ts diff --git a/src/res/translation/translation_es_ES.qm b/src/translation/translation_es_ES.qm similarity index 99% rename from src/res/translation/translation_es_ES.qm rename to src/translation/translation_es_ES.qm index 6a2c7c5522..21d32178c0 100644 Binary files a/src/res/translation/translation_es_ES.qm and b/src/translation/translation_es_ES.qm differ diff --git a/src/res/translation/translation_es_ES.ts b/src/translation/translation_es_ES.ts similarity index 100% rename from src/res/translation/translation_es_ES.ts rename to src/translation/translation_es_ES.ts diff --git a/src/res/translation/translation_fr_FR.qm b/src/translation/translation_fr_FR.qm similarity index 99% rename from src/res/translation/translation_fr_FR.qm rename to src/translation/translation_fr_FR.qm index b7ff6f82e1..217d5cabc9 100644 Binary files a/src/res/translation/translation_fr_FR.qm and b/src/translation/translation_fr_FR.qm differ diff --git a/src/res/translation/translation_fr_FR.ts b/src/translation/translation_fr_FR.ts similarity index 100% rename from src/res/translation/translation_fr_FR.ts rename to src/translation/translation_fr_FR.ts diff --git a/src/res/translation/translation_it_IT.qm b/src/translation/translation_it_IT.qm similarity index 99% rename from src/res/translation/translation_it_IT.qm rename to src/translation/translation_it_IT.qm index 1e6822f151..6ddbd333c4 100644 Binary files a/src/res/translation/translation_it_IT.qm and b/src/translation/translation_it_IT.qm differ diff --git a/src/res/translation/translation_it_IT.ts b/src/translation/translation_it_IT.ts similarity index 100% rename from src/res/translation/translation_it_IT.ts rename to src/translation/translation_it_IT.ts diff --git a/src/res/translation/translation_nl_NL.qm b/src/translation/translation_nl_NL.qm similarity index 99% rename from src/res/translation/translation_nl_NL.qm rename to src/translation/translation_nl_NL.qm index bc9c147042..66e1826284 100644 Binary files a/src/res/translation/translation_nl_NL.qm and b/src/translation/translation_nl_NL.qm differ diff --git a/src/res/translation/translation_nl_NL.ts b/src/translation/translation_nl_NL.ts similarity index 100% rename from src/res/translation/translation_nl_NL.ts rename to src/translation/translation_nl_NL.ts diff --git a/src/res/translation/translation_pl_PL.qm b/src/translation/translation_pl_PL.qm similarity index 99% rename from src/res/translation/translation_pl_PL.qm rename to src/translation/translation_pl_PL.qm index 5ab7334c8d..8fa31f508a 100644 Binary files a/src/res/translation/translation_pl_PL.qm and b/src/translation/translation_pl_PL.qm differ diff --git a/src/res/translation/translation_pl_PL.ts b/src/translation/translation_pl_PL.ts similarity index 100% rename from src/res/translation/translation_pl_PL.ts rename to src/translation/translation_pl_PL.ts diff --git a/src/res/translation/translation_pt_BR.qm b/src/translation/translation_pt_BR.qm similarity index 99% rename from src/res/translation/translation_pt_BR.qm rename to src/translation/translation_pt_BR.qm index a3b2fedf26..e493272883 100644 Binary files a/src/res/translation/translation_pt_BR.qm and b/src/translation/translation_pt_BR.qm differ diff --git a/src/res/translation/translation_pt_BR.ts b/src/translation/translation_pt_BR.ts similarity index 100% rename from src/res/translation/translation_pt_BR.ts rename to src/translation/translation_pt_BR.ts diff --git a/src/res/translation/translation_pt_PT.qm b/src/translation/translation_pt_PT.qm similarity index 99% rename from src/res/translation/translation_pt_PT.qm rename to src/translation/translation_pt_PT.qm index ca13552e99..8ed2aead09 100644 Binary files a/src/res/translation/translation_pt_PT.qm and b/src/translation/translation_pt_PT.qm differ diff --git a/src/res/translation/translation_pt_PT.ts b/src/translation/translation_pt_PT.ts similarity index 100% rename from src/res/translation/translation_pt_PT.ts rename to src/translation/translation_pt_PT.ts diff --git a/src/res/translation/translation_sk_SK.qm b/src/translation/translation_sk_SK.qm similarity index 99% rename from src/res/translation/translation_sk_SK.qm rename to src/translation/translation_sk_SK.qm index 97aa86372a..21f9280a7f 100644 Binary files a/src/res/translation/translation_sk_SK.qm and b/src/translation/translation_sk_SK.qm differ diff --git a/src/res/translation/translation_sk_SK.ts b/src/translation/translation_sk_SK.ts similarity index 100% rename from src/res/translation/translation_sk_SK.ts rename to src/translation/translation_sk_SK.ts diff --git a/src/res/translation/translation_sv_SE.qm b/src/translation/translation_sv_SE.qm similarity index 99% rename from src/res/translation/translation_sv_SE.qm rename to src/translation/translation_sv_SE.qm index 5023e573ed..0f8124f904 100644 Binary files a/src/res/translation/translation_sv_SE.qm and b/src/translation/translation_sv_SE.qm differ diff --git a/src/res/translation/translation_sv_SE.ts b/src/translation/translation_sv_SE.ts similarity index 100% rename from src/res/translation/translation_sv_SE.ts rename to src/translation/translation_sv_SE.ts diff --git a/src/res/translation/translation_zh_CN.qm b/src/translation/translation_zh_CN.qm similarity index 99% rename from src/res/translation/translation_zh_CN.qm rename to src/translation/translation_zh_CN.qm index 5e27a73ab5..c081af62c9 100644 Binary files a/src/res/translation/translation_zh_CN.qm and b/src/translation/translation_zh_CN.qm differ diff --git a/src/res/translation/translation_zh_CN.ts b/src/translation/translation_zh_CN.ts similarity index 100% rename from src/res/translation/translation_zh_CN.ts rename to src/translation/translation_zh_CN.ts diff --git a/src/res/translation/wininstaller/de.nsi b/src/translation/wininstaller/de.nsi similarity index 100% rename from src/res/translation/wininstaller/de.nsi rename to src/translation/wininstaller/de.nsi diff --git a/src/res/translation/wininstaller/en.nsi b/src/translation/wininstaller/en.nsi similarity index 100% rename from src/res/translation/wininstaller/en.nsi rename to src/translation/wininstaller/en.nsi diff --git a/src/res/translation/wininstaller/es.nsi b/src/translation/wininstaller/es.nsi similarity index 100% rename from src/res/translation/wininstaller/es.nsi rename to src/translation/wininstaller/es.nsi diff --git a/src/res/translation/wininstaller/fr.nsi b/src/translation/wininstaller/fr.nsi similarity index 100% rename from src/res/translation/wininstaller/fr.nsi rename to src/translation/wininstaller/fr.nsi diff --git a/src/translation/wininstaller/installerlng.nsi b/src/translation/wininstaller/installerlng.nsi new file mode 100644 index 0000000000..4225438561 --- /dev/null +++ b/src/translation/wininstaller/installerlng.nsi @@ -0,0 +1,36 @@ +; Language configuration + +; Additional languages can be added in this file. See https://nsis.sourceforge.io/Examples/Modern%20UI/MultiLanguage.nsi + +!insertmacro MUI_LANGUAGE "English" ; The first language is the default +!include "${ROOT_PATH}\src\translation\wininstaller\en.nsi" ; include english + +!insertmacro MUI_LANGUAGE "German" +!include "${ROOT_PATH}\src\translation\wininstaller\de.nsi" + +!insertmacro MUI_LANGUAGE "Italian" +!include "${ROOT_PATH}\src\translation\wininstaller\it.nsi" ; include italian + +!insertmacro MUI_LANGUAGE "Dutch" +!include "${ROOT_PATH}\src\translation\wininstaller\nl.nsi" + +!insertmacro MUI_LANGUAGE "Polish" +!include "${ROOT_PATH}\src\translation\wininstaller\pl.nsi" + +!insertmacro MUI_LANGUAGE "French" +!include "${ROOT_PATH}\src\translation\wininstaller\fr.nsi" + +!insertmacro MUI_LANGUAGE "Spanish" +!include "${ROOT_PATH}\src\translation\wininstaller\es.nsi" + +!insertmacro MUI_LANGUAGE "Swedish" +!include "${ROOT_PATH}\src\translation\wininstaller\se.nsi" + +!insertmacro MUI_LANGUAGE "PortugueseBR" +!include "${ROOT_PATH}\src\translation\wininstaller\pt_br.nsi" + +!insertmacro MUI_LANGUAGE "Portuguese" +!include "${ROOT_PATH}\src\translation\wininstaller\pt.nsi" + +!insertmacro MUI_LANGUAGE "SimpChinese" +!include "${ROOT_PATH}\src\translation\wininstaller\zh_cn.nsi" diff --git a/src/res/translation/wininstaller/it.nsi b/src/translation/wininstaller/it.nsi similarity index 100% rename from src/res/translation/wininstaller/it.nsi rename to src/translation/wininstaller/it.nsi diff --git a/src/res/translation/wininstaller/nl.nsi b/src/translation/wininstaller/nl.nsi similarity index 100% rename from src/res/translation/wininstaller/nl.nsi rename to src/translation/wininstaller/nl.nsi diff --git a/src/res/translation/wininstaller/pl.nsi b/src/translation/wininstaller/pl.nsi similarity index 100% rename from src/res/translation/wininstaller/pl.nsi rename to src/translation/wininstaller/pl.nsi diff --git a/src/res/translation/wininstaller/pt.nsi b/src/translation/wininstaller/pt.nsi similarity index 100% rename from src/res/translation/wininstaller/pt.nsi rename to src/translation/wininstaller/pt.nsi diff --git a/src/res/translation/wininstaller/pt_br.nsi b/src/translation/wininstaller/pt_br.nsi similarity index 100% rename from src/res/translation/wininstaller/pt_br.nsi rename to src/translation/wininstaller/pt_br.nsi diff --git a/src/res/translation/wininstaller/se.nsi b/src/translation/wininstaller/se.nsi similarity index 100% rename from src/res/translation/wininstaller/se.nsi rename to src/translation/wininstaller/se.nsi diff --git a/src/res/translation/wininstaller/zh_cn.nsi b/src/translation/wininstaller/zh_cn.nsi similarity index 100% rename from src/res/translation/wininstaller/zh_cn.nsi rename to src/translation/wininstaller/zh_cn.nsi diff --git a/tools/check-wininstaller-translations.sh b/tools/check-wininstaller-translations.sh index ff7ca8b545..098110a657 100755 --- a/tools/check-wininstaller-translations.sh +++ b/tools/check-wininstaller-translations.sh @@ -1,12 +1,12 @@ #!/bin/bash set -eu -BASE_DIR=src/res/translation/wininstaller/ +BASE_DIR=src/translation/wininstaller/ BASE_LANG=en INSTALLERLNG=installerlng.nsi BASE_LANGSTRINGS=$(grep LangString "${BASE_DIR}/${BASE_LANG}.nsi" | cut -d' ' -f2) EXIT=0 -for LANGUAGE_FILE in src/res/translation/wininstaller/{??.nsi,??_??.nsi}; do +for LANGUAGE_FILE in src/translation/wininstaller/{??.nsi,??_??.nsi}; do if [[ ${LANGUAGE_FILE} =~ /${BASE_LANG}.nsi$ ]]; then continue fi diff --git a/tools/create-translation-issues.sh b/tools/create-translation-issues.sh index 5a4b0d904d..e97883c042 100755 --- a/tools/create-translation-issues.sh +++ b/tools/create-translation-issues.sh @@ -141,7 +141,7 @@ get_languages() { echo "Error: Please ensure that you are at the root of a jamulus code checkout" >/dev/stderr exit 1 fi - for LANG_FILE in src/res/translation/*.ts; do + for LANG_FILE in src/translation/*.ts; do LANG=${LANG_FILE/*\/translation_} LANG=${LANG/.ts} echo "$LANG" diff --git a/tools/get_release_contributors.py b/tools/get_release_contributors.py index 9f8b261490..5a85e9dde1 100755 --- a/tools/get_release_contributors.py +++ b/tools/get_release_contributors.py @@ -137,11 +137,11 @@ def main(from_, to): def print_code_contributors(from_, to): - return print_contributors('Code contributors', ['.', ':!src/res/translation'], from_, to) + return print_contributors('Code contributors', ['.', ':!src/translation'], from_, to) def print_app_translators(from_, to): - return print_contributors('Application translators', ['src/res/translation'], from_, to) + return print_contributors('Application translators', ['src/translation'], from_, to) def print_website_contributors(from_, to): diff --git a/tools/update-copyright-notices.sh b/tools/update-copyright-notices.sh index 35045ce7ed..7eb3cbdd4f 100755 --- a/tools/update-copyright-notices.sh +++ b/tools/update-copyright-notices.sh @@ -3,7 +3,7 @@ set -eu YEAR=$(date +%Y) echo "Updating global copyright strings..." -sed -re 's/(Copyright.*2[0-9]{3}-)[0-9]{4}/\1'"${YEAR}"'/g' -i src/res/translation/*.ts src/util.cpp src/aboutdlgbase.ui +sed -re 's/(Copyright.*2[0-9]{3}-)[0-9]{4}/\1'"${YEAR}"'/g' -i src/translation/*.ts src/util.cpp src/aboutdlgbase.ui echo "Updating copyright comment headers..." find android ios linux mac src windows -regex '.*\.\(cpp\|h\|mm\)' -not -regex '\./\(\.git\|libs/\|moc_\|ui_\).*' | while read -r file; do diff --git a/windows/installer.nsi b/windows/installer.nsi index 0f4103ca1e..fde21f45a7 100644 --- a/windows/installer.nsi +++ b/windows/installer.nsi @@ -96,7 +96,7 @@ BrandingText "${APP_NAME}. Make music online. With friends. For free." ; Supported languages configuration ; Additional languages can be added in the file installerlng.nsi in the wininstaller folder, see https://nsis.sourceforge.io/Examples/Modern%20UI/MultiLanguage.nsi -!include "${ROOT_PATH}\src\res\translation\wininstaller\installerlng.nsi" +!include "${ROOT_PATH}\src\translation\wininstaller\installerlng.nsi" ; Abort the installer/uninstaller if Jamulus is running