language work part 2
* dialogs support different languages now too * finished english language pack
This commit is contained in:
parent
ce52628554
commit
34bed89b40
@ -138,8 +138,9 @@ public class Main extends Application {
|
|||||||
firstStart();
|
firstStart();
|
||||||
mainWindowController.setColor("00a8cc");
|
mainWindowController.setColor("00a8cc");
|
||||||
mainWindowController.setAutoUpdate(false);
|
mainWindowController.setAutoUpdate(false);
|
||||||
mainWindowController.setxPosHelper(0);
|
mainWindowController.setLanguage("en_US");
|
||||||
mainWindowController.setLastLocalSync(0);
|
mainWindowController.setLastLocalSync(0);
|
||||||
|
mainWindowController.setxPosHelper(0);
|
||||||
mainWindowController.saveSettings();
|
mainWindowController.saveSettings();
|
||||||
Runtime.getRuntime().exec("java -jar cemu_UI.jar"); //start again (preventing Bugs)
|
Runtime.getRuntime().exec("java -jar cemu_UI.jar"); //start again (preventing Bugs)
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
|
@ -287,7 +287,7 @@ public class MainWindowController {
|
|||||||
private String selectedGameTitle;
|
private String selectedGameTitle;
|
||||||
private String id;
|
private String id;
|
||||||
private String version = "0.2.2";
|
private String version = "0.2.2";
|
||||||
private String buildNumber = "067";
|
private String buildNumber = "069";
|
||||||
private String versionName = "Puzzle Plank Galaxy";
|
private String versionName = "Puzzle Plank Galaxy";
|
||||||
private int xPos = -200;
|
private int xPos = -200;
|
||||||
private int yPos = 17;
|
private int yPos = 17;
|
||||||
@ -355,17 +355,19 @@ public class MainWindowController {
|
|||||||
private String cloudSyncWaringBodyText;
|
private String cloudSyncWaringBodyText;
|
||||||
private String cloudSyncErrorHeadingText;
|
private String cloudSyncErrorHeadingText;
|
||||||
private String cloudSyncErrorBodyText;
|
private String cloudSyncErrorBodyText;
|
||||||
|
private String addGameBtnHeadingText;
|
||||||
|
private String addGameBtnBodyText;
|
||||||
private String addBtnReturnErrorHeadingText;
|
private String addBtnReturnErrorHeadingText;
|
||||||
private String addBtnReturnErrorBodyText;
|
private String addBtnReturnErrorBodyText;
|
||||||
|
private String lastPlayed;
|
||||||
|
private String today;
|
||||||
|
private String yesterday;
|
||||||
|
|
||||||
private String playBtnPlay;
|
private String playBtnPlay;
|
||||||
private String playBtnUpdating;
|
private String playBtnUpdating;
|
||||||
private String playBtnCopyingFiles;
|
private String playBtnCopyingFiles;
|
||||||
private String okayBtnText;
|
private String smmdbDownloadBtnLoading;
|
||||||
private String cancelBtnText;
|
private String smmdbDownloadBtnDownload;
|
||||||
private String updateBtnCheckNow;
|
|
||||||
private String updateBtnNoUpdateAvailable;
|
|
||||||
private String updateBtnUpdateAvailable;
|
|
||||||
|
|
||||||
public void setMain(Main m) {
|
public void setMain(Main m) {
|
||||||
this.main = m;
|
this.main = m;
|
||||||
@ -480,9 +482,8 @@ public class MainWindowController {
|
|||||||
String[] gameInfo = dbController.getGameInfo(selectedGameTitleID);
|
String[] gameInfo = dbController.getGameInfo(selectedGameTitleID);
|
||||||
|
|
||||||
// new edit dialog
|
// new edit dialog
|
||||||
String headingText = "edit \"" + selectedGameTitle + "\"";
|
String headingText = editHeadingText + " \"" + selectedGameTitle + "\"";
|
||||||
String bodyText = "You can edit the tile and rom/cover path.";
|
JFXEditGameDialog editGameDialog = new JFXEditGameDialog(headingText, editBodyText, dialogBtnStyle, 450,
|
||||||
JFXEditGameDialog editGameDialog = new JFXEditGameDialog(headingText, bodyText, dialogBtnStyle, 450,
|
|
||||||
300, 1, MWC, main.getPrimaryStage(), main.getPane());
|
300, 1, MWC, main.getPrimaryStage(), main.getPane());
|
||||||
editGameDialog.setTitle(gameInfo[0]);
|
editGameDialog.setTitle(gameInfo[0]);
|
||||||
editGameDialog.setCoverPath(gameInfo[1]);
|
editGameDialog.setCoverPath(gameInfo[1]);
|
||||||
@ -500,8 +501,8 @@ public class MainWindowController {
|
|||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
try {
|
try {
|
||||||
LOGGER.info("remove " + selectedGameTitle + "(" + selectedGameTitleID + ")");
|
LOGGER.info("remove " + selectedGameTitle + "(" + selectedGameTitleID + ")");
|
||||||
String headingText = "remove \"" + selectedGameTitle + "\"";
|
String headingText = removeHeadingText + " \"" + selectedGameTitle + "\"";
|
||||||
String bodyText = "Are you sure you want to delete " + selectedGameTitle + " ?";
|
String bodyText = removeBodyText + " " + selectedGameTitle + " ?";
|
||||||
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
@ -523,7 +524,7 @@ public class MainWindowController {
|
|||||||
};
|
};
|
||||||
|
|
||||||
JFXOkayCancelDialog removeGameDialog = new JFXOkayCancelDialog(headingText, bodyText,
|
JFXOkayCancelDialog removeGameDialog = new JFXOkayCancelDialog(headingText, bodyText,
|
||||||
dialogBtnStyle, 350, 170, okayAction, cancelAction, main.getPane());
|
dialogBtnStyle, 350, 170, okayAction, cancelAction, main.getPane(), bundle);
|
||||||
removeGameDialog.show();
|
removeGameDialog.show();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error("error while removing " + selectedGameTitle + "(" + selectedGameTitleID + ")", e);
|
LOGGER.error("error while removing " + selectedGameTitle + "(" + selectedGameTitleID + ")", e);
|
||||||
@ -536,8 +537,7 @@ public class MainWindowController {
|
|||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
try {
|
try {
|
||||||
LOGGER.info("update: " + selectedGameTitleID);
|
LOGGER.info("update: " + selectedGameTitleID);
|
||||||
String headingText = "update \"" + selectedGameTitle + "\"";
|
String headingText = addUpdateHeadingText + " \"" + selectedGameTitle + "\"";
|
||||||
String bodyText = "pleas select the update root directory";
|
|
||||||
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
@ -546,13 +546,7 @@ public class MainWindowController {
|
|||||||
String updatePath = selectedDirecroty.getAbsolutePath();
|
String updatePath = selectedDirecroty.getAbsolutePath();
|
||||||
String[] parts = selectedGameTitleID.split("-"); // split string into 2 parts at "-"
|
String[] parts = selectedGameTitleID.split("-"); // split string into 2 parts at "-"
|
||||||
File srcDir = new File(updatePath);
|
File srcDir = new File(updatePath);
|
||||||
File destDir;
|
File destDir = new File(cemuPath + "/mlc01/usr/title/" + parts[0] + "/" + parts[1]);
|
||||||
|
|
||||||
if (System.getProperty("os.name").equals("Linux")) {
|
|
||||||
destDir = new File(cemuPath + "/mlc01/usr/title/" + parts[0] + "/" + parts[1]);
|
|
||||||
} else {
|
|
||||||
destDir = new File(cemuPath + "\\mlc01\\usr\\title\\" + parts[0] + "\\" + parts[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// if directory doesn't exist create it
|
// if directory doesn't exist create it
|
||||||
if (destDir.exists() != true) {
|
if (destDir.exists() != true) {
|
||||||
@ -561,10 +555,10 @@ public class MainWindowController {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
LOGGER.info("copying the content of " + updatePath + " to " + destDir.toString());
|
LOGGER.info("copying the content of " + updatePath + " to " + destDir.toString());
|
||||||
playBtn.setText("updating...");
|
playBtn.setText(playBtnUpdating);
|
||||||
playBtn.setDisable(true);
|
playBtn.setDisable(true);
|
||||||
FileUtils.copyDirectory(srcDir, destDir); // TODO progress indicator
|
FileUtils.copyDirectory(srcDir, destDir); // TODO progress indicator
|
||||||
playBtn.setText("play");
|
playBtn.setText(playBtnPlay);
|
||||||
playBtn.setDisable(false);
|
playBtn.setDisable(false);
|
||||||
LOGGER.info("copying files done!");
|
LOGGER.info("copying files done!");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -580,8 +574,8 @@ public class MainWindowController {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
JFXOkayCancelDialog updateGameDialog = new JFXOkayCancelDialog(headingText, bodyText,
|
JFXOkayCancelDialog updateGameDialog = new JFXOkayCancelDialog(headingText, addUpdateBodyText,
|
||||||
dialogBtnStyle, 350, 170, okayAction, cancelAction, main.getPane());
|
dialogBtnStyle, 350, 170, okayAction, cancelAction, main.getPane(), bundle);
|
||||||
updateGameDialog.show();
|
updateGameDialog.show();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.warn("trying to update " + selectedGameTitleID + ",which is not a valid type!", e);
|
LOGGER.warn("trying to update " + selectedGameTitleID + ",which is not a valid type!", e);
|
||||||
@ -594,8 +588,7 @@ public class MainWindowController {
|
|||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
try {
|
try {
|
||||||
LOGGER.info("add DLC: " + selectedGameTitleID);
|
LOGGER.info("add DLC: " + selectedGameTitleID);
|
||||||
String headingText = "add a DLC to \"" + selectedGameTitle + "\"";
|
String headingText = addDLCHeadingText + " \"" + selectedGameTitle + "\"";
|
||||||
String bodyText = "pleas select the DLC root directory";
|
|
||||||
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
@ -604,13 +597,7 @@ public class MainWindowController {
|
|||||||
String dlcPath = selectedDirecroty.getAbsolutePath();
|
String dlcPath = selectedDirecroty.getAbsolutePath();
|
||||||
String[] parts = selectedGameTitleID.split("-"); // split string into 2 parts at "-"
|
String[] parts = selectedGameTitleID.split("-"); // split string into 2 parts at "-"
|
||||||
File srcDir = new File(dlcPath);
|
File srcDir = new File(dlcPath);
|
||||||
File destDir;
|
File destDir = new File(cemuPath + "/mlc01/usr/title/" + parts[0] + "/" + parts[1] + "/aoc");
|
||||||
if (System.getProperty("os.name").equals("Linux")) {
|
|
||||||
destDir = new File(cemuPath + "/mlc01/usr/title/" + parts[0] + "/" + parts[1] + "/aoc");
|
|
||||||
} else {
|
|
||||||
destDir = new File(
|
|
||||||
cemuPath + "\\mlc01\\usr\\title\\" + parts[0] + "\\" + parts[1] + "\\aoc");
|
|
||||||
}
|
|
||||||
|
|
||||||
// if directory doesn't exist create it
|
// if directory doesn't exist create it
|
||||||
if (destDir.exists() != true) {
|
if (destDir.exists() != true) {
|
||||||
@ -619,10 +606,10 @@ public class MainWindowController {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
LOGGER.info("copying the content of " + dlcPath + " to " + destDir.toString());
|
LOGGER.info("copying the content of " + dlcPath + " to " + destDir.toString());
|
||||||
playBtn.setText("copying files...");
|
playBtn.setText(playBtnCopyingFiles);
|
||||||
playBtn.setDisable(true);
|
playBtn.setDisable(true);
|
||||||
FileUtils.copyDirectory(srcDir, destDir); // TODO progress indicator
|
FileUtils.copyDirectory(srcDir, destDir); // TODO progress indicator
|
||||||
playBtn.setText("play");
|
playBtn.setText(playBtnPlay);
|
||||||
playBtn.setDisable(false);
|
playBtn.setDisable(false);
|
||||||
LOGGER.info("copying files done!");
|
LOGGER.info("copying files done!");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -638,8 +625,8 @@ public class MainWindowController {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
JFXOkayCancelDialog addDLCDialog = new JFXOkayCancelDialog(headingText, bodyText, dialogBtnStyle,
|
JFXOkayCancelDialog addDLCDialog = new JFXOkayCancelDialog(headingText, addDLCBodyText, dialogBtnStyle,
|
||||||
350, 170, okayAction, cancelAction, main.getPane());
|
350, 170, okayAction, cancelAction, main.getPane(), bundle);
|
||||||
addDLCDialog.show();
|
addDLCDialog.show();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.warn("trying to add a dlc to " + selectedGameTitleID + ",which is not a valid type!", e);
|
LOGGER.warn("trying to add a dlc to " + selectedGameTitleID + ",which is not a valid type!", e);
|
||||||
@ -770,16 +757,6 @@ public class MainWindowController {
|
|||||||
public void handle(MouseEvent mouseEvent) {
|
public void handle(MouseEvent mouseEvent) {
|
||||||
if(mouseEvent.getButton().equals(MouseButton.PRIMARY)){
|
if(mouseEvent.getButton().equals(MouseButton.PRIMARY)){
|
||||||
|
|
||||||
String headingText = "cemu_UI";
|
|
||||||
String bodyText = "cemu_UI is licensed under the terms of GNU GPL 3.\n\n"
|
|
||||||
+ "JFoenix, Apache License 2.0\n"
|
|
||||||
+ "minimal-json, MIT License\n"
|
|
||||||
+ "sqlite-jdbc, Apache License 2.0\n"
|
|
||||||
+ "Apache Commons IO, Apache License 2.0\n"
|
|
||||||
+ "Apache Commons Logging, Apache License 2.0\n"
|
|
||||||
+ "Apache Commons Codec, Apache License 2.0\n"
|
|
||||||
+ "Apache Log4j 2, Apache License 2.0\n";
|
|
||||||
|
|
||||||
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>() {
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
@ -813,8 +790,9 @@ public class MainWindowController {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
JFXOkayCancelDialog licenseOverviewDialog = new JFXOkayCancelDialog(headingText, bodyText, dialogBtnStyle,
|
JFXOkayCancelDialog licenseOverviewDialog = new JFXOkayCancelDialog(licensesLblHeadingText,
|
||||||
350, 275, okayAction, cancelAction, main.getPane());
|
licensesLblBodyText, dialogBtnStyle, 350, 275, okayAction, cancelAction, main.getPane(),
|
||||||
|
bundle);
|
||||||
licenseOverviewDialog.setCancelText("show licenses");
|
licenseOverviewDialog.setCancelText("show licenses");
|
||||||
licenseOverviewDialog.show();
|
licenseOverviewDialog.show();
|
||||||
}
|
}
|
||||||
@ -831,12 +809,9 @@ public class MainWindowController {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
void aboutBtnAction() {
|
void aboutBtnAction() {
|
||||||
String headingText = "cemu_UI";
|
|
||||||
String bodyText = "cemu_UI by @Seil0 \nVersion: " + version + " (" + buildNumber + ") \"" + versionName + "\" \n"
|
String bodyText = "cemu_UI by @Seil0 \nVersion: " + version + " (" + buildNumber + ") \"" + versionName + "\" \n"
|
||||||
+ "This Application is made with free Software\n"
|
+ aboutBtnBodyText;
|
||||||
+ "and licensed under the terms of GNU GPL 3.\n\n"
|
JFXInfoDialog aboutDialog = new JFXInfoDialog(aboutBtnHeadingText, bodyText, dialogBtnStyle, 350, 200, main.getPane());
|
||||||
+ "www.kellerkinder.xyz";
|
|
||||||
JFXInfoDialog aboutDialog = new JFXInfoDialog(headingText, bodyText, dialogBtnStyle, 350, 200, main.getPane());
|
|
||||||
aboutDialog.show();
|
aboutDialog.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -895,7 +870,7 @@ public class MainWindowController {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
smmdbDownloadBtn.setText("loading ...");
|
smmdbDownloadBtn.setText(smmdbDownloadBtnLoading);
|
||||||
smmdbDownloadBtn.setDisable(true);
|
smmdbDownloadBtn.setDisable(true);
|
||||||
root.getChildren().remove(0,root.getChildren().size());
|
root.getChildren().remove(0,root.getChildren().size());
|
||||||
});
|
});
|
||||||
@ -909,7 +884,7 @@ public class MainWindowController {
|
|||||||
|
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
root.getChildren().add(new TreeItem<CourseTableDataType>(helpCourse)); // add data to root-node
|
root.getChildren().add(new TreeItem<CourseTableDataType>(helpCourse)); // add data to root-node
|
||||||
smmdbDownloadBtn.setText("Download");
|
smmdbDownloadBtn.setText(smmdbDownloadBtnDownload);
|
||||||
smmdbDownloadBtn.setDisable(false);
|
smmdbDownloadBtn.setDisable(false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1091,11 +1066,6 @@ public class MainWindowController {
|
|||||||
if(cloudSync) {
|
if(cloudSync) {
|
||||||
cloudSync = false;
|
cloudSync = false;
|
||||||
} else {
|
} else {
|
||||||
String headingText = "activate cloud savegame sync (beta)";
|
|
||||||
String bodyText = "WARNING this is a completly WIP cloud save integration, "
|
|
||||||
+ "\nit's NOT recomended to use this!!\n"
|
|
||||||
+ "\nUse it on your own risk and backup everthing before!";
|
|
||||||
|
|
||||||
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>(){
|
EventHandler<ActionEvent> okayAction = new EventHandler<ActionEvent>(){
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event){
|
public void handle(ActionEvent event){
|
||||||
@ -1115,11 +1085,8 @@ public class MainWindowController {
|
|||||||
cloudSyncToggleBtn.setSelected(false);
|
cloudSyncToggleBtn.setSelected(false);
|
||||||
|
|
||||||
//cloud sync init error dialog
|
//cloud sync init error dialog
|
||||||
String headingText = "Error while initializing cloud sync!";
|
JFXInfoDialog cloudSyncErrorDialog = new JFXInfoDialog(cloudSyncErrorHeadingText,
|
||||||
String bodyText = "There was some truble adding your game."
|
cloudSyncErrorBodyText, dialogBtnStyle, 450, 170, main.getPane());
|
||||||
+ "\nPlease upload the app.log (which can be found in the cemu_UI directory)"
|
|
||||||
+ "\nto \"https://github.com/Seil0/cemu_UI/issues\" so we can fix this.";
|
|
||||||
JFXInfoDialog cloudSyncErrorDialog = new JFXInfoDialog(headingText, bodyText, dialogBtnStyle, 450, 170, main.getPane());
|
|
||||||
cloudSyncErrorDialog.show();
|
cloudSyncErrorDialog.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1136,9 +1103,10 @@ public class MainWindowController {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
JFXOkayCancelDialog cloudSyncErrorDialog = new JFXOkayCancelDialog(headingText, bodyText, dialogBtnStyle,
|
JFXOkayCancelDialog cloudSyncWarningDialog = new JFXOkayCancelDialog(cloudSyncWaringHeadingText,
|
||||||
419, 140, okayAction, cancelAction, main.getPane());
|
cloudSyncWaringBodyText, dialogBtnStyle, 419, 140, okayAction, cancelAction, main.getPane(),
|
||||||
cloudSyncErrorDialog.show();
|
bundle);
|
||||||
|
cloudSyncWarningDialog.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1150,8 +1118,8 @@ public class MainWindowController {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
void addBtnAction(ActionEvent event) {
|
void addBtnAction(ActionEvent event) {
|
||||||
String headingText = "add a new game to cemu_UI";
|
String headingText = addGameBtnHeadingText;
|
||||||
String bodyText = "";
|
String bodyText = addGameBtnBodyText;
|
||||||
JFXEditGameDialog addGameDialog = new JFXEditGameDialog(headingText, bodyText, dialogBtnStyle, 450, 300, 0,
|
JFXEditGameDialog addGameDialog = new JFXEditGameDialog(headingText, bodyText, dialogBtnStyle, 450, 300, 0,
|
||||||
this, main.getPrimaryStage(), main.getPane());
|
this, main.getPrimaryStage(), main.getPane());
|
||||||
addGameDialog.show();
|
addGameDialog.show();
|
||||||
@ -1171,10 +1139,8 @@ public class MainWindowController {
|
|||||||
LOGGER.info("No parameter set!");
|
LOGGER.info("No parameter set!");
|
||||||
|
|
||||||
//addGame error dialog
|
//addGame error dialog
|
||||||
String headingTextError = "Error while adding a new Game!";
|
JFXInfoDialog errorDialog = new JFXInfoDialog(addBtnReturnErrorHeadingText, addBtnReturnErrorBodyText,
|
||||||
String bodyTextError = "There was some truble adding your game."
|
dialogBtnStyle, 350, 170, main.getPane());
|
||||||
+ "\nOne of the needed values was empty, please try again to add your game.";
|
|
||||||
JFXInfoDialog errorDialog = new JFXInfoDialog(headingTextError, bodyTextError, dialogBtnStyle, 350, 170, main.getPane());
|
|
||||||
errorDialog.show();
|
errorDialog.show();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -1279,16 +1245,16 @@ public class MainWindowController {
|
|||||||
} else {
|
} else {
|
||||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
|
||||||
int today = Integer.parseInt(dtf.format(LocalDate.now()).replaceAll("-", ""));
|
int tToday = Integer.parseInt(dtf.format(LocalDate.now()).replaceAll("-", ""));
|
||||||
int yesterday = Integer.parseInt(dtf.format(LocalDate.now().minusDays(1)).replaceAll("-", ""));
|
int tYesterday = Integer.parseInt(dtf.format(LocalDate.now().minusDays(1)).replaceAll("-", ""));
|
||||||
int lastPlayedDay = Integer.parseInt(dbController.getLastPlayed(titleID).replaceAll("-", ""));
|
int tLastPlayedDay = Integer.parseInt(dbController.getLastPlayed(titleID).replaceAll("-", ""));
|
||||||
|
|
||||||
if (lastPlayedDay == today) {
|
if (tLastPlayedDay == tToday) {
|
||||||
lastTimePlayedBtn.setText("Last played, today");
|
lastTimePlayedBtn.setText(lastPlayed + today);
|
||||||
} else if (lastPlayedDay == yesterday) {
|
} else if (tLastPlayedDay == tYesterday) {
|
||||||
lastTimePlayedBtn.setText("Last played, yesterday");
|
lastTimePlayedBtn.setText(lastPlayed + yesterday);
|
||||||
} else {
|
} else {
|
||||||
lastTimePlayedBtn.setText("Last played, " + dbController.getLastPlayed(titleID));
|
lastTimePlayedBtn.setText(lastPlayed + dbController.getLastPlayed(titleID));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1351,7 +1317,6 @@ public class MainWindowController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO add strings for dialogs
|
|
||||||
void setUILanguage(){
|
void setUILanguage(){
|
||||||
switch(getLanguage()){
|
switch(getLanguage()){
|
||||||
case "en_US":
|
case "en_US":
|
||||||
@ -1414,17 +1379,19 @@ public class MainWindowController {
|
|||||||
cloudSyncWaringBodyText = bundle.getString("cloudSyncWaringBodyText");
|
cloudSyncWaringBodyText = bundle.getString("cloudSyncWaringBodyText");
|
||||||
cloudSyncErrorHeadingText = bundle.getString("cloudSyncErrorHeadingText");
|
cloudSyncErrorHeadingText = bundle.getString("cloudSyncErrorHeadingText");
|
||||||
cloudSyncErrorBodyText = bundle.getString("cloudSyncErrorBodyText");
|
cloudSyncErrorBodyText = bundle.getString("cloudSyncErrorBodyText");
|
||||||
|
addGameBtnHeadingText = bundle.getString("addGameBtnHeadingText");
|
||||||
|
addGameBtnBodyText = bundle.getString("addGameBtnBodyText");
|
||||||
addBtnReturnErrorHeadingText = bundle.getString("addBtnReturnErrorHeadingText");
|
addBtnReturnErrorHeadingText = bundle.getString("addBtnReturnErrorHeadingText");
|
||||||
addBtnReturnErrorBodyText = bundle.getString("addBtnReturnErrorBodyText");
|
addBtnReturnErrorBodyText = bundle.getString("addBtnReturnErrorBodyText");
|
||||||
|
lastPlayed = bundle.getString("lastPlayed");
|
||||||
|
today = bundle.getString("today");
|
||||||
|
yesterday = bundle.getString("yesterday");
|
||||||
|
|
||||||
playBtnPlay = bundle.getString("playBtnPlay");
|
playBtnPlay = bundle.getString("playBtnPlay");
|
||||||
playBtnUpdating = bundle.getString("playBtnUpdating");
|
playBtnUpdating = bundle.getString("playBtnUpdating");
|
||||||
playBtnCopyingFiles = bundle.getString("playBtnCopyingFiles");
|
playBtnCopyingFiles = bundle.getString("playBtnCopyingFiles");
|
||||||
okayBtnText = bundle.getString("okayBtnText");
|
smmdbDownloadBtnLoading = bundle.getString("smmdbDownloadBtnLoading");
|
||||||
cancelBtnText = bundle.getString("cancelBtnText");
|
smmdbDownloadBtnDownload = bundle.getString("smmdbDownloadBtnDownload");
|
||||||
updateBtnCheckNow = bundle.getString("updateBtnCheckNow");
|
|
||||||
updateBtnNoUpdateAvailable = bundle.getString("updateBtnNoUpdateAvailable");
|
|
||||||
updateBtnUpdateAvailable = bundle.getString("updateBtnUpdateAvailable");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkAutoUpdate() {
|
private void checkAutoUpdate() {
|
||||||
@ -1729,11 +1696,11 @@ public class MainWindowController {
|
|||||||
setColor("00a8cc");
|
setColor("00a8cc");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
if (props.getProperty("language") == null) {
|
||||||
|
LOGGER.error("cloud not load language, setting default instead");
|
||||||
|
setLanguage("en_US");
|
||||||
|
} else {
|
||||||
setLanguage(props.getProperty("language"));
|
setLanguage(props.getProperty("language"));
|
||||||
} catch (Exception e) {
|
|
||||||
LOGGER.error("cloud not load language", e);
|
|
||||||
setLanguage(System.getProperty("user.language")+"_"+System.getProperty("user.country"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -2048,6 +2015,14 @@ public class MainWindowController {
|
|||||||
this.language = language;
|
this.language = language;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResourceBundle getBundle() {
|
||||||
|
return bundle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBundle(ResourceBundle bundle) {
|
||||||
|
this.bundle = bundle;
|
||||||
|
}
|
||||||
|
|
||||||
public AnchorPane getMainAnchorPane() {
|
public AnchorPane getMainAnchorPane() {
|
||||||
return mainAnchorPane;
|
return mainAnchorPane;
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,6 @@ public class playGame extends Thread{
|
|||||||
mainWindowController.main.getPrimaryStage().setIconified(false); // maximize cemu_UI
|
mainWindowController.main.getPrimaryStage().setIconified(false); // maximize cemu_UI
|
||||||
});
|
});
|
||||||
|
|
||||||
// System.out.println(mainWindowController.getCemuPath()+"/mlc01/emulatorSave/"+);
|
|
||||||
//sync savegame with cloud service
|
//sync savegame with cloud service
|
||||||
if (mainWindowController.isCloudSync()) {
|
if (mainWindowController.isCloudSync()) {
|
||||||
mainWindowController.setLastLocalSync(Instant.now().getEpochSecond());
|
mainWindowController.setLastLocalSync(Instant.now().getEpochSecond());
|
||||||
|
@ -52,6 +52,7 @@ public class UpdateController implements Runnable {
|
|||||||
private String browserDownloadUrl; // update download link
|
private String browserDownloadUrl; // update download link
|
||||||
private String githubApiRelease = "https://api.github.com/repos/Seil0/cemu_UI/releases/latest";
|
private String githubApiRelease = "https://api.github.com/repos/Seil0/cemu_UI/releases/latest";
|
||||||
private String githubApiBeta = "https://api.github.com/repos/Seil0/cemu_UI/releases";
|
private String githubApiBeta = "https://api.github.com/repos/Seil0/cemu_UI/releases";
|
||||||
|
|
||||||
private URL githubApiUrl;
|
private URL githubApiUrl;
|
||||||
private boolean useBeta;
|
private boolean useBeta;
|
||||||
private static final Logger LOGGER = LogManager.getLogger(UpdateController.class.getName());
|
private static final Logger LOGGER = LogManager.getLogger(UpdateController.class.getName());
|
||||||
@ -70,7 +71,7 @@ public class UpdateController implements Runnable {
|
|||||||
public void run() {
|
public void run() {
|
||||||
LOGGER.info("beta:" + useBeta + "; checking for updates ...");
|
LOGGER.info("beta:" + useBeta + "; checking for updates ...");
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.getUpdateBtn().setText("checking for updates ...");
|
mainWindowController.getUpdateBtn().setText(mainWindowController.getBundle().getString("updateBtnChecking"));
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -126,12 +127,12 @@ public class UpdateController implements Runnable {
|
|||||||
|
|
||||||
if (iversion >= iaktVersion) {
|
if (iversion >= iaktVersion) {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.getUpdateBtn().setText("no update available");
|
mainWindowController.getUpdateBtn().setText(mainWindowController.getBundle().getString("updateBtnNoUpdateAvailable"));
|
||||||
});
|
});
|
||||||
LOGGER.info("no update available");
|
LOGGER.info("no update available");
|
||||||
} else {
|
} else {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.getUpdateBtn().setText("update available");
|
mainWindowController.getUpdateBtn().setText(mainWindowController.getBundle().getString("updateBtnUpdateAvailable"));
|
||||||
});
|
});
|
||||||
LOGGER.info("update available");
|
LOGGER.info("update available");
|
||||||
LOGGER.info("download link: " + browserDownloadUrl);
|
LOGGER.info("download link: " + browserDownloadUrl);
|
||||||
|
@ -90,13 +90,13 @@ public class JFXEditGameDialog {
|
|||||||
JFXDialog dialog = new JFXDialog(stackPane, content, JFXDialog.DialogTransition.LEFT, true);
|
JFXDialog dialog = new JFXDialog(stackPane, content, JFXDialog.DialogTransition.LEFT, true);
|
||||||
|
|
||||||
TextField gameTitleTF = new TextField();
|
TextField gameTitleTF = new TextField();
|
||||||
gameTitleTF.setPromptText("game tile");
|
gameTitleTF.setPromptText(mwc.getBundle().getString("gameTitle"));
|
||||||
TextField gameTitleIDTF = new TextField();
|
TextField gameTitleIDTF = new TextField();
|
||||||
gameTitleIDTF.setPromptText("title ID");
|
gameTitleIDTF.setPromptText(mwc.getBundle().getString("titleID"));
|
||||||
TextField romPathTF = new TextField();
|
TextField romPathTF = new TextField();
|
||||||
romPathTF.setPromptText("ROM path");
|
romPathTF.setPromptText(mwc.getBundle().getString("romPath"));
|
||||||
TextField gameCoverTF = new TextField();
|
TextField gameCoverTF = new TextField();
|
||||||
gameCoverTF.setPromptText("cover path");
|
gameCoverTF.setPromptText(mwc.getBundle().getString("coverPath"));
|
||||||
|
|
||||||
if (mode == 1) {
|
if (mode == 1) {
|
||||||
gameTitleTF.setText(title);
|
gameTitleTF.setText(title);
|
||||||
@ -107,7 +107,7 @@ public class JFXEditGameDialog {
|
|||||||
gameTitleIDTF.setEditable(false);
|
gameTitleIDTF.setEditable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
JFXButton okayBtn = new JFXButton("Okay");
|
JFXButton okayBtn = new JFXButton(mwc.getBundle().getString("okayBtnText"));
|
||||||
okayBtn.setOnAction(new EventHandler<ActionEvent>() {
|
okayBtn.setOnAction(new EventHandler<ActionEvent>() {
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
@ -117,9 +117,8 @@ public class JFXEditGameDialog {
|
|||||||
// LOGGER.info("No parameter set!");
|
// LOGGER.info("No parameter set!");
|
||||||
|
|
||||||
// addGame error dialog
|
// addGame error dialog
|
||||||
String headingTextError = "Error while adding a new Game!";
|
String headingTextError = mwc.getBundle().getString("editGameDialogHeadingTextError");
|
||||||
String bodyTextError = "There was some truble adding your game."
|
String bodyTextError = mwc.getBundle().getString("editGameDialogBodyTextError");
|
||||||
+ "\nOne of the needed values was empty, please try again to add your game.";
|
|
||||||
JFXInfoDialog errorDialog = new JFXInfoDialog(headingTextError, bodyTextError, dialogBtnStyle, 350,170, pane);
|
JFXInfoDialog errorDialog = new JFXInfoDialog(headingTextError, bodyTextError, dialogBtnStyle, 350,170, pane);
|
||||||
errorDialog.show();
|
errorDialog.show();
|
||||||
} else {
|
} else {
|
||||||
@ -147,7 +146,7 @@ public class JFXEditGameDialog {
|
|||||||
okayBtn.setPrefHeight(32);
|
okayBtn.setPrefHeight(32);
|
||||||
okayBtn.setStyle(dialogBtnStyle);
|
okayBtn.setStyle(dialogBtnStyle);
|
||||||
|
|
||||||
JFXButton cancelBtn = new JFXButton("Cancel");
|
JFXButton cancelBtn = new JFXButton(mwc.getBundle().getString("cancelBtnText"));
|
||||||
cancelBtn.setOnAction(new EventHandler<ActionEvent>() {
|
cancelBtn.setOnAction(new EventHandler<ActionEvent>() {
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent event) {
|
public void handle(ActionEvent event) {
|
||||||
@ -158,7 +157,7 @@ public class JFXEditGameDialog {
|
|||||||
cancelBtn.setPrefHeight(32);
|
cancelBtn.setPrefHeight(32);
|
||||||
cancelBtn.setStyle(dialogBtnStyle);
|
cancelBtn.setStyle(dialogBtnStyle);
|
||||||
|
|
||||||
JFXButton selectPathBtn = new JFXButton("select .rpx file");
|
JFXButton selectPathBtn = new JFXButton(mwc.getBundle().getString("editGameDialogSelectPathBtn"));
|
||||||
selectPathBtn.setPrefWidth(110);
|
selectPathBtn.setPrefWidth(110);
|
||||||
selectPathBtn.setStyle(dialogBtnStyle);
|
selectPathBtn.setStyle(dialogBtnStyle);
|
||||||
selectPathBtn.setOnAction(new EventHandler<ActionEvent>() {
|
selectPathBtn.setOnAction(new EventHandler<ActionEvent>() {
|
||||||
@ -170,7 +169,7 @@ public class JFXEditGameDialog {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
JFXButton selectCoverBtn = new JFXButton("select cover file");
|
JFXButton selectCoverBtn = new JFXButton(mwc.getBundle().getString("editGameDialogSelectCoverBtn"));
|
||||||
selectCoverBtn.setPrefWidth(110);
|
selectCoverBtn.setPrefWidth(110);
|
||||||
selectCoverBtn.setStyle(dialogBtnStyle);
|
selectCoverBtn.setStyle(dialogBtnStyle);
|
||||||
selectCoverBtn.setOnAction(new EventHandler<ActionEvent>() {
|
selectCoverBtn.setOnAction(new EventHandler<ActionEvent>() {
|
||||||
@ -186,14 +185,14 @@ public class JFXEditGameDialog {
|
|||||||
grid.setHgap(10);
|
grid.setHgap(10);
|
||||||
grid.setVgap(10);
|
grid.setVgap(10);
|
||||||
grid.setPadding(new Insets(15, 10, 10, 10));
|
grid.setPadding(new Insets(15, 10, 10, 10));
|
||||||
grid.add(new Label("game title:"), 0, 0);
|
grid.add(new Label(mwc.getBundle().getString("gameTitle") + ":"), 0, 0);
|
||||||
grid.add(gameTitleTF, 1, 0);
|
grid.add(gameTitleTF, 1, 0);
|
||||||
grid.add(new Label("title id:"), 0, 1);
|
grid.add(new Label(mwc.getBundle().getString("titleID") + ":"), 0, 1);
|
||||||
grid.add(gameTitleIDTF, 1, 1);
|
grid.add(gameTitleIDTF, 1, 1);
|
||||||
grid.add(new Label("ROM path:"), 0, 2);
|
grid.add(new Label(mwc.getBundle().getString("romPath") + ":"), 0, 2);
|
||||||
grid.add(romPathTF, 1, 2);
|
grid.add(romPathTF, 1, 2);
|
||||||
grid.add(selectPathBtn, 2, 2);
|
grid.add(selectPathBtn, 2, 2);
|
||||||
grid.add(new Label("cover path:"), 0, 3);
|
grid.add(new Label(mwc.getBundle().getString("coverPath") + ":"), 0, 3);
|
||||||
grid.add(gameCoverTF, 1, 3);
|
grid.add(gameCoverTF, 1, 3);
|
||||||
grid.add(selectCoverBtn, 2, 3);
|
grid.add(selectCoverBtn, 2, 3);
|
||||||
|
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
package com.cemu_UI.uiElements;
|
package com.cemu_UI.uiElements;
|
||||||
|
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import com.jfoenix.controls.JFXButton;
|
import com.jfoenix.controls.JFXButton;
|
||||||
import com.jfoenix.controls.JFXDialog;
|
import com.jfoenix.controls.JFXDialog;
|
||||||
import com.jfoenix.controls.JFXDialogLayout;
|
import com.jfoenix.controls.JFXDialogLayout;
|
||||||
@ -38,13 +40,14 @@ public class JFXOkayCancelDialog {
|
|||||||
private String headingText;
|
private String headingText;
|
||||||
private String bodyText;
|
private String bodyText;
|
||||||
private String dialogBtnStyle;
|
private String dialogBtnStyle;
|
||||||
private String okayText = "okay";
|
private String okayText;
|
||||||
private String cancelText = "cancel";
|
private String cancelText;
|
||||||
private int dialogWidth;
|
private int dialogWidth;
|
||||||
private int dialogHeight;
|
private int dialogHeight;
|
||||||
private EventHandler<ActionEvent> okayAction;
|
private EventHandler<ActionEvent> okayAction;
|
||||||
private EventHandler<ActionEvent> cancelAction;
|
private EventHandler<ActionEvent> cancelAction;
|
||||||
private Pane pane;
|
private Pane pane;
|
||||||
|
private ResourceBundle bundle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new JFoenix Dialog to show some information with okay and cancel option
|
* Creates a new JFoenix Dialog to show some information with okay and cancel option
|
||||||
@ -58,7 +61,8 @@ public class JFXOkayCancelDialog {
|
|||||||
* @param pane pane to which the dialog belongs
|
* @param pane pane to which the dialog belongs
|
||||||
*/
|
*/
|
||||||
public JFXOkayCancelDialog(String headingText, String bodyText, String dialogBtnStyle, int dialogWidth,
|
public JFXOkayCancelDialog(String headingText, String bodyText, String dialogBtnStyle, int dialogWidth,
|
||||||
int dialogHeight, EventHandler<ActionEvent> okayAction, EventHandler<ActionEvent> cancelAction, Pane pane) {
|
int dialogHeight, EventHandler<ActionEvent> okayAction, EventHandler<ActionEvent> cancelAction, Pane pane,
|
||||||
|
ResourceBundle bundle) {
|
||||||
this.headingText = headingText;
|
this.headingText = headingText;
|
||||||
this.bodyText = bodyText;
|
this.bodyText = bodyText;
|
||||||
this.dialogBtnStyle = dialogBtnStyle;
|
this.dialogBtnStyle = dialogBtnStyle;
|
||||||
@ -67,9 +71,13 @@ public class JFXOkayCancelDialog {
|
|||||||
this.okayAction = okayAction;
|
this.okayAction = okayAction;
|
||||||
this.cancelAction = cancelAction;
|
this.cancelAction = cancelAction;
|
||||||
this.pane = pane;
|
this.pane = pane;
|
||||||
|
this.bundle = bundle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void show() {
|
public void show() {
|
||||||
|
okayText = bundle.getString("okayBtnText");
|
||||||
|
cancelText = bundle.getString("cancelBtnText");
|
||||||
|
|
||||||
JFXDialogLayout content = new JFXDialogLayout();
|
JFXDialogLayout content = new JFXDialogLayout();
|
||||||
content.setHeading(new Text(headingText));
|
content.setHeading(new Text(headingText));
|
||||||
content.setBody(new Text(bodyText));
|
content.setBody(new Text(bodyText));
|
||||||
|
@ -12,15 +12,15 @@ smmdbDownloadBtn =
|
|||||||
playBtn =
|
playBtn =
|
||||||
|
|
||||||
# Labels
|
# Labels
|
||||||
cemu_UISettingsLbl = cemu_UI settings
|
cemu_UISettingsLbl = cemu_UI Settings
|
||||||
cemuDirectoryLbl = cemu directory
|
cemuDirectoryLbl = cemu directory
|
||||||
romDirectoryLbl = ROM directory
|
romDirectoryLbl = ROM directory
|
||||||
mainColorLbl = main color
|
mainColorLbl = main color
|
||||||
languageLbl = language
|
languageLbl = language
|
||||||
updateLbl = updates
|
updateLbl = updates
|
||||||
branchLbl = branch
|
branchLbl = branch
|
||||||
cemuSettingsLbl = cemu settings
|
cemuSettingsLbl = cemu Settings
|
||||||
licensesLbl = licenses
|
licensesLbl = Licenses
|
||||||
|
|
||||||
# Columns
|
# Columns
|
||||||
titleColumn = title
|
titleColumn = title
|
||||||
@ -33,26 +33,50 @@ editHeadingText = edit
|
|||||||
editBodyText = You can edit the tile and rom/cover path.
|
editBodyText = You can edit the tile and rom/cover path.
|
||||||
removeHeadingText = remove
|
removeHeadingText = remove
|
||||||
removeBodyText = Are you sure you want to delete
|
removeBodyText = Are you sure you want to delete
|
||||||
addUpdateHeadingText =
|
addUpdateHeadingText = update
|
||||||
addUpdateBodyText =
|
addUpdateBodyText = Please select the update root directory.
|
||||||
addDLCHeadingText =
|
addDLCHeadingText = add a DLC to
|
||||||
addDLCBodyText =
|
addDLCBodyText = Please select the DLC root directory.
|
||||||
licensesLblHeadingText =
|
|
||||||
licensesLblBodyText =
|
|
||||||
aboutBtnHeadingText =
|
|
||||||
aboutBtnBodyText =
|
|
||||||
cloudSyncWaringHeadingText =
|
|
||||||
cloudSyncWaringBodyText =
|
|
||||||
cloudSyncErrorHeadingText =
|
|
||||||
cloudSyncErrorBodyText =
|
|
||||||
addBtnReturnErrorHeadingText =
|
|
||||||
addBtnReturnErrorBodyText =
|
|
||||||
|
|
||||||
playBtnPlay =
|
licensesLblHeadingText = cemu_UI
|
||||||
playBtnUpdating =
|
licensesLblBodyText = cemu_UI is licensed under the terms of GNU GPL 3.\n\nJFoenix, Apache License 2.0\nminimal-json, MIT License\nsqlite-jdbc, Apache License 2.0\nApache Commons IO, Apache License 2.0\nApache Commons Logging, Apache License 2.0\nApache Commons Codec, Apache License 2.0\nApache Log4j 2, Apache License 2.0\n
|
||||||
playBtnCopyingFiles =
|
|
||||||
okayBtnText =
|
aboutBtnHeadingText = cemu_UI
|
||||||
cancelBtnText =
|
aboutBtnBodyText = This Application is made with free Software\nand licensed under the terms of GNU GPL 3.\n\nwww.kellerkinder.xyz
|
||||||
|
|
||||||
|
cloudSyncWaringHeadingText = activate cloud savegame sync (beta)
|
||||||
|
cloudSyncWaringBodyText = WARNING this is a completly WIP cloud save integration,\nit's NOT recomended to use this!!\n\nUse it on your own risk and backup everthing before!
|
||||||
|
|
||||||
|
cloudSyncErrorHeadingText = Error while initializing cloud sync!
|
||||||
|
cloudSyncErrorBodyText = There was some truble adding your game.\nPlease upload the app.log (which can be found in the cemu_UI directory)\nto \"https://github.com/Seil0/cemu_UI/issues\" so we can fix this.
|
||||||
|
|
||||||
|
addGameBtnHeadingText = add a new game to cemu_UI
|
||||||
|
addGameBtnBodyText =
|
||||||
|
addBtnReturnErrorHeadingText = Error while adding a new Game!
|
||||||
|
addBtnReturnErrorBodyText = There was some truble adding your game.\nOne of the needed values was empty, please try again to add your game.
|
||||||
|
lastPlayed = Last played,
|
||||||
|
today = today
|
||||||
|
yesterday = yesterday
|
||||||
|
|
||||||
|
# button strings
|
||||||
|
playBtnPlay = play
|
||||||
|
playBtnUpdating = updating...
|
||||||
|
playBtnCopyingFiles = copying files...
|
||||||
|
smmdbDownloadBtnLoading = loading
|
||||||
|
smmdbDownloadBtnDownload = Download
|
||||||
|
okayBtnText = okay
|
||||||
|
cancelBtnText = cancel
|
||||||
updateBtnCheckNow = check now!
|
updateBtnCheckNow = check now!
|
||||||
|
updateBtnChecking = checking for updates ...
|
||||||
updateBtnNoUpdateAvailable = no update available
|
updateBtnNoUpdateAvailable = no update available
|
||||||
updateBtnUpdateAvailable = update available
|
updateBtnUpdateAvailable = update available
|
||||||
|
|
||||||
|
#EditGameDialog
|
||||||
|
gameTitle = game title
|
||||||
|
titleID = title ID
|
||||||
|
romPath = ROM path
|
||||||
|
coverPath = cover path
|
||||||
|
editGameDialogHeadingTextError = Error while adding a new Game!
|
||||||
|
editGameDialogBodyTextError = There was some truble adding your game.\nOne of the needed values was empty, please try again to add your game.
|
||||||
|
editGameDialogSelectPathBtn = select .rpx file
|
||||||
|
editGameDialogSelectCoverBtn = select cover file
|
||||||
|
Loading…
Reference in New Issue
Block a user