Files
librepods/linux/CMakeLists.txt
Mümin Köykıran a75557d6dc linux(i18n): add Turkish translations (#361)
* linux(i18n): add Turkish translations

- Add Qt Linguist translation infrastructure to CMakeLists.txt
- Wrap UI strings with qsTr() in Main.qml
- Wrap menu strings with tr() in trayiconmanager.cpp
- Add QTranslator loader in main.cpp for automatic locale detection
- Create Turkish translation file (librepods_tr.ts)

Translations include:
- Main window: connection status, noise control modes, settings
- Tray menu: all menu items and tooltips
- System notifications

* fix: allocate QTranslator on heap to ensure lifetime
2025-12-10 06:42:51 +05:30

103 lines
2.5 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(linux VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS Quick Widgets Bluetooth DBus LinguistTools)
find_package(OpenSSL REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PULSEAUDIO REQUIRED libpulse)
qt_standard_project_setup()
# Translation files
set(TS_FILES
translations/librepods_tr.ts
)
qt_add_executable(librepods
main.cpp
logger.h
media/mediacontroller.cpp
media/mediacontroller.h
media/pulseaudiocontroller.cpp
media/pulseaudiocontroller.h
airpods_packets.h
trayiconmanager.cpp
trayiconmanager.h
enums.h
battery.hpp
BluetoothMonitor.cpp
BluetoothMonitor.h
autostartmanager.hpp
BasicControlCommand.hpp
deviceinfo.hpp
ble/bleutils.cpp
ble/bleutils.h
ble/blemanager.cpp
ble/blemanager.h
thirdparty/QR-Code-generator/qrcodegen.cpp
thirdparty/QR-Code-generator/qrcodegen.hpp
QRCodeImageProvider.hpp
eardetection.hpp
media/playerstatuswatcher.cpp
media/playerstatuswatcher.h
systemsleepmonitor.hpp
)
qt_add_qml_module(librepods
URI linux
VERSION 1.0
QML_FILES
Main.qml
BatteryIndicator.qml
SegmentedControl.qml
PodColumn.qml
Icon.qml
KeysQRDialog.qml
)
# Add the resource file
qt_add_resources(librepods "resources"
PREFIX "/icons"
FILES
assets/airpods.png
assets/pod.png
assets/pod_case.png
assets/pod3.png
assets/pod3_case.png
assets/pod4_case.png
assets/podpro.png
assets/podpro_case.png
assets/podmax.png
assets/fonts/SF-Symbols-6.ttf
)
target_link_libraries(librepods
PRIVATE Qt6::Quick Qt6::Widgets Qt6::Bluetooth Qt6::DBus OpenSSL::SSL OpenSSL::Crypto ${PULSEAUDIO_LIBRARIES}
)
target_include_directories(librepods PRIVATE ${PULSEAUDIO_INCLUDE_DIRS})
include(GNUInstallDirs)
install(TARGETS librepods
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(FILES assets/me.kavishdevar.librepods.desktop
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES assets/librepods.png
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps")
# Translation support
qt_add_translations(librepods
TS_FILES ${TS_FILES}
QM_FILES_OUTPUT_VARIABLE QM_FILES
)
# Install translation files
install(FILES ${QM_FILES}
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/librepods/translations")