Fix CMake problems about output path and qm files generation

This commit is contained in:
Zhang Xiang 2021-06-22 08:48:52 +08:00
parent ba05a362c4
commit 83b0a9a92f
6 changed files with 59 additions and 195 deletions

View file

@ -20,7 +20,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# ffmpeg cannot be compiled natively by MSVC version < 12.0 (2013)
if(MSVC_VERSION LESS 1800)
message(FATAL_ERROR "[QtScrCpy] FATAL ERROR: MSVC version is older than 12.0 (2013).")
message(FATAL_ERROR "[QtScrcpy] FATAL ERROR: MSVC version is older than 12.0 (2013).")
endif()
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8")
@ -30,7 +30,8 @@ endif()
# ******************** Microsoft Windows ********************
if(WIN32)
message(STATUS "[QtScrCpy] Make for Microsoft Windows.")
message(STATUS "[QtScrcpy] Make for Microsoft Windows.")
# 通过rc的方式的话VERSION变量rc中获取不到,定义为宏方便rc中使用
# Define macros for .rc file
add_compile_definitions(
@ -41,11 +42,21 @@ if(WIN32)
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8) # Compiler is 64-bit
message(STATUS "[QtScrCpy] 64-bit compiler detected.")
message(STATUS "[QtScrcpy] 64-bit compiler detected.")
set(QS_DLL_PATH "${PROJECT_SOURCE_DIR}/third_party/ffmpeg/lib/x64")
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/win/x64/debug")
else()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/win/x64/release")
endif()
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) # Compiler is 32-bit
message(STATUS "[QtScrCpy] 32-bit compiler detected.")
message(STATUS "[QtScrcpy] 32-bit compiler detected.")
set(QS_DLL_PATH "${PROJECT_SOURCE_DIR}/third_party/ffmpeg/lib/x86")
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/win/x86/debug")
else()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/win/x86/release")
endif()
endif()
link_directories(${QS_DLL_PATH})
@ -67,7 +78,7 @@ if(WIN32)
swscale
)
set(RC_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/QtScrCpy.rc")
set(RC_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/QtScrcpy.rc")
# ******************** Unix-like OSs ********************
elseif(UNIX)
@ -76,10 +87,16 @@ elseif(UNIX)
# ==================== macOS ====================
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "[QtScrCpy] Make for macOS.")
message(STATUS "[QtScrcpy] Make for macOS.")
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/mac/debug")
else()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/mac/release")
endif()
# QS_MAC_RESOURCES: esource file list stored in Contents/MacOS
file(GLOB QS_MAC_RESOURCES "${PROJECT_SOURCE_DIR}/third_party/ffmpeg/lib/*.dylib)")
file(GLOB QS_MAC_RESOURCES "${PROJECT_SOURCE_DIR}/third_party/ffmpeg/lib/*.dylib")
list(APPEND QS_MAC_RESOURCES
"${PROJECT_SOURCE_DIR}/third_party/scrcpy-server"
"${PROJECT_SOURCE_DIR}/adb/mac/adb"
@ -89,7 +106,7 @@ elseif(UNIX)
set(QS_MAC_CONFIG "${PROJECT_SOURCE_DIR}/config/config.ini")
# Icon file stored in Contents/Resources
set(QS_MAC_ICON_NAME "QtScrCpy.icns")
set(QS_MAC_ICON_NAME "QtScrcpy.icns")
set(QS_MAC_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/res/${QS_MAC_ICON_NAME}")
set_source_files_properties(${QS_MAC_RESOURCES} PROPERTIES
@ -121,9 +138,15 @@ elseif(UNIX)
# ========== Non-Mac Unix-like OS (Linux, BSD, etc.) ==========
else()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/linux/debug")
else()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/linux/release")
endif()
find_package(Threads REQUIRED)
message(STATUS "[QtScrCpy] Make for non-Apple Unix-like OS.")
message(STATUS "[QtScrcpy] Make for non-Apple Unix-like OS.")
set(INSTALLED_FFMPEG_FOUND false)
find_package(PkgConfig)
@ -131,14 +154,14 @@ elseif(UNIX)
pkg_check_modules(FFmpeg ffmpeg>=4)
if(FFmpeg_FOUND)
set(INSTALLED_FFMPEG_FOUND true)
message(STATUS "[QtScrCpy] Development files of FFmpeg ${FFmpeg_VERSION} were detected in your OS and will be used.")
message(STATUS "[QtScrcpy] Development files of FFmpeg ${FFmpeg_VERSION} were detected in your OS and will be used.")
target_link_options(${CMAKE_PROJECT_NAME} "${FFmpeg_LIBRARIES}")
target_compile_options(${CMAKE_PROJECT_NAME} "${FFmpeg_CFLAGS}")
endif()
endif()
if(NOT INSTALLED_FFMPEG_FOUND)
message(STATUS "[QtScrCpy] Development files of FFmpeg were not detected in your OS. Files within third_party/ffmpeg/ will be used.")
message(STATUS "[QtScrcpy] Development files of FFmpeg were not detected in your OS. Files within third_party/ffmpeg/ will be used.")
set(QS_EXTERNAL_LIBS_FFMPEG
avformat
avcodec
@ -150,20 +173,11 @@ elseif(UNIX)
endif()
endif()
set(QS_SUBDIRECTORIES_MAIN
adb
common
device
devicemanage
fontawesome
uibase
util
)
set(QS_TS_FILES
${CMAKE_CURRENT_SOURCE_DIR}/res/i18n/zh_CN.ts
${CMAKE_CURRENT_SOURCE_DIR}/res/i18n/en_US.ts
)
set_source_files_properties(${QS_TS_FILES} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/res/i18n")
set(QS_SOURCES_MAIN
dialog.cpp
@ -174,7 +188,9 @@ set(QS_SOURCES_MAIN
set(QS_QRC_MAIN "${CMAKE_CURRENT_SOURCE_DIR}/res/res.qrc")
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) # Qt version 6
qt_create_translation(QS_QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} ${QS_TS_FILES})
if(WIN32)
qt_add_executable(${CMAKE_PROJECT_NAME} WIN32 MANUAL_FINALIZATION
main.cpp
@ -199,9 +215,9 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
endif()
endif()
qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${QS_TS_FILES})
else() # Qt version 5
qt5_create_translation(QS_QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} ${QS_TS_FILES})
else()
if(WIN32)
add_executable(${CMAKE_PROJECT_NAME} WIN32
main.cpp
@ -225,12 +241,20 @@ else()
)
endif()
endif()
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${QS_TS_FILES})
endif()
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
set(QS_SUBDIRECTORIES_MAIN
adb
common
device
devicemanage
fontawesome
uibase
util
)
foreach(QS_SUBDIRECTORY_MAIN ${QS_SUBDIRECTORIES_MAIN})
add_subdirectory(${QS_SUBDIRECTORY_MAIN})
endforeach()

View file

@ -108,13 +108,9 @@ int main(int argc, char *argv[])
g_mainDlg->setWindowTitle(Config::getInstance().getTitle());
g_mainDlg->show();
qInfo(
"%s",
QObject::tr("This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the "
"following address:")
.toUtf8()
.data());
qInfo() << QString("QtScrcpy %1 <https://github.com/barry-ran/QtScrcpy>").arg(QCoreApplication::applicationVersion()).toUtf8();
qInfo() << QObject::tr("This software is completely open source and free. Use it at your own risk. You can download it at the "
"following address:");
qInfo() << QString("QtScrcpy %1 <https://github.com/barry-ran/QtScrcpy>").arg(QCoreApplication::applicationVersion());
int ret = a.exec();

Binary file not shown.

View file

@ -16,22 +16,18 @@
<translation type="vanished">file transfer failed</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="184"/>
<source>install apk</source>
<translation>install apk</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="186"/>
<source>file transfer</source>
<translation>file transfer</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="190"/>
<source>wait current %1 to complete</source>
<translation>wait current %1 to complete</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="193"/>
<source>%1 complete, save in %2</source>
<translation>%1 complete, save in %2</translation>
</message>
@ -41,7 +37,6 @@
<translation type="vanished">%1 complete\n save in %2</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="196"/>
<source>%1 failed</source>
<translation>%1 failed</translation>
</message>
@ -49,134 +44,108 @@
<context>
<name>Dialog</name>
<message>
<location filename="../../dialog.ui" line="574"/>
<source>Wireless</source>
<translation>Wireless</translation>
</message>
<message>
<location filename="../../dialog.ui" line="658"/>
<source>wireless connect</source>
<translation>wireless connect</translation>
</message>
<message>
<location filename="../../dialog.ui" line="674"/>
<source>wireless disconnect</source>
<translation>wireless disconnect</translation>
</message>
<message>
<location filename="../../dialog.ui" line="101"/>
<source>Start Config</source>
<translation>Start Config</translation>
</message>
<message>
<location filename="../../dialog.ui" line="237"/>
<source>record save path:</source>
<translation>record save path:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="254"/>
<location filename="../../dialog.cpp" line="449"/>
<source>select path</source>
<translation>select path</translation>
</message>
<message>
<location filename="../../dialog.ui" line="168"/>
<source>record format</source>
<translation>record format:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="392"/>
<source>record screen</source>
<translation>record screen</translation>
</message>
<message>
<location filename="../../dialog.ui" line="337"/>
<source>frameless</source>
<translation>frameless</translation>
</message>
<message>
<location filename="../../dialog.ui" line="32"/>
<source>Use Simple Mode</source>
<translatorcomment>Use Simple Mode</translatorcomment>
<translation>Use Simple Mode</translation>
</message>
<message>
<location filename="../../dialog.ui" line="42"/>
<source>Simple Mode</source>
<translatorcomment>Simple Mode</translatorcomment>
<translation>Simple Mode</translation>
</message>
<message>
<location filename="../../dialog.ui" line="53"/>
<source>WIFI Connect</source>
<translatorcomment>WIFI Connect</translatorcomment>
<translation>WIFI Connect</translation>
</message>
<message>
<location filename="../../dialog.ui" line="60"/>
<source>USB Connect</source>
<translatorcomment>USB Connect</translatorcomment>
<translation>USB Connect</translation>
</message>
<message>
<location filename="../../dialog.ui" line="69"/>
<source>Double click to connect:</source>
<translation>Double click to connect:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="196"/>
<source>lock orientation:</source>
<translation>lock orientation:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="399"/>
<source>show fps</source>
<translation>show fps</translation>
</message>
<message>
<location filename="../../dialog.ui" line="406"/>
<source>stay awake</source>
<translation>stay awake</translation>
</message>
<message>
<location filename="../../dialog.ui" line="433"/>
<source>device name:</source>
<translatorcomment>device name:</translatorcomment>
<translation>device name:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="450"/>
<source>update name</source>
<translatorcomment>update name</translatorcomment>
<translation>update name</translation>
</message>
<message>
<location filename="../../dialog.ui" line="531"/>
<source>stop all server</source>
<translation>stop all server</translation>
</message>
<message>
<location filename="../../dialog.ui" line="708"/>
<source>adb command:</source>
<translation>adb command:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="744"/>
<source>terminate</source>
<translation>terminate</translation>
</message>
<message>
<location filename="../../dialog.ui" line="731"/>
<source>execute</source>
<translation>execute</translation>
</message>
<message>
<location filename="../../dialog.ui" line="757"/>
<source>clear</source>
<translation>clear</translation>
</message>
<message>
<location filename="../../dialog.ui" line="382"/>
<source>reverse connection</source>
<translation>reverse connection</translation>
</message>
@ -185,57 +154,46 @@
<translation type="vanished">auto enable</translation>
</message>
<message>
<location filename="../../dialog.ui" line="366"/>
<source>background record</source>
<translation>background record</translation>
</message>
<message>
<location filename="../../dialog.ui" line="330"/>
<source>screen-off</source>
<translation>screen-off</translation>
</message>
<message>
<location filename="../../dialog.ui" line="299"/>
<source>apply</source>
<translation>apply</translation>
</message>
<message>
<location filename="../../dialog.ui" line="154"/>
<source>max size:</source>
<translation>max size:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="350"/>
<source>always on top</source>
<translation>always on top</translation>
</message>
<message>
<location filename="../../dialog.ui" line="292"/>
<source>refresh script</source>
<translation>refresh script</translation>
</message>
<message>
<location filename="../../dialog.ui" line="548"/>
<source>get device IP</source>
<translation>get device IP</translation>
</message>
<message>
<location filename="../../dialog.ui" line="419"/>
<source>USB line</source>
<translation>USB line</translation>
</message>
<message>
<location filename="../../dialog.ui" line="503"/>
<source>stop server</source>
<translation>stop server</translation>
</message>
<message>
<location filename="../../dialog.ui" line="493"/>
<source>start server</source>
<translation>start server</translation>
</message>
<message>
<location filename="../../dialog.ui" line="483"/>
<source>device serial:</source>
<translation>device serial:</translation>
</message>
@ -244,80 +202,66 @@
<translation type="vanished">Config</translation>
</message>
<message>
<location filename="../../dialog.ui" line="137"/>
<source>bit rate:</source>
<translation>bit rate:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="558"/>
<source>start adbd</source>
<translation>start adbd</translation>
</message>
<message>
<location filename="../../dialog.ui" line="538"/>
<source>refresh devices</source>
<translation>refresh devices</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="85"/>
<source>show</source>
<translatorcomment>show</translatorcomment>
<translation>show</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="86"/>
<source>quit</source>
<translatorcomment>quit</translatorcomment>
<translation>quit</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="121"/>
<source>original</source>
<translation>original</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="126"/>
<source>no lock</source>
<translation>no lock</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>warning</source>
<translatorcomment>Warning</translatorcomment>
<translation>Warning</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Quit or set tray?</source>
<translatorcomment>Quit or set tray?</translatorcomment>
<translation>Quit or set tray?</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Quit</source>
<translatorcomment>Quit</translatorcomment>
<translation>Quit</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Set tray</source>
<translatorcomment>Set tray</translatorcomment>
<translation>Set tray</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Cancel</source>
<translatorcomment>Cancel</translatorcomment>
<translation>Cancel</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="253"/>
<source>Notice</source>
<translatorcomment>Notice</translatorcomment>
<translation>Notice</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="254"/>
<source>Hidden here!</source>
<translatorcomment>Hidden here!</translatorcomment>
<translation>Hidden here!</translation>
@ -326,17 +270,14 @@
<context>
<name>InputConvertGame</name>
<message>
<location filename="../../device/controller/inputconvert/inputconvertgame.cpp" line="507"/>
<source>current keymap mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../device/controller/inputconvert/inputconvertgame.cpp" line="507"/>
<source>custom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../device/controller/inputconvert/inputconvertgame.cpp" line="507"/>
<source>normal</source>
<translation type="unfinished"></translation>
</message>
@ -344,7 +285,6 @@
<context>
<name>KeyMap</name>
<message>
<location filename="../../device/controller/inputconvert/keymap/keymap.cpp" line="307"/>
<source>Script updated, current keymap mode:normal, Press ~ key to switch keymap mode</source>
<translation type="unfinished"></translation>
</message>
@ -362,25 +302,25 @@ You can download it at the following address:</source>
<translation type="vanished">This software is completely open source and free.\nStrictly used for illegal purposes, or at your own risk.\nYou can download it at the following address:</translation>
</message>
<message>
<location filename="../../main.cpp" line="113"/>
<source>This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</source>
<translation>This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</translation>
<translation type="vanished">This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</translation>
</message>
<message>
<source>This software is completely open source and free. Use it at your own risk. You can download it at the following address:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolForm</name>
<message>
<location filename="../../device/ui/toolform.ui" line="14"/>
<source>Tool</source>
<translation>Tool</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="33"/>
<source>full screen</source>
<translation>full screen</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="56"/>
<source>expand notify</source>
<translation>expand notify</translation>
</message>
@ -393,52 +333,42 @@ You can download it at the following address:</source>
<translation type="vanished">turn on</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="66"/>
<source>touch switch</source>
<translation>touch switch</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="76"/>
<source>close screen</source>
<translation>close screen</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="86"/>
<source>power</source>
<translation>power</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="96"/>
<source>volume up</source>
<translation>volume up</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="106"/>
<source>volume down</source>
<translation>volume down</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="116"/>
<source>app switch</source>
<translation>app switch</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="126"/>
<source>menu</source>
<translation>menu</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="136"/>
<source>home</source>
<translation>home</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="146"/>
<source>return</source>
<translation>return</translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="156"/>
<source>screen shot</source>
<translation>screen shot</translation>
</message>
@ -458,7 +388,6 @@ You can download it at the following address:</source>
<translation type="vanished">file transfer failed</translation>
</message>
<message>
<location filename="../../device/ui/videoform.cpp" line="733"/>
<source>file does not exist</source>
<translation>file does not exist</translation>
</message>

Binary file not shown.

View file

@ -16,22 +16,18 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../device/device.cpp" line="184"/>
<source>install apk</source>
<translation>apk</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="186"/>
<source>file transfer</source>
<translation></translation>
</message>
<message>
<location filename="../../device/device.cpp" line="190"/>
<source>wait current %1 to complete</source>
<translation>%1</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="193"/>
<source>%1 complete, save in %2</source>
<translation>%1,%2</translation>
</message>
@ -41,7 +37,6 @@
<translation type="vanished">%1\n %2</translation>
</message>
<message>
<location filename="../../device/device.cpp" line="196"/>
<source>%1 failed</source>
<translation>%1 </translation>
</message>
@ -49,134 +44,108 @@
<context>
<name>Dialog</name>
<message>
<location filename="../../dialog.ui" line="574"/>
<source>Wireless</source>
<translation>线</translation>
</message>
<message>
<location filename="../../dialog.ui" line="658"/>
<source>wireless connect</source>
<translation>线</translation>
</message>
<message>
<location filename="../../dialog.ui" line="674"/>
<source>wireless disconnect</source>
<translation>线</translation>
</message>
<message>
<location filename="../../dialog.ui" line="101"/>
<source>Start Config</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="237"/>
<source>record save path:</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="254"/>
<location filename="../../dialog.cpp" line="449"/>
<source>select path</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="168"/>
<source>record format</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="392"/>
<source>record screen</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="337"/>
<source>frameless</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="32"/>
<source>Use Simple Mode</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="42"/>
<source>Simple Mode</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="53"/>
<source>WIFI Connect</source>
<translatorcomment>WIFI连接</translatorcomment>
<translation>WIFI连接</translation>
</message>
<message>
<location filename="../../dialog.ui" line="60"/>
<source>USB Connect</source>
<translatorcomment>USB连接</translatorcomment>
<translation>USB连接</translation>
</message>
<message>
<location filename="../../dialog.ui" line="69"/>
<source>Double click to connect:</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="196"/>
<source>lock orientation:</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="399"/>
<source>show fps</source>
<translation>fps</translation>
</message>
<message>
<location filename="../../dialog.ui" line="406"/>
<source>stay awake</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="433"/>
<source>device name:</source>
<translatorcomment>:</translatorcomment>
<translation>:</translation>
</message>
<message>
<location filename="../../dialog.ui" line="450"/>
<source>update name</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="531"/>
<source>stop all server</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="708"/>
<source>adb command:</source>
<translation>adb命令</translation>
</message>
<message>
<location filename="../../dialog.ui" line="744"/>
<source>terminate</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="731"/>
<source>execute</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="757"/>
<source>clear</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="382"/>
<source>reverse connection</source>
<translation></translation>
</message>
@ -185,57 +154,46 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../dialog.ui" line="366"/>
<source>background record</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="330"/>
<source>screen-off</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="299"/>
<source>apply</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="154"/>
<source>max size:</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="350"/>
<source>always on top</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="292"/>
<source>refresh script</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="548"/>
<source>get device IP</source>
<translation>IP</translation>
</message>
<message>
<location filename="../../dialog.ui" line="419"/>
<source>USB line</source>
<translation>USB线</translation>
</message>
<message>
<location filename="../../dialog.ui" line="503"/>
<source>stop server</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="493"/>
<source>start server</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="483"/>
<source>device serial:</source>
<translation></translation>
</message>
@ -244,80 +202,66 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../dialog.ui" line="137"/>
<source>bit rate:</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="558"/>
<source>start adbd</source>
<translation>adbd</translation>
</message>
<message>
<location filename="../../dialog.ui" line="538"/>
<source>refresh devices</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="85"/>
<source>show</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="86"/>
<source>quit</source>
<translatorcomment>退</translatorcomment>
<translation>退</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="121"/>
<source>original</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="126"/>
<source>no lock</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>warning</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Quit or set tray?</source>
<translatorcomment>退</translatorcomment>
<translation>退</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Quit</source>
<translatorcomment>退</translatorcomment>
<translation>退</translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Set tray</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="243"/>
<source>Cancel</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="253"/>
<source>Notice</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../dialog.cpp" line="254"/>
<source>Hidden here!</source>
<translatorcomment></translatorcomment>
<translation></translation>
@ -326,17 +270,14 @@
<context>
<name>InputConvertGame</name>
<message>
<location filename="../../device/controller/inputconvert/inputconvertgame.cpp" line="507"/>
<source>current keymap mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../device/controller/inputconvert/inputconvertgame.cpp" line="507"/>
<source>custom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../device/controller/inputconvert/inputconvertgame.cpp" line="507"/>
<source>normal</source>
<translation type="unfinished"></translation>
</message>
@ -344,7 +285,6 @@
<context>
<name>KeyMap</name>
<message>
<location filename="../../device/controller/inputconvert/keymap/keymap.cpp" line="307"/>
<source>Script updated, current keymap mode:normal, Press ~ key to switch keymap mode</source>
<translation type="unfinished"></translation>
</message>
@ -352,35 +292,21 @@
<context>
<name>QObject</name>
<message>
<source>This software is completely open source and free, you can download it at the following address:</source>
<translation type="vanished"></translation>
</message>
<message>
<source>This software is completely open source and free.
Strictly used for illegal purposes, or at your own risk.
You can download it at the following address:</source>
<translation type="vanished">.\n严禁用于非法用途.\n你可以在下面地址下载:</translation>
</message>
<message>
<location filename="../../main.cpp" line="113"/>
<source>This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</source>
<translation>:</translation>
<source>This software is completely open source and free. Use it at your own risk. You can download it at the following address:</source>
<translation>使</translation>
</message>
</context>
<context>
<name>ToolForm</name>
<message>
<location filename="../../device/ui/toolform.ui" line="14"/>
<source>Tool</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="33"/>
<source>full screen</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="56"/>
<source>expand notify</source>
<translation></translation>
</message>
@ -393,52 +319,42 @@ You can download it at the following address:</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="66"/>
<source>touch switch</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="76"/>
<source>close screen</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="86"/>
<source>power</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="96"/>
<source>volume up</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="106"/>
<source>volume down</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="116"/>
<source>app switch</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="126"/>
<source>menu</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="136"/>
<source>home</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="146"/>
<source>return</source>
<translation></translation>
</message>
<message>
<location filename="../../device/ui/toolform.ui" line="156"/>
<source>screen shot</source>
<translation></translation>
</message>
@ -458,7 +374,6 @@ You can download it at the following address:</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../device/ui/videoform.cpp" line="733"/>
<source>file does not exist</source>
<translation></translation>
</message>