git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@38792 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
parent
aca57a03bd
commit
41e7b60e2e
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
December 4, 2009 Wei Mingzhi <weimingzhi@gmail.com>
|
||||
|
||||
* plugins/dfinput/analog.c: Allow analog sticks to be mapped to non-axis
|
||||
events (keyboard & joystick buttons) as well.
|
||||
* plugins/dfinput/cfg.c: Likewise.
|
||||
* plugins/dfinput/cfg-gtk2.c: Likewise.
|
||||
* plugins/dfinput/xkb.c: Likewise.
|
||||
* plugins/dfinput/pad.h: Likewise.
|
||||
* po/zh_CN.po, po/zh_TW.po, po/pt_BR.po, po/pcsx.pot: Updated.
|
||||
|
||||
December 3, 2009 Wei Mingzhi <weimingzhi@gmail.com>
|
||||
|
||||
* plugins/dfinput/pad.c: Changed the value of center position to 127 instead
|
||||
|
|
|
@ -19,28 +19,20 @@
|
|||
#include "pad.h"
|
||||
|
||||
void InitAnalog() {
|
||||
#if 0
|
||||
g.PadState[0].AnalogStatus[ANALOG_LEFT][ANALOG_X] = 128;
|
||||
g.PadState[0].AnalogStatus[ANALOG_LEFT][ANALOG_Y] = 128;
|
||||
g.PadState[0].AnalogStatus[ANALOG_RIGHT][ANALOG_X] = 128;
|
||||
g.PadState[0].AnalogStatus[ANALOG_RIGHT][ANALOG_Y] = 128;
|
||||
g.PadState[1].AnalogStatus[ANALOG_LEFT][ANALOG_X] = 128;
|
||||
g.PadState[1].AnalogStatus[ANALOG_LEFT][ANALOG_Y] = 128;
|
||||
g.PadState[1].AnalogStatus[ANALOG_RIGHT][ANALOG_X] = 128;
|
||||
g.PadState[1].AnalogStatus[ANALOG_RIGHT][ANALOG_Y] = 128;
|
||||
#else
|
||||
// use 127 instead of 128 fixes the FF8 "reverting" problem, but
|
||||
// why ALL of the protocol docs I seen as well as psemu_plugin_defs.h
|
||||
// say 128 is the center position?
|
||||
g.PadState[0].AnalogStatus[ANALOG_LEFT][ANALOG_X] = 127;
|
||||
g.PadState[0].AnalogStatus[ANALOG_LEFT][ANALOG_Y] = 127;
|
||||
g.PadState[0].AnalogStatus[ANALOG_RIGHT][ANALOG_X] = 127;
|
||||
g.PadState[0].AnalogStatus[ANALOG_RIGHT][ANALOG_Y] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_LEFT][ANALOG_X] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_LEFT][ANALOG_Y] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_RIGHT][ANALOG_X] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_RIGHT][ANALOG_Y] = 127;
|
||||
#endif
|
||||
g.PadState[0].AnalogStatus[ANALOG_LEFT][0] = 127;
|
||||
g.PadState[0].AnalogStatus[ANALOG_LEFT][1] = 127;
|
||||
g.PadState[0].AnalogStatus[ANALOG_RIGHT][0] = 127;
|
||||
g.PadState[0].AnalogStatus[ANALOG_RIGHT][1] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_LEFT][0] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_LEFT][1] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_RIGHT][0] = 127;
|
||||
g.PadState[1].AnalogStatus[ANALOG_RIGHT][1] = 127;
|
||||
|
||||
memset(g.PadState[0].AnalogKeyStatus, 0, sizeof(g.PadState[0].AnalogKeyStatus));
|
||||
memset(g.PadState[1].AnalogKeyStatus, 0, sizeof(g.PadState[1].AnalogKeyStatus));
|
||||
}
|
||||
|
||||
void CheckAnalog() {
|
||||
|
@ -53,28 +45,142 @@ void CheckAnalog() {
|
|||
}
|
||||
|
||||
for (j = 0; j < ANALOG_TOTAL; j++) {
|
||||
for (k = 0; k < 2; k++) {
|
||||
if (g.cfg.PadDef[i].AnalogDef[j][k] == 0) {
|
||||
for (k = 0; k < 4; k++) {
|
||||
if (g.PadState[i].AnalogKeyStatus[j][k]) {
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 255; k++; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 0; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 255; k++; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 0; break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
n = abs(g.cfg.PadDef[i].AnalogDef[j][k]) - 1;
|
||||
switch (g.cfg.PadDef[i].AnalogDef[j][k].JoyEvType) {
|
||||
case AXIS:
|
||||
n = abs(g.cfg.PadDef[i].AnalogDef[j][k].J.Axis) - 1;
|
||||
|
||||
val = SDL_JoystickGetAxis(g.PadState[i].JoyDev, n);
|
||||
if (g.cfg.PadDef[i].AnalogDef[j][k].J.Axis > 0) {
|
||||
val = SDL_JoystickGetAxis(g.PadState[i].JoyDev, n);
|
||||
if (val >= 0) {
|
||||
val += 32767;
|
||||
val /= 256;
|
||||
|
||||
#if 0
|
||||
val += 32768;
|
||||
#else
|
||||
val += 32767;
|
||||
#endif
|
||||
val /= 256;
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = val; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 255 - val; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = val; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 255 - val; break;
|
||||
}
|
||||
}
|
||||
} else if (g.cfg.PadDef[i].AnalogDef[j][k].J.Axis < 0) {
|
||||
val = SDL_JoystickGetAxis(g.PadState[i].JoyDev, n);
|
||||
if (val <= 0) {
|
||||
val += 32767;
|
||||
val /= 256;
|
||||
|
||||
if (g.cfg.PadDef[i].AnalogDef[j][k] < 0) {
|
||||
g.PadState[i].AnalogStatus[j][k] = 255 - val;
|
||||
} else {
|
||||
g.PadState[i].AnalogStatus[j][k] = val;
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 255 - val; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = val; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 255 - val; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = val; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case HAT:
|
||||
n = (g.cfg.PadDef[i].AnalogDef[j][k].J.Hat >> 8);
|
||||
|
||||
g.PadState[i].AnalogStatus[j][0] = 0;
|
||||
|
||||
if (SDL_JoystickGetHat(g.PadState[i].JoyDev, n) & (g.cfg.PadDef[i].AnalogDef[j][k].J.Hat & 0xFF)) {
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 255; k++; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 0; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 255; k++; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 0; break;
|
||||
}
|
||||
} else {
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 127; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 127; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 127; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 127; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case BUTTON:
|
||||
if (SDL_JoystickGetButton(g.PadState[i].JoyDev, g.cfg.PadDef[i].AnalogDef[j][k].J.Button)) {
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 255; k++; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 0; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 255; k++; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 0; break;
|
||||
}
|
||||
} else {
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 127; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 127; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 127; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 127; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
switch (k) {
|
||||
case ANALOG_XP: g.PadState[i].AnalogStatus[j][0] = 127; break;
|
||||
case ANALOG_XM: g.PadState[i].AnalogStatus[j][0] = 127; break;
|
||||
case ANALOG_YP: g.PadState[i].AnalogStatus[j][1] = 127; break;
|
||||
case ANALOG_YM: g.PadState[i].AnalogStatus[j][1] = 127; break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int AnalogKeyPressed(uint16_t Key) {
|
||||
int i, j, k;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (g.cfg.PadDef[i].Type != PSE_PAD_TYPE_ANALOGPAD) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (j = 0; j < ANALOG_TOTAL; j++) {
|
||||
for (k = 0; k < 4; k++) {
|
||||
if (g.cfg.PadDef[i].AnalogDef[j][k].Key == Key) {
|
||||
g.PadState[i].AnalogKeyStatus[j][k] = 1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int AnalogKeyReleased(uint16_t Key) {
|
||||
int i, j, k;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (g.cfg.PadDef[i].Type != PSE_PAD_TYPE_ANALOGPAD) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (j = 0; j < ANALOG_TOTAL; j++) {
|
||||
for (k = 0; k < 4; k++) {
|
||||
if (g.cfg.PadDef[i].AnalogDef[j][k].Key == Key) {
|
||||
g.PadState[i].AnalogKeyStatus[j][k] = 0;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -38,10 +38,10 @@ const int DPad[DKEY_TOTAL] = {
|
|||
DKEY_R1,
|
||||
DKEY_L2,
|
||||
DKEY_R2,
|
||||
DKEY_L3,
|
||||
DKEY_R3,
|
||||
DKEY_SELECT,
|
||||
DKEY_START
|
||||
DKEY_START,
|
||||
DKEY_L3,
|
||||
DKEY_R3
|
||||
};
|
||||
|
||||
const char *DPadText[DKEY_TOTAL] = {
|
||||
|
@ -57,17 +57,21 @@ const char *DPadText[DKEY_TOTAL] = {
|
|||
N_("R1"),
|
||||
N_("L2"),
|
||||
N_("R2"),
|
||||
N_("L3"),
|
||||
N_("R3"),
|
||||
N_("Select"),
|
||||
N_("Start")
|
||||
N_("Start"),
|
||||
N_("L3"),
|
||||
N_("R3")
|
||||
};
|
||||
|
||||
const char *AnalogText[] = {
|
||||
N_("L-Stick X"),
|
||||
N_("L-Stick Y"),
|
||||
N_("R-Stick X"),
|
||||
N_("R-Stick Y")
|
||||
N_("L-Stick Right"),
|
||||
N_("L-Stick Left"),
|
||||
N_("L-Stick Down"),
|
||||
N_("L-Stick Up"),
|
||||
N_("R-Stick Right"),
|
||||
N_("R-Stick Left"),
|
||||
N_("R-Stick Down"),
|
||||
N_("R-Stick Up")
|
||||
};
|
||||
|
||||
static int GetSelectedKeyIndex(int padnum) {
|
||||
|
@ -134,13 +138,42 @@ static void GetKeyDescription(char *buf, int joynum, int key) {
|
|||
}
|
||||
}
|
||||
|
||||
static void GetAnalogDescription(char *buf, int joynum, int analognum, int analogaxis) {
|
||||
int16_t v = g.cfg.PadDef[joynum].AnalogDef[analognum][analogaxis];
|
||||
static void GetAnalogDescription(char *buf, int joynum, int analognum, int dir) {
|
||||
const char *hatname[16] = {_("Centered"), _("Up"), _("Right"), _("Rightup"),
|
||||
_("Down"), "", _("Rightdown"), "", _("Left"), _("Leftup"), "", "",
|
||||
_("Leftdown"), "", "", ""};
|
||||
|
||||
if (v == 0) {
|
||||
sprintf(buf, _("(Not Set)"));
|
||||
} else {
|
||||
sprintf(buf, _("Joystick: Axis %d%s"), abs(v) - 1, (v < 0) ? _(" (Reversed)") : "");
|
||||
switch (g.cfg.PadDef[joynum].AnalogDef[analognum][dir].JoyEvType) {
|
||||
case BUTTON:
|
||||
sprintf(buf, _("Joystick: Button %d"), g.cfg.PadDef[joynum].AnalogDef[analognum][dir].J.Button);
|
||||
break;
|
||||
|
||||
case AXIS:
|
||||
sprintf(buf, _("Joystick: Axis %d%c"), abs(g.cfg.PadDef[joynum].AnalogDef[analognum][dir].J.Axis) - 1,
|
||||
g.cfg.PadDef[joynum].AnalogDef[analognum][dir].J.Axis > 0 ? '+' : '-');
|
||||
break;
|
||||
|
||||
case HAT:
|
||||
sprintf(buf, _("Joystick: Hat %d %s"), (g.cfg.PadDef[joynum].AnalogDef[analognum][dir].J.Hat >> 8),
|
||||
hatname[g.cfg.PadDef[joynum].AnalogDef[analognum][dir].J.Hat & 0x0F]);
|
||||
break;
|
||||
|
||||
case NONE:
|
||||
default:
|
||||
buf[0] = '\0';
|
||||
break;
|
||||
}
|
||||
|
||||
if (g.cfg.PadDef[joynum].AnalogDef[analognum][dir].Key != 0) {
|
||||
if (buf[0] != '\0') {
|
||||
strcat(buf, " / ");
|
||||
}
|
||||
|
||||
strcat(buf, _("Keyboard:"));
|
||||
strcat(buf, " ");
|
||||
strcat(buf, XKeysymToString(g.cfg.PadDef[joynum].AnalogDef[analognum][dir].Key));
|
||||
} else if (buf[0] == '\0') {
|
||||
strcpy(buf, _("(Not Set)"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,20 +190,28 @@ static void UpdateKeyList() {
|
|||
xml = glade_get_widget_tree(MainWindow);
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
int total;
|
||||
|
||||
if (g.cfg.PadDef[i].Type == PSE_PAD_TYPE_ANALOGPAD) {
|
||||
total = DKEY_TOTAL;
|
||||
} else {
|
||||
total = DKEY_TOTAL - 2;
|
||||
}
|
||||
|
||||
widget = glade_xml_get_widget(xml, widgetname[i]);
|
||||
|
||||
store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
|
||||
|
||||
for (j = 0; j < DKEY_TOTAL; j++) {
|
||||
for (j = 0; j < total; j++) {
|
||||
gtk_list_store_append(store, &iter);
|
||||
GetKeyDescription(buf, i, DPad[j]);
|
||||
gtk_list_store_set(store, &iter, 0, _(DPadText[j]), 1, buf, -1);
|
||||
}
|
||||
|
||||
if (g.cfg.PadDef[i].Type == PSE_PAD_TYPE_ANALOGPAD) {
|
||||
for (j = 0; j < 4; j++) {
|
||||
for (j = 0; j < 8; j++) {
|
||||
gtk_list_store_append(store, &iter);
|
||||
GetAnalogDescription(buf, i, j / 2, j % 2);
|
||||
GetAnalogDescription(buf, i, j / 4, j % 4);
|
||||
gtk_list_store_set(store, &iter, 0, _(AnalogText[j]), 1, buf, -1);
|
||||
}
|
||||
}
|
||||
|
@ -204,7 +245,7 @@ static void UpdateKey() {
|
|||
if (index < DKEY_TOTAL) {
|
||||
GetKeyDescription(buf, i, DPad[index]);
|
||||
} else {
|
||||
GetAnalogDescription(buf, i, (index - DKEY_TOTAL) / 2, (index - DKEY_TOTAL) % 2);
|
||||
GetAnalogDescription(buf, i, (index - DKEY_TOTAL) / 4, (index - DKEY_TOTAL) % 4);
|
||||
}
|
||||
|
||||
g_value_init(&value, G_TYPE_STRING);
|
||||
|
@ -286,17 +327,6 @@ static void OnThreadedToggled(GtkWidget *widget, gpointer user_data) {
|
|||
g.cfg.Threaded = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
|
||||
}
|
||||
|
||||
static void SysErrorMessage(gchar *primary, gchar *secondary) {
|
||||
GtkWidget *message_dialog;
|
||||
|
||||
message_dialog = gtk_message_dialog_new(NULL,
|
||||
GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, primary, NULL);
|
||||
gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG (message_dialog), secondary);
|
||||
|
||||
gtk_dialog_run(GTK_DIALOG(message_dialog));
|
||||
gtk_widget_destroy(message_dialog);
|
||||
}
|
||||
|
||||
static void ReadDKeyEvent(int padnum, int key) {
|
||||
SDL_Joystick *js;
|
||||
time_t t;
|
||||
|
@ -376,44 +406,72 @@ end:
|
|||
}
|
||||
}
|
||||
|
||||
static void ReadAnalogEvent(int padnum, int analognum, int analogaxis) {
|
||||
static void ReadAnalogEvent(int padnum, int analognum, int analogdir) {
|
||||
SDL_Joystick *js;
|
||||
time_t t;
|
||||
GdkEvent *ge;
|
||||
int i;
|
||||
Sint16 axis;
|
||||
|
||||
if (g.cfg.PadDef[padnum].DevNum < 0) {
|
||||
SysErrorMessage(_("Device not set"), _("Please select a valid Joystick Device"));
|
||||
return;
|
||||
}
|
||||
|
||||
js = SDL_JoystickOpen(g.cfg.PadDef[padnum].DevNum);
|
||||
if (js == NULL) {
|
||||
SysErrorMessage(_("Device open error"), _("Unable to open Joystick Device"));
|
||||
return;
|
||||
if (g.cfg.PadDef[padnum].DevNum >= 0) {
|
||||
js = SDL_JoystickOpen(g.cfg.PadDef[padnum].DevNum);
|
||||
SDL_JoystickEventState(SDL_IGNORE);
|
||||
} else {
|
||||
js = NULL;
|
||||
}
|
||||
|
||||
t = time(NULL);
|
||||
|
||||
while (time(NULL) < t + 10) {
|
||||
// check joystick events
|
||||
SDL_JoystickUpdate();
|
||||
for (i = 0; i < SDL_JoystickNumAxes(js); i++) {
|
||||
axis = SDL_JoystickGetAxis(js, i);
|
||||
if (abs(axis) > 16383) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogaxis] = (i + 1) * (axis > 0 ? 1 : -1);
|
||||
goto end1;
|
||||
if (js != NULL) {
|
||||
SDL_JoystickUpdate();
|
||||
|
||||
for (i = 0; i < SDL_JoystickNumButtons(js); i++) {
|
||||
if (SDL_JoystickGetButton(js, i)) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].JoyEvType = BUTTON;
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].J.Button = i;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < SDL_JoystickNumAxes(js); i++) {
|
||||
axis = SDL_JoystickGetAxis(js, i);
|
||||
if (abs(axis) > 16383) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].JoyEvType = AXIS;
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].J.Axis = (i + 1) * (axis > 0 ? 1 : -1);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < SDL_JoystickNumHats(js); i++) {
|
||||
axis = SDL_JoystickGetHat(js, i);
|
||||
if (axis != SDL_HAT_CENTERED) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].JoyEvType = HAT;
|
||||
|
||||
if (axis & SDL_HAT_UP) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].J.Hat = ((i << 8) | SDL_HAT_UP);
|
||||
} else if (axis & SDL_HAT_DOWN) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].J.Hat = ((i << 8) | SDL_HAT_DOWN);
|
||||
} else if (axis & SDL_HAT_LEFT) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].J.Hat = ((i << 8) | SDL_HAT_LEFT);
|
||||
} else if (axis & SDL_HAT_RIGHT) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].J.Hat = ((i << 8) | SDL_HAT_RIGHT);
|
||||
}
|
||||
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// check keyboard events
|
||||
while ((ge = gdk_event_get()) != NULL) {
|
||||
if (ge->type == GDK_KEY_PRESS) {
|
||||
if (ge->key.keyval == XK_Escape) {
|
||||
gdk_event_free(ge);
|
||||
goto end1;
|
||||
if (ge->key.keyval != XK_Escape) {
|
||||
g.cfg.PadDef[padnum].AnalogDef[analognum][analogdir].Key = ge->key.keyval;
|
||||
}
|
||||
gdk_event_free(ge);
|
||||
goto end;
|
||||
}
|
||||
gdk_event_free(ge);
|
||||
}
|
||||
|
@ -421,8 +479,10 @@ static void ReadAnalogEvent(int padnum, int analognum, int analogaxis) {
|
|||
usleep(5000);
|
||||
}
|
||||
|
||||
end1:
|
||||
SDL_JoystickClose(js);
|
||||
end:
|
||||
if (js != NULL) {
|
||||
SDL_JoystickClose(js);
|
||||
}
|
||||
}
|
||||
|
||||
static void OnChangeClicked(GtkWidget *widget, gpointer user_data) {
|
||||
|
@ -435,7 +495,7 @@ static void OnChangeClicked(GtkWidget *widget, gpointer user_data) {
|
|||
ReadDKeyEvent(pad, DPad[index]);
|
||||
} else {
|
||||
index -= DKEY_TOTAL;
|
||||
ReadAnalogEvent(pad, index / 2, index % 2);
|
||||
ReadAnalogEvent(pad, index / 4, index % 4);
|
||||
}
|
||||
|
||||
UpdateKey();
|
||||
|
@ -453,7 +513,9 @@ static void OnResetClicked(GtkWidget *widget, gpointer user_data) {
|
|||
g.cfg.PadDef[pad].KeyDef[DPad[index]].J.Button = 0;
|
||||
} else {
|
||||
index -= DKEY_TOTAL;
|
||||
g.cfg.PadDef[pad].AnalogDef[index / 2][index % 2] = 0;
|
||||
g.cfg.PadDef[pad].AnalogDef[index / 4][index % 4].Key = 0;
|
||||
g.cfg.PadDef[pad].AnalogDef[index / 4][index % 4].JoyEvType = NONE;
|
||||
g.cfg.PadDef[pad].AnalogDef[index / 4][index % 4].J.Button = 0;
|
||||
}
|
||||
|
||||
UpdateKey();
|
||||
|
@ -641,11 +703,7 @@ void PADabout() {
|
|||
GtkWidget *widget;
|
||||
|
||||
widget = gtk_about_dialog_new();
|
||||
#ifdef EPSXE
|
||||
gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(widget), "Gamepad/Keyboard Input (ePSXe)");
|
||||
#else
|
||||
gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(widget), "Gamepad/Keyboard Input");
|
||||
#endif
|
||||
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(widget), "1.1");
|
||||
gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(widget), authors);
|
||||
gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(widget), "http://www.codeplex.com/pcsxr/");
|
||||
|
|
|
@ -218,14 +218,46 @@ void LoadConfig() {
|
|||
g.cfg.PadDef[current].KeyDef[DKEY_SQUARE].Key = a;
|
||||
g.cfg.PadDef[current].KeyDef[DKEY_SQUARE].JoyEvType = b;
|
||||
g.cfg.PadDef[current].KeyDef[DKEY_SQUARE].J.d = c;
|
||||
} else if (strncmp(buf, "LeftAnalogX=", 12) == 0) {
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_X] = atoi(&buf[12]);
|
||||
} else if (strncmp(buf, "LeftAnalogY=", 12) == 0) {
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_Y] = atoi(&buf[12]);
|
||||
} else if (strncmp(buf, "RightAnalogX=", 13) == 0) {
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_X] = atoi(&buf[13]);
|
||||
} else if (strncmp(buf, "RightAnalogY=", 13) == 0) {
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_Y] = atoi(&buf[13]);
|
||||
} else if (strncmp(buf, "LeftAnalogXP=", 13) == 0) {
|
||||
sscanf(buf, "LeftAnalogXP=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_XP].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_XP].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_XP].J.d = c;
|
||||
} else if (strncmp(buf, "LeftAnalogXM=", 13) == 0) {
|
||||
sscanf(buf, "LeftAnalogXM=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_XM].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_XM].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_XM].J.d = c;
|
||||
} else if (strncmp(buf, "LeftAnalogYP=", 13) == 0) {
|
||||
sscanf(buf, "LeftAnalogYP=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_YP].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_YP].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_YP].J.d = c;
|
||||
} else if (strncmp(buf, "LeftAnalogYM=", 13) == 0) {
|
||||
sscanf(buf, "LeftAnalogYM=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_YM].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_YM].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_LEFT][ANALOG_YM].J.d = c;
|
||||
} else if (strncmp(buf, "RightAnalogXP=", 14) == 0) {
|
||||
sscanf(buf, "RightAnalogXP=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_XP].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_XP].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_XP].J.d = c;
|
||||
} else if (strncmp(buf, "RightAnalogXM=", 14) == 0) {
|
||||
sscanf(buf, "RightAnalogXM=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_XM].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_XM].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_XM].J.d = c;
|
||||
} else if (strncmp(buf, "RightAnalogYP=", 14) == 0) {
|
||||
sscanf(buf, "RightAnalogYP=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_YP].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_YP].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_YP].J.d = c;
|
||||
} else if (strncmp(buf, "RightAnalogYM=", 14) == 0) {
|
||||
sscanf(buf, "RightAnalogYM=%d,%d,%d", &a, &b, &c);
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_YM].Key = a;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_YM].JoyEvType = b;
|
||||
g.cfg.PadDef[current].AnalogDef[ANALOG_RIGHT][ANALOG_YM].J.d = c;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -282,11 +314,30 @@ void SaveConfig() {
|
|||
g.cfg.PadDef[i].KeyDef[DKEY_CROSS].JoyEvType, g.cfg.PadDef[i].KeyDef[DKEY_CROSS].J.d);
|
||||
fprintf(fp, "Square=%d,%d,%d\n", g.cfg.PadDef[i].KeyDef[DKEY_SQUARE].Key,
|
||||
g.cfg.PadDef[i].KeyDef[DKEY_SQUARE].JoyEvType, g.cfg.PadDef[i].KeyDef[DKEY_SQUARE].J.d);
|
||||
|
||||
fprintf(fp, "LeftAnalogX=%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_X]);
|
||||
fprintf(fp, "LeftAnalogY=%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_Y]);
|
||||
fprintf(fp, "RightAnalogX=%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_X]);
|
||||
fprintf(fp, "RightAnalogY=%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_Y]);
|
||||
fprintf(fp, "LeftAnalogXP=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_XP].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_XP].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_XP].J.d);
|
||||
fprintf(fp, "LeftAnalogXM=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_XM].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_XM].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_XM].J.d);
|
||||
fprintf(fp, "LeftAnalogYP=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_YP].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_YP].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_YP].J.d);
|
||||
fprintf(fp, "LeftAnalogYM=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_YM].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_YM].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_LEFT][ANALOG_YM].J.d);
|
||||
fprintf(fp, "RightAnalogXP=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_XP].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_XP].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_XP].J.d);
|
||||
fprintf(fp, "RightAnalogXM=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_XM].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_XM].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_XM].J.d);
|
||||
fprintf(fp, "RightAnalogYP=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_YP].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_YP].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_YP].J.d);
|
||||
fprintf(fp, "RightAnalogYM=%d,%d,%d\n", g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_YM].Key,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_YM].JoyEvType,
|
||||
g.cfg.PadDef[i].AnalogDef[ANALOG_RIGHT][ANALOG_YM].J.d);
|
||||
|
||||
fprintf(fp, "\n");
|
||||
}
|
||||
|
|
|
@ -19,11 +19,7 @@
|
|||
#include "pad.h"
|
||||
|
||||
char *PSEgetLibName(void) {
|
||||
#ifdef EPSXE
|
||||
return _("Gamepad/Keyboard Input (ePSXe)");
|
||||
#else
|
||||
return _("Gamepad/Keyboard Input");
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t PSEgetLibType(void) {
|
||||
|
@ -125,8 +121,6 @@ static void UpdateInput(void) {
|
|||
CheckKeyboard();
|
||||
}
|
||||
|
||||
#ifndef EPSXE
|
||||
|
||||
static uint8_t stdpar[2][8] = {
|
||||
{0xFF, 0x5A, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80},
|
||||
{0xFF, 0x5A, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80}
|
||||
|
@ -255,10 +249,10 @@ unsigned char PADpoll(unsigned char value) {
|
|||
if (g.PadState[CurPad].PadMode == 1) {
|
||||
CmdLen = 8;
|
||||
|
||||
stdpar[CurPad][4] = g.PadState[CurPad].AnalogStatus[ANALOG_RIGHT][ANALOG_X];
|
||||
stdpar[CurPad][5] = g.PadState[CurPad].AnalogStatus[ANALOG_RIGHT][ANALOG_Y];
|
||||
stdpar[CurPad][6] = g.PadState[CurPad].AnalogStatus[ANALOG_LEFT][ANALOG_X];
|
||||
stdpar[CurPad][7] = g.PadState[CurPad].AnalogStatus[ANALOG_LEFT][ANALOG_Y];
|
||||
stdpar[CurPad][4] = g.PadState[CurPad].AnalogStatus[ANALOG_RIGHT][0];
|
||||
stdpar[CurPad][5] = g.PadState[CurPad].AnalogStatus[ANALOG_RIGHT][1];
|
||||
stdpar[CurPad][6] = g.PadState[CurPad].AnalogStatus[ANALOG_LEFT][0];
|
||||
stdpar[CurPad][7] = g.PadState[CurPad].AnalogStatus[ANALOG_LEFT][1];
|
||||
} else {
|
||||
CmdLen = 4;
|
||||
}
|
||||
|
@ -329,25 +323,21 @@ unsigned char PADpoll(unsigned char value) {
|
|||
return buf[CurByte++];
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static long PADreadPort(int num, PadDataS *pad) {
|
||||
UpdateInput();
|
||||
|
||||
pad->buttonStatus = (g.PadState[num].KeyStatus & g.PadState[num].JoyKeyStatus);
|
||||
|
||||
#ifdef EPSXE
|
||||
// ePSXe different from pcsx, swap bytes
|
||||
pad->buttonStatus = (pad->buttonStatus >> 8) | (pad->buttonStatus << 8);
|
||||
#endif
|
||||
|
||||
switch (g.cfg.PadDef[num].Type) {
|
||||
case PSE_PAD_TYPE_ANALOGPAD: // Analog Controller SCPH-1150
|
||||
pad->controllerType = PSE_PAD_TYPE_ANALOGPAD;
|
||||
pad->rightJoyX = g.PadState[num].AnalogStatus[ANALOG_RIGHT][ANALOG_X];
|
||||
pad->rightJoyY = g.PadState[num].AnalogStatus[ANALOG_RIGHT][ANALOG_Y];
|
||||
pad->leftJoyX = g.PadState[num].AnalogStatus[ANALOG_LEFT][ANALOG_X];
|
||||
pad->leftJoyY = g.PadState[num].AnalogStatus[ANALOG_LEFT][ANALOG_Y];
|
||||
pad->rightJoyX = g.PadState[num].AnalogStatus[ANALOG_RIGHT][0];
|
||||
pad->rightJoyY = g.PadState[num].AnalogStatus[ANALOG_RIGHT][1];
|
||||
pad->leftJoyX = g.PadState[num].AnalogStatus[ANALOG_LEFT][0];
|
||||
pad->leftJoyY = g.PadState[num].AnalogStatus[ANALOG_LEFT][1];
|
||||
break;
|
||||
|
||||
case PSE_PAD_TYPE_STANDARD: // Standard Pad SCPH-1080, SCPH-1150
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
//#define EPSXE 1
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -93,13 +91,13 @@ typedef struct tagKeyDef {
|
|||
uint16_t Key;
|
||||
} KEYDEF;
|
||||
|
||||
enum { ANALOG_X = 0, ANALOG_Y };
|
||||
enum { ANALOG_XP = 0, ANALOG_XM, ANALOG_YP, ANALOG_YM };
|
||||
|
||||
typedef struct tagPadDef {
|
||||
int8_t DevNum;
|
||||
uint16_t Type;
|
||||
KEYDEF KeyDef[DKEY_TOTAL];
|
||||
int16_t AnalogDef[ANALOG_TOTAL][2]; // positive=axis+, negative=axis-, abs(Axis)-1=axis index
|
||||
KEYDEF AnalogDef[ANALOG_TOTAL][4];
|
||||
} PADDEF;
|
||||
|
||||
typedef struct tagConfig {
|
||||
|
@ -113,7 +111,8 @@ typedef struct tagPadState {
|
|||
uint8_t PadID;
|
||||
volatile uint16_t KeyStatus;
|
||||
volatile uint16_t JoyKeyStatus;
|
||||
volatile uint8_t AnalogStatus[ANALOG_TOTAL][2]; // 0-255 where 128 is center position
|
||||
volatile uint8_t AnalogStatus[ANALOG_TOTAL][2]; // 0-255 where 127 is center position
|
||||
volatile uint8_t AnalogKeyStatus[ANALOG_TOTAL][4];
|
||||
} PADSTATE;
|
||||
|
||||
typedef struct tagGlobalData {
|
||||
|
@ -156,6 +155,8 @@ void CheckKeyboard();
|
|||
// analog.c functions...
|
||||
void InitAnalog();
|
||||
void CheckAnalog();
|
||||
int AnalogKeyPressed(uint16_t Key);
|
||||
int AnalogKeyReleased(uint16_t Key);
|
||||
|
||||
// pad.c functions...
|
||||
char *PSEgetLibName(void);
|
||||
|
|
|
@ -55,7 +55,6 @@ void DestroySDLJoy() {
|
|||
|
||||
void CheckJoy() {
|
||||
uint8_t i, j, n;
|
||||
int dx, dy;
|
||||
|
||||
SDL_JoystickUpdate();
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ void CheckKeyboard() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
if (!found && !AnalogKeyPressed(Key)) {
|
||||
g.KeyLeftOver = Key;
|
||||
}
|
||||
return;
|
||||
|
@ -70,7 +70,7 @@ void CheckKeyboard() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
if (!found && !AnalogKeyReleased(Key)) {
|
||||
g.KeyLeftOver = ((long)Key | 0x40000000);
|
||||
}
|
||||
break;
|
||||
|
|
168
po/pcsx.pot
168
po/pcsx.pot
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-11-29 02:11+0800\n"
|
||||
"POT-Creation-Date: 2009-12-04 14:14+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -615,13 +615,13 @@ msgstr ""
|
|||
msgid "*PCSX*: Error Saving State %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:480
|
||||
#: ../gui/Gtk2Gui.c:605
|
||||
#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:479
|
||||
#: ../gui/Gtk2Gui.c:604
|
||||
msgid "The CD does not appear to be a valid Playstation CD"
|
||||
msgstr ""
|
||||
|
||||
#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:488
|
||||
#: ../gui/Gtk2Gui.c:613
|
||||
#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:487
|
||||
#: ../gui/Gtk2Gui.c:612
|
||||
msgid "Could not load CD-ROM!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -807,7 +807,7 @@ msgid "DataDeck Memory Card (*.ddf)"
|
|||
msgstr ""
|
||||
|
||||
#: ../win32/gui/WndMain.c:1350 ../win32/gui/WndMain.c:1431 ../gui/Cheat.c:322
|
||||
#: ../gui/Gtk2Gui.c:417 ../gui/Gtk2Gui.c:556
|
||||
#: ../gui/Gtk2Gui.c:416 ../gui/Gtk2Gui.c:555
|
||||
msgid "All Files"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1032,79 +1032,79 @@ msgstr ""
|
|||
msgid "Could not open directory: '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:110
|
||||
#: ../gui/Gtk2Gui.c:109
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:151
|
||||
#: ../gui/Gtk2Gui.c:150
|
||||
msgid "Emulation Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:399
|
||||
#: ../gui/Gtk2Gui.c:398
|
||||
msgid "Select PSX EXE File"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:413
|
||||
#: ../gui/Gtk2Gui.c:412
|
||||
msgid "PlayStation Executable Files"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "Not a valid PSX file"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "The file does not appear to be a valid Playstation executable"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:480 ../gui/Gtk2Gui.c:605
|
||||
#: ../gui/Gtk2Gui.c:479 ../gui/Gtk2Gui.c:604
|
||||
msgid "CD ROM failed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:488 ../gui/Gtk2Gui.c:613
|
||||
#: ../gui/Gtk2Gui.c:487 ../gui/Gtk2Gui.c:612
|
||||
msgid "The CD-ROM could not be loaded"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Could not run BIOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Running BIOS is not supported with Internal HLE BIOS."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:531
|
||||
#: ../gui/Gtk2Gui.c:530
|
||||
msgid "Open PSX Disc Image File"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:551
|
||||
#: ../gui/Gtk2Gui.c:550
|
||||
msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:762
|
||||
#: ../gui/Gtk2Gui.c:761
|
||||
#, c-format
|
||||
msgid "Loaded state %s."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:766
|
||||
#: ../gui/Gtk2Gui.c:765
|
||||
#, c-format
|
||||
msgid "Error loading state %s!"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:777
|
||||
#: ../gui/Gtk2Gui.c:776
|
||||
#, c-format
|
||||
msgid "Saved state %s."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:779
|
||||
#: ../gui/Gtk2Gui.c:778
|
||||
#, c-format
|
||||
msgid "Error saving state %s!"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:812 ../gui/Gtk2Gui.c:839
|
||||
#: ../gui/Gtk2Gui.c:811 ../gui/Gtk2Gui.c:838
|
||||
msgid "Select State File"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:896
|
||||
#: ../gui/Gtk2Gui.c:895
|
||||
msgid "Notice"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1178,25 +1178,25 @@ msgstr ""
|
|||
msgid "Format card"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:366
|
||||
#: ../gui/MemcardDlg.c:367
|
||||
msgid "Create a new Memory Card"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:375
|
||||
#: ../gui/MemcardDlg.c:376
|
||||
msgid "New Memory Card.mcd"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:476
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
msgid "No free space on memory card"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
#: ../gui/MemcardDlg.c:478
|
||||
msgid ""
|
||||
"There are no free slots available on the target memory card. Please delete a "
|
||||
"slot first."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:631
|
||||
#: ../gui/MemcardDlg.c:632
|
||||
msgid "Memory Card Manager"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2604,143 +2604,129 @@ msgid "R2"
|
|||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:60
|
||||
msgid "L3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "R3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "L3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
msgid "R3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:67
|
||||
msgid "L-Stick X"
|
||||
msgid "L-Stick Right"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:68
|
||||
msgid "L-Stick Y"
|
||||
msgid "L-Stick Left"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:69
|
||||
msgid "R-Stick X"
|
||||
msgid "L-Stick Down"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:70
|
||||
msgid "R-Stick Y"
|
||||
msgid "L-Stick Up"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:71
|
||||
msgid "R-Stick Right"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:72
|
||||
msgid "R-Stick Left"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:73
|
||||
msgid "R-Stick Down"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:74
|
||||
msgid "R-Stick Up"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Centered"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Rightup"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Rightdown"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Leftup"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:101
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144
|
||||
msgid "Leftdown"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148
|
||||
#, c-format
|
||||
msgid "Joystick: Button %d"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%c"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:114
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157
|
||||
#, c-format
|
||||
msgid "Joystick: Hat %d %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:129
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:141
|
||||
#, c-format
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176
|
||||
msgid "(Not Set)"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%s"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid " (Reversed)"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Device not set"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Please select a valid Joystick Device"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Device open error"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Unable to open Joystick Device"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:484
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:546
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:526
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:588
|
||||
msgid "Gamepad/Keyboard Input Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:532 ../plugins/dfinput/cfg-gtk2.c:552
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:594 ../plugins/dfinput/cfg-gtk2.c:614
|
||||
msgid "Key"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:538 ../plugins/dfinput/cfg-gtk2.c:558
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:600 ../plugins/dfinput/cfg-gtk2.c:620
|
||||
msgid "Button"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/pad.c:23
|
||||
msgid "Gamepad/Keyboard Input (ePSXe)"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/pad.c:25
|
||||
#: ../plugins/dfinput/pad.c:22
|
||||
msgid "Gamepad/Keyboard Input"
|
||||
msgstr ""
|
||||
|
||||
|
|
168
po/pt_BR.po
168
po/pt_BR.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: pcsx-df\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-11-29 02:11+0800\n"
|
||||
"POT-Creation-Date: 2009-12-04 14:14+0800\n"
|
||||
"PO-Revision-Date: 2009-11-28 23:57+0700\n"
|
||||
"Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n"
|
||||
"Language-Team: PoBRE <romhackers@gmail.com>\n"
|
||||
|
@ -630,13 +630,13 @@ msgstr "PCSX: Arquivo de estado \"%s\" salvo."
|
|||
msgid "*PCSX*: Error Saving State %s"
|
||||
msgstr "PCSX: Erro ao salvar o arquivo de estado \"%s\"!"
|
||||
|
||||
#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:480
|
||||
#: ../gui/Gtk2Gui.c:605
|
||||
#: ../win32/gui/WndMain.c:426 ../win32/gui/WndMain.c:475 ../gui/Gtk2Gui.c:479
|
||||
#: ../gui/Gtk2Gui.c:604
|
||||
msgid "The CD does not appear to be a valid Playstation CD"
|
||||
msgstr "Esse CD não parece ser um CD de PlayStation!"
|
||||
|
||||
#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:488
|
||||
#: ../gui/Gtk2Gui.c:613
|
||||
#: ../win32/gui/WndMain.c:432 ../win32/gui/WndMain.c:481 ../gui/Gtk2Gui.c:487
|
||||
#: ../gui/Gtk2Gui.c:612
|
||||
msgid "Could not load CD-ROM!"
|
||||
msgstr "Não pôde carregar o CDROM!"
|
||||
|
||||
|
@ -822,7 +822,7 @@ msgid "DataDeck Memory Card (*.ddf)"
|
|||
msgstr "Cartão de memória do DataDeck (*.ddf)"
|
||||
|
||||
#: ../win32/gui/WndMain.c:1350 ../win32/gui/WndMain.c:1431 ../gui/Cheat.c:322
|
||||
#: ../gui/Gtk2Gui.c:417 ../gui/Gtk2Gui.c:556
|
||||
#: ../gui/Gtk2Gui.c:416 ../gui/Gtk2Gui.c:555
|
||||
msgid "All Files"
|
||||
msgstr "Todos os arquivos"
|
||||
|
||||
|
@ -1047,79 +1047,79 @@ msgstr "Não conseguiu abrir o diretório \"%s\", da BIOS!\n"
|
|||
msgid "Could not open directory: '%s'\n"
|
||||
msgstr "Não conseguiu abrir o diretório \"%s\"!\n"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:110
|
||||
#: ../gui/Gtk2Gui.c:109
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:151
|
||||
#: ../gui/Gtk2Gui.c:150
|
||||
msgid "Emulation Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:399
|
||||
#: ../gui/Gtk2Gui.c:398
|
||||
msgid "Select PSX EXE File"
|
||||
msgstr "Selecione o arquivo executável de PSX"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:413
|
||||
#: ../gui/Gtk2Gui.c:412
|
||||
msgid "PlayStation Executable Files"
|
||||
msgstr "Arquivos executáveis do PlayStation"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "Not a valid PSX file"
|
||||
msgstr "Não é um arquivo válido de PSX"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "The file does not appear to be a valid Playstation executable"
|
||||
msgstr "Esse arquivo não parece ser um executável válido de PlayStation!"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:480 ../gui/Gtk2Gui.c:605
|
||||
#: ../gui/Gtk2Gui.c:479 ../gui/Gtk2Gui.c:604
|
||||
msgid "CD ROM failed"
|
||||
msgstr "CDROM falhou"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:488 ../gui/Gtk2Gui.c:613
|
||||
#: ../gui/Gtk2Gui.c:487 ../gui/Gtk2Gui.c:612
|
||||
msgid "The CD-ROM could not be loaded"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Could not run BIOS"
|
||||
msgstr "Não conseguiu iniciar a BIOS"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Running BIOS is not supported with Internal HLE BIOS."
|
||||
msgstr "Iniciar pela BIOS não é suportado com a BIOS HLE interno."
|
||||
|
||||
#: ../gui/Gtk2Gui.c:531
|
||||
#: ../gui/Gtk2Gui.c:530
|
||||
msgid "Open PSX Disc Image File"
|
||||
msgstr "Abrir arquivo de imagem de CD de PSX"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:551
|
||||
#: ../gui/Gtk2Gui.c:550
|
||||
msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)"
|
||||
msgstr "Arquivo de imagens de CD de PSX (*.bin, *.img, *.mdf, *.iso)"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:762
|
||||
#: ../gui/Gtk2Gui.c:761
|
||||
#, c-format
|
||||
msgid "Loaded state %s."
|
||||
msgstr "Arquivo de estado \"%s\" carregado."
|
||||
|
||||
#: ../gui/Gtk2Gui.c:766
|
||||
#: ../gui/Gtk2Gui.c:765
|
||||
#, c-format
|
||||
msgid "Error loading state %s!"
|
||||
msgstr "Erro ao carregar o arquivo de estado \"%s\"!"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:777
|
||||
#: ../gui/Gtk2Gui.c:776
|
||||
#, c-format
|
||||
msgid "Saved state %s."
|
||||
msgstr "Arquivo de estado \"%s\" salvo."
|
||||
|
||||
#: ../gui/Gtk2Gui.c:779
|
||||
#: ../gui/Gtk2Gui.c:778
|
||||
#, c-format
|
||||
msgid "Error saving state %s!"
|
||||
msgstr "Erro ao salvar o arquivo de estado \"%s\"!"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:812 ../gui/Gtk2Gui.c:839
|
||||
#: ../gui/Gtk2Gui.c:811 ../gui/Gtk2Gui.c:838
|
||||
msgid "Select State File"
|
||||
msgstr "Selecione o arquivo de estado"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:896
|
||||
#: ../gui/Gtk2Gui.c:895
|
||||
msgid "Notice"
|
||||
msgstr "Aviso"
|
||||
|
||||
|
@ -1205,25 +1205,25 @@ msgstr "Ao formatar o cartão de memória, todo o conteúdo será zerado."
|
|||
msgid "Format card"
|
||||
msgstr "Formatar cartão"
|
||||
|
||||
#: ../gui/MemcardDlg.c:366
|
||||
#: ../gui/MemcardDlg.c:367
|
||||
msgid "Create a new Memory Card"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:375
|
||||
#: ../gui/MemcardDlg.c:376
|
||||
msgid "New Memory Card.mcd"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:476
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
msgid "No free space on memory card"
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
#: ../gui/MemcardDlg.c:478
|
||||
msgid ""
|
||||
"There are no free slots available on the target memory card. Please delete a "
|
||||
"slot first."
|
||||
msgstr ""
|
||||
|
||||
#: ../gui/MemcardDlg.c:631
|
||||
#: ../gui/MemcardDlg.c:632
|
||||
msgid "Memory Card Manager"
|
||||
msgstr "Gerenciador de cartões de memória"
|
||||
|
||||
|
@ -2703,143 +2703,129 @@ msgid "R2"
|
|||
msgstr "R2"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:60
|
||||
msgid "L3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "R3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "L3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
msgid "R3"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:67
|
||||
msgid "L-Stick X"
|
||||
msgid "L-Stick Right"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:68
|
||||
msgid "L-Stick Y"
|
||||
msgid "L-Stick Left"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:69
|
||||
msgid "R-Stick X"
|
||||
msgid "L-Stick Down"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:70
|
||||
msgid "R-Stick Y"
|
||||
msgid "L-Stick Up"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:71
|
||||
msgid "R-Stick Right"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:72
|
||||
msgid "R-Stick Left"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:73
|
||||
msgid "R-Stick Down"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:74
|
||||
msgid "R-Stick Up"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Centered"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Rightup"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Rightdown"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Leftup"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:101
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144
|
||||
msgid "Leftdown"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148
|
||||
#, c-format
|
||||
msgid "Joystick: Button %d"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%c"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:114
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157
|
||||
#, c-format
|
||||
msgid "Joystick: Hat %d %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:129
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:141
|
||||
#, c-format
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176
|
||||
msgid "(Not Set)"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%s"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid " (Reversed)"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Device not set"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Please select a valid Joystick Device"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Device open error"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Unable to open Joystick Device"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:484
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:546
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:526
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:588
|
||||
msgid "Gamepad/Keyboard Input Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:532 ../plugins/dfinput/cfg-gtk2.c:552
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:594 ../plugins/dfinput/cfg-gtk2.c:614
|
||||
msgid "Key"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:538 ../plugins/dfinput/cfg-gtk2.c:558
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:600 ../plugins/dfinput/cfg-gtk2.c:620
|
||||
msgid "Button"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/pad.c:23
|
||||
msgid "Gamepad/Keyboard Input (ePSXe)"
|
||||
msgstr ""
|
||||
|
||||
#: ../plugins/dfinput/pad.c:25
|
||||
#: ../plugins/dfinput/pad.c:22
|
||||
msgid "Gamepad/Keyboard Input"
|
||||
msgstr "Entrada do gamepad ou teclado"
|
||||
|
||||
|
|
228
po/zh_CN.po
228
po/zh_CN.po
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: pcsxr 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-11-29 02:11+0800\n"
|
||||
"PO-Revision-Date: 2009-11-29 02:12+0700\n"
|
||||
"POT-Creation-Date: 2009-12-04 14:14+0800\n"
|
||||
"PO-Revision-Date: 2009-12-04 14:15+0700\n"
|
||||
"Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n"
|
||||
"Language-Team: Simplified Chinese <whistler@openoffice.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -688,15 +688,15 @@ msgstr "*PCSX*: Error Saving State %s"
|
|||
|
||||
#: ../win32/gui/WndMain.c:426
|
||||
#: ../win32/gui/WndMain.c:475
|
||||
#: ../gui/Gtk2Gui.c:480
|
||||
#: ../gui/Gtk2Gui.c:605
|
||||
#: ../gui/Gtk2Gui.c:479
|
||||
#: ../gui/Gtk2Gui.c:604
|
||||
msgid "The CD does not appear to be a valid Playstation CD"
|
||||
msgstr "此光盘不是一张合法的 PlayStation 光盘。"
|
||||
|
||||
#: ../win32/gui/WndMain.c:432
|
||||
#: ../win32/gui/WndMain.c:481
|
||||
#: ../gui/Gtk2Gui.c:488
|
||||
#: ../gui/Gtk2Gui.c:613
|
||||
#: ../gui/Gtk2Gui.c:487
|
||||
#: ../gui/Gtk2Gui.c:612
|
||||
msgid "Could not load CD-ROM!"
|
||||
msgstr "无法加载光盘!"
|
||||
|
||||
|
@ -903,8 +903,8 @@ msgstr "DataDeck 记忆卡 (*.ddl)"
|
|||
#: ../win32/gui/WndMain.c:1350
|
||||
#: ../win32/gui/WndMain.c:1431
|
||||
#: ../gui/Cheat.c:322
|
||||
#: ../gui/Gtk2Gui.c:417
|
||||
#: ../gui/Gtk2Gui.c:556
|
||||
#: ../gui/Gtk2Gui.c:416
|
||||
#: ../gui/Gtk2Gui.c:555
|
||||
msgid "All Files"
|
||||
msgstr "所有文件"
|
||||
|
||||
|
@ -1148,82 +1148,82 @@ msgstr "无法打开 BIOS 目录: \"%s\"\n"
|
|||
msgid "Could not open directory: '%s'\n"
|
||||
msgstr "无法打开目录: \"%s\"\n"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:110
|
||||
#: ../gui/Gtk2Gui.c:109
|
||||
msgid "Ready"
|
||||
msgstr "就绪"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:151
|
||||
#: ../gui/Gtk2Gui.c:150
|
||||
msgid "Emulation Paused."
|
||||
msgstr "模拟器已暂停。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:399
|
||||
#: ../gui/Gtk2Gui.c:398
|
||||
msgid "Select PSX EXE File"
|
||||
msgstr "选择 PSX EXE 文件"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:413
|
||||
#: ../gui/Gtk2Gui.c:412
|
||||
msgid "PlayStation Executable Files"
|
||||
msgstr "PlayStation 可执行文件"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "Not a valid PSX file"
|
||||
msgstr "不是一个合法的 PSX 文件"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "The file does not appear to be a valid Playstation executable"
|
||||
msgstr "此文件不是一个合法的 PlayStation 可执行文件"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:480
|
||||
#: ../gui/Gtk2Gui.c:605
|
||||
#: ../gui/Gtk2Gui.c:479
|
||||
#: ../gui/Gtk2Gui.c:604
|
||||
msgid "CD ROM failed"
|
||||
msgstr "CD-ROM 失败"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:488
|
||||
#: ../gui/Gtk2Gui.c:613
|
||||
#: ../gui/Gtk2Gui.c:487
|
||||
#: ../gui/Gtk2Gui.c:612
|
||||
msgid "The CD-ROM could not be loaded"
|
||||
msgstr "无法加载 CD-ROM"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Could not run BIOS"
|
||||
msgstr "无法运行 BIOS"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Running BIOS is not supported with Internal HLE BIOS."
|
||||
msgstr "内部 HLE BIOS 不支持直接运行。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:531
|
||||
#: ../gui/Gtk2Gui.c:530
|
||||
msgid "Open PSX Disc Image File"
|
||||
msgstr "打开 PSX 光盘镜像文件"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:551
|
||||
#: ../gui/Gtk2Gui.c:550
|
||||
msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)"
|
||||
msgstr "PS 镜像文件 (*.bin, *.img, *.mdf, *.iso)"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:762
|
||||
#: ../gui/Gtk2Gui.c:761
|
||||
#, c-format
|
||||
msgid "Loaded state %s."
|
||||
msgstr "已读取存档 %s。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:766
|
||||
#: ../gui/Gtk2Gui.c:765
|
||||
#, c-format
|
||||
msgid "Error loading state %s!"
|
||||
msgstr "读取存档 %s 时出错。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:777
|
||||
#: ../gui/Gtk2Gui.c:776
|
||||
#, c-format
|
||||
msgid "Saved state %s."
|
||||
msgstr "已保存存档 %s"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:779
|
||||
#: ../gui/Gtk2Gui.c:778
|
||||
#, c-format
|
||||
msgid "Error saving state %s!"
|
||||
msgstr "保存存档 %s 时出错。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:812
|
||||
#: ../gui/Gtk2Gui.c:839
|
||||
#: ../gui/Gtk2Gui.c:811
|
||||
#: ../gui/Gtk2Gui.c:838
|
||||
msgid "Select State File"
|
||||
msgstr "选择存档文件"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:896
|
||||
#: ../gui/Gtk2Gui.c:895
|
||||
msgid "Notice"
|
||||
msgstr "警告"
|
||||
|
||||
|
@ -1303,23 +1303,23 @@ msgstr "如果您选择格式化记忆卡,记忆卡将被清空,并且任何
|
|||
msgid "Format card"
|
||||
msgstr "格式化记忆卡"
|
||||
|
||||
#: ../gui/MemcardDlg.c:366
|
||||
#: ../gui/MemcardDlg.c:367
|
||||
msgid "Create a new Memory Card"
|
||||
msgstr "新建记忆卡"
|
||||
|
||||
#: ../gui/MemcardDlg.c:375
|
||||
#: ../gui/MemcardDlg.c:376
|
||||
msgid "New Memory Card.mcd"
|
||||
msgstr "新记忆卡.mcd"
|
||||
|
||||
#: ../gui/MemcardDlg.c:476
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
msgid "No free space on memory card"
|
||||
msgstr "记忆卡无空余位置"
|
||||
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
#: ../gui/MemcardDlg.c:478
|
||||
msgid "There are no free slots available on the target memory card. Please delete a slot first."
|
||||
msgstr "目标记忆卡上无空余位置。请先删除一个存档。"
|
||||
|
||||
#: ../gui/MemcardDlg.c:631
|
||||
#: ../gui/MemcardDlg.c:632
|
||||
msgid "Memory Card Manager"
|
||||
msgstr "记忆卡管理器"
|
||||
|
||||
|
@ -2833,146 +2833,145 @@ msgid "R2"
|
|||
msgstr "R2"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:60
|
||||
msgid "L3"
|
||||
msgstr "L3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "R3"
|
||||
msgstr "R3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "Select"
|
||||
msgstr "选择键"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "Start"
|
||||
msgstr "开始键"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "L3"
|
||||
msgstr "L3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
msgid "R3"
|
||||
msgstr "R3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:67
|
||||
msgid "L-Stick X"
|
||||
msgstr "左摇杆 X"
|
||||
msgid "L-Stick Right"
|
||||
msgstr "左摇杆右方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:68
|
||||
msgid "L-Stick Y"
|
||||
msgstr "左摇杆 Y"
|
||||
msgid "L-Stick Left"
|
||||
msgstr "左摇杆左方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:69
|
||||
msgid "R-Stick X"
|
||||
msgstr "右摇杆 X"
|
||||
msgid "L-Stick Down"
|
||||
msgstr "左摇杆下方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:70
|
||||
msgid "R-Stick Y"
|
||||
msgstr "右摇杆 Y"
|
||||
msgid "L-Stick Up"
|
||||
msgstr "左摇杆上方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:71
|
||||
msgid "R-Stick Right"
|
||||
msgstr "右摇杆右方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:72
|
||||
msgid "R-Stick Left"
|
||||
msgstr "右摇杆左方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:73
|
||||
msgid "R-Stick Down"
|
||||
msgstr "右摇杆下方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:74
|
||||
msgid "R-Stick Up"
|
||||
msgstr "右摇杆上方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Centered"
|
||||
msgstr "居中"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Up"
|
||||
msgstr "上"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Right"
|
||||
msgstr "右方向键"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Rightup"
|
||||
msgstr "右上"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Down"
|
||||
msgstr "下"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Rightdown"
|
||||
msgstr "右下"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Left"
|
||||
msgstr "左"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Leftup"
|
||||
msgstr "左上"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:101
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:144
|
||||
msgid "Leftdown"
|
||||
msgstr "左下"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:148
|
||||
#, c-format
|
||||
msgid "Joystick: Button %d"
|
||||
msgstr "手柄: 按钮 %d"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:113
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:152
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%c"
|
||||
msgstr "手柄: 轴 %d%c"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:114
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:118
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:157
|
||||
#, c-format
|
||||
msgid "Joystick: Hat %d %s"
|
||||
msgstr "Joystick: 操纵杆 %d %s"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:129
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:172
|
||||
msgid "Keyboard:"
|
||||
msgstr "键盘:"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:141
|
||||
#, c-format
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:137
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:176
|
||||
msgid "(Not Set)"
|
||||
msgstr "(未设定)"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%s"
|
||||
msgstr "手柄: 轴 %d%s"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid " (Reversed)"
|
||||
msgstr " (反向)"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Device not set"
|
||||
msgstr "设备未设置"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Please select a valid Joystick Device"
|
||||
msgstr "请选择一个合法的手柄设备"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Device open error"
|
||||
msgstr "设备打开错误"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Unable to open Joystick Device"
|
||||
msgstr "无法打开手柄设备"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:484
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:546
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:526
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:588
|
||||
msgid "Gamepad/Keyboard Input Configuration"
|
||||
msgstr "手柄/键盘输入配置"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:532
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:552
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:594
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:614
|
||||
msgid "Key"
|
||||
msgstr "按钮"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:538
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:558
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:600
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:620
|
||||
msgid "Button"
|
||||
msgstr "按键"
|
||||
|
||||
#: ../plugins/dfinput/pad.c:23
|
||||
msgid "Gamepad/Keyboard Input (ePSXe)"
|
||||
msgstr "手柄/键盘输入 (ePSXe)"
|
||||
|
||||
#: ../plugins/dfinput/pad.c:25
|
||||
#: ../plugins/dfinput/pad.c:22
|
||||
msgid "Gamepad/Keyboard Input"
|
||||
msgstr "手柄/键盘输入"
|
||||
|
||||
|
@ -2992,8 +2991,8 @@ msgid ""
|
|||
"Digital Pad\n"
|
||||
"Analog Pad"
|
||||
msgstr ""
|
||||
"数字手柄\n"
|
||||
"模拟手柄"
|
||||
"普通手柄\n"
|
||||
"摇杆手柄"
|
||||
|
||||
#: ../plugins/dfinput/dfinput.glade2:149
|
||||
#: ../plugins/dfinput/dfinput.glade2:346
|
||||
|
@ -3017,3 +3016,22 @@ msgstr "控制器 2"
|
|||
msgid "Multi-Threaded (Recommended)"
|
||||
msgstr "多线程 (推荐)"
|
||||
|
||||
#~ msgid "L-Stick Y"
|
||||
#~ msgstr "左摇杆 Y"
|
||||
#~ msgid "R-Stick Y"
|
||||
#~ msgstr "右摇杆 Y"
|
||||
#~ msgid "Joystick: Axis %d%s"
|
||||
#~ msgstr "手柄: 轴 %d%s"
|
||||
#~ msgid " (Reversed)"
|
||||
#~ msgstr " (反向)"
|
||||
#~ msgid "Device not set"
|
||||
#~ msgstr "设备未设置"
|
||||
#~ msgid "Please select a valid Joystick Device"
|
||||
#~ msgstr "请选择一个合法的手柄设备"
|
||||
#~ msgid "Device open error"
|
||||
#~ msgstr "设备打开错误"
|
||||
#~ msgid "Unable to open Joystick Device"
|
||||
#~ msgstr "无法打开手柄设备"
|
||||
#~ msgid "Gamepad/Keyboard Input (ePSXe)"
|
||||
#~ msgstr "手柄/键盘输入 (ePSXe)"
|
||||
|
||||
|
|
224
po/zh_TW.po
224
po/zh_TW.po
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: pcsxr 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-11-29 02:11+0800\n"
|
||||
"PO-Revision-Date: 2009-11-29 02:12+0700\n"
|
||||
"POT-Creation-Date: 2009-12-04 14:14+0800\n"
|
||||
"PO-Revision-Date: 2009-12-04 14:15+0700\n"
|
||||
"Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n"
|
||||
"Language-Team: Traditional Chinese <whistler@openoffice.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -688,15 +688,15 @@ msgstr "*PCSX*: Error Saving State %s"
|
|||
|
||||
#: ../win32/gui/WndMain.c:426
|
||||
#: ../win32/gui/WndMain.c:475
|
||||
#: ../gui/Gtk2Gui.c:480
|
||||
#: ../gui/Gtk2Gui.c:605
|
||||
#: ../gui/Gtk2Gui.c:479
|
||||
#: ../gui/Gtk2Gui.c:604
|
||||
msgid "The CD does not appear to be a valid Playstation CD"
|
||||
msgstr "此光碟不是一張合法的 PlayStation 光碟。"
|
||||
|
||||
#: ../win32/gui/WndMain.c:432
|
||||
#: ../win32/gui/WndMain.c:481
|
||||
#: ../gui/Gtk2Gui.c:488
|
||||
#: ../gui/Gtk2Gui.c:613
|
||||
#: ../gui/Gtk2Gui.c:487
|
||||
#: ../gui/Gtk2Gui.c:612
|
||||
msgid "Could not load CD-ROM!"
|
||||
msgstr "無法加載光碟!"
|
||||
|
||||
|
@ -903,8 +903,8 @@ msgstr "DataDeck 記憶卡 (*.ddl)"
|
|||
#: ../win32/gui/WndMain.c:1350
|
||||
#: ../win32/gui/WndMain.c:1431
|
||||
#: ../gui/Cheat.c:322
|
||||
#: ../gui/Gtk2Gui.c:417
|
||||
#: ../gui/Gtk2Gui.c:556
|
||||
#: ../gui/Gtk2Gui.c:416
|
||||
#: ../gui/Gtk2Gui.c:555
|
||||
msgid "All Files"
|
||||
msgstr "所有檔案"
|
||||
|
||||
|
@ -1148,82 +1148,82 @@ msgstr "無法開啟 BIOS 目錄: \"%s\"\n"
|
|||
msgid "Could not open directory: '%s'\n"
|
||||
msgstr "無法開啟目錄: \"%s\"\n"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:110
|
||||
#: ../gui/Gtk2Gui.c:109
|
||||
msgid "Ready"
|
||||
msgstr "就緒"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:151
|
||||
#: ../gui/Gtk2Gui.c:150
|
||||
msgid "Emulation Paused."
|
||||
msgstr "模擬器已暫停。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:399
|
||||
#: ../gui/Gtk2Gui.c:398
|
||||
msgid "Select PSX EXE File"
|
||||
msgstr "選擇 PS EXE 檔案"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:413
|
||||
#: ../gui/Gtk2Gui.c:412
|
||||
msgid "PlayStation Executable Files"
|
||||
msgstr "PlayStation 執行檔"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "Not a valid PSX file"
|
||||
msgstr "不是一個合法的 PSX 檔"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:449
|
||||
#: ../gui/Gtk2Gui.c:448
|
||||
msgid "The file does not appear to be a valid Playstation executable"
|
||||
msgstr "此文件不是一個合法的 PlayStation 執行檔"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:480
|
||||
#: ../gui/Gtk2Gui.c:605
|
||||
#: ../gui/Gtk2Gui.c:479
|
||||
#: ../gui/Gtk2Gui.c:604
|
||||
msgid "CD ROM failed"
|
||||
msgstr "CD-ROM 失敗"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:488
|
||||
#: ../gui/Gtk2Gui.c:613
|
||||
#: ../gui/Gtk2Gui.c:487
|
||||
#: ../gui/Gtk2Gui.c:612
|
||||
msgid "The CD-ROM could not be loaded"
|
||||
msgstr "無法加載 CD-ROM"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Could not run BIOS"
|
||||
msgstr "無法執行 BIOS"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:502
|
||||
#: ../gui/Gtk2Gui.c:501
|
||||
msgid "Running BIOS is not supported with Internal HLE BIOS."
|
||||
msgstr "內部 HLE BIOS 不支援直接執行。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:531
|
||||
#: ../gui/Gtk2Gui.c:530
|
||||
msgid "Open PSX Disc Image File"
|
||||
msgstr "打開 PSX 光碟映像檔"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:551
|
||||
#: ../gui/Gtk2Gui.c:550
|
||||
msgid "PSX Image Files (*.bin, *.img, *.mdf, *.iso)"
|
||||
msgstr "PSX 鏡像檔 (*.bin, *.img, *.mdf, *.iso)"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:762
|
||||
#: ../gui/Gtk2Gui.c:761
|
||||
#, c-format
|
||||
msgid "Loaded state %s."
|
||||
msgstr "已讀取記錄 %s。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:766
|
||||
#: ../gui/Gtk2Gui.c:765
|
||||
#, c-format
|
||||
msgid "Error loading state %s!"
|
||||
msgstr "讀取記錄 %s 時出錯。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:777
|
||||
#: ../gui/Gtk2Gui.c:776
|
||||
#, c-format
|
||||
msgid "Saved state %s."
|
||||
msgstr "已存儲記錄 %s"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:779
|
||||
#: ../gui/Gtk2Gui.c:778
|
||||
#, c-format
|
||||
msgid "Error saving state %s!"
|
||||
msgstr "存儲記錄 %s 時出錯。"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:812
|
||||
#: ../gui/Gtk2Gui.c:839
|
||||
#: ../gui/Gtk2Gui.c:811
|
||||
#: ../gui/Gtk2Gui.c:838
|
||||
msgid "Select State File"
|
||||
msgstr "選擇記錄檔案"
|
||||
|
||||
#: ../gui/Gtk2Gui.c:896
|
||||
#: ../gui/Gtk2Gui.c:895
|
||||
msgid "Notice"
|
||||
msgstr "警告"
|
||||
|
||||
|
@ -1303,23 +1303,23 @@ msgstr "如果您選擇格式化記憶卡,記憶卡將被清空,並且任何
|
|||
msgid "Format card"
|
||||
msgstr "格式化記憶卡"
|
||||
|
||||
#: ../gui/MemcardDlg.c:366
|
||||
#: ../gui/MemcardDlg.c:367
|
||||
msgid "Create a new Memory Card"
|
||||
msgstr "新增記憶卡"
|
||||
|
||||
#: ../gui/MemcardDlg.c:375
|
||||
#: ../gui/MemcardDlg.c:376
|
||||
msgid "New Memory Card.mcd"
|
||||
msgstr "新記憶卡檔.mcd"
|
||||
|
||||
#: ../gui/MemcardDlg.c:476
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
msgid "No free space on memory card"
|
||||
msgstr "記憶卡無空餘位置"
|
||||
|
||||
#: ../gui/MemcardDlg.c:477
|
||||
#: ../gui/MemcardDlg.c:478
|
||||
msgid "There are no free slots available on the target memory card. Please delete a slot first."
|
||||
msgstr "目的記憶卡無空餘位置。請先刪除一個檔案。"
|
||||
|
||||
#: ../gui/MemcardDlg.c:631
|
||||
#: ../gui/MemcardDlg.c:632
|
||||
msgid "Memory Card Manager"
|
||||
msgstr "記憶卡管理器"
|
||||
|
||||
|
@ -2833,146 +2833,145 @@ msgid "R2"
|
|||
msgstr "R2"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:60
|
||||
msgid "L3"
|
||||
msgstr "L3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "R3"
|
||||
msgstr "R3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "Select"
|
||||
msgstr "選擇鍵"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:61
|
||||
msgid "Start"
|
||||
msgstr "開始鍵"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:62
|
||||
msgid "L3"
|
||||
msgstr "L3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:63
|
||||
msgid "R3"
|
||||
msgstr "R3"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:67
|
||||
msgid "L-Stick X"
|
||||
msgstr "左搖桿 X"
|
||||
msgid "L-Stick Right"
|
||||
msgstr "左搖桿右方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:68
|
||||
msgid "L-Stick Y"
|
||||
msgstr "左搖桿 Y"
|
||||
msgid "L-Stick Left"
|
||||
msgstr "左搖桿左方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:69
|
||||
msgid "R-Stick X"
|
||||
msgstr "右搖桿 X"
|
||||
msgid "L-Stick Down"
|
||||
msgstr "左搖桿下方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:70
|
||||
msgid "R-Stick Y"
|
||||
msgstr "右搖桿 Y"
|
||||
msgid "L-Stick Up"
|
||||
msgstr "左搖桿上方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:71
|
||||
msgid "R-Stick Right"
|
||||
msgstr "右搖桿右方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:72
|
||||
msgid "R-Stick Left"
|
||||
msgstr "右搖桿左方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:73
|
||||
msgid "R-Stick Down"
|
||||
msgstr "右搖桿下方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:74
|
||||
msgid "R-Stick Up"
|
||||
msgstr "右搖桿上方向"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Centered"
|
||||
msgstr "居中"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Up"
|
||||
msgstr "上"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Right"
|
||||
msgstr "右"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:99
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:103
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:142
|
||||
msgid "Rightup"
|
||||
msgstr "右上"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Down"
|
||||
msgstr "下"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Rightdown"
|
||||
msgstr "右下"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Left"
|
||||
msgstr "左"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:100
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:104
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid "Leftup"
|
||||
msgstr "左上"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:101
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:144
|
||||
msgid "Leftdown"
|
||||
msgstr "左下"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:105
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:148
|
||||
#, c-format
|
||||
msgid "Joystick: Button %d"
|
||||
msgstr "手把: 按鈕 %d"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:109
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:113
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:152
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%c"
|
||||
msgstr "手把: 軸 %d%c"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:114
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:118
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:157
|
||||
#, c-format
|
||||
msgid "Joystick: Hat %d %s"
|
||||
msgstr "手把: Hat %d %s"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:129
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:172
|
||||
msgid "Keyboard:"
|
||||
msgstr "鍵盤:"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:133
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:141
|
||||
#, c-format
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:137
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:176
|
||||
msgid "(Not Set)"
|
||||
msgstr "(未設定)"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
#, c-format
|
||||
msgid "Joystick: Axis %d%s"
|
||||
msgstr "手把: 軸 %d%s"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:143
|
||||
msgid " (Reversed)"
|
||||
msgstr " (反向)"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Device not set"
|
||||
msgstr "裝置未設定"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:387
|
||||
msgid "Please select a valid Joystick Device"
|
||||
msgstr "請選擇一個合法的手把裝置"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Device open error"
|
||||
msgstr "裝置開啟錯誤"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:393
|
||||
msgid "Unable to open Joystick Device"
|
||||
msgstr "無法開啟手把裝置"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:484
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:546
|
||||
msgid "None"
|
||||
msgstr "無"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:526
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:588
|
||||
msgid "Gamepad/Keyboard Input Configuration"
|
||||
msgstr "手把/鍵盤輸入設定"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:532
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:552
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:594
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:614
|
||||
msgid "Key"
|
||||
msgstr "按鍵"
|
||||
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:538
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:558
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:600
|
||||
#: ../plugins/dfinput/cfg-gtk2.c:620
|
||||
msgid "Button"
|
||||
msgstr "按鈕"
|
||||
|
||||
#: ../plugins/dfinput/pad.c:23
|
||||
msgid "Gamepad/Keyboard Input (ePSXe)"
|
||||
msgstr "手把/鍵盤輸入 (ePSXe)"
|
||||
|
||||
#: ../plugins/dfinput/pad.c:25
|
||||
#: ../plugins/dfinput/pad.c:22
|
||||
msgid "Gamepad/Keyboard Input"
|
||||
msgstr "手把/鍵盤輸入"
|
||||
|
||||
|
@ -3017,3 +3016,22 @@ msgstr "控制器 2"
|
|||
msgid "Multi-Threaded (Recommended)"
|
||||
msgstr "多執行緒 (建議使用)"
|
||||
|
||||
#~ msgid "L-Stick Y"
|
||||
#~ msgstr "左搖桿 Y"
|
||||
#~ msgid "R-Stick Y"
|
||||
#~ msgstr "右搖桿 Y"
|
||||
#~ msgid "Joystick: Axis %d%s"
|
||||
#~ msgstr "手把: 軸 %d%s"
|
||||
#~ msgid " (Reversed)"
|
||||
#~ msgstr " (反向)"
|
||||
#~ msgid "Device not set"
|
||||
#~ msgstr "裝置未設定"
|
||||
#~ msgid "Please select a valid Joystick Device"
|
||||
#~ msgstr "請選擇一個合法的手把裝置"
|
||||
#~ msgid "Device open error"
|
||||
#~ msgstr "裝置開啟錯誤"
|
||||
#~ msgid "Unable to open Joystick Device"
|
||||
#~ msgstr "無法開啟手把裝置"
|
||||
#~ msgid "Gamepad/Keyboard Input (ePSXe)"
|
||||
#~ msgstr "手把/鍵盤輸入 (ePSXe)"
|
||||
|
||||
|
|
Loading…
Reference in New Issue