Don't update the .po files automatically from the .pot each build (Transifex will do that now). Also add source files that aren't compiled because of options being disabled to the OTHER_SOURCES list (for translation) automatically.

This commit is contained in:
David Sansome 2011-10-29 18:37:30 +01:00
parent 35d4b6392c
commit 1f6bc7cd9a
6 changed files with 180 additions and 249 deletions

1
.gitignore vendored
View File

@ -38,3 +38,4 @@ debian/changelog
*.tmp *.tmp
dist/windows/DLLs dist/windows/DLLs
dist/windows/Python27.zip dist/windows/Python27.zip
.tx

View File

@ -7,6 +7,7 @@ include(cmake/Version.cmake)
include(cmake/Deb.cmake) include(cmake/Deb.cmake)
include(cmake/Rpm.cmake) include(cmake/Rpm.cmake)
include(cmake/SpotifyVersion.cmake) include(cmake/SpotifyVersion.cmake)
include(cmake/OptionalSource.cmake)
if (UNIX AND NOT APPLE) if (UNIX AND NOT APPLE)
set(LINUX 1) set(LINUX 1)

View File

@ -0,0 +1,18 @@
macro(optional_source TOGGLE)
parse_arguments(OPTIONAL_SOURCE
"SOURCES;HEADERS;UI;INCLUDE_DIRECTORIES"
""
${ARGN}
)
if(${TOGGLE})
list(APPEND SOURCES ${OPTIONAL_SOURCE_SOURCES})
list(APPEND HEADERS ${OPTIONAL_SOURCE_HEADERS})
list(APPEND UI ${OPTIONAL_SOURCE_UI})
include_directories(${OPTIONAL_SOURCE_INCLUDE_DIRECTORIES})
else(${TOGGLE})
list(APPEND OTHER_SOURCES ${OPTIONAL_SOURCE_SOURCES})
list(APPEND OTHER_SOURCES ${OPTIONAL_SOURCE_HEADERS})
qt4_wrap_ui(OTHER_SOURCES ${OPTIONAL_SOURCE_UI})
endif(${TOGGLE})
endmacro(optional_source)

View File

@ -9,7 +9,7 @@ set (XGETTEXT_OPTIONS --qt --keyword=tr --flag=tr:1:pass-c-format --flag=tr:1:pa
--keyword=N_ --flag=N_:1:pass-c-format --flag=N_:1:pass-qt-format --keyword=N_ --flag=N_:1:pass-c-format --flag=N_:1:pass-qt-format
--from-code=utf-8) --from-code=utf-8)
macro(add_pot header pot) macro(add_pot outfiles header pot)
# Generate the .pot # Generate the .pot
add_custom_command( add_custom_command(
OUTPUT ${pot} OUTPUT ${pot}
@ -21,45 +21,36 @@ macro(add_pot header pot)
COMMAND cat ${header} ${CMAKE_CURRENT_BINARY_DIR}/pot.temp > ${pot} COMMAND cat ${header} ${CMAKE_CURRENT_BINARY_DIR}/pot.temp > ${pot}
DEPENDS ${ARGN} DEPENDS ${ARGN}
) )
list(APPEND ${outfiles} ${pot})
endmacro(add_pot) endmacro(add_pot)
# Syntax is: # Syntax is:
# add_po(sources_var po_prefix # add_po(sources_var po_prefix
# POT potfile
# LANGUAGES language1 language2 ... # LANGUAGES language1 language2 ...
# DIRECTORY dir # DIRECTORY dir
# #
macro(add_po outfiles po_prefix) macro(add_po outfiles po_prefix)
parse_arguments(ADD_PO parse_arguments(ADD_PO
"POT;LANGUAGES;DIRECTORY" "LANGUAGES;DIRECTORY"
"" ""
${ARGN} ${ARGN}
) )
foreach (_lang ${ADD_PO_LANGUAGES}) foreach (_lang ${ADD_PO_LANGUAGES})
set(_po_filename "${_lang}.po") set(_po_filename "${_lang}.po")
set(_po_stubpath "${CMAKE_CURRENT_BINARY_DIR}/${ADD_PO_DIRECTORY}/${_po_filename}.target")
set(_po_filepath "${CMAKE_CURRENT_SOURCE_DIR}/${ADD_PO_DIRECTORY}/${_po_filename}") set(_po_filepath "${CMAKE_CURRENT_SOURCE_DIR}/${ADD_PO_DIRECTORY}/${_po_filename}")
set(_qm_filename "clementine_${_lang}.qm") set(_qm_filename "clementine_${_lang}.qm")
set(_qm_filepath "${CMAKE_CURRENT_BINARY_DIR}/${ADD_PO_DIRECTORY}/${_qm_filename}") set(_qm_filepath "${CMAKE_CURRENT_BINARY_DIR}/${ADD_PO_DIRECTORY}/${_qm_filename}")
# Merge the .pot into .po files
add_custom_command(
OUTPUT ${_po_stubpath}
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet -U --no-location --no-fuzzy-matching --backup=off
${_po_filepath} ${ADD_PO_POT}
COMMAND ${CMAKE_COMMAND} -E touch ${_po_stubpath}
DEPENDS ${ADD_PO_POT}
)
# Convert the .po files to .qm files # Convert the .po files to .qm files
add_custom_command( add_custom_command(
OUTPUT ${_qm_filepath} OUTPUT ${_qm_filepath}
COMMAND ${QT_LCONVERT_EXECUTABLE} ARGS ${_po_filepath} -o ${_qm_filepath} -of qm COMMAND ${QT_LCONVERT_EXECUTABLE} ARGS ${_po_filepath} -o ${_qm_filepath} -of qm
DEPENDS ${_po_filepath} ${_po_stubpath} DEPENDS ${_po_filepath} ${_po_filepath}
) )
list(APPEND ${outfiles} ${_po_filepath} ${_qm_filepath}) list(APPEND ${outfiles} ${_qm_filepath})
endforeach (_lang) endforeach (_lang)
# Generate a qrc file for the translations # Generate a qrc file for the translations

View File

@ -641,31 +641,27 @@ endif (LINGUAS STREQUAL "All")
option(USE_INSTALL_PREFIX "Look for data in CMAKE_INSTALL_PREFIX" ON) option(USE_INSTALL_PREFIX "Look for data in CMAKE_INSTALL_PREFIX" ON)
# Visualisations # Visualisations
if(ENABLE_VISUALISATIONS) optional_source(ENABLE_VISUALISATIONS
SOURCES
list(APPEND SOURCES
visualisations/projectmpresetmodel.cpp visualisations/projectmpresetmodel.cpp
visualisations/projectmvisualisation.cpp visualisations/projectmvisualisation.cpp
visualisations/visualisationcontainer.cpp visualisations/visualisationcontainer.cpp
visualisations/visualisationoverlay.cpp visualisations/visualisationoverlay.cpp
visualisations/visualisationselector.cpp visualisations/visualisationselector.cpp
) HEADERS
list(APPEND HEADERS
visualisations/projectmpresetmodel.h visualisations/projectmpresetmodel.h
visualisations/projectmvisualisation.h visualisations/projectmvisualisation.h
visualisations/visualisationcontainer.h visualisations/visualisationcontainer.h
visualisations/visualisationoverlay.h visualisations/visualisationoverlay.h
visualisations/visualisationselector.h visualisations/visualisationselector.h
) UI
list(APPEND UI
visualisations/visualisationoverlay.ui visualisations/visualisationoverlay.ui
visualisations/visualisationselector.ui visualisations/visualisationselector.ui
) )
endif(ENABLE_VISUALISATIONS)
# Lastfm # Lastfm
if(HAVE_LIBLASTFM) optional_source(HAVE_LIBLASTFM
list(APPEND SOURCES SOURCES
covers/lastfmcoverprovider.cpp covers/lastfmcoverprovider.cpp
globalsearch/lastfmsearchprovider.cpp globalsearch/lastfmsearchprovider.cpp
internet/fixlastfm.cpp internet/fixlastfm.cpp
@ -678,8 +674,7 @@ if(HAVE_LIBLASTFM)
songinfo/lastfmtrackinfoprovider.cpp songinfo/lastfmtrackinfoprovider.cpp
songinfo/tagwidget.cpp songinfo/tagwidget.cpp
suggesters/lastfmsuggester.cpp suggesters/lastfmsuggester.cpp
) HEADERS
list(APPEND HEADERS
covers/lastfmcoverprovider.h covers/lastfmcoverprovider.h
internet/lastfmservice.h internet/lastfmservice.h
internet/lastfmsettingspage.h internet/lastfmsettingspage.h
@ -689,15 +684,14 @@ if(HAVE_LIBLASTFM)
songinfo/lastfmtrackinfoprovider.h songinfo/lastfmtrackinfoprovider.h
songinfo/tagwidget.h songinfo/tagwidget.h
suggesters/lastfmsuggester.h suggesters/lastfmsuggester.h
) UI
list(APPEND UI
internet/lastfmsettingspage.ui internet/lastfmsettingspage.ui
internet/lastfmstationdialog.ui internet/lastfmstationdialog.ui
) )
endif(HAVE_LIBLASTFM)
if(HAVE_SPOTIFY) # Spotify
list(APPEND SOURCES optional_source(HAVE_SPOTIFY
SOURCES
globalsearch/spotifysearchprovider.cpp globalsearch/spotifysearchprovider.cpp
internet/spotifyblobdownloader.cpp internet/spotifyblobdownloader.cpp
internet/spotifysearchplaylisttype.cpp internet/spotifysearchplaylisttype.cpp
@ -705,39 +699,43 @@ if(HAVE_SPOTIFY)
internet/spotifyservice.cpp internet/spotifyservice.cpp
internet/spotifysettingspage.cpp internet/spotifysettingspage.cpp
resolvers/spotifyresolver.cpp resolvers/spotifyresolver.cpp
) HEADERS
list(APPEND HEADERS
globalsearch/spotifysearchprovider.h globalsearch/spotifysearchprovider.h
internet/spotifyblobdownloader.h internet/spotifyblobdownloader.h
internet/spotifyserver.h internet/spotifyserver.h
internet/spotifyservice.h internet/spotifyservice.h
internet/spotifysettingspage.h internet/spotifysettingspage.h
resolvers/spotifyresolver.h resolvers/spotifyresolver.h
) )
endif(HAVE_SPOTIFY)
if(APPLE) # Platform specific - OS X
list(APPEND HEADERS core/macglobalshortcutbackend.h) optional_source(APPLE
list(APPEND HEADERS devices/macdevicelister.h) INCLUDE_DIRECTORIES
list(APPEND HEADERS ui/macscreensaver.h) ${GROWL}/Headers
list(APPEND HEADERS ui/macsystemtrayicon.h) ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/google-breakpad/client/mac/build/Release/Breakpad.framework
list(APPEND HEADERS widgets/maclineedit.h) SOURCES
list(APPEND SOURCES core/macglobalshortcutbackend.mm) core/macglobalshortcutbackend.mm
list(APPEND SOURCES devices/macdevicelister.mm) core/mac_startup.mm
list(APPEND SOURCES globalsearch/globalsearchpopup.mm) devices/macdevicelister.mm
list(APPEND SOURCES ui/globalshortcutgrabber.mm) globalsearch/globalsearchpopup.mm
list(APPEND SOURCES ui/macscreensaver.cpp) ui/globalshortcutgrabber.mm
list(APPEND SOURCES ui/macsystemtrayicon.mm) ui/macscreensaver.cpp
list(APPEND SOURCES widgets/maclineedit.mm) ui/macsystemtrayicon.mm
list(APPEND SOURCES widgets/osd_mac.mm) widgets/maclineedit.mm
include_directories(${GROWL}/Headers) widgets/osd_mac.mm
else(APPLE) HEADERS
if(WIN32) core/macglobalshortcutbackend.h
list(APPEND SOURCES widgets/osd_win.cpp) devices/macdevicelister.h
else(WIN32) ui/macscreensaver.h
list(APPEND SOURCES widgets/osd_x11.cpp) ui/macsystemtrayicon.h
endif(WIN32) widgets/maclineedit.h
endif(APPLE) )
# Platform specific - Windows
optional_source(WIN32 SOURCES widgets/osd_win.cpp)
# Platform specific - X11
optional_source(LINUX SOURCES widgets/osd_x11.cpp)
# DBUS and MPRIS - Linux specific # DBUS and MPRIS - Linux specific
if(HAVE_DBUS) if(HAVE_DBUS)
@ -796,214 +794,136 @@ if(HAVE_DBUS)
globalsearch/globalsearchservice.h GlobalSearchService globalsearch/globalsearchservice.h GlobalSearchService
globalsearch/globalsearchadaptor) globalsearch/globalsearchadaptor)
# Global search source
list(APPEND SOURCES globalsearch/globalsearchservice.cpp)
list(APPEND HEADERS globalsearch/globalsearchservice.h)
# MPRIS source
list(APPEND SOURCES core/mpris.cpp core/mpris1.cpp core/mpris2.cpp)
list(APPEND HEADERS core/mpris.h core/mpris1.h core/mpris2.h)
# Wiimotedev interface classes # Wiimotedev interface classes
if(ENABLE_WIIMOTEDEV) if(ENABLE_WIIMOTEDEV)
qt4_add_dbus_interface(SOURCES qt4_add_dbus_interface(SOURCES
dbus/org.wiimotedev.deviceEvents.xml dbus/org.wiimotedev.deviceEvents.xml
dbus/wiimotedev) dbus/wiimotedev)
list(APPEND SOURCES
wiimotedev/shortcuts.cpp
wiimotedev/wiimotesettingspage.cpp
wiimotedev/wiimoteshortcutgrabber.cpp
)
list(APPEND HEADERS
wiimotedev/shortcuts.h
wiimotedev/wiimotesettingspage.h
wiimotedev/wiimoteshortcutgrabber.h
)
endif(ENABLE_WIIMOTEDEV) endif(ENABLE_WIIMOTEDEV)
# DeviceKit lister source
if(HAVE_DEVICEKIT)
list(APPEND SOURCES devices/devicekitlister.cpp)
list(APPEND HEADERS devices/devicekitlister.h)
endif(HAVE_DEVICEKIT)
# Gnome Screensaver DBus interface
list(APPEND SOURCES ui/dbusscreensaver.cpp)
endif(HAVE_DBUS) endif(HAVE_DBUS)
# Libgpod device backend optional_source(HAVE_DBUS
if(HAVE_LIBGPOD) SOURCES
include_directories(${LIBGPOD_INCLUDE_DIRS}) core/mpris.cpp
core/mpris1.cpp
core/mpris2.cpp
globalsearch/globalsearchservice.cpp
ui/dbusscreensaver.cpp
HEADERS
core/mpris.h
core/mpris1.h
core/mpris2.h
globalsearch/globalsearchservice.h
)
list(APPEND SOURCES devices/gpoddevice.cpp devices/gpodloader.cpp) optional_source(HAVE_WIIMOTEDEV
list(APPEND HEADERS devices/gpoddevice.h devices/gpodloader.h) SOURCES
endif(HAVE_LIBGPOD) wiimotedev/shortcuts.cpp
wiimotedev/wiimotesettingspage.cpp
wiimotedev/wiimoteshortcutgrabber.cpp
HEADERS
wiimotedev/shortcuts.h
wiimotedev/wiimotesettingspage.h
wiimotedev/wiimoteshortcutgrabber.h
)
optional_source(HAVE_DEVICEKIT
SOURCES devices/devicekitlister.cpp
HEADERS devices/devicekitlister.h
)
# Libgpod device backend
optional_source(HAVE_LIBGPOD
INCLUDE_DIRECTORIES ${LIBGPOD_INCLUDE_DIRS}
SOURCES
devices/gpoddevice.cpp
devices/gpodloader.cpp
HEADERS
devices/gpoddevice.h
devices/gpodloader.h
)
# GIO device backend # GIO device backend
if(HAVE_GIO) optional_source(HAVE_GIO
include_directories(${GIO_INCLUDE_DIRS}) INCLUDE_DIRECTORIES ${GIO_INCLUDE_DIRS}
SOURCES devices/giolister.cpp
list(APPEND SOURCES devices/giolister.cpp) HEADERS devices/giolister.h
list(APPEND HEADERS devices/giolister.h) )
endif(HAVE_GIO)
# CDIO backend and device # CDIO backend and device
if(HAVE_AUDIOCD) optional_source(HAVE_AUDIOCD
list(APPEND SOURCES devices/cddadevice.cpp) SOURCES
list(APPEND SOURCES devices/cddalister.cpp) devices/cddadevice.cpp
devices/cddalister.cpp
list(APPEND HEADERS devices/cddadevice.h) HEADERS
list(APPEND HEADERS devices/cddalister.h) devices/cddadevice.h
endif(HAVE_AUDIOCD) devices/cddalister.h
)
# libimobiledevice backend and device # libimobiledevice backend and device
if(HAVE_IMOBILEDEVICE) optional_source(HAVE_IMOBILEDEVICE
include_directories(${IMOBILEDEVICE_INCLUDE_DIRS}) INCLUDE_DIRECTORIES
include_directories(${PLIST_INCLUDE_DIRS}) ${IMOBILEDEVICE_INCLUDE_DIRS}
include_directories(${PLISTPP_INCLUDE_DIRS}) ${PLIST_INCLUDE_DIRS}
${PLISTPP_INCLUDE_DIRS}
list(APPEND SOURCES devices/afcdevice.cpp) SOURCES
list(APPEND SOURCES devices/afcfile.cpp) devices/afcdevice.cpp
list(APPEND SOURCES devices/afctransfer.cpp) devices/afcfile.cpp
list(APPEND SOURCES devices/ilister.cpp) devices/afctransfer.cpp
list(APPEND SOURCES devices/imobiledeviceconnection.cpp) devices/ilister.cpp
devices/imobiledeviceconnection.cpp
list(APPEND HEADERS devices/afcdevice.h) HEADERS
list(APPEND HEADERS devices/afcfile.h) devices/afcdevice.h
list(APPEND HEADERS devices/afctransfer.h) devices/afcfile.h
list(APPEND HEADERS devices/ilister.h) devices/afctransfer.h
endif(HAVE_IMOBILEDEVICE) devices/ilister.h
)
# mtp device # mtp device
if(HAVE_LIBMTP) optional_source(HAVE_LIBMTP
include_directories(${LIBMTP_INCLUDE_DIRS}) INCLUDE_DIRECTORIES ${LIBMTP_INCLUDE_DIRS}
SOURCES
list(APPEND SOURCES devices/mtpconnection.cpp) devices/mtpconnection.cpp
list(APPEND SOURCES devices/mtpdevice.cpp) devices/mtpdevice.cpp
list(APPEND SOURCES devices/mtploader.cpp) devices/mtploader.cpp
HEADERS
list(APPEND SOURCES devices/mtpconnection.h) devices/mtpdevice.h
list(APPEND HEADERS devices/mtpdevice.h) devices/mtploader.h
list(APPEND HEADERS devices/mtploader.h) )
endif(HAVE_LIBMTP)
# Windows media lister # Windows media lister
IF(WIN32) optional_source(WIN32
list(APPEND SOURCES devices/wmdmdevice.cpp) SOURCES
list(APPEND SOURCES devices/wmdmlister.cpp) devices/wmdmdevice.cpp
list(APPEND SOURCES devices/wmdmloader.cpp) devices/wmdmlister.cpp
list(APPEND SOURCES devices/wmdmprogress.cpp) devices/wmdmloader.cpp
list(APPEND SOURCES devices/wmdmthread.cpp) devices/wmdmprogress.cpp
devices/wmdmthread.cpp
HEADERS
devices/wmdmdevice.h
devices/wmdmlister.h
devices/wmdmloader.h
)
list(APPEND HEADERS devices/wmdmdevice.h) optional_source(HAVE_REMOTE
list(APPEND HEADERS devices/wmdmlister.h) SOURCES
list(APPEND HEADERS devices/wmdmloader.h) remote/icesession.cpp
ENDIF(WIN32) remote/portforwarder.cpp
remote/remote.cpp
# Mac specific startup stuff remote/remotesettingspage.cpp
if(APPLE) remote/streampipeline.cpp
include_directories( HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/google-breakpad/client/mac/build/Release/Breakpad.framework)
list(APPEND SOURCES core/mac_startup.mm)
endif(APPLE)
if(HAVE_REMOTE)
list(APPEND HEADERS
remote/icesession.h remote/icesession.h
remote/portforwarder.h remote/portforwarder.h
remote/remote.h remote/remote.h
remote/remotesettingspage.h remote/remotesettingspage.h
remote/streampipeline.h remote/streampipeline.h
) )
list(APPEND SOURCES
remote/icesession.cpp
remote/portforwarder.h
remote/remote.cpp
remote/remotesettingspage.cpp
remote/streampipeline.cpp
)
endif(HAVE_REMOTE)
if(LINUX) # Hack to add Clementine to the Unity system tray whitelist
# Hack to add Clementine to the Unity system tray whitelist optional_source(LINUX
list(APPEND SOURCES core/ubuntuunityhack.cpp) SOURCES core/ubuntuunityhack.cpp
list(APPEND HEADERS core/ubuntuunityhack.h) HEADERS core/ubuntuunityhack.h
endif(LINUX)
# OS-specific sources that should be searched for translatable strings even
# if they're not compiled
list(APPEND OTHER_SOURCES
core/macglobalshortcutbackend.h
core/macglobalshortcutbackend.mm
core/modelfuturewatcher.h
core/mpris.cpp
core/mpris.h
core/mpris1.cpp
core/mpris1.h
core/mpris2.cpp
core/mpris2.h
core/ubuntuunityhack.cpp
core/ubuntuunityhack.h
devices/afcdevice.cpp
devices/afcdevice.h
devices/afcfile.cpp
devices/afcfile.h
devices/afctransfer.cpp
devices/afctransfer.h
devices/cddadevice.cpp
devices/cddadevice.h
devices/cddalister.cpp
devices/cddalister.h
devices/devicekitlister.h
devices/devicekitlister.cpp
devices/gpoddevice.cpp
devices/gpoddevice.h
devices/gpodloader.cpp
devices/gpodloader.h
devices/ilister.cpp
devices/ilister.h
devices/imobiledeviceconnection.cpp
devices/imobiledeviceconnection.h
devices/mtpconnection.cpp
devices/mtpconnection.h
devices/mtpdevice.cpp
devices/mtpdevice.h
devices/mtploader.cpp
devices/mtploader.h
devices/wmdmlister.cpp
devices/wmdmlister.h
devices/wmdmloader.h
devices/wmdmloader.cpp
internet/spotifyblobdownloader.cpp
internet/spotifyblobdownloader.h
internet/spotifysettingspage.cpp
internet/spotifysettingspage.h
${CMAKE_CURRENT_BINARY_DIR}/ui_spotifysettingspage.h
internet/spotifysearchplaylisttype.cpp
internet/spotifysearchplaylisttype.h
internet/spotifyserver.cpp
internet/spotifyserver.h
internet/spotifyservice.cpp
internet/spotifyservice.h
remote/remote.cpp
remote/remote.h
remote/remotesettingspage.cpp
remote/remotesettingspage.h
${CMAKE_CURRENT_BINARY_DIR}/ui_remotesettingspage.h
suggesters/lastfmsuggester.cpp
suggesters/lastfmsuggester.h
ui/macsystemtrayicon.h
ui/macsystemtrayicon.mm
wiimotedev/wiimotesettingspage.cpp
wiimotedev/wiimotesettingspage.h
wiimotedev/wiimoteshortcutgrabber.cpp
wiimotedev/wiimoteshortcutgrabber.h
${CMAKE_CURRENT_BINARY_DIR}/ui_wiimotesettingspage.h
${CMAKE_CURRENT_BINARY_DIR}/ui_wiimoteshortcutgrabber.h
widgets/osd_mac.mm
widgets/osd_win.cpp
widgets/osd_x11.cpp
) )
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
@ -1016,13 +936,12 @@ qt4_wrap_cpp(MOC ${HEADERS})
qt4_wrap_ui(UIC ${UI}) qt4_wrap_ui(UIC ${UI})
qt4_add_resources(QRC ${RESOURCES}) qt4_add_resources(QRC ${RESOURCES})
add_pot( add_pot(POT
${CMAKE_CURRENT_SOURCE_DIR}/translations/header ${CMAKE_CURRENT_SOURCE_DIR}/translations/header
${CMAKE_CURRENT_SOURCE_DIR}/translations/translations.pot ${CMAKE_CURRENT_SOURCE_DIR}/translations/translations.pot
${SOURCES} ${MOC} ${UIC} ${OTHER_SOURCES} ${SOURCES} ${MOC} ${UIC} ${OTHER_SOURCES}
) )
add_po(PO clementine_ add_po(PO clementine_
POT ${CMAKE_CURRENT_SOURCE_DIR}/translations/translations.pot
LANGUAGES ${LANGUAGES} LANGUAGES ${LANGUAGES}
DIRECTORY translations DIRECTORY translations
) )
@ -1032,6 +951,7 @@ add_library(clementine_lib STATIC
${MOC} ${MOC}
${UIC} ${UIC}
${QRC} ${QRC}
${POT}
${PO} ${PO}
) )

View File

@ -79,15 +79,15 @@ msgstr ""
msgid "%L1 total plays" msgid "%L1 total plays"
msgstr "" msgstr ""
#, c-format #, c-format, qt-plural-format
msgid "%n failed" msgid "%n failed"
msgstr "" msgstr ""
#, c-format #, c-format, qt-plural-format
msgid "%n finished" msgid "%n finished"
msgstr "" msgstr ""
#, c-format #, c-format, qt-plural-format
msgid "%n remaining" msgid "%n remaining"
msgstr "" msgstr ""
@ -3236,7 +3236,7 @@ msgstr ""
msgid "Zero" msgid "Zero"
msgstr "" msgstr ""
#, c-format #, c-format, qt-plural-format
msgid "add %n songs" msgid "add %n songs"
msgstr "" msgstr ""
@ -3325,7 +3325,7 @@ msgstr ""
msgid "press enter" msgid "press enter"
msgstr "" msgstr ""
#, c-format #, c-format, qt-plural-format
msgid "remove %n songs" msgid "remove %n songs"
msgstr "" msgstr ""