localization and more const& params
This commit is contained in:
@ -8,17 +8,15 @@ set(QJOYPAD_PATCH 0)
|
|||||||
|
|
||||||
find_package(Qt4 REQUIRED)
|
find_package(Qt4 REQUIRED)
|
||||||
|
|
||||||
set(WITH_LIBUDEV ON CACHE PATH "Use libudev for automatically updating joypad devices.")
|
option(WITH_LIBUDEV "Use libudev for automatically updating joypad devices." ON)
|
||||||
|
|
||||||
if(WITH_LIBUDEV)
|
if(WITH_LIBUDEV)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
|
|
||||||
pkg_check_modules(LIBUDEV libudev)
|
pkg_check_modules(LIBUDEV libudev)
|
||||||
|
|
||||||
if(LIBUDEV_FOUND)
|
if(NOT(LIBUDEV_FOUND))
|
||||||
message(STATUS "libudev found")
|
message(FATAL_ERROR "libudev not found. If you don't want to compile with libudev support use -DWITH_LIBUDEV=OFF")
|
||||||
else()
|
|
||||||
message(ERROR "libudev not found. If you don't want to compile with libudev support use -DWITH_LIBUDEV=OFF")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
link_directories(${LIBUDEV_LIBRARY_DIRS})
|
link_directories(${LIBUDEV_LIBRARY_DIRS})
|
||||||
@ -27,7 +25,10 @@ endif()
|
|||||||
|
|
||||||
set(DEVICE_DIR "/dev/input" CACHE PATH "Set the path where QJoyPad will look for your joystick devices. If your devices are /dev/js0, /dev/js1, etc., this should be just \"/dev\". By default, this is /dev/input.")
|
set(DEVICE_DIR "/dev/input" CACHE PATH "Set the path where QJoyPad will look for your joystick devices. If your devices are /dev/js0, /dev/js1, etc., this should be just \"/dev\". By default, this is /dev/input.")
|
||||||
|
|
||||||
set(PLAIN_KEYS OFF CACHE BOOL "Force QJoyPad to use standard XWindows keynames without filtering them for appearance. This will make displays less attractive and readable, but will save processor power and ensure that you see the right names for keys you press.")
|
option(PLAIN_KEYS "Force QJoyPad to use standard XWindows keynames without filtering them for appearance. This will make displays less attractive and readable, but will save processor power and ensure that you see the right names for keys you press." OFF)
|
||||||
|
|
||||||
|
option(UPDATE_TRANSLATIONS "Update source translation locale/*.ts
|
||||||
|
files (WARNING: make clean will delete the source .ts files! Danger!)")
|
||||||
|
|
||||||
message(STATUS "Using device directory: ${DEVICE_DIR}")
|
message(STATUS "Using device directory: ${DEVICE_DIR}")
|
||||||
|
|
||||||
@ -49,10 +50,22 @@ add_definitions(${QT_DEFINITIONS})
|
|||||||
# for config.h
|
# for config.h
|
||||||
include_directories("${PROJECT_BINARY_DIR}/src")
|
include_directories("${PROJECT_BINARY_DIR}/src")
|
||||||
|
|
||||||
|
file(GLOB qjoypad_TRANS_SOURCES translations/qjoypad_*.ts)
|
||||||
|
|
||||||
|
if(UPDATE_TRANSLATIONS)
|
||||||
|
file(GLOB_RECURSE qjoypad_TRANS_FILES *.cpp *.h)
|
||||||
|
qt4_create_translation(qjoypad_TRANS ${qjoypad_TRANS_SOURCES} ${qjoypad_TRANS_FILES})
|
||||||
|
else()
|
||||||
|
qt4_add_translation(qjoypad_TRANS ${qjoypad_TRANS_SOURCES})
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(icons)
|
add_subdirectory(icons)
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
add_custom_target(translations_target DEPENDS ${qjoypad_TRANS})
|
||||||
|
|
||||||
install(PROGRAMS qjoypad.desktop DESTINATION "share/applications")
|
install(PROGRAMS qjoypad.desktop DESTINATION "share/applications")
|
||||||
|
install(FILES ${qjoypad_TRANS} DESTINATION "share/qjoypad/translations")
|
||||||
|
|
||||||
# uninstall target
|
# uninstall target
|
||||||
configure_file(
|
configure_file(
|
||||||
|
@ -40,8 +40,8 @@ set(qjoypad_QOBJECT_HEADERS
|
|||||||
layout.h
|
layout.h
|
||||||
quickset.h)
|
quickset.h)
|
||||||
|
|
||||||
QT4_WRAP_CPP(qjoypad_HEADERS_MOC ${qjoypad_QOBJECT_HEADERS})
|
qt4_wrap_cpp(qjoypad_HEADERS_MOC ${qjoypad_QOBJECT_HEADERS})
|
||||||
add_executable(qjoypad ${qjoypad_SOURCES} ${qjoypad_HEADERS_MOC})
|
add_executable(qjoypad ${qjoypad_SOURCES} ${qjoypad_HEADERS_MOC}) # ${qjoypad_TRANS})
|
||||||
target_link_libraries(qjoypad ${QT_LIBRARIES} Xtst X11 ${LIBUDEV_LIBRARIES})
|
target_link_libraries(qjoypad ${QT_LIBRARIES} Xtst X11 ${LIBUDEV_LIBRARIES})
|
||||||
|
|
||||||
install(TARGETS qjoypad RUNTIME DESTINATION "bin")
|
install(TARGETS qjoypad RUNTIME DESTINATION "bin")
|
||||||
|
@ -266,6 +266,10 @@ bool Axis::isDefault() {
|
|||||||
(nuseMouse == false) ;
|
(nuseMouse == false) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Axis::getName() {
|
||||||
|
return tr("Axis %1").arg(index+1);
|
||||||
|
}
|
||||||
|
|
||||||
bool Axis::inDeadZone( int val ) {
|
bool Axis::inDeadZone( int val ) {
|
||||||
int value;
|
int value;
|
||||||
if (throttle == 0)
|
if (throttle == 0)
|
||||||
|
@ -43,7 +43,7 @@ class Axis : public QObject {
|
|||||||
void toDefault();
|
void toDefault();
|
||||||
//True iff currently at defaults
|
//True iff currently at defaults
|
||||||
bool isDefault();
|
bool isDefault();
|
||||||
QString getName() { return tr("Axis %1").arg(index+1);}
|
QString getName();
|
||||||
//true iff the given value is in the dead zone for this axis.
|
//true iff the given value is in the dead zone for this axis.
|
||||||
bool inDeadZone( int val );
|
bool inDeadZone( int val );
|
||||||
//a descriptive string used as a label for the button representing this axis
|
//a descriptive string used as a label for the button representing this axis
|
||||||
|
@ -123,6 +123,10 @@ bool Button::isDefault() {
|
|||||||
(keycode == 0);
|
(keycode == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Button::getName() {
|
||||||
|
return tr("Button %1").arg(index+1);
|
||||||
|
}
|
||||||
|
|
||||||
QString Button::status() {
|
QString Button::status() {
|
||||||
if (useMouse) {
|
if (useMouse) {
|
||||||
return tr("%1 : Mouse %2").arg(getName()).arg(keycode);
|
return tr("%1 : Mouse %2").arg(getName()).arg(keycode);
|
||||||
|
@ -29,7 +29,7 @@ class Button : public QObject {
|
|||||||
//True iff is currently using default settings
|
//True iff is currently using default settings
|
||||||
bool isDefault();
|
bool isDefault();
|
||||||
//returns a string representation of this button.
|
//returns a string representation of this button.
|
||||||
QString getName() { return tr("Button %1").arg(index+1); }
|
QString getName();
|
||||||
//a descriptive string used as a label for the button representing this axis
|
//a descriptive string used as a label for the button representing this axis
|
||||||
QString status();
|
QString status();
|
||||||
//set the key code for this axis. Used by quickset.
|
//set the key code for this axis. Used by quickset.
|
||||||
|
@ -12,11 +12,13 @@ inline void errorBox(const QString &type, const QString &message, QWidget *paren
|
|||||||
message, QMessageBox::Ok, Qt::NoButton);
|
message, QMessageBox::Ok, Qt::NoButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void debug_mesg(const char *fmt, ...) __attribute__((format(printf,1,2)));
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
inline void debug_mesg(const char *fmt, ...) {
|
inline void debug_mesg(const char *fmt, ...) {
|
||||||
va_list ap;
|
va_list ap;
|
||||||
va_start(ap, NULL);
|
va_start(ap, fmt);
|
||||||
vprintf(fmt, ap);
|
vfprintf(stderr, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//Modified here (and in .h) to not have default arguments for 2 and 3.
|
//Modified here (and in .h) to not have default arguments for 2 and 3.
|
||||||
//This caused an error with a development version of g++ on a Mandrake system
|
//This caused an error with a development version of g++ on a Mandrake system
|
||||||
//in Sweden.
|
//in Sweden.
|
||||||
FlashButton::FlashButton( QString text, QString name, QWidget* parent )
|
FlashButton::FlashButton(const QString &text, const QString &name, QWidget* parent )
|
||||||
: QPushButton( text, parent )
|
: QPushButton( text, parent )
|
||||||
{
|
{
|
||||||
this->setObjectName(name);
|
this->setObjectName(name);
|
||||||
|
@ -16,7 +16,7 @@ class FlashButton : public QPushButton
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
FlashButton(QString text, QString name = "" , QWidget* parent = 0);
|
FlashButton(const QString& text, const QString& name = "" , QWidget* parent = 0);
|
||||||
public slots:
|
public slots:
|
||||||
//make the button turn blue if it was gray, or visa versa.
|
//make the button turn blue if it was gray, or visa versa.
|
||||||
void flash();
|
void flash();
|
||||||
|
@ -101,6 +101,18 @@ void JoyPad::open(int dev) {
|
|||||||
debug_mesg("done resetting to dev\n");
|
debug_mesg("done resetting to dev\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QString &JoyPad::getDeviceId() const {
|
||||||
|
return deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString JoyPad::getName() const {
|
||||||
|
return tr("Joystick %1 (%2)").arg(index+1).arg(deviceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
int JoyPad::getIndex() const {
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
void JoyPad::toDefault() {
|
void JoyPad::toDefault() {
|
||||||
//to reset the whole, reset all the parts.
|
//to reset the whole, reset all the parts.
|
||||||
foreach (Axis *axis, axes) {
|
foreach (Axis *axis, axes) {
|
||||||
|
@ -41,9 +41,9 @@ class JoyPad : public QObject {
|
|||||||
bool isDefault();
|
bool isDefault();
|
||||||
//read the dimensions on the real joystick and use them
|
//read the dimensions on the real joystick and use them
|
||||||
void open( int dev );
|
void open( int dev );
|
||||||
const QString& getDeviceId() const { return deviceId; }
|
const QString& getDeviceId() const;
|
||||||
QString getName() const { return tr("Joystick %1 (%2)").arg(index+1).arg(deviceId); }
|
QString getName() const;
|
||||||
int getIndex() const { return index; }
|
int getIndex() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
24
src/main.cpp
24
src/main.cpp
@ -62,8 +62,8 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
//if there is no new directory and we can't make it, complain
|
//if there is no new directory and we can't make it, complain
|
||||||
if (!dir.exists() && !dir.mkdir(settingsDir)) {
|
if (!dir.exists() && !dir.mkdir(settingsDir)) {
|
||||||
errorBox(app.tr("Couldn't create the QJoyPad save directory"),
|
errorBox(app.translate("main","Couldn't create the QJoyPad save directory"),
|
||||||
app.tr("Couldn't create the QJoyPad save directory: %s").arg(settingsDir));
|
app.translate("main","Couldn't create the QJoyPad save directory: %s").arg(settingsDir));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'h':
|
case 'h':
|
||||||
printf("%s", qPrintable(app.tr("%1\n"
|
printf("%s", qPrintable(app.translate("main","%1\n"
|
||||||
"Usage: %2 [--device=\"/device/path\"] [--notray|--force-tray] [\"layout name\"]\n"
|
"Usage: %2 [--device=\"/device/path\"] [--notray|--force-tray] [\"layout name\"]\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Options:\n"
|
"Options:\n"
|
||||||
@ -102,7 +102,7 @@ int main( int argc, char **argv )
|
|||||||
" -d, --device=PATH Look for joystick devices in PATH. This should\n"
|
" -d, --device=PATH Look for joystick devices in PATH. This should\n"
|
||||||
" be something like \"/dev/input\" if your game\n"
|
" be something like \"/dev/input\" if your game\n"
|
||||||
" devices are in /dev/input/js0, /dev/input/js1, etc.\n"
|
" devices are in /dev/input/js0, /dev/input/js1, etc.\n"
|
||||||
" -t, --force-tray Forece to use a system tray icon.\n"
|
" -t, --force-tray Force to use a system tray icon.\n"
|
||||||
" -T, --notray Do not use a system tray icon. This is useful for\n"
|
" -T, --notray Do not use a system tray icon. This is useful for\n"
|
||||||
" window managers that don't support this feature.\n"
|
" window managers that don't support this feature.\n"
|
||||||
" -u, --update Force a running instance of QJoyPad to update its\n"
|
" -u, --update Force a running instance of QJoyPad to update its\n"
|
||||||
@ -117,8 +117,8 @@ int main( int argc, char **argv )
|
|||||||
devdir = optarg;
|
devdir = optarg;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
errorBox(app.tr("Not a directory"),
|
errorBox(app.translate("main","Not a directory"),
|
||||||
app.tr("Path is not a directory: %1").arg(optarg));
|
app.translate("main","Path is not a directory: %1").arg(optarg));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -137,7 +137,7 @@ int main( int argc, char **argv )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case '?':
|
case '?':
|
||||||
fprintf(stderr, "%s", qPrintable(app.tr(
|
fprintf(stderr, "%s", qPrintable(app.translate("main",
|
||||||
"Illeagal argument.\n"
|
"Illeagal argument.\n"
|
||||||
"See `%1 --help` for more information\n").arg(argc > 0 ? argv[0] : "qjoypad")));
|
"See `%1 --help` for more information\n").arg(argc > 0 ? argv[0] : "qjoypad")));
|
||||||
return 1;
|
return 1;
|
||||||
@ -148,7 +148,7 @@ int main( int argc, char **argv )
|
|||||||
layout = argv[optind ++];
|
layout = argv[optind ++];
|
||||||
|
|
||||||
if (optind < argc) {
|
if (optind < argc) {
|
||||||
fprintf(stderr, "%s", qPrintable(app.tr(
|
fprintf(stderr, "%s", qPrintable(app.translate("main",
|
||||||
"Too many arguments.\n"
|
"Too many arguments.\n"
|
||||||
"See `%1 --help` for more information\n").arg(argc > 0 ? argv[0] : "qjoypad")));
|
"See `%1 --help` for more information\n").arg(argc > 0 ? argv[0] : "qjoypad")));
|
||||||
return 1;
|
return 1;
|
||||||
@ -190,8 +190,8 @@ int main( int argc, char **argv )
|
|||||||
//however, if we are setting the layout or updating the device
|
//however, if we are setting the layout or updating the device
|
||||||
//list, this is not an error and we shouldn't make one!
|
//list, this is not an error and we shouldn't make one!
|
||||||
if (layout.isEmpty() && !update)
|
if (layout.isEmpty() && !update)
|
||||||
errorBox(app.tr("Instance Error"),
|
errorBox(app.translate("main","Instance Error"),
|
||||||
app.tr("There is already a running instance of QJoyPad; please close\nthe old instance before starting a new one."));
|
app.translate("main","There is already a running instance of QJoyPad; please close\nthe old instance before starting a new one."));
|
||||||
else {
|
else {
|
||||||
//if one of these is the case, send the approrpriate signal!
|
//if one of these is the case, send the approrpriate signal!
|
||||||
if (update) {
|
if (update) {
|
||||||
@ -219,8 +219,8 @@ int main( int argc, char **argv )
|
|||||||
sleep(1);
|
sleep(1);
|
||||||
sleepCounter++;
|
sleepCounter++;
|
||||||
if (sleepCounter > 20) {
|
if (sleepCounter > 20) {
|
||||||
errorBox(app.tr("System tray isn't loading"),
|
errorBox(app.translate("main","System tray isn't loading"),
|
||||||
app.tr("Waited more than 20 seconds for the system tray to load. Giving up."));
|
app.translate("main","Waited more than 20 seconds for the system tray to load. Giving up."));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
555
translations/qjoypad_de.ts
Normal file
555
translations/qjoypad_de.ts
Normal file
@ -0,0 +1,555 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.0" language="de_DE">
|
||||||
|
<context>
|
||||||
|
<name>Axis</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis.cpp" line="270"/>
|
||||||
|
<source>Axis %1</source>
|
||||||
|
<translation type="unfinished">Achse %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis.cpp" line="289"/>
|
||||||
|
<source>KEYBOARD/MOUSE</source>
|
||||||
|
<translation type="unfinished">TASTATUR/MAUS</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis.cpp" line="292"/>
|
||||||
|
<location filename="../src/axis.cpp" line="303"/>
|
||||||
|
<source>MOUSE</source>
|
||||||
|
<translation type="unfinished">MAUS</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis.cpp" line="295"/>
|
||||||
|
<source>KEYBOARD</source>
|
||||||
|
<translation type="unfinished">TASTATUR</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis.cpp" line="299"/>
|
||||||
|
<source>THROTTLE</source>
|
||||||
|
<translation type="unfinished">Drossel</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AxisEdit</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="26"/>
|
||||||
|
<source>&Gradient</source>
|
||||||
|
<translation type="unfinished">&Verlauf</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="32"/>
|
||||||
|
<source>Keyboard/Mouse Button</source>
|
||||||
|
<translation type="unfinished">Tastatur-/Maus-Taste</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="33"/>
|
||||||
|
<source>Mouse (Vert.)</source>
|
||||||
|
<translation type="unfinished">Maus (Vert.)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="34"/>
|
||||||
|
<source>Mouse (Vert. Rev.)</source>
|
||||||
|
<translation type="unfinished">Maus (Vert. Inv.)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="35"/>
|
||||||
|
<source>Mouse (Hor.)</source>
|
||||||
|
<translation type="unfinished">Maus (Hor.)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="36"/>
|
||||||
|
<source>Mouse (Hor. Rev.)</source>
|
||||||
|
<translation type="unfinished">Maus (Hor. Inv.)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="41"/>
|
||||||
|
<source>Linear</source>
|
||||||
|
<translation type="unfinished">Linear</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="42"/>
|
||||||
|
<source>Quadratic</source>
|
||||||
|
<translation type="unfinished">Quadratisch</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="43"/>
|
||||||
|
<source>Cubic</source>
|
||||||
|
<translation type="unfinished">Cubisch</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="44"/>
|
||||||
|
<source>Quadratic Extreme</source>
|
||||||
|
<translation type="unfinished">Quadratisches Extrem</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="45"/>
|
||||||
|
<source>Power Function</source>
|
||||||
|
<translation type="unfinished">Potenzfunktion</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="58"/>
|
||||||
|
<source>&Mouse Speed</source>
|
||||||
|
<translation type="unfinished">&Mausgeschwindigkeit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="65"/>
|
||||||
|
<source>&Sensitivity</source>
|
||||||
|
<translation type="unfinished">&Sensibilität</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="89"/>
|
||||||
|
<source>Neg. Throttle</source>
|
||||||
|
<translation type="unfinished">Neg. Drossel</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="90"/>
|
||||||
|
<source>No Throttle</source>
|
||||||
|
<translation type="unfinished">Keine Drossel</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/axis_edit.cpp" line="91"/>
|
||||||
|
<source>Pos. Throttle</source>
|
||||||
|
<translation type="unfinished">Pos. Drossel</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Button</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/button.cpp" line="127"/>
|
||||||
|
<source>Button %1</source>
|
||||||
|
<translation type="unfinished">Taste %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/button.cpp" line="132"/>
|
||||||
|
<source>%1 : Mouse %2</source>
|
||||||
|
<translation type="unfinished">%1: Maus %2</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/button.cpp" line="135"/>
|
||||||
|
<source>%1 : %2</source>
|
||||||
|
<translation type="unfinished">%1: %2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ButtonEdit</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/button_edit.cpp" line="12"/>
|
||||||
|
<source>Set %1</source>
|
||||||
|
<translation type="unfinished">Setze %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/button_edit.cpp" line="23"/>
|
||||||
|
<source>&Sticky</source>
|
||||||
|
<translation type="unfinished">&Klebrig</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/button_edit.cpp" line="26"/>
|
||||||
|
<source>&Rapid Fire</source>
|
||||||
|
<translation type="unfinished">Schnellfeue&r</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FloatingIcon</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/icon.cpp" line="12"/>
|
||||||
|
<source>%1 Floating Icon</source>
|
||||||
|
<translation type="unfinished">%1 Schwebendes Symbol</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GetKey</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/getkey.cpp" line="21"/>
|
||||||
|
<source>Choose a key</source>
|
||||||
|
<translation type="unfinished">Wähle eine Taste</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/getkey.cpp" line="27"/>
|
||||||
|
<source>Choose a new key or mouse button for %1</source>
|
||||||
|
<translation type="unfinished">Whähle eine neue Taste oder einen neuen Mausknopf für %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/getkey.cpp" line="27"/>
|
||||||
|
<source>Choose a new key for %1</source>
|
||||||
|
<translation type="unfinished">Wähle eine neue Taste für %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/getkey.cpp" line="33"/>
|
||||||
|
<source>
|
||||||
|
(Ctrl-X for no key)</source>
|
||||||
|
<translation type="unfinished">
|
||||||
|
(Ctrl-X für keine Taste)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>JoyPad</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypad.cpp" line="109"/>
|
||||||
|
<source>Joystick %1 (%2)</source>
|
||||||
|
<translation type="unfinished">Joystick %1 (%2)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypad.cpp" line="152"/>
|
||||||
|
<location filename="../src/joypad.cpp" line="159"/>
|
||||||
|
<location filename="../src/joypad.cpp" line="172"/>
|
||||||
|
<location filename="../src/joypad.cpp" line="179"/>
|
||||||
|
<location filename="../src/joypad.cpp" line="185"/>
|
||||||
|
<source>Layout file error</source>
|
||||||
|
<translation type="unfinished">Belegungsdatei-Fehler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypad.cpp" line="152"/>
|
||||||
|
<location filename="../src/joypad.cpp" line="172"/>
|
||||||
|
<source>Expected ':', found '%1'.</source>
|
||||||
|
<translation type="unfinished">';' erwartet, '%1' vorgefunden.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypad.cpp" line="159"/>
|
||||||
|
<source>Error reading Button %1</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Taste %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypad.cpp" line="179"/>
|
||||||
|
<source>Error reading Axis %1</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Achse %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypad.cpp" line="185"/>
|
||||||
|
<source>Error while reading layout. Unrecognized word: %1</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Belegung. Unbekanntes Wort: %1</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>JoyPadWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypadw.cpp" line="38"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation type="unfinished">Löschen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/joypadw.cpp" line="42"/>
|
||||||
|
<source>Quick Set</source>
|
||||||
|
<translation type="unfinished">Schnell Setzen</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>KeyButton</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/keycode.cpp" line="83"/>
|
||||||
|
<location filename="../src/keycode.cpp" line="103"/>
|
||||||
|
<source>Mouse %1</source>
|
||||||
|
<translation type="unfinished">Maus %1</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LayoutEdit</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="25"/>
|
||||||
|
<source>&Add</source>
|
||||||
|
<translation type="unfinished">&Hinzufügen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="28"/>
|
||||||
|
<source>&Remove</source>
|
||||||
|
<translation type="unfinished">&Entfernen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="31"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished">&Speichern</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="34"/>
|
||||||
|
<source>Re&vert</source>
|
||||||
|
<translation type="unfinished">&Zurücksetzen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="76"/>
|
||||||
|
<source>&Close Dialog</source>
|
||||||
|
<translation type="unfinished">&Fenster Schließen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="79"/>
|
||||||
|
<source>&Quit</source>
|
||||||
|
<translation type="unfinished">&Beenden</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout_edit.cpp" line="106"/>
|
||||||
|
<source>[NO LAYOUT]</source>
|
||||||
|
<translation type="unfinished">[KEINE BELEGUNG]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LayoutManager</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="14"/>
|
||||||
|
<source>Update &Joystick Devices</source>
|
||||||
|
<translation type="unfinished">&Joysticks Aktualisieren</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="15"/>
|
||||||
|
<source>Update &Layout List</source>
|
||||||
|
<translation type="unfinished">Be&legungsliste Aktualisieren</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="16"/>
|
||||||
|
<source>&Quit</source>
|
||||||
|
<translation type="unfinished">&Beenden</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="25"/>
|
||||||
|
<source>UDev Error</source>
|
||||||
|
<translation type="unfinished">UDev Fehler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="25"/>
|
||||||
|
<source>Error creating UDev monitor. QJoyPad will still work, but it won't automatically update the joypad device list.</source>
|
||||||
|
<translation type="unfinished">Fehler beim Erzeugen des UDev Monitors. QJoypad wird dennoch funktionieren, aber es wird nicht automatisch die Joypad-Liste aktualisieren.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="208"/>
|
||||||
|
<location filename="../src/layout.cpp" line="216"/>
|
||||||
|
<location filename="../src/layout.cpp" line="228"/>
|
||||||
|
<location filename="../src/layout.cpp" line="243"/>
|
||||||
|
<source>Load error</source>
|
||||||
|
<translation type="unfinished">Lade-Fehler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="208"/>
|
||||||
|
<source>Error reading joystick definition. Unexpected token "%1". Expected a positive number.</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Joystick-Definition. Unerwartets Token "%1". Eine positive Zahl wurde erwartet.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="216"/>
|
||||||
|
<source>Error reading joystick definition. Unexpected character "%1". Expected '{'.</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Joystick-Definition. Unerwartets Zeichen "%1". '{' wurde erwartet.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="228"/>
|
||||||
|
<source>Error reading definition for joystick %1.</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Definition von Joystick %1.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="243"/>
|
||||||
|
<source>Error reading joystick definition. Unexpected token "%1". Expected "Joystick".</source>
|
||||||
|
<translation type="unfinished">Fehler beim Lesen der Joystick-Definition. Unerwartetes Token "%1". "Joystick" wurde erwertet.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="308"/>
|
||||||
|
<location filename="../src/layout.cpp" line="326"/>
|
||||||
|
<source>Save error</source>
|
||||||
|
<translation type="unfinished">Fehler beim Speichern</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="308"/>
|
||||||
|
<source>Could not open file %1, layout not saved.</source>
|
||||||
|
<translation type="unfinished">Konnte Datei %1 nicht öffnen, Belegung wurde nicht gespeichert.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="317"/>
|
||||||
|
<source>%1 - Name new layout</source>
|
||||||
|
<translation type="unfinished">%1 - Benenne die neue Belegung</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="318"/>
|
||||||
|
<source>Enter a name for the new layout:</source>
|
||||||
|
<translation type="unfinished">Name der neuen Belegung eingeben:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="326"/>
|
||||||
|
<source>That name's already taken!</source>
|
||||||
|
<translation type="unfinished">Dieser Name ist bereits belegt!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="353"/>
|
||||||
|
<source>%1 - Delete layout?</source>
|
||||||
|
<translation type="unfinished">%1 - Belegung löschen?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="354"/>
|
||||||
|
<source>Remove layout %1 permanently from your hard drive?</source>
|
||||||
|
<translation type="unfinished">Belegung %1 permanent von ihrer Festplatte löschen?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="354"/>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation type="unfinished">Entfernen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="354"/>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Abbrechen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="358"/>
|
||||||
|
<source>Remove error</source>
|
||||||
|
<translation type="unfinished">Fehler beim Entfernen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="358"/>
|
||||||
|
<source>Could not remove file %1</source>
|
||||||
|
<translation type="unfinished">Konnte Datei %1 nicht entfernen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="399"/>
|
||||||
|
<source>No joystick devices available</source>
|
||||||
|
<translation type="unfinished">Keine Joysticks verfügbar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="400"/>
|
||||||
|
<source>No joystick devices are currently available to configure.
|
||||||
|
Please plug in a gaming device and select
|
||||||
|
"Update Joystick Devices" from the popup menu.</source>
|
||||||
|
<translation type="unfinished">Zur Zeit sind keine Joysticks zur Konfiguration verfügbar.
|
||||||
|
Bitte schließen Sie ein entsprechendes Gerät an und
|
||||||
|
wählen Sie "Joysticks Aktualisieren" im Popup-Menü.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="438"/>
|
||||||
|
<source>Joysticks: (none)</source>
|
||||||
|
<translation type="unfinished">Joystocks: (keine)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="445"/>
|
||||||
|
<source>Joysticks: %1</source>
|
||||||
|
<translation type="unfinished">Joysticks: %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/layout.cpp" line="459"/>
|
||||||
|
<source>[NO LAYOUT]</source>
|
||||||
|
<translation type="unfinished">[KEINE BELEGUNG]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QuickSet</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/quickset.cpp" line="7"/>
|
||||||
|
<source>Set %1</source>
|
||||||
|
<translation type="unfinished">Setze %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/quickset.cpp" line="13"/>
|
||||||
|
<source>Press any button or axis and
|
||||||
|
you will be prompted for a key.</source>
|
||||||
|
<translation type="unfinished">Drücken sie eine belibige Taste oder Achse und
|
||||||
|
Sie werden nach einer Taste gefragt werden.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/quickset.cpp" line="15"/>
|
||||||
|
<source>Done</source>
|
||||||
|
<translation type="unfinished">Fertig</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/quickset.cpp" line="52"/>
|
||||||
|
<source>%1, positive</source>
|
||||||
|
<translation type="unfinished">%1, positiv</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/quickset.cpp" line="52"/>
|
||||||
|
<source>%1, negative</source>
|
||||||
|
<translation type="unfinished">%1, negativ</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>main</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="65"/>
|
||||||
|
<source>Couldn't create the QJoyPad save directory</source>
|
||||||
|
<translation type="unfinished">Konnte das QJoyPad Seicher-Verzeichnis nicht anlegen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="66"/>
|
||||||
|
<source>Couldn't create the QJoyPad save directory: %s</source>
|
||||||
|
<translation type="unfinished">Konnte das QJoyPad Seicher-Verzeichnis nicht anlegen: %s</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="97"/>
|
||||||
|
<source>%1
|
||||||
|
Usage: %2 [--device="/device/path"] [--notray|--force-tray] ["layout name"]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Print this help message.
|
||||||
|
-d, --device=PATH Look for joystick devices in PATH. This should
|
||||||
|
be something like "/dev/input" if your game
|
||||||
|
devices are in /dev/input/js0, /dev/input/js1, etc.
|
||||||
|
-t, --force-tray Force to use a system tray icon.
|
||||||
|
-T, --notray Do not use a system tray icon. This is useful for
|
||||||
|
window managers that don't support this feature.
|
||||||
|
-u, --update Force a running instance of QJoyPad to update its
|
||||||
|
list of devices and layouts.
|
||||||
|
"layout name" Load the given layout in an already running
|
||||||
|
instance of QJoyPad, or start QJoyPad using the
|
||||||
|
given layout.
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">%1
|
||||||
|
Verwendung: %2 [--device="/Geräte/Pfad"] [--notray|--force-tray] ["Belegungsname"]
|
||||||
|
|
||||||
|
Optionen:
|
||||||
|
-h, --help Gibt diesen Hilfetext aus.
|
||||||
|
-d, --device=PFAD In PFAD nach Joystick-Geräten suchen. Dies sollte
|
||||||
|
"/dev/input" sein wenn Ihre Joysticks
|
||||||
|
/dev/input/js0, /dev/input/js1 etc. sind.
|
||||||
|
-t, --force-tray Verwendung der Systemablage erzwingen.
|
||||||
|
-T, --notray Systemablage nicht verwenden. Nützlich für
|
||||||
|
Fenstermanager die keine Systemablage unterstützen.
|
||||||
|
-u, --update Zwinge eine laufende Instanz von QJoyPad die
|
||||||
|
Geräte- und Belegungslisten zu aktualisieren.
|
||||||
|
"Belegungsname" Lade die angegebenen Belegung in einer bereits laufenden
|
||||||
|
Instanz von QJoyPad oder starte QJoyPad mit der gegebenen
|
||||||
|
Belegung.
|
||||||
|
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="120"/>
|
||||||
|
<source>Not a directory</source>
|
||||||
|
<translation type="unfinished">Kein Verzeichnis</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="121"/>
|
||||||
|
<source>Path is not a directory: %1</source>
|
||||||
|
<translation type="unfinished">Pfad ist kein Verzeichnis: %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="140"/>
|
||||||
|
<source>Illeagal argument.
|
||||||
|
See `%1 --help` for more information
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">Ungülltiges Argument.
|
||||||
|
Siehe `%1 --help` für mehr Information
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="151"/>
|
||||||
|
<source>Too many arguments.
|
||||||
|
See `%1 --help` for more information
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">Zu viele Argumente.
|
||||||
|
Siehe `%1 --help` für mehr Information
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="193"/>
|
||||||
|
<source>Instance Error</source>
|
||||||
|
<translation type="unfinished">Instanzierungs-Fehler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="194"/>
|
||||||
|
<source>There is already a running instance of QJoyPad; please close
|
||||||
|
the old instance before starting a new one.</source>
|
||||||
|
<translation type="unfinished">Es löuft bereits eine Instanz von QJoyPad; bitte schließen
|
||||||
|
sie die alte Instanz bevor sie eine neue öffnen.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="222"/>
|
||||||
|
<source>System tray isn't loading</source>
|
||||||
|
<translation type="unfinished">Systemablage startet nicht</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/main.cpp" line="223"/>
|
||||||
|
<source>Waited more than 20 seconds for the system tray to load. Giving up.</source>
|
||||||
|
<translation type="unfinished">Es wurde mehr als 20 Sekunden auf die Systemablage gewartet. Gebe auf.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
Reference in New Issue
Block a user