@ -252,6 +252,7 @@ file(GLOB_RECURSE THEMES ${PROJECT_SOURCE_DIR}/dist/qt_themes/*)
if ( ENABLE_QT_TRANSLATION )
set ( YUZU_QT_LANGUAGES "${PROJECT_SOURCE_DIR}/dist/languages" CACHE PATH "Path to the translation bundle for the Qt frontend" )
option ( GENERATE_QT_TRANSLATION "Generate en.ts as the translation source file" OFF )
option ( WORKAROUND_BROKEN_LUPDATE "Run lupdate directly through CMake if Qt's convenience wrappers don't work" OFF )
# U p d a t e s o u r c e T S f i l e i f e n a b l e d
if ( GENERATE_QT_TRANSLATION )
@ -259,19 +260,51 @@ if (ENABLE_QT_TRANSLATION)
# t h e s e c a l l s t o q t _ c r e a t e _ t r a n s l a t i o n a l s o c r e a t e s a r u l e t o g e n e r a t e e n . q m w h i c h c o n f l i c t s w i t h p r o v i d i n g e n g l i s h p l u r a l s
# s o w e h a v e t o s e t a O U T P U T _ L O C A T I O N s o t h a t w e d o n ' t h a v e m u l t i p l e r u l e s t o g e n e r a t e e n . q m
set_source_files_properties ( ${ YUZU_QT_LANGUAGES } /en.ts PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/translations" )
qt_create_translation ( QM_FILES
$ { S R C S }
$ { U I S }
$ { Y U Z U _ Q T _ L A N G U A G E S } / e n . t s
O P T I O N S
- s o u r c e - l a n g u a g e e n _ U S
- t a r g e t - l a n g u a g e e n _ U S
)
if ( WORKAROUND_BROKEN_LUPDATE )
add_custom_command ( OUTPUT ${ YUZU_QT_LANGUAGES } /en.ts
C O M M A N D l u p d a t e
- s o u r c e - l a n g u a g e e n _ U S
- t a r g e t - l a n g u a g e e n _ U S
$ { S R C S }
$ { U I S }
- t s $ { Y U Z U _ Q T _ L A N G U A G E S } / e n . t s
D E P E N D S
$ { S R C S }
$ { U I S }
W O R K I N G _ D I R E C T O R Y
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R }
)
else ( )
qt_create_translation ( QM_FILES
$ { S R C S }
$ { U I S }
$ { Y U Z U _ Q T _ L A N G U A G E S } / e n . t s
O P T I O N S
- s o u r c e - l a n g u a g e e n _ U S
- t a r g e t - l a n g u a g e e n _ U S
)
endif ( )
# G e n e r a t e p l u r a l s i n t o d i s t / e n g l i s h _ p l u r a l s / g e n e r a t e d _ e n . t s s o i t c a n b e u s e d t o r e v i s e d i s t / e n g l i s h _ p l u r a l s / e n . t s
set ( GENERATED_PLURALS_FILE ${ PROJECT_SOURCE_DIR } /dist/english_plurals/generated_en.ts )
set_source_files_properties ( ${ GENERATED_PLURALS_FILE } PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/plurals" )
qt_create_translation ( QM_FILES ${ SRCS } ${ UIS } ${ GENERATED_PLURALS_FILE } OPTIONS -pluralonly -source-language en_US -target-language en_US )
if ( WORKAROUND_BROKEN_LUPDATE )
add_custom_command ( OUTPUT ${ GENERATED_PLURALS_FILE }
C O M M A N D l u p d a t e
- s o u r c e - l a n g u a g e e n _ U S
- t a r g e t - l a n g u a g e e n _ U S
$ { S R C S }
$ { U I S }
- t s $ { G E N E R A T E D _ P L U R A L S _ F I L E }
D E P E N D S
$ { S R C S }
$ { U I S }
W O R K I N G _ D I R E C T O R Y
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R }
)
else ( )
qt_create_translation ( QM_FILES ${ SRCS } ${ UIS } ${ GENERATED_PLURALS_FILE } OPTIONS -pluralonly -source-language en_US -target-language en_US )
endif ( )
add_custom_target ( translation ALL DEPENDS ${ YUZU_QT_LANGUAGES } /en.ts ${ GENERATED_PLURALS_FILE } )
endif ( )