diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form
index 9eb3dc676..7be25ba64 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form
@@ -75,7 +75,7 @@
-
+
@@ -188,7 +188,7 @@
-
+
@@ -200,7 +200,7 @@
-
+
@@ -225,7 +225,7 @@
-
+
@@ -240,14 +240,14 @@
-
+
-
+
@@ -266,7 +266,7 @@
-
+
@@ -287,14 +287,14 @@
-
+
-
+
@@ -311,7 +311,7 @@
-
+
@@ -331,7 +331,7 @@
-
+
@@ -348,7 +348,7 @@
-
+
@@ -435,7 +435,7 @@
-
+
@@ -445,14 +445,14 @@
-
+
-
+
@@ -467,14 +467,14 @@
-
+
-
+
@@ -486,7 +486,7 @@
-
+
@@ -496,7 +496,7 @@
-
+
@@ -506,7 +506,7 @@
-
+
@@ -518,7 +518,7 @@
-
+
@@ -537,7 +537,7 @@
-
+
@@ -649,7 +649,7 @@
-
+
@@ -671,7 +671,7 @@
-
+
@@ -704,7 +704,7 @@
-
+
@@ -739,7 +739,7 @@
-
+
@@ -772,7 +772,7 @@
-
+
@@ -852,7 +852,7 @@
-
+
@@ -885,7 +885,7 @@
-
+
@@ -940,7 +940,7 @@
-
+
@@ -950,7 +950,7 @@
-
+
@@ -965,7 +965,7 @@
-
+
@@ -975,7 +975,7 @@
-
+
@@ -985,7 +985,7 @@
-
+
@@ -1000,7 +1000,7 @@
-
+
@@ -1010,7 +1010,7 @@
-
+
@@ -1020,7 +1020,7 @@
-
+
@@ -1030,7 +1030,7 @@
-
+
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java
index 27af790ed..eb5912417 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -316,8 +316,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
tabVersionEdit.setName("tabVersionEdit"); // NOI18N
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- lblGameDir.setText(bundle.getString("settings.game_directory")); // NOI18N
+ lblGameDir.setText(C.i18n("settings.game_directory")); // NOI18N
txtGameDir.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -325,7 +324,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblDimension.setText(bundle.getString("settings.dimension")); // NOI18N
+ lblDimension.setText(C.i18n("settings.dimension")); // NOI18N
txtWidth.setToolTipText("");
txtWidth.addFocusListener(new java.awt.event.FocusAdapter() {
@@ -342,7 +341,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
lblDimensionX.setText("x");
- chkFullscreen.setText(bundle.getString("settings.fullscreen")); // NOI18N
+ chkFullscreen.setText(C.i18n("settings.fullscreen")); // NOI18N
chkFullscreen.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
chkFullscreenFocusLost(evt);
@@ -355,9 +354,9 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblJavaDir.setText(bundle.getString("settings.java_dir")); // NOI18N
+ lblJavaDir.setText(C.i18n("settings.java_dir")); // NOI18N
- lblMaxMemory.setText(bundle.getString("settings.max_memory")); // NOI18N
+ lblMaxMemory.setText(C.i18n("settings.max_memory")); // NOI18N
txtMaxMemory.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -367,7 +366,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
lblMaxMemorySize.setText(C.i18n("settings.physical_memory") + ": " + OS.getTotalPhysicalMemory() / 1024 / 1024 + "MB");
- btnDownloadAllAssets.setText(bundle.getString("assets.download_all")); // NOI18N
+ btnDownloadAllAssets.setText(C.i18n("assets.download_all")); // NOI18N
btnDownloadAllAssets.setToolTipText("");
btnDownloadAllAssets.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -382,9 +381,9 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblLauncherVisibility.setText(bundle.getString("advancedsettings.launcher_visible")); // NOI18N
+ lblLauncherVisibility.setText(C.i18n("advancedsettings.launcher_visible")); // NOI18N
- lblRunDirectory.setText(bundle.getString("advancedsettings.run_directory")); // NOI18N
+ lblRunDirectory.setText(C.i18n("advancedsettings.run_directory")); // NOI18N
cboRunDirectory.setModel(new javax.swing.DefaultComboBoxModel(new String[] { C.I18N.getString("advancedsettings.game_dir.default"), C.I18N.getString("advancedsettings.game_dir.independent") }));
cboRunDirectory.addFocusListener(new java.awt.event.FocusAdapter() {
@@ -393,7 +392,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- btnChoosingJavaDir.setText(bundle.getString("ui.button.explore")); // NOI18N
+ btnChoosingJavaDir.setText(C.i18n("ui.button.explore")); // NOI18N
btnChoosingJavaDir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnChoosingJavaDirActionPerformed(evt);
@@ -406,7 +405,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- btnChoosingGameDir.setText(bundle.getString("ui.button.explore")); // NOI18N
+ btnChoosingGameDir.setText(C.i18n("ui.button.explore")); // NOI18N
btnChoosingGameDir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnChoosingGameDirActionPerformed(evt);
@@ -498,18 +497,18 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addContainerGap())
);
- tabVersionEdit.addTab(bundle.getString("settings"), pnlSettings); // NOI18N
+ tabVersionEdit.addTab(C.i18n("settings"), pnlSettings); // NOI18N
- chkDebug.setText(bundle.getString("advencedsettings.debug_mode")); // NOI18N
+ chkDebug.setText(C.i18n("advencedsettings.debug_mode")); // NOI18N
chkDebug.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
chkDebugFocusLost(evt);
}
});
- lblJavaArgs.setText(bundle.getString("advancedsettings.jvm_args")); // NOI18N
+ lblJavaArgs.setText(C.i18n("advancedsettings.jvm_args")); // NOI18N
- txtJavaArgs.setToolTipText(bundle.getString("advancedsettings.java_args_default")); // NOI18N
+ txtJavaArgs.setToolTipText(C.i18n("advancedsettings.java_args_default")); // NOI18N
txtJavaArgs.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txtJavaArgsFocusLost(evt);
@@ -522,9 +521,9 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblMinecraftArgs.setText(bundle.getString("advancedsettings.Minecraft_arguments")); // NOI18N
+ lblMinecraftArgs.setText(C.i18n("advancedsettings.Minecraft_arguments")); // NOI18N
- lblPermSize.setText(bundle.getString("advancedsettings.java_permanent_generation_space")); // NOI18N
+ lblPermSize.setText(C.i18n("advancedsettings.java_permanent_generation_space")); // NOI18N
txtPermSize.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -532,21 +531,21 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- chkNoJVMArgs.setText(bundle.getString("advancedsettings.no_jvm_args")); // NOI18N
+ chkNoJVMArgs.setText(C.i18n("advancedsettings.no_jvm_args")); // NOI18N
chkNoJVMArgs.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
chkNoJVMArgsFocusLost(evt);
}
});
- chkCancelWrapper.setText(bundle.getString("advancedsettings.cancel_wrapper_launcher")); // NOI18N
+ chkCancelWrapper.setText(C.i18n("advancedsettings.cancel_wrapper_launcher")); // NOI18N
chkCancelWrapper.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
chkCancelWrapperFocusLost(evt);
}
});
- lblPrecalledCommand.setText(bundle.getString("advancedsettings.wrapper_launcher")); // NOI18N
+ lblPrecalledCommand.setText(C.i18n("advancedsettings.wrapper_launcher")); // NOI18N
txtPrecalledCommand.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -554,7 +553,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblServerIP.setText(bundle.getString("advancedsettings.server_ip")); // NOI18N
+ lblServerIP.setText(C.i18n("advancedsettings.server_ip")); // NOI18N
txtServerIP.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -625,7 +624,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addContainerGap())
);
- tabVersionEdit.addTab(bundle.getString("advancedsettings"), pnlAdvancedSettings); // NOI18N
+ tabVersionEdit.addTab(C.i18n("advancedsettings"), pnlAdvancedSettings); // NOI18N
lstExternalMods.setModel(SwingUtils.makeDefaultTableModel(new String[]{"", "Mod", C.i18n("ui.label.version")}, new Class[]{Boolean.class,String.class,String.class}, new boolean[]{true,false,false}));
lstExternalMods.setColumnSelectionAllowed(true);
@@ -652,7 +651,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblModInfo.setText(bundle.getString("mods.default_information")); // NOI18N
+ lblModInfo.setText(C.i18n("mods.default_information")); // NOI18N
lblModInfo.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
lblModInfo.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
@@ -703,7 +702,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addComponent(pnlModManagementContent, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
- tabVersionEdit.addTab(bundle.getString("mods"), pnlModManagement); // NOI18N
+ tabVersionEdit.addTab(C.i18n("mods"), pnlModManagement); // NOI18N
javax.swing.GroupLayout pnlAutoInstallLayout = new javax.swing.GroupLayout(pnlAutoInstall);
pnlAutoInstall.setLayout(pnlAutoInstallLayout);
@@ -716,9 +715,9 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addComponent(tabInstallers)
);
- tabVersionEdit.addTab(bundle.getString("settings.tabs.installers"), pnlAutoInstall); // NOI18N
+ tabVersionEdit.addTab(C.i18n("settings.tabs.installers"), pnlAutoInstall); // NOI18N
- btnDownload.setText(bundle.getString("ui.button.download")); // NOI18N
+ btnDownload.setText(C.i18n("ui.button.download")); // NOI18N
btnDownload.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDownloadActionPerformed(evt);
@@ -730,7 +729,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
lstDownloads.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jScrollPane2.setViewportView(lstDownloads);
- btnRefreshGameDownloads.setText(bundle.getString("ui.button.refresh")); // NOI18N
+ btnRefreshGameDownloads.setText(C.i18n("ui.button.refresh")); // NOI18N
btnRefreshGameDownloads.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRefreshGameDownloadsActionPerformed(evt);
@@ -758,9 +757,9 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 325, Short.MAX_VALUE)
);
- tabVersionEdit.addTab(bundle.getString("settings.tabs.game_download"), pnlGameDownloads); // NOI18N
+ tabVersionEdit.addTab(C.i18n("settings.tabs.game_download"), pnlGameDownloads); // NOI18N
- lblProfile.setText(bundle.getString("ui.label.profile")); // NOI18N
+ lblProfile.setText(C.i18n("ui.label.profile")); // NOI18N
cboProfiles.setMinimumSize(new java.awt.Dimension(32, 23));
cboProfiles.setPreferredSize(new java.awt.Dimension(32, 23));
@@ -776,7 +775,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
}
});
- lblVersions.setText(bundle.getString("ui.label.version")); // NOI18N
+ lblVersions.setText(C.i18n("ui.label.version")); // NOI18N
javax.swing.GroupLayout pnlSelectionLayout = new javax.swing.GroupLayout(pnlSelection);
pnlSelection.setLayout(pnlSelectionLayout);
@@ -808,14 +807,14 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
- btnModify.setText(bundle.getString("settings.manage")); // NOI18N
+ btnModify.setText(C.i18n("settings.manage")); // NOI18N
btnModify.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
btnModifyMouseClicked(evt);
}
});
- btnRefreshVersions.setText(bundle.getString("ui.button.refresh")); // NOI18N
+ btnRefreshVersions.setText(C.i18n("ui.button.refresh")); // NOI18N
btnRefreshVersions.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRefreshVersionsActionPerformed(evt);
@@ -824,21 +823,21 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
txtMinecraftVersion.setEditable(false);
- btnNewProfile.setText(bundle.getString("setupwindow.new")); // NOI18N
+ btnNewProfile.setText(C.i18n("setupwindow.new")); // NOI18N
btnNewProfile.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnNewProfileActionPerformed(evt);
}
});
- btnRemoveProfile.setText(bundle.getString("ui.button.delete")); // NOI18N
+ btnRemoveProfile.setText(C.i18n("ui.button.delete")); // NOI18N
btnRemoveProfile.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRemoveProfileActionPerformed(evt);
}
});
- btnExplore.setText(bundle.getString("settings.explore")); // NOI18N
+ btnExplore.setText(C.i18n("settings.explore")); // NOI18N
btnExplore.setToolTipText("");
btnExplore.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
@@ -899,28 +898,28 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addGap(0, 0, Short.MAX_VALUE))
);
- btnIncludeMinecraft.setText(bundle.getString("setupwindow.include_minecraft")); // NOI18N
+ btnIncludeMinecraft.setText(C.i18n("setupwindow.include_minecraft")); // NOI18N
btnIncludeMinecraft.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnIncludeMinecraftActionPerformed(evt);
}
});
- btnMakeLaunchScript.setText(bundle.getString("mainwindow.make_launch_script")); // NOI18N
+ btnMakeLaunchScript.setText(C.i18n("mainwindow.make_launch_script")); // NOI18N
btnMakeLaunchScript.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnMakeLaunchScriptActionPerformed(evt);
}
});
- btnShowLog.setText(bundle.getString("mainwindow.show_log")); // NOI18N
+ btnShowLog.setText(C.i18n("mainwindow.show_log")); // NOI18N
btnShowLog.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnShowLogActionPerformed(evt);
}
});
- btnCleanGame.setText(bundle.getString("setupwindow.clean")); // NOI18N
+ btnCleanGame.setText(C.i18n("setupwindow.clean")); // NOI18N
btnCleanGame.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCleanGameActionPerformed(evt);
@@ -961,7 +960,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
.addContainerGap())
);
}// //GEN-END:initComponents
- //
+ //
private void cboProfilesItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboProfilesItemStateChanged
if (isLoading)
return;
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.form
index 50e6f4b35..77fec0a48 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.form
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.form
@@ -42,7 +42,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java
index 925e920b6..01135a2d8 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -70,8 +70,7 @@ public class InstallerPanel extends AnimatedPanel {
lstInstallers = new javax.swing.JTable();
btnRefresh = new javax.swing.JButton();
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- btnInstall.setText(bundle.getString("ui.button.install")); // NOI18N
+ btnInstall.setText(C.i18n("ui.button.install")); // NOI18N
btnInstall.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnInstallActionPerformed(evt);
@@ -83,7 +82,7 @@ public class InstallerPanel extends AnimatedPanel {
lstInstallers.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jScrollPane12.setViewportView(lstInstallers);
- btnRefresh.setText(bundle.getString("ui.button.refresh")); // NOI18N
+ btnRefresh.setText(C.i18n("ui.button.refresh")); // NOI18N
btnRefresh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRefreshActionPerformed(evt);
@@ -158,7 +157,6 @@ public class InstallerPanel extends AnimatedPanel {
});
}
-
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnInstall;
private javax.swing.JButton btnRefresh;
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.form
index a55c20d14..edbd88b87 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.form
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.form
@@ -55,19 +55,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -133,14 +131,14 @@
-
+
-
+
@@ -150,7 +148,7 @@
-
+
@@ -158,7 +156,7 @@
-
+
@@ -168,14 +166,14 @@
-
+
-
+
@@ -185,7 +183,7 @@
-
+
@@ -195,7 +193,7 @@
-
+
@@ -212,7 +210,7 @@
-
+
@@ -224,7 +222,7 @@
-
+
@@ -236,14 +234,14 @@
-
+
-
+
@@ -260,7 +258,7 @@
-
+
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java
index ecfa149aa..d4a9f7914 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -95,43 +95,42 @@ public class LauncherSettingsPanel extends AnimatedPanel {
}
});
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- jLabel4.setText(bundle.getString("launcher.about")); // NOI18N
+ jLabel4.setText(C.i18n("launcher.about")); // NOI18N
- btnSelBackgroundPath.setText(bundle.getString("ui.button.explore")); // NOI18N
+ btnSelBackgroundPath.setText(C.i18n("ui.button.explore")); // NOI18N
btnSelBackgroundPath.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSelBackgroundPathActionPerformed(evt);
}
});
- jLabel14.setText(bundle.getString("launcher.background_location")); // NOI18N
+ jLabel14.setText(C.i18n("launcher.background_location")); // NOI18N
jLabel14.setToolTipText("");
- txtBackgroundPath.setToolTipText(bundle.getString("launcher.background_tooltip")); // NOI18N
+ txtBackgroundPath.setToolTipText(C.i18n("launcher.background_tooltip")); // NOI18N
txtBackgroundPath.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txtBackgroundPathFocusLost(evt);
}
});
- jLabel7.setText(bundle.getString("launcher.download_source")); // NOI18N
+ jLabel7.setText(C.i18n("launcher.download_source")); // NOI18N
- btnCheckUpdate.setText(bundle.getString("launcher.update_launcher")); // NOI18N
+ btnCheckUpdate.setText(C.i18n("launcher.update_launcher")); // NOI18N
btnCheckUpdate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCheckUpdateActionPerformed(evt);
}
});
- chkEnableShadow.setText(bundle.getString("launcher.enable_shadow")); // NOI18N
+ chkEnableShadow.setText(C.i18n("launcher.enable_shadow")); // NOI18N
chkEnableShadow.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
chkEnableShadowFocusLost(evt);
}
});
- jLabel1.setText(bundle.getString("launcher.theme")); // NOI18N
+ jLabel1.setText(C.i18n("launcher.theme")); // NOI18N
cboTheme.setModel(new DefaultComboBoxModel(new String[]{C.i18n("color.blue"),C.i18n("color.green"),C.i18n("color.purple"),C.i18n("color.dark_blue"),C.i18n("color.orange"),C.i18n("color.red")}));
cboTheme.addItemListener(new java.awt.event.ItemListener() {
@@ -140,7 +139,7 @@ public class LauncherSettingsPanel extends AnimatedPanel {
}
});
- jLabel2.setText(bundle.getString("launcher.proxy")); // NOI18N
+ jLabel2.setText(C.i18n("launcher.proxy")); // NOI18N
txtProxyHost.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -148,7 +147,7 @@ public class LauncherSettingsPanel extends AnimatedPanel {
}
});
- jLabel3.setText(bundle.getString("proxy.host")); // NOI18N
+ jLabel3.setText(C.i18n("proxy.host")); // NOI18N
txtProxyPort.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -156,9 +155,9 @@ public class LauncherSettingsPanel extends AnimatedPanel {
}
});
- jLabel5.setText(bundle.getString("proxy.port")); // NOI18N
+ jLabel5.setText(C.i18n("proxy.port")); // NOI18N
- jLabel6.setText(bundle.getString("proxy.username")); // NOI18N
+ jLabel6.setText(C.i18n("proxy.username")); // NOI18N
txtProxyUsername.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
@@ -172,7 +171,7 @@ public class LauncherSettingsPanel extends AnimatedPanel {
}
});
- jLabel8.setText(bundle.getString("proxy.password")); // NOI18N
+ jLabel8.setText(C.i18n("proxy.password")); // NOI18N
chkEnableAnimation.setText("启用动态效果");
chkEnableAnimation.addFocusListener(new java.awt.event.FocusAdapter() {
@@ -219,16 +218,15 @@ public class LauncherSettingsPanel extends AnimatedPanel {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtProxyPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))))
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(chkEnableShadow)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(chkEnableAnimation))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnCheckUpdate))
- .addGap(0, 0, Short.MAX_VALUE))))
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(chkEnableShadow)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(chkEnableAnimation))
+ .addGroup(layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnCheckUpdate))
+ .addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.form
index bd0cc1262..173fb782c 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.form
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.form
@@ -90,7 +90,7 @@
-
+
@@ -106,7 +106,7 @@
-
+
@@ -123,14 +123,14 @@
-
+
-
+
@@ -150,7 +150,7 @@
-
+
@@ -201,7 +201,7 @@
-
+
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java
index 7d9de506a..ef8c5f497 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -125,8 +125,7 @@ public class MainPagePanel extends AnimatedPanel {
}
});
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- jLabel7.setText(bundle.getString("login.type")); // NOI18N
+ jLabel7.setText(C.i18n("login.type")); // NOI18N
cboLoginMode.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
@@ -134,9 +133,9 @@ public class MainPagePanel extends AnimatedPanel {
}
});
- lblUserName.setText(bundle.getString("login.username")); // NOI18N
+ lblUserName.setText(C.i18n("login.username")); // NOI18N
- jLabel10.setText(bundle.getString("ui.label.profile")); // NOI18N
+ jLabel10.setText(C.i18n("ui.label.profile")); // NOI18N
cboProfiles.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
@@ -145,7 +144,7 @@ public class MainPagePanel extends AnimatedPanel {
});
jLabel1.setText(C.I18N.getString("ui.label.version")); // NOI18N
- jLabel1.setToolTipText(bundle.getString("ui.label.version")); // NOI18N
+ jLabel1.setToolTipText(C.i18n("ui.label.version")); // NOI18N
cboVersions.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
@@ -155,7 +154,7 @@ public class MainPagePanel extends AnimatedPanel {
pnlPassword.setLayout(new java.awt.CardLayout());
- jLabel9.setText(bundle.getString("ui.label.password")); // NOI18N
+ jLabel9.setText(C.i18n("ui.label.password")); // NOI18N
txtPassword.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
@@ -208,7 +207,7 @@ public class MainPagePanel extends AnimatedPanel {
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(btnLogout, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)
+ .addComponent(btnLogout, javax.swing.GroupLayout.PREFERRED_SIZE, 26, Short.MAX_VALUE)
);
pnlPassword.add(jPanel3, "card3");
@@ -260,7 +259,7 @@ public class MainPagePanel extends AnimatedPanel {
.addComponent(txtPlayerName, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pnlPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(316, Short.MAX_VALUE))
+ .addContainerGap(314, Short.MAX_VALUE))
);
add(pnlMore);
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.form
index 65e0f21bf..abfaedbcf 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.form
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.form
@@ -4,7 +4,7 @@
-
+
@@ -77,7 +77,7 @@
-
+
@@ -89,7 +89,7 @@
-
+
@@ -103,7 +103,7 @@
-
+
@@ -113,7 +113,7 @@
-
+
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java
index b44bbf235..db4406bd6 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -17,6 +17,7 @@
*/
package org.jackhuang.hellominecraft.launcher.views;
+import org.jackhuang.hellominecraft.C;
import org.jackhuang.hellominecraft.launcher.settings.Profile;
import org.jackhuang.hellominecraft.launcher.settings.Settings;
import org.jackhuang.hellominecraft.utils.StrUtils;
@@ -54,10 +55,9 @@ public final class NewProfileWindow extends javax.swing.JDialog {
btnOK = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- setTitle(bundle.getString("ui.newProfileWindow.title")); // NOI18N
+ setTitle(C.i18n("ui.newProfileWindow.title")); // NOI18N
- jLabel1.setText(bundle.getString("ui.label.newProfileWindow.new_profile_name")); // NOI18N
+ jLabel1.setText(C.i18n("ui.label.newProfileWindow.new_profile_name")); // NOI18N
txtNewProfileName.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
@@ -65,16 +65,16 @@ public final class NewProfileWindow extends javax.swing.JDialog {
}
});
- jLabel2.setText(bundle.getString("ui.label.newProfileWindow.copy_from")); // NOI18N
+ jLabel2.setText(C.i18n("ui.label.newProfileWindow.copy_from")); // NOI18N
- btnCancel.setText(bundle.getString("button.cancel")); // NOI18N
+ btnCancel.setText(C.i18n("button.cancel")); // NOI18N
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelActionPerformed(evt);
}
});
- btnOK.setText(bundle.getString("ui.button.ok")); // NOI18N
+ btnOK.setText(C.i18n("ui.button.ok")); // NOI18N
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnOKActionPerformed(evt);
@@ -126,12 +126,12 @@ public final class NewProfileWindow extends javax.swing.JDialog {
private void txtNewProfileNameKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNewProfileNameKeyTyped
switch (evt.getKeyCode()) {
- case 13:
- Profile newProfile = new Profile(Settings.getProfile(cboProfiles.getSelectedItem().toString()));
- newProfile.setName(txtNewProfileName.getText());
- Settings.trySetProfile(newProfile);
- case 27:
- this.dispose();
+ case 13:
+ Profile newProfile = new Profile(Settings.getProfile(cboProfiles.getSelectedItem().toString()));
+ newProfile.setName(txtNewProfileName.getText());
+ Settings.trySetProfile(newProfile);
+ case 27:
+ this.dispose();
}
}//GEN-LAST:event_txtNewProfileNameKeyTyped
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.form
index cac09c190..8740a7ff0 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.form
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.form
@@ -4,7 +4,7 @@
-
+
@@ -29,10 +29,10 @@
-
-
+
+
@@ -58,7 +58,7 @@
-
+
@@ -69,7 +69,7 @@
-
+
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java
index deb188a1a..cea394044 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java
@@ -19,6 +19,7 @@ package org.jackhuang.hellominecraft.launcher.views;
import javax.swing.DefaultListModel;
import javax.swing.JList;
+import org.jackhuang.hellominecraft.C;
import org.jackhuang.hellominecraft.launcher.version.ServerInfo;
import rx.Observable;
import rx.concurrency.Schedulers;
@@ -72,10 +73,9 @@ public class ServerListView extends javax.swing.JFrame {
btnCancel = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- setTitle(bundle.getString("serverlistview.title")); // NOI18N
+ setTitle(C.i18n("serverlistview.title")); // NOI18N
- btnOK.setText(bundle.getString("ui.button.ok")); // NOI18N
+ btnOK.setText(C.i18n("ui.button.ok")); // NOI18N
btnOK.setToolTipText("");
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -83,7 +83,7 @@ public class ServerListView extends javax.swing.JFrame {
}
});
- btnCancel.setText(bundle.getString("button.cancel")); // NOI18N
+ btnCancel.setText(C.i18n("button.cancel")); // NOI18N
btnCancel.setToolTipText("");
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -98,9 +98,9 @@ public class ServerListView extends javax.swing.JFrame {
.addComponent(srlList)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(298, Short.MAX_VALUE)
- .addComponent(btnCancel)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnOK)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(btnCancel)
.addContainerGap())
);
layout.setVerticalGroup(
diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form
index ea8d80bc1..1a8026bcd 100644
--- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form
+++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form
@@ -4,7 +4,7 @@
-
+
@@ -42,11 +42,11 @@
-
+
-
-
-
+
+
+
@@ -57,7 +57,7 @@
-
+
diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java
index b9a6ef4f7..df88cb4d4 100644
--- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java
+++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -114,15 +114,14 @@ public class TaskWindow extends javax.swing.JDialog
lstDownload = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- setTitle(bundle.getString("taskwindow.title")); // NOI18N
+ setTitle(C.i18n("taskwindow.title")); // NOI18N
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosed(java.awt.event.WindowEvent evt) {
formWindowClosed(evt);
}
});
- btnCancel.setText(bundle.getString("taskwindow.cancel")); // NOI18N
+ btnCancel.setText(C.i18n("taskwindow.cancel")); // NOI18N
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelActionPerformed(evt);
@@ -152,11 +151,11 @@ public class TaskWindow extends javax.swing.JDialog
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
- .addComponent(srlDownload, javax.swing.GroupLayout.DEFAULT_SIZE, 291, Short.MAX_VALUE)
+ .addComponent(srlDownload, javax.swing.GroupLayout.DEFAULT_SIZE, 290, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(btnCancel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(pgsTotal, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(pgsTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnCancel, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
@@ -200,7 +199,8 @@ public class TaskWindow extends javax.swing.JDialog
@Override
public void setProgress(Task task, int progress, int max) {
SwingUtilities.invokeLater(() -> {
- if (task == null) return;
+ if (task == null)
+ return;
int idx = tasks.indexOf(task);
if (idx == -1)
return;
@@ -221,7 +221,8 @@ public class TaskWindow extends javax.swing.JDialog
@Override
public void onDoing(Task task) {
- if (task == null) return;
+ if (task == null)
+ return;
task.setProgressProviderListener(this);
SwingUtilities.invokeLater(() -> {
diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.form b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.form
index fb4adb695..aa46ef88a 100644
--- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.form
+++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.form
@@ -66,7 +66,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
@@ -90,7 +90,7 @@
-
+
diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java
index e0fc575cb..c9a71c66c 100644
--- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java
+++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -17,6 +17,8 @@
*/
package org.jackhuang.hellominecraft.views;
+import org.jackhuang.hellominecraft.C;
+
/**
* The frame given to choose things.
*
@@ -50,7 +52,7 @@ public class Selector extends javax.swing.JDialog {
for (String s : selList)
jComboBox1.addItem(s);
}
-
+
public int getChoice() {
setVisible(true);
return sel;
@@ -72,17 +74,16 @@ public class Selector extends javax.swing.JDialog {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraft/launcher/I18N"); // NOI18N
- jLabel1.setText(bundle.getString("selector.choose")); // NOI18N
+ jLabel1.setText(C.i18n("selector.choose")); // NOI18N
- btnOK.setText(bundle.getString("button.ok")); // NOI18N
+ btnOK.setText(C.i18n("button.ok")); // NOI18N
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnOKActionPerformed(evt);
}
});
- btnCancel.setText(bundle.getString("button.cancel")); // NOI18N
+ btnCancel.setText(C.i18n("button.cancel")); // NOI18N
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelActionPerformed(evt);
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties
index a5fa42d81..c9f260e80 100644
--- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
# Hello Minecraft! Launcher.
# Copyright (C) 2013 huangyuhui
#
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_BACKUP_7850.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_BACKUP_7850.properties
new file mode 100644
index 000000000..9025bde3f
--- /dev/null
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_BACKUP_7850.properties
@@ -0,0 +1,665 @@
+<<<<<<< HEAD
+# Hello Minecraft! Launcher.
+# Copyright (C) 2013 huangyuhui
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see {http://www.gnu.org/licenses/}.
+launch.failed=\u542f\u52a8\u5931\u8d25
+launch.failed_creating_process=\u542f\u52a8\u5931\u8d25\uff0c\u5728\u521b\u5efa\u65b0\u8fdb\u7a0b\u65f6\u53d1\u751f\u9519\u8bef\uff0c\u53ef\u80fd\u662fJava\u8def\u5f84\u9519\u8bef\u3002
+launch.failed_sh_permission=\u4e3a\u542f\u52a8\u6587\u4ef6\u6dfb\u52a0\u6743\u9650\u65f6\u53d1\u751f\u9519\u8bef
+launch.failed_packing_jar=\u5728\u6253\u5305jar\u65f6\u53d1\u751f\u9519\u8bef
+launch.unsupported_launcher_version=\u5bf9\u4e0d\u8d77\uff0c\u672c\u542f\u52a8\u5668\u73b0\u5728\u53ef\u80fd\u4e0d\u80fd\u542f\u52a8\u8fd9\u4e2a\u7248\u672c\u7684Minecraft\uff0c\u4f46\u542f\u52a8\u5668\u8fd8\u662f\u4f1a\u5c1d\u8bd5\u542f\u52a8\uff0c\u8bf7\u5c3d\u5feb\u5c06\u6b64\u95ee\u9898\u62a5\u544a\u7ed9\u4f5c\u8005\u3002
+launch.too_big_memory_alloc_64bit=\u60a8\u8bbe\u7f6e\u7684\u5185\u5b58\u5927\u5c0f\u8fc7\u5927\uff0c\u7531\u4e8e\u53ef\u80fd\u8d85\u8fc7\u4e8632\u4f4dJava\u7684\u5185\u5b58\u5206\u914d\u9650\u5236\uff0c\u6240\u4ee5\u53ef\u80fd\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\uff0c\u8bf7\u5c06\u5185\u5b58\u8c03\u81f31024MB\u6216\u66f4\u5c0f\uff0c\u542f\u52a8\u5668\u4ecd\u4f1a\u5c1d\u8bd5\u542f\u52a8\u3002
+launch.too_big_memory_alloc_free_space_too_low=\u60a8\u8bbe\u7f6e\u7684\u5185\u5b58\u5927\u5c0f\u8fc7\u5927\uff0c\u7531\u4e8e\u8d85\u8fc7\u4e86\u7cfb\u7edf\u5185\u5b58\u5927\u5c0f%dMB\uff0c\u6240\u4ee5\u53ef\u80fd\u5f71\u54cd\u6e38\u620f\u4f53\u9a8c\u6216\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\uff0c\u542f\u52a8\u5668\u4ecd\u4f1a\u5c1d\u8bd5\u542f\u52a8\u3002
+launch.cannot_create_jvm=\u622a\u83b7\u5230\u65e0\u6cd5\u521b\u5efaJava\u865a\u62df\u673a\uff0c\u53ef\u80fd\u662fJava\u53c2\u6570\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u5728\u8bbe\u7f6e\u4e2d\u5f00\u542f\u65e0\u53c2\u6570\u6a21\u5f0f\u542f\u52a8
+launch.circular_dependency_versions=\u53d1\u73b0\u6e38\u620f\u7248\u672c\u5faa\u73af\u5f15\u7528\uff0c\u8bf7\u786e\u8ba4\u60a8\u7684\u5ba2\u6237\u7aef\u672a\u88ab\u4fee\u6539\u6216\u4fee\u6539\u5bfc\u81f4\u51fa\u73b0\u6b64\u95ee\u9898\u3002
+launch.not_finished_downloading_libraries=\u672a\u5b8c\u6210\u6e38\u620f\u4f9d\u8d56\u5e93\u7684\u4e0b\u8f7d\uff0c\u8fd8\u8981\u7ee7\u7eed\u542f\u52a8\u6e38\u620f\u5417\uff1f
+launch.not_finished_decompressing_natives=\u672a\u80fd\u89e3\u538b\u6e38\u620f\u672c\u5730\u5e93\uff0c\u8fd8\u8981\u7ee7\u7eed\u542f\u52a8\u6e38\u620f\u5417\uff1f
+launch.wrong_javadir=\u9519\u8bef\u7684Java\u8def\u5f84\uff0c\u5c06\u81ea\u52a8\u91cd\u7f6e\u4e3a\u9ed8\u8ba4Java\u8def\u5f84\u3002
+launch.exited_abnormally=\u6e38\u620f\u975e\u6b63\u5e38\u9000\u51fa\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u6587\u4ef6\uff0c\u6216\u8054\u7cfb\u4ed6\u4eba\u5bfb\u6c42\u5e2e\u52a9\u3002
+
+install.no_version=\u672a\u627e\u5230\u8981\u5b89\u88c5\u7684\u5bf9\u5e94MC\u7248\u672c
+install.no_version_if_intall=\u672a\u627e\u5230\u8981\u5b89\u88c5\u7684\u5bf9\u5e94MC\u7248\u672c\uff0c\u662f\u5426\u81ea\u52a8\u5b89\u88c5\u9700\u8981\u7684MC\u7248\u672c\uff1f
+install.not_refreshed=\u672a\u5237\u65b0\u5217\u8868
+install.download_list=\u4e0b\u8f7d\u5217\u8868
+
+install.liteloader.get_list=\u83b7\u53d6LiteLoader\u5217\u8868
+install.liteloader.install=\u5b89\u88c5LiteLoader
+
+install.forge.get_list=\u83b7\u53d6Forge\u5217\u8868
+install.forge.install=\u5b89\u88c5Forge
+install.forge.get_changelogs=\u83b7\u53d6Forge\u66f4\u65b0\u8bb0\u5f55
+
+install.optifine.install=\u5b89\u88c5OptiFine
+install.optifine.get_list=\u83b7\u53d6OptiFine\u5217\u8868
+install.optifine.get_download_link=\u83b7\u53d6OptiFine\u4e0b\u8f7d\u5730\u5740
+
+install.failed_forge=\u5b89\u88c5Forge\u5931\u8d25
+install.failed_optifine=\u5b89\u88c5Optifine\u5931\u8d25
+install.failed_liteloader=\u5b89\u88c5LiteLoader\u5931\u8d25
+install.failed_download_forge=\u4e0b\u8f7dForge\u5931\u8d25
+install.failed_download_optifine=\u4e0b\u8f7dOptifine\u5931\u8d25
+install.failed=\u5b89\u88c5\u5931\u8d25
+install.success=\u5b89\u88c5\u6210\u529f
+install.no_forge=\u6ca1\u6709\u5b89\u88c5Forge
+install.choose_forge=\u9009\u62e9\u4f60\u5b89\u88c5\u7684Forge\u7248\u672c
+install.version=\u7248\u672c
+install.mcversion=\u6e38\u620f\u7248\u672c
+install.time=\u65f6\u95f4
+install.release_time=\u91ca\u653e\u65f6\u95f4
+install.type=\u7c7b\u578b
+install.please_refresh=\u5982\u9700\u4f7f\u7528\u81ea\u52a8\u5b89\u88c5\u8bf7\u70b9\u51fb\u53f3\u4fa7\u5237\u65b0\u6309\u94ae
+
+crash.launcher=\u542f\u52a8\u5668\u5d29\u6e83\u4e86\uff01
+crash.minecraft=Minecraft\u5d29\u6e83\u4e86\uff01\u8bf7\u8ba4\u771f\u9605\u8bfb\u5efa\u8bae\u3002
+
+login.choose_charactor=\u8bf7\u9009\u62e9\u60a8\u8981\u4f7f\u7528\u7684\u89d2\u8272
+login.no_charactor=\u8be5\u5e10\u53f7\u6ca1\u6709\u89d2\u8272
+login.your_password=\u60a8\u7684\u5bc6\u7801
+login.failed=\u767b\u5f55\u5931\u8d25\uff1a
+login.no_Player007=\u4f60\u8fd8\u672a\u8bbe\u7f6e\u7528\u6237\u540d\uff01
+login.wrong_password=\u53ef\u80fd\u662f\u60a8\u7684\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef
+login.invalid_username=\u65e0\u6548\u7684\u7528\u6237\u540d
+login.invalid_uuid_and_username=\u65e0\u6548\u7684UUID\u548c\u7528\u6237\u540d
+login.invalid_password=\u65e0\u6548\u7684\u5bc6\u7801
+login.invalid_access_token=\u65e0\u6548\u7684\u8bbf\u95ee\u4ee4\u724c
+login.changed_client_token=\u670d\u52a1\u5668\u56de\u5e94\u5df2\u7ecf\u4fee\u6539\u5ba2\u6237\u7aef\u4ee4\u724c
+login.not_email=\u7528\u6237\u540d\u5fc5\u987b\u662f\u90ae\u7bb1
+login.type=\u767b\u5f55
+login.username=\u540d\u5b57
+login.account=\u90ae\u7bb1
+login.invalid_token=\u8bf7\u5c1d\u8bd5\u767b\u51fa\u5e76\u91cd\u65b0\u8f93\u5165\u5bc6\u7801\u767b\u5f55
+login.no_valid_character=\u65e0\u6709\u6548\u7684\u89d2\u8272\uff0c\u81ea\u884c\u5230skinme.cc\u767b\u9646\u5e76\u521b\u5efa\u89d2\u8272
+
+proxy.username=\u8d26\u6237
+proxy.password=\u5bc6\u7801
+proxy.host=\u4e3b\u673a
+proxy.port=\u7aef\u53e3
+
+login.failed.connect_authentication_server=\u65e0\u6cd5\u8fde\u63a5\u8ba4\u8bc1\u670d\u52a1\u5668,\u53ef\u80fd\u662f\u7f51\u7edc\u95ee\u9898
+
+login.profile.not_logged_in=\u65e0\u6cd5\u4fee\u6539\u6e38\u620f\u8d44\u6599\u540c\u65f6\u672a\u767b\u5f55
+login.profile.selected=\u65e0\u6cd5\u4fee\u6539\u6e38\u620f\u8d44\u6599. \u4f60\u5fc5\u987b\u767b\u51fa\u518d\u8fd4\u56de.
+
+login.methods.yggdrasil=\u6b63\u7248\u767b\u5f55
+login.methods.offline=\u79bb\u7ebf\u6a21\u5f0f
+login.methods.no_method=\u6ca1\u6709\u767b\u5165\u65b9\u5f0f...
+
+log.playername_null=\u73a9\u5bb6\u540d\u4e3a\u7a7a\uff0c\u8fd9\u4ee3\u8868\u7740\u767b\u5f55\u65b9\u6cd5\u51fa\u73b0\u95ee\u9898
+
+minecraft.no_selected_version=\u6ca1\u6709\u9009\u62e9\u4efb\u4f55\u4e00\u4e2aMinecraft\u7248\u672c
+minecraft.wrong_path=\u9519\u8bef\u7684Minecraft\u8def\u5f84\uff0c\u542f\u52a8\u5668\u672a\u627e\u5230\u8bbe\u5b9a\u7684Minecraft\u8def\u5f84\uff0c\u8bf7\u68c0\u67e5\u3002
+
+operation.stopped=\u64cd\u4f5c\u88ab\u5f3a\u884c\u7ec8\u6b62
+operation.confirm_stop=\u771f\u7684\u8981\u7ec8\u6b62\u64cd\u4f5c\u5417\uff1f
+
+ui.login.password=\u5bc6\u7801
+ui.more=\u66f4\u591a
+
+crash.advice.UnsupportedClassVersionError=\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u7684Java\u7248\u672c\u8fc7\u4e8e\u8001\u65e7\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u6362\u6700\u65b0Java\u5e76\u5728\u7248\u672c\u8bbe\u7f6e\u7684Java\u8def\u5f84\u4e2d\u8bbe\u7f6e.
+crash.advice.ConcurrentModificationException=\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u7684Java\u7248\u672c\u9ad8\u4e8eJava 1.8.0_11\u5bfc\u81f4\u7684,\u53ef\u4ee5\u5c1d\u8bd5\u5378\u8f7dJava8\u5b89\u88c5Java7\u3002
+crash.advice.ClassNotFoundException=Minecraft\u4e0d\u5b8c\u6574\u6216Mod\u51b2\u7a81\uff0c\u5982\u679c\u6709\u672a\u80fd\u4e0b\u8f7d\u7684\u6587\u4ef6\u8bf7\u4e0b\u8f7d\u6210\u529f\u540e\u91cd\u8bd5\u6216\u662f\u5ba2\u6237\u7aef\u635f\u574f\u8bf7\u91cd\u8bd5\u8bf7\u91cd\u65b0\u5236\u4f5c\u5ba2\u6237\u7aef\u6216\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.advice.NoSuchFieldError=Minecraft\u4e0d\u5b8c\u6574\u6216Mod\u51b2\u7a81\uff0c\u5982\u679c\u6709\u672a\u80fd\u4e0b\u8f7d\u7684\u6587\u4ef6\u8bf7\u4e0b\u8f7d\u6210\u529f\u540e\u91cd\u8bd5\u6216\u662f\u5ba2\u6237\u7aef\u635f\u574f\u8bf7\u91cd\u8bd5\u8bf7\u91cd\u65b0\u5236\u4f5c\u5ba2\u6237\u7aef\u6216\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.advice.LWJGLException=\u60a8\u7684\u7535\u8111\u4e0d\u6b63\u5e38\uff0c\u53ef\u80fd\u9700\u8981\u4f7f\u7528\u9a71\u52a8\u7cbe\u7075\u6216\u5176\u4ed6\u5b89\u88c5\u5668\u66f4\u65b0\u663e\u5361\u9a71\u52a8\u3002
+crash.advice.SecurityException=\u53ef\u80fd\u662f\u60a8\u4fee\u6539\u4e86minecraft.jar\u4f46\u672a\u5220\u9664META-INF\u6587\u4ef6\u5939\u7684\u539f\u56e0\u3002\u8bf7\u901a\u8fc7\u538b\u7f29\u8f6f\u4ef6\u5220\u9664jar\u4e2d\u7684META-INF\u6587\u4ef6\u5939\u3002
+crash.advice.OutOfMemoryError=\u5185\u5b58\u6ea2\u51fa\uff0c\u60a8\u8bbe\u7f6e\u7684Minecraft\u6700\u5927\u5185\u5b58\u8fc7\u5c0f\uff0c\u8bf7\u8c03\u5927\uff01
+crash.advice.otherwise=\u53ef\u80fd\u662fMod\u6216\u5176\u4ed6\u95ee\u9898\u3002
+
+crash.advice.OpenGL=\u53ef\u80fd\u662f\u663e\u5361/\u58f0\u5361\u9a71\u52a8\u95ee\u9898\uff0c\u4e5f\u53ef\u80fd\u662fMod\u5bfc\u81f4\u7684\u95ee\u9898\u3002
+crash.advice.no_lwjgl=\u53ef\u80fd\u662f\u6e38\u620f\u4f9d\u8d56\u5e93\u4e0d\u5b8c\u6574\u6216\u89e3\u538b\u4f9d\u8d56\u5e93\u65f6\u51fa\u9519\u3002\u53ef\u4ee5\u901a\u8fc7\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+
+crash.advice.no=\u65e0\u5efa\u8bae\u3002
+
+crash.user_fault=\u60a8\u7684\u7cfb\u7edf\u6216Java\u73af\u5883\u53ef\u80fd\u5b89\u88c5\u4e0d\u5f53\u5bfc\u81f4\u672c\u8f6f\u4ef6\u5d29\u6e83\uff0c\u8bf7\u68c0\u67e5\u60a8\u7684Java\u73af\u5883\u6216\u60a8\u7684\u7535\u8111\uff01\u53ef\u4ee5\u5c1d\u8bd5\u91cd\u65b0\u5b89\u88c5Java\u3002
+crash.headless=\u5982\u679c\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u662fLinux\uff0c\u8bf7\u6ce8\u610f\u4e0d\u8981\u4f7f\u7528OpenJDK\uff0c\u52a1\u5fc5\u4f7f\u7528Oracle JDK\uff0c\u6216\u5c1d\u8bd5\u6dfb\u52a0-Djava.awt.headless=false\u53c2\u6570\uff0c\u6216\u68c0\u67e5\u60a8\u7684Xserver\u662f\u5426\u6b63\u5e38
+crash.NoClassDefFound=\u8bf7\u786e\u8ba4HMCL\u672c\u4f53\u662f\u5426\u5b8c\u6574
+
+crash.error=\u60a8\u7684Minecraft\u5d29\u6e83\u4e86\u3002
+crash.main_class_not_found=\u627e\u4e0d\u5230\u4e3b\u7c7b\uff0c\u53ef\u80fd\u662f\u60a8\u7684JSON\u6587\u4ef6\u586b\u5199\u9519\u8bef\u3002\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\u3002\u53ef\u4ee5\u901a\u8fc7\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.class_path_wrong=\u89e3\u6790Class Path\u65f6\u51fa\u73b0\u9519\u8bef\uff0c\u6b64\u9519\u8bef\u672c\u4e0d\u5e94\u8be5\u53d1\u751f\u3002\u53ef\u80fd\u662f\u542f\u52a8\u811a\u672c\u9519\u8bef\uff0c\u8bf7\u4ed4\u7ec6\u68c0\u67e5\u542f\u52a8\u811a\u672c\u3002
+
+ui.label.newProfileWindow.new_profile_name=\u65b0\u914d\u7f6e\u540d:
+ui.label.newProfileWindow.copy_from=\u590d\u5236\u914d\u7f6e:
+ui.newProfileWindow.title=\u65b0\u5efa\u914d\u7f6e
+
+ui.button.ok=\u786e\u8ba4
+ui.button.refresh=\u5237\u65b0
+ui.button.run=\u542f\u52a8Minecraft
+ui.button.settings=
+ui.button.about=\u5173\u4e8e
+ui.button.others=\u5176\u4ed6
+ui.button.logout=\u767b\u51fa
+ui.button.download=\u4e0b\u8f7d
+ui.button.retry=\u91cd\u8bd5
+ui.button.delete=\u5220\u9664
+ui.button.install=\u5b89\u88c5
+ui.button.info=\u4fe1\u606f
+ui.button.save=\u4fdd\u5b58
+ui.button.copy=\u590d\u5236
+ui.button.clear=\u6e05\u9664
+ui.button.close=\u5173\u95ed
+ui.button.explore=\u6d4f\u89c8
+button.cancel=\u53d6\u6d88
+button.ok=\u786e\u5b9a
+
+ui.label.version=\u7248\u672c
+ui.label.password=\u5bc6\u7801
+ui.label.profile=\u914d\u7f6e
+
+ui.message.first_load=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u8d26\u53f7
+ui.message.enter_password=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u5bc6\u7801
+ui.message.launching=\u542f\u52a8\u4e2d
+ui.message.making=\u751f\u6210\u4e2d
+ui.message.sure_remove=\u771f\u7684\u8981\u5220\u9664\u914d\u7f6e%s\u5417\uff1f
+
+ui.label.settings=\u9009\u9879
+ui.label.crashing=Hello Minecraft!\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u8bf7\u590d\u5236\u4e0b\u5217\u5185\u5bb9\u5e76\u901a\u8fc7mcbbs\u3001\u8d34\u5427\u3001Github\u6216Minecraft Forum\u53cd\u9988bug\u3002
+ui.label.crashing_out_dated=Hello Minecraft! Launcher\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u5df2\u68c0\u6d4b\u5230\u60a8\u7684\u542f\u52a8\u5668\u4e0d\u662f\u6700\u65b0\u7248\u672c\uff0c\u8bf7\u66f4\u65b0\u540e\u518d\u8bd5\uff01
+ui.label.failed_set=\u8bbe\u7f6e\u5931\u8d25\uff1a
+
+download=\u4e0b\u8f7d
+download.mojang=\u5b98\u65b9
+download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
+download.rapid_data=RapidData (\u9510\u7f51\u4e91\u8ba1\u7b97, https://www.rapiddata.org/)
+download.not_200=\u4e0b\u8f7d\u5931\u8d25\uff0c\u56de\u590d\u7801
+download.failed=\u4e0b\u8f7d\u5931\u8d25
+download.successfully=\u4e0b\u8f7d\u5b8c\u6210
+
+message.error=\u9519\u8bef
+message.cannot_open_explorer=\u65e0\u6cd5\u6253\u5f00\u6587\u4ef6\u7ba1\u7406\u5668:
+message.cancelled=\u5df2\u53d6\u6d88
+message.info=\u63d0\u793a
+
+folder.game=\u6e38\u620f\u6587\u4ef6\u5939
+folder.mod=MOD\u6587\u4ef6\u5939
+folder.coremod=\u6838\u5fc3MOD\u6587\u4ef6\u5939
+folder.config=\u914d\u7f6e\u6587\u4ef6\u5939
+folder.resourcepacks=\u8d44\u6e90\u5305\u6587\u4ef6\u5939
+folder.screenshots=\u622a\u56fe\u6587\u4ef6\u5939
+folder.saves=\u5b58\u6863\u6587\u4ef6\u5939
+
+settings.tabs.game_download=\u6e38\u620f\u4e0b\u8f7d
+settings.tabs.installers=\u81ea\u52a8\u5b89\u88c5
+settings.tabs.assets_downloads=\u8d44\u6e90\u4e0b\u8f7d
+
+settings=\u666e\u901a\u8bbe\u7f6e
+settings.explore=\u6d4f\u89c8
+settings.manage=\u7ba1\u7406
+settings.cannot_remove_default_config=\u4e0d\u80fd\u5220\u9664\u9ed8\u8ba4\u914d\u7f6e
+settings.max_memory=\u6700\u5927\u5185\u5b58/MB
+settings.java_dir=Java\u8def\u5f84
+settings.game_directory=\u6e38\u620f\u8def\u5f84
+settings.dimension=\u5206\u8fa8\u7387
+settings.fullscreen=\u5168\u5c4f
+settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6
+settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f
+settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84
+settings.default=\u9ed8\u8ba4
+settings.custom=\u81ea\u5b9a\u4e49
+settings.choose_gamedir=\u9009\u62e9\u6e38\u620f\u8def\u5f84
+
+settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f
+
+mods=Mod\u7ba1\u7406
+mods.choose_mod=\u9009\u62e9\u6a21\u7ec4
+mods.failed=\u6dfb\u52a0\u5931\u8d25
+mods.add=\u6dfb\u52a0
+mods.remove=\u5220\u9664
+mods.default_information=\u5b89\u88c5Mod\u524d\u4f60\u9700\u8981\u786e\u4fdd\u5df2\u5b89\u88c5Forge\u6216LiteLoader!
\u60a8\u53ef\u4ee5\u4ece\u8d44\u6e90\u7ba1\u7406\u5668\u62d6\u52a8mod\u6587\u4ef6\u5230\u5217\u8868\u4e2d\u6765\u6dfb\u52a0mod\uff0c\u540c\u65f6\u4f7f\u7528\u5220\u9664\u952e\u53ef\u5feb\u901f\u5220\u9664\u9009\u4e2dmod
\u70b9\u6389mod\u524d\u9762\u7684\u52fe\u53ef\u7981\u7528mod\uff0c\u4e0d\u4f1a\u52a0\u8f7d\uff1b\u9009\u62e9mod\u53ef\u4ee5\u83b7\u53d6mod\u4fe1\u606f
+
+advancedsettings=\u9ad8\u7ea7\u8bbe\u7f6e
+advancedsettings.launcher_visible=\u542f\u52a8\u5668\u53ef\u89c1\u6027
+advancedsettings.run_directory=\u8fd0\u884c\u8def\u5f84
+advencedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
+advancedsettings.java_permanent_generation_space=\u5185\u5b58\u6c38\u4e45\u4fdd\u5b58\u533a\u57df(\u4e0d\u5fc5\u586b\u5199,MB)
+advancedsettings.jvm_args=Java\u865a\u62df\u673a\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
+advancedsettings.Minecraft_arguments=Minecraft\u989d\u5916\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
+advancedsettings.launcher_visibility.close=\u6e38\u620f\u542f\u52a8\u540e\u7ed3\u675f\u542f\u52a8\u5668
+advancedsettings.launcher_visibility.hide=\u6e38\u620f\u542f\u52a8\u540e\u9690\u85cf\u542f\u52a8\u5668
+advancedsettings.launcher_visibility.keep=\u4fdd\u6301\u542f\u52a8\u5668\u53ef\u89c1
+advancedsettings.game_dir.default=\u9ed8\u8ba4(.minecraft/)
+advancedsettings.game_dir.independent=\u5404\u7248\u672c\u72ec\u7acb(.minecraft/versions/<\u7248\u672c\u540d>/,\u9664assets,libraries)
+advancedsettings.no_jvm_args=\u4e0d\u6dfb\u52a0JVM\u53c2\u6570(\u4f7f\u7528Java9\u65f6\u5fc5\u52fe)
+advancedsettings.java_args_default=\u542f\u52a8\u5668\u9ed8\u8ba4\u6dfb\u52a0\u7684\u53c2\u6570\uff08\u8bf7\u4e0d\u8981\u91cd\u590d\u6dfb\u52a0\uff09\uff1a-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
+advancedsettings.wrapper_launcher=\u542f\u52a8\u524d\u6267\u884c\u547d\u4ee4(\u4e0d\u5fc5\u586b\u5199\uff0c\u5c06\u5728\u6e38\u620f\u542f\u52a8\u524d\u8c03\u7528)
+advancedsettings.server_ip=\u76f4\u5165\u670d\u52a1\u5668ip\u5730\u5740(\u4e0d\u5fc5\u586b\u5199\uff0c\u542f\u52a8\u6e38\u620f\u540e\u76f4\u63a5\u8fdb\u5165\u5bf9\u5e94\u670d\u52a1\u5668)
+advancedsettings.cancel_wrapper_launcher=\u53d6\u6d88\u5305\u88f9\u542f\u52a8\u5668\uff08\u51fa\u73b0\u5947\u602a\u95ee\u9898\u65f6\u53ef\u5c1d\u8bd5\u4f7f\u7528,\u4e0e\u8c03\u8bd5\u6a21\u5f0f\u51b2\u7a81\uff09
+
+mainwindow.show_log=\u67e5\u770b\u65e5\u5fd7
+mainwindow.make_launch_script=\u751f\u6210\u542f\u52a8\u811a\u672c
+mainwindow.make_launch_script_failed=\u751f\u6210\u542f\u52a8\u811a\u672c\u5931\u8d25
+mainwindow.enter_script_name=\u8f93\u5165\u8981\u751f\u6210\u811a\u672c\u7684\u6587\u4ef6\u540d
+mainwindow.make_launch_succeed=\u542f\u52a8\u811a\u672c\u5df2\u751f\u6210\u5b8c\u6bd5:
+mainwindow.no_version=\u672a\u627e\u5230\u4efb\u4f55\u7248\u672c\uff0c\u662f\u5426\u8fdb\u5165\u6e38\u620f\u4e0b\u8f7d\uff1f
+
+launcher.about=\u9ed8\u8ba4\u80cc\u666f\u56fe\u6765\u81eaLiberty Dome\u670d\u52a1\u5668\u3002
\u5173\u4e8e\u4f5c\u8005\uff1a
\n\u767e\u5ea6ID\uff1ahuanghongxun20
\nmcbbs\uff1ahuanghongxun
\n\u90ae\u7bb1\uff1ahuanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\n\u6b22\u8fce\u63d0\u4ea4Bug\u54e6
\nCopyright (c) 2013-2015 huangyuhui.
\u514d\u8d23\u58f0\u660e\uff1aMinecraft\u8f6f\u4ef6\u7248\u6743\u5f52Mojang AB\u6240\u6709\uff0c\u6e38\u620f\u7531\u4e8e\u8bef\u64cd\u4f5c\u672c\u542f\u52a8\u5668\u800c\u4e22\u5931\u6570\u636e\u7684\u6982\u4e0d\u8d1f\u8d23\u3002
\u672c\u542f\u52a8\u5668\u5728GPLv3\u534f\u8bae\u4e0b\u5f00\u6e90:http://github.com/huanghongxun/HMCL/
\u672c\u8f6f\u4ef6\u4f7f\u7528\u4e86\u57fa\u4e8eApache License 2.0\u7684RxJava\u548cGson\u9879\u76ee\uff0c\u611f\u8c22\u8d21\u732e\u8005\u3002
+launcher.download_source=\u4e0b\u8f7d\u6e90
+launcher.background_location=\u80cc\u666f\u5730\u5740
+launcher.exit_failed=\u5f3a\u5236\u9000\u51fa\u5931\u8d25\uff0c\u53ef\u80fd\u662fForge 1.7.10\u53ca\u66f4\u9ad8\u7248\u672c\u5bfc\u81f4\u7684\uff0c\u65e0\u6cd5\u89e3\u51b3\u3002
+launcher.versions_json_not_matched=\u7248\u672c%s\u683c\u5f0f\u4e0d\u89c4\u8303\uff01\u8be5\u7248\u672c\u6587\u4ef6\u5939\u4e0b\u6709json:%s\uff0c\u662f\u5426\u66f4\u540d\u8fd9\u4e2a\u6587\u4ef6\u6765\u89c4\u8303\u683c\u5f0f\uff1f
+launcher.versions_json_not_matched_cannot_auto_completion=\u7248\u672c%s\u7f3a\u5931\u5fc5\u8981\u7684\u7248\u672c\u4fe1\u606f\u6587\u4ef6\uff0c\u662f\u5426\u5220\u9664\u8be5\u7248\u672c\uff1f
+launcher.versions_json_not_formatted=\u7248\u672c%s\u4fe1\u606f\u6587\u4ef6\u683c\u5f0f\u9519\u8bef\uff0c\u662f\u5426\u91cd\u65b0\u4e0b\u8f7d\uff1f
+launcher.choose_bgpath=\u9009\u62e9\u80cc\u666f\u8def\u5f84
+launcher.background_tooltip=\n\n\u542f\u52a8\u5668\u9ed8\u8ba4\u4f7f\u7528\u81ea\u5e26\u7684\u80cc\u666f
\n\u5982\u679c\u5f53\u524d\u76ee\u5f55\u6709background.png\uff0c\u5219\u4f1a\u4f7f\u7528\u8be5\u6587\u4ef6\u4f5c\u4e3a\u80cc\u666f
\n\u5982\u679c\u5f53\u524d\u76ee\u5f55\u6709bg\u5b50\u76ee\u5f55\uff0c\u5219\u4f1a\u968f\u673a\u4f7f\u7528\u91cc\u9762\u7684\u4e00\u5f20\u56fe\u4f5c\u4e3a\u80cc\u666f
\n\u5982\u679c\u8be5\u80cc\u666f\u5730\u5740\u88ab\u4fee\u6539\uff0c\u5219\u4f1a\u4f7f\u7528\u80cc\u666f\u5730\u5740\u91cc\u7684\u4e00\u5f20\u56fe\u4f5c\u4e3a\u80cc\u666f
\n\u80cc\u666f\u5730\u5740\u5141\u8bb8\u6709\u591a\u4e2a\u5730\u5740\uff0c\u4f7f\u7528\u534a\u89d2\u5206\u53f7";"(\u4e0d\u5305\u542b\u53cc\u5f15\u53f7)\u5206\u9694\n\n
+launcher.update_launcher=\u68c0\u67e5\u66f4\u65b0
+launcher.enable_shadow=\u542f\u7528\u7a97\u53e3\u9634\u5f71(\u91cd\u542f\u542f\u52a8\u5668\u751f\u6548,\u53ef\u52a0\u5feb\u6e32\u67d3\u901f\u5ea6)
+launcher.theme=\u4e3b\u9898
+launcher.proxy=\u4ee3\u7406
+
+launcher.title.game=\u6e38\u620f\u8bbe\u7f6e
+launcher.title.main=\u4e3b\u9875
+launcher.title.launcher=\u542f\u52a8\u5668\u8bbe\u7f6e
+
+versions.release=\u7a33\u5b9a\u7248
+versions.snapshot=\u5feb\u7167\u7248
+versions.old_beta=\u6d4b\u8bd5\u7248
+versions.old_alpha=\u8fdc\u53e4\u7248
+
+versions.manage.rename=\u91cd\u547d\u540d\u8be5\u7248\u672c
+versions.manage.rename.message=\u8bf7\u8f93\u5165\u8981\u6539\u6210\u7684\u540d\u5b57
+versions.manage.remove=\u5220\u9664\u8be5\u7248\u672c
+versions.manage.remove.confirm=\u771f\u7684\u8981\u5220\u9664\u7248\u672c
+versions.manage.redownload_json=\u91cd\u65b0\u4e0b\u8f7d\u7248\u672c\u914d\u7f6e(minecraft.json)
+versions.manage.redownload_assets_index=\u91cd\u65b0\u4e0b\u8f7d\u8d44\u6e90\u914d\u7f6e(assets_index.json)
+
+advice.os64butjdk32=\u60a8\u7684\u7cfb\u7edf\u662f64\u4f4d\u7684\u4f46\u662fJava\u662f32\u4f4d\u7684\uff0c\u63a8\u8350\u60a8\u5b89\u88c564\u4f4dJava.
+
+assets.download_all=\u4e0b\u8f7d\u8d44\u6e90\u6587\u4ef6
+assets.not_refreshed=\u8d44\u6e90\u5217\u8868\u672a\u5237\u65b0\uff0c\u8bf7\u5237\u65b0\u4e00\u6b21\u3002
+assets.failed=\u83b7\u53d6\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u91cd\u8bd5\u3002
+assets.list.1_7_3_after=1.7.3\u53ca\u4ee5\u540e
+assets.list.1_6=1.6(BMCLAPI)
+assets.unkown_type_select_one=\u65e0\u6cd5\u89e3\u6790\u6e38\u620f\u7248\u672c\uff1a%s\uff0c\u8bf7\u9009\u62e9\u4e00\u79cd\u8d44\u6e90\u7c7b\u578b\u4e0b\u8f7d\u3002
+assets.type=\u8d44\u6e90\u7c7b\u578b
+assets.download=\u4e0b\u8f7d\u8d44\u6e90
+assets.no_assets=\u8d44\u6e90\u6587\u4ef6\u4e0d\u5b8c\u6574\uff0c\u662f\u5426\u8865\u5168\uff1f
+assets.failed_download=\u4e0b\u8f7d\u8d44\u6e90\u6587\u4ef6\u5931\u8d25\uff0c\u53ef\u80fd\u5bfc\u81f4\u6ca1\u6709\u4e2d\u6587\u548c\u58f0\u97f3\u3002
+
+gamedownload.not_refreshed=\u6e38\u620f\u4e0b\u8f7d\u5217\u8868\u672a\u5237\u65b0\uff0c\u8bf7\u518d\u5237\u65b0\u4e00\u6b21\u3002
+
+taskwindow.title=\u4efb\u52a1
+taskwindow.single_progress=\u5355\u9879\u8fdb\u5ea6
+taskwindow.total_progress=\u603b\u8fdb\u5ea6
+taskwindow.cancel=\u53d6\u6d88
+taskwindow.no_more_instance=\u53ef\u80fd\u540c\u65f6\u6253\u5f00\u4e86\u591a\u4e2a\u4efb\u52a1\u7a97\u53e3\uff0c\u8bf7\u4e0d\u8981\u591a\u6b21\u6253\u5f00\uff01
+taskwindow.file_name=\u4efb\u52a1
+taskwindow.download_progress=\u8fdb\u5ea6
+
+setupwindow.include_minecraft=\u5bfc\u5165\u6e38\u620f\u6587\u4ef6\u5939
+setupwindow.find_in_configurations=\u5bfc\u5165\u5b8c\u6210\uff0c\u5feb\u5230\u914d\u7f6e\u4e0b\u62c9\u6846\u4e2d\u627e\u65b0\u6e38\u620f\u8def\u5f84\u5427\uff01
+setupwindow.give_a_name=\u7ed9\u65b0\u6e38\u620f\u8def\u5f84\u8d77\u4e2a\u540d\u5b57\u5427
+setupwindow.new=\u65b0\u5efa
+setupwindow.no_empty_name=\u540d\u5b57\u4e0d\u53ef\u4e3a\u7a7a
+setupwindow.clean=\u6e05\u7406\u6e38\u620f\u6587\u4ef6
+
+update.no_browser=\u65e0\u6cd5\u6253\u5f00\u6d4f\u89c8\u5668\uff0c\u7f51\u5740\u5df2\u7ecf\u590d\u5236\u5230\u526a\u8d34\u677f\u4e86\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u7c98\u8d34\u7f51\u5740\u6253\u5f00\u9875\u9762
+update.should_open_link=\u662f\u5426\u524d\u5f80\u53d1\u5e03\u9875\u9762\u66f4\u65b0\uff1f
+update.newest_version=\u6700\u65b0\u7248\u672c\u4e3a\uff1a
+update.failed=\u68c0\u67e5\u66f4\u65b0\u5931\u8d25
+update.found=(\u53d1\u73b0\u66f4\u65b0!)
+
+logwindow.terminate_game=\u7ed3\u675f\u6e38\u620f\u8fdb\u7a0b
+logwindow.tieba=\u8d34\u5427
+logwindow.title=\u65e5\u5fd7
+
+selector.choose=\u9009\u62e9
+
+serverlistview.title=\u9009\u62e9\u670d\u52a1\u5668
+serverlistview.name=\u540d\u79f0
+serverlistview.type=\u7c7b\u578b
+serverlistview.version=\u7248\u672c
+serverlistview.info=\u4fe1\u606f
+
+minecraft.invalid=\u65e0\u6548\u7684
+minecraft.invalid_jar=\u65e0\u6548\u7684jar\u5305
+minecraft.not_a_file=\u4e0d\u662f\u6587\u4ef6
+minecraft.not_found=\u627e\u4e0d\u5230minecraft.jar
+minecraft.not_readable=minecraft.jar\u4e0d\u53ef\u8bfb
+minecraft.modified=(\u4fee\u6539\u7684!)
+
+color.red=\u7ea2\u8272
+color.blue=\u84dd\u8272
+color.green=\u7eff\u8272
+color.orange=\u6a59\u8272
+color.dark_blue=\u6df1\u84dd\u8272
+color.purple=\u7d2b\u8272
+=======
+# Hello Minecraft! Launcher.
+# Copyright (C) 2013 huangyuhui
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see {http://www.gnu.org/licenses/}.
+launch.failed=启动失败
+launch.failed_creating_process=启动失败,在创建新进程时发生错误,可能是Java路径错误。
+launch.failed_sh_permission=为启动文件添加权限时发生错误
+launch.failed_packing_jar=在打包jar时发生错误
+launch.unsupported_launcher_version=对不起,本启动器现在可能不能启动这个版本的Minecraft,但启动器还是会尝试启动,请尽快将此问题报告给作者。
+launch.too_big_memory_alloc_64bit=您设置的内存大小过大,由于可能超过了32位Java的内存分配限制,所以可能无法启动游戏,请将内存调至1024MB或更小,启动器仍会尝试启动。
+launch.too_big_memory_alloc_free_space_too_low=您设置的内存大小过大,由于超过了系统内存大小%dMB,所以可能影响游戏体验或无法启动游戏,启动器仍会尝试启动。
+launch.cannot_create_jvm=截获到无法创建Java虚拟机,可能是Java参数有问题,可以在设置中开启无参数模式启动
+launch.circular_dependency_versions=发现游戏版本循环引用,请确认您的客户端未被修改或修改导致出现此问题。
+launch.not_finished_downloading_libraries=未完成游戏依赖库的下载,还要继续启动游戏吗?
+launch.not_finished_decompressing_natives=未能解压游戏本地库,还要继续启动游戏吗?
+launch.wrong_javadir=错误的Java路径,将自动重置为默认Java路径。
+launch.exited_abnormally=游戏非正常退出,请查看日志文件,或联系他人寻求帮助。
+
+install.no_version=未找到要安装的对应MC版本
+install.no_version_if_intall=未找到要安装的对应MC版本,是否自动安装需要的MC版本?
+install.not_refreshed=未刷新列表
+install.download_list=下载列表
+
+install.liteloader.get_list=获取LiteLoader列表
+install.liteloader.install=安装LiteLoader
+
+install.forge.get_list=获取Forge列表
+install.forge.install=安装Forge
+install.forge.get_changelogs=获取Forge更新记录
+
+install.optifine.install=安装OptiFine
+install.optifine.get_list=获取OptiFine列表
+install.optifine.get_download_link=获取OptiFine下载地址
+
+install.failed_forge=安装Forge失败
+install.failed_optifine=安装Optifine失败
+install.failed_liteloader=安装LiteLoader失败
+install.failed_download_forge=下载Forge失败
+install.failed_download_optifine=下载Optifine失败
+install.failed=安装失败
+install.success=安装成功
+install.no_forge=没有安装Forge
+install.choose_forge=选择你安装的Forge版本
+install.version=版本
+install.mcversion=游戏版本
+install.time=时间
+install.release_time=释放时间
+install.type=类型
+install.please_refresh=如需使用自动安装请点击右侧刷新按钮
+
+crash.launcher=启动器崩溃了!
+crash.minecraft=Minecraft崩溃了!请认真阅读建议。
+
+login.choose_charactor=请选择您要使用的角色
+login.no_charactor=该帐号没有角色
+login.your_password=您的密码
+login.failed=登录失败:
+login.no_Player007=你还未设置用户名!
+login.wrong_password=可能是您的用户名或密码错误
+login.invalid_username=无效的用户名
+login.invalid_uuid_and_username=无效的UUID和用户名
+login.invalid_password=无效的密码
+login.invalid_access_token=无效的访问令牌
+login.changed_client_token=服务器回应已经修改客户端令牌
+login.not_email=用户名必须是邮箱
+login.type=登录
+login.username=名字
+login.account=邮箱
+login.invalid_token=请尝试登出并重新输入密码登录
+login.no_valid_character=无有效的角色,自行到skinme.cc登陆并创建角色
+
+proxy.username=账户
+proxy.password=密码
+proxy.host=主机
+proxy.port=端口
+
+login.failed.connect_authentication_server=无法连接认证服务器,可能是网络问题
+
+login.profile.not_logged_in=无法修改游戏资料同时未登录
+login.profile.selected=无法修改游戏资料. 你必须登出再返回.
+
+login.methods.yggdrasil=正版登录
+login.methods.offline=离线模式
+login.methods.no_method=没有登入方式...
+
+log.playername_null=玩家名为空,这代表着登录方法出现问题
+
+minecraft.no_selected_version=没有选择任何一个Minecraft版本
+minecraft.wrong_path=错误的Minecraft路径,启动器未找到设定的Minecraft路径,请检查。
+
+operation.stopped=操作被强行终止
+operation.confirm_stop=真的要终止操作吗?
+
+ui.login.password=密码
+ui.more=更多
+
+crash.advice.UnsupportedClassVersionError=这可能是因为您的Java版本过于老旧,可以尝试更换最新Java并在版本设置的Java路径中设置.
+crash.advice.ConcurrentModificationException=这可能是因为您的Java版本高于Java 1.8.0_11导致的,可以尝试卸载Java8安装Java7。
+crash.advice.ClassNotFoundException=Minecraft不完整或Mod冲突,如果有未能下载的文件请下载成功后重试或是客户端损坏请重试请重新制作客户端或下载整合包解决问题。
+crash.advice.NoSuchFieldError=Minecraft不完整或Mod冲突,如果有未能下载的文件请下载成功后重试或是客户端损坏请重试请重新制作客户端或下载整合包解决问题。
+crash.advice.LWJGLException=您的电脑不正常,可能需要使用驱动精灵或其他安装器更新显卡驱动。
+crash.advice.SecurityException=可能是您修改了minecraft.jar但未删除META-INF文件夹的原因。请通过压缩软件删除jar中的META-INF文件夹。
+crash.advice.OutOfMemoryError=内存溢出,您设置的Minecraft最大内存过小,请调大!
+crash.advice.otherwise=可能是Mod或其他问题。
+
+crash.advice.OpenGL=可能是显卡/声卡驱动问题,也可能是Mod导致的问题。
+crash.advice.no_lwjgl=可能是游戏依赖库不完整或解压依赖库时出错。可以通过下载整合包解决问题。
+
+crash.advice.no=无建议。
+
+crash.user_fault=您的系统或Java环境可能安装不当导致本软件崩溃,请检查您的Java环境或您的电脑!可以尝试重新安装Java。
+crash.headless=如果您的操作系统是Linux,请注意不要使用OpenJDK,务必使用Oracle JDK,或尝试添加-Djava.awt.headless=false参数,或检查您的Xserver是否正常
+crash.NoClassDefFound=请确认HMCL本体是否完整
+
+crash.error=您的Minecraft崩溃了。
+crash.main_class_not_found=找不到主类,可能是您的JSON文件填写错误。无法启动游戏。可以通过下载整合包解决问题。
+crash.class_path_wrong=解析Class Path时出现错误,此错误本不应该发生。可能是启动脚本错误,请仔细检查启动脚本。
+
+ui.label.newProfileWindow.new_profile_name=新配置名:
+ui.label.newProfileWindow.copy_from=复制配置:
+ui.newProfileWindow.title=新建配置
+
+ui.button.ok=确认
+ui.button.refresh=刷新
+ui.button.run=启动Minecraft
+ui.button.settings=
+ui.button.about=关于
+ui.button.others=其他
+ui.button.logout=登出
+ui.button.download=下载
+ui.button.retry=重试
+ui.button.delete=删除
+ui.button.install=安装
+ui.button.info=信息
+ui.button.save=保存
+ui.button.copy=复制
+ui.button.clear=清除
+ui.button.close=关闭
+ui.button.explore=浏览
+button.cancel=取消
+button.ok=确定
+
+ui.label.version=版本
+ui.label.password=密码
+ui.label.profile=配置
+
+ui.message.first_load=请在左边输入您的账号
+ui.message.enter_password=请在左边输入您的密码
+ui.message.launching=启动中
+ui.message.making=生成中
+ui.message.sure_remove=真的要删除配置%s吗?
+
+ui.label.settings=选项
+ui.label.crashing=Hello Minecraft!遇到了无法处理的错误,请复制下列内容并通过mcbbs、贴吧、Github或Minecraft Forum反馈bug。
+ui.label.crashing_out_dated=Hello Minecraft! Launcher遇到了无法处理的错误,已检测到您的启动器不是最新版本,请更新后再试!
+ui.label.failed_set=设置失败:
+
+download=下载
+download.mojang=官方
+download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
+download.rapid_data=RapidData (锐网云计算, https://www.rapiddata.org/)
+download.not_200=下载失败,回复码
+download.failed=下载失败
+download.successfully=下载完成
+
+message.error=错误
+message.cannot_open_explorer=无法打开文件管理器:
+message.cancelled=已取消
+message.info=提示
+
+folder.game=游戏文件夹
+folder.mod=MOD文件夹
+folder.coremod=核心MOD文件夹
+folder.config=配置文件夹
+folder.resourcepacks=资源包文件夹
+folder.screenshots=截图文件夹
+folder.saves=存档文件夹
+
+settings.tabs.game_download=游戏下载
+settings.tabs.installers=自动安装
+settings.tabs.assets_downloads=资源下载
+
+settings=普通设置
+settings.explore=浏览
+settings.manage=管理
+settings.cannot_remove_default_config=不能删除默认配置
+settings.max_memory=最大内存/MB
+settings.java_dir=Java路径
+settings.game_directory=游戏路径
+settings.dimension=分辨率
+settings.fullscreen=全屏
+settings.update_version=更新版本文件
+settings.physical_memory=物理内存大小
+settings.choose_javapath=选择Java路径
+settings.default=默认
+settings.custom=自定义
+settings.choose_gamedir=选择游戏路径
+
+settings.failed_load=设置文件加载失败,可能是升级了启动器或被人工修改造成错误,是否清除?
+
+mods=Mod管理
+mods.choose_mod=选择模组
+mods.failed=添加失败
+mods.add=添加
+mods.remove=删除
+mods.default_information=安装Mod前你需要确保已安装Forge或LiteLoader!
您可以从资源管理器拖动mod文件到列表中来添加mod,同时使用删除键可快速删除选中mod
点掉mod前面的勾可禁用mod,不会加载;选择mod可以获取mod信息
+
+advancedsettings=高级设置
+advancedsettings.launcher_visible=启动器可见性
+advancedsettings.run_directory=运行路径
+advencedsettings.debug_mode=调试模式
+advancedsettings.java_permanent_generation_space=内存永久保存区域(不必填写,MB)
+advancedsettings.jvm_args=Java虚拟机参数(不必填写)
+advancedsettings.Minecraft_arguments=Minecraft额外参数(不必填写)
+advancedsettings.launcher_visibility.close=游戏启动后结束启动器
+advancedsettings.launcher_visibility.hide=游戏启动后隐藏启动器
+advancedsettings.launcher_visibility.keep=保持启动器可见
+advancedsettings.game_dir.default=默认(.minecraft/)
+advancedsettings.game_dir.independent=各版本独立(.minecraft/versions/<版本名>/,除assets,libraries)
+advancedsettings.no_jvm_args=不添加JVM参数(使用Java9时必勾)
+advancedsettings.java_args_default=启动器默认添加的参数(请不要重复添加):-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
+advancedsettings.wrapper_launcher=启动前执行命令(不必填写,将在游戏启动前调用)
+advancedsettings.server_ip=直入服务器ip地址(不必填写,启动游戏后直接进入对应服务器)
+advancedsettings.cancel_wrapper_launcher=取消包裹启动器(出现奇怪问题时可尝试使用,与调试模式冲突)
+
+mainwindow.show_log=查看日志
+mainwindow.make_launch_script=生成启动脚本
+mainwindow.make_launch_script_failed=生成启动脚本失败
+mainwindow.enter_script_name=输入要生成脚本的文件名
+mainwindow.make_launch_succeed=启动脚本已生成完毕:
+mainwindow.no_version=未找到任何版本,是否进入游戏下载?
+
+launcher.about=默认背景图来自Liberty Dome服务器。
关于作者:
\n百度ID:huanghongxun20
\nmcbbs:huanghongxun
\n邮箱:huanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\n欢迎提交Bug哦
\nCopyright (c) 2013-2015 huangyuhui.
免责声明:Minecraft软件版权归Mojang AB所有,游戏由于误操作本启动器而丢失数据的概不负责。
本启动器在GPLv3协议下开源:http://github.com/huanghongxun/HMCL/
本软件使用了基于Apache License 2.0的RxJava和Gson项目,感谢贡献者。
+launcher.download_source=下载源
+launcher.background_location=背景地址
+launcher.exit_failed=强制退出失败,可能是Forge 1.7.10及更高版本导致的,无法解决。
+launcher.versions_json_not_matched=版本%s格式不规范!该版本文件夹下有json:%s,是否更名这个文件来规范格式?
+launcher.versions_json_not_matched_cannot_auto_completion=版本%s缺失必要的版本信息文件,是否删除该版本?
+launcher.versions_json_not_formatted=版本%s信息文件格式错误,是否重新下载?
+launcher.choose_bgpath=选择背景路径
+launcher.background_tooltip=\n\n启动器默认使用自带的背景
\n如果当前目录有background.png,则会使用该文件作为背景
\n如果当前目录有bg子目录,则会随机使用里面的一张图作为背景
\n如果该背景地址被修改,则会使用背景地址里的一张图作为背景
\n背景地址允许有多个地址,使用半角分号";"(不包含双引号)分隔\n\n
+launcher.update_launcher=检查更新
+launcher.enable_shadow=启用窗口阴影(重启启动器生效,可加快渲染速度)
+launcher.theme=主题
+launcher.proxy=代理
+
+launcher.title.game=游戏设置
+launcher.title.main=主页
+launcher.title.launcher=启动器设置
+
+versions.release=稳定版
+versions.snapshot=快照版
+versions.old_beta=测试版
+versions.old_alpha=远古版
+
+versions.manage.rename=重命名该版本
+versions.manage.rename.message=请输入要改成的名字
+versions.manage.remove=删除该版本
+versions.manage.remove.confirm=真的要删除版本
+versions.manage.redownload_json=重新下载版本配置(minecraft.json)
+versions.manage.redownload_assets_index=重新下载资源配置(assets_index.json)
+
+advice.os64butjdk32=您的系统是64位的但是Java是32位的,推荐您安装64位Java.
+
+assets.download_all=下载资源文件
+assets.not_refreshed=资源列表未刷新,请刷新一次。
+assets.failed=获取列表失败,请刷新重试。
+assets.list.1_7_3_after=1.7.3及以后
+assets.list.1_6=1.6(BMCLAPI)
+assets.unkown_type_select_one=无法解析游戏版本:%s,请选择一种资源类型下载。
+assets.type=资源类型
+assets.download=下载资源
+assets.no_assets=资源文件不完整,是否补全?
+assets.failed_download=下载资源文件失败,可能导致没有中文和声音。
+
+gamedownload.not_refreshed=游戏下载列表未刷新,请再刷新一次。
+
+taskwindow.title=任务
+taskwindow.single_progress=单项进度
+taskwindow.total_progress=总进度
+taskwindow.cancel=取消
+taskwindow.no_more_instance=可能同时打开了多个任务窗口,请不要多次打开!
+taskwindow.file_name=任务
+taskwindow.download_progress=进度
+
+setupwindow.include_minecraft=导入游戏文件夹
+setupwindow.find_in_configurations=导入完成,快到配置下拉框中找新游戏路径吧!
+setupwindow.give_a_name=给新游戏路径起个名字吧
+setupwindow.new=新建
+setupwindow.no_empty_name=名字不可为空
+setupwindow.clean=清理游戏文件
+
+update.no_browser=无法打开浏览器,网址已经复制到剪贴板了,您可以手动粘贴网址打开页面
+update.should_open_link=是否前往发布页面更新?
+update.newest_version=最新版本为:
+update.failed=检查更新失败
+update.found=(发现更新!)
+
+logwindow.terminate_game=结束游戏进程
+logwindow.tieba=贴吧
+logwindow.title=日志
+
+selector.choose=选择
+
+minecraft.invalid=无效的
+minecraft.invalid_jar=无效的jar包
+minecraft.not_a_file=不是文件
+minecraft.not_found=找不到minecraft.jar
+minecraft.not_readable=minecraft.jar不可读
+minecraft.modified=(修改的!)
+
+color.red=红色
+color.blue=蓝色
+color.green=绿色
+color.orange=橙色
+color.dark_blue=深蓝色
+color.purple=紫色
+>>>>>>> 4e5fd99a3c9c2f014589c302282e0aece7be6463
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_BASE_7850.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_BASE_7850.properties
new file mode 100644
index 000000000..a2df2e16e
--- /dev/null
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_BASE_7850.properties
@@ -0,0 +1,328 @@
+# Hello Minecraft! Launcher.
+# Copyright (C) 2013 huangyuhui
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see {http://www.gnu.org/licenses/}.
+launch.failed=\u542f\u52a8\u5931\u8d25
+launch.failed_creating_process=\u542f\u52a8\u5931\u8d25\uff0c\u5728\u521b\u5efa\u65b0\u8fdb\u7a0b\u65f6\u53d1\u751f\u9519\u8bef\uff0c\u53ef\u80fd\u662fJava\u8def\u5f84\u9519\u8bef\u3002
+launch.failed_sh_permission=\u4e3a\u542f\u52a8\u6587\u4ef6\u6dfb\u52a0\u6743\u9650\u65f6\u53d1\u751f\u9519\u8bef
+launch.failed_packing_jar=\u5728\u6253\u5305jar\u65f6\u53d1\u751f\u9519\u8bef
+launch.unsupported_launcher_version=\u5bf9\u4e0d\u8d77\uff0c\u672c\u542f\u52a8\u5668\u73b0\u5728\u53ef\u80fd\u4e0d\u80fd\u542f\u52a8\u8fd9\u4e2a\u7248\u672c\u7684Minecraft\uff0c\u4f46\u542f\u52a8\u5668\u8fd8\u662f\u4f1a\u5c1d\u8bd5\u542f\u52a8\uff0c\u8bf7\u5c3d\u5feb\u5c06\u6b64\u95ee\u9898\u62a5\u544a\u7ed9\u4f5c\u8005\u3002
+launch.too_big_memory_alloc_64bit=\u60a8\u8bbe\u7f6e\u7684\u5185\u5b58\u5927\u5c0f\u8fc7\u5927\uff0c\u7531\u4e8e\u53ef\u80fd\u8d85\u8fc7\u4e8632\u4f4dJava\u7684\u5185\u5b58\u5206\u914d\u9650\u5236\uff0c\u6240\u4ee5\u53ef\u80fd\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\uff0c\u8bf7\u5c06\u5185\u5b58\u8c03\u81f31024MB\u6216\u66f4\u5c0f\uff0c\u542f\u52a8\u5668\u4ecd\u4f1a\u5c1d\u8bd5\u542f\u52a8\u3002
+launch.too_big_memory_alloc_free_space_too_low=\u60a8\u8bbe\u7f6e\u7684\u5185\u5b58\u5927\u5c0f\u8fc7\u5927\uff0c\u7531\u4e8e\u8d85\u8fc7\u4e86\u7cfb\u7edf\u5185\u5b58\u5927\u5c0f%dMB\uff0c\u6240\u4ee5\u53ef\u80fd\u5f71\u54cd\u6e38\u620f\u4f53\u9a8c\u6216\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\uff0c\u542f\u52a8\u5668\u4ecd\u4f1a\u5c1d\u8bd5\u542f\u52a8\u3002
+launch.cannot_create_jvm=\u622a\u83b7\u5230\u65e0\u6cd5\u521b\u5efaJava\u865a\u62df\u673a\uff0c\u53ef\u80fd\u662fJava\u53c2\u6570\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u5728\u8bbe\u7f6e\u4e2d\u5f00\u542f\u65e0\u53c2\u6570\u6a21\u5f0f\u542f\u52a8
+launch.circular_dependency_versions=\u53d1\u73b0\u6e38\u620f\u7248\u672c\u5faa\u73af\u5f15\u7528\uff0c\u8bf7\u786e\u8ba4\u60a8\u7684\u5ba2\u6237\u7aef\u672a\u88ab\u4fee\u6539\u6216\u4fee\u6539\u5bfc\u81f4\u51fa\u73b0\u6b64\u95ee\u9898\u3002
+launch.not_finished_downloading_libraries=\u672a\u5b8c\u6210\u6e38\u620f\u4f9d\u8d56\u5e93\u7684\u4e0b\u8f7d\uff0c\u8fd8\u8981\u7ee7\u7eed\u542f\u52a8\u6e38\u620f\u5417\uff1f
+launch.not_finished_decompressing_natives=\u672a\u80fd\u89e3\u538b\u6e38\u620f\u672c\u5730\u5e93\uff0c\u8fd8\u8981\u7ee7\u7eed\u542f\u52a8\u6e38\u620f\u5417\uff1f
+launch.wrong_javadir=\u9519\u8bef\u7684Java\u8def\u5f84\uff0c\u5c06\u81ea\u52a8\u91cd\u7f6e\u4e3a\u9ed8\u8ba4Java\u8def\u5f84\u3002
+launch.exited_abnormally=\u6e38\u620f\u975e\u6b63\u5e38\u9000\u51fa\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u6587\u4ef6\uff0c\u6216\u8054\u7cfb\u4ed6\u4eba\u5bfb\u6c42\u5e2e\u52a9\u3002
+
+install.no_version=\u672a\u627e\u5230\u8981\u5b89\u88c5\u7684\u5bf9\u5e94MC\u7248\u672c
+install.no_version_if_intall=\u672a\u627e\u5230\u8981\u5b89\u88c5\u7684\u5bf9\u5e94MC\u7248\u672c\uff0c\u662f\u5426\u81ea\u52a8\u5b89\u88c5\u9700\u8981\u7684MC\u7248\u672c\uff1f
+install.not_refreshed=\u672a\u5237\u65b0\u5217\u8868
+install.download_list=\u4e0b\u8f7d\u5217\u8868
+
+install.liteloader.get_list=\u83b7\u53d6LiteLoader\u5217\u8868
+install.liteloader.install=\u5b89\u88c5LiteLoader
+
+install.forge.get_list=\u83b7\u53d6Forge\u5217\u8868
+install.forge.install=\u5b89\u88c5Forge
+install.forge.get_changelogs=\u83b7\u53d6Forge\u66f4\u65b0\u8bb0\u5f55
+
+install.optifine.install=\u5b89\u88c5OptiFine
+install.optifine.get_list=\u83b7\u53d6OptiFine\u5217\u8868
+install.optifine.get_download_link=\u83b7\u53d6OptiFine\u4e0b\u8f7d\u5730\u5740
+
+install.failed_forge=\u5b89\u88c5Forge\u5931\u8d25
+install.failed_optifine=\u5b89\u88c5Optifine\u5931\u8d25
+install.failed_liteloader=\u5b89\u88c5LiteLoader\u5931\u8d25
+install.failed_download_forge=\u4e0b\u8f7dForge\u5931\u8d25
+install.failed_download_optifine=\u4e0b\u8f7dOptifine\u5931\u8d25
+install.failed=\u5b89\u88c5\u5931\u8d25
+install.success=\u5b89\u88c5\u6210\u529f
+install.no_forge=\u6ca1\u6709\u5b89\u88c5Forge
+install.choose_forge=\u9009\u62e9\u4f60\u5b89\u88c5\u7684Forge\u7248\u672c
+install.version=\u7248\u672c
+install.mcversion=\u6e38\u620f\u7248\u672c
+install.time=\u65f6\u95f4
+install.release_time=\u91ca\u653e\u65f6\u95f4
+install.type=\u7c7b\u578b
+install.please_refresh=\u5982\u9700\u4f7f\u7528\u81ea\u52a8\u5b89\u88c5\u8bf7\u70b9\u51fb\u53f3\u4fa7\u5237\u65b0\u6309\u94ae
+
+crash.launcher=\u542f\u52a8\u5668\u5d29\u6e83\u4e86\uff01
+crash.minecraft=Minecraft\u5d29\u6e83\u4e86\uff01\u8bf7\u8ba4\u771f\u9605\u8bfb\u5efa\u8bae\u3002
+
+login.choose_charactor=\u8bf7\u9009\u62e9\u60a8\u8981\u4f7f\u7528\u7684\u89d2\u8272
+login.no_charactor=\u8be5\u5e10\u53f7\u6ca1\u6709\u89d2\u8272
+login.your_password=\u60a8\u7684\u5bc6\u7801
+login.failed=\u767b\u5f55\u5931\u8d25\uff1a
+login.no_Player007=\u4f60\u8fd8\u672a\u8bbe\u7f6e\u7528\u6237\u540d\uff01
+login.wrong_password=\u53ef\u80fd\u662f\u60a8\u7684\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef
+login.invalid_username=\u65e0\u6548\u7684\u7528\u6237\u540d
+login.invalid_uuid_and_username=\u65e0\u6548\u7684UUID\u548c\u7528\u6237\u540d
+login.invalid_password=\u65e0\u6548\u7684\u5bc6\u7801
+login.invalid_access_token=\u65e0\u6548\u7684\u8bbf\u95ee\u4ee4\u724c
+login.changed_client_token=\u670d\u52a1\u5668\u56de\u5e94\u5df2\u7ecf\u4fee\u6539\u5ba2\u6237\u7aef\u4ee4\u724c
+login.not_email=\u7528\u6237\u540d\u5fc5\u987b\u662f\u90ae\u7bb1
+login.type=\u767b\u5f55
+login.username=\u540d\u5b57
+login.account=\u90ae\u7bb1
+login.invalid_token=\u8bf7\u5c1d\u8bd5\u767b\u51fa\u5e76\u91cd\u65b0\u8f93\u5165\u5bc6\u7801\u767b\u5f55
+login.no_valid_character=\u65e0\u6709\u6548\u7684\u89d2\u8272\uff0c\u81ea\u884c\u5230skinme.cc\u767b\u9646\u5e76\u521b\u5efa\u89d2\u8272
+
+proxy.username=\u8d26\u6237
+proxy.password=\u5bc6\u7801
+proxy.host=\u4e3b\u673a
+proxy.port=\u7aef\u53e3
+
+login.failed.connect_authentication_server=\u65e0\u6cd5\u8fde\u63a5\u8ba4\u8bc1\u670d\u52a1\u5668,\u53ef\u80fd\u662f\u7f51\u7edc\u95ee\u9898
+
+login.profile.not_logged_in=\u65e0\u6cd5\u4fee\u6539\u6e38\u620f\u8d44\u6599\u540c\u65f6\u672a\u767b\u5f55
+login.profile.selected=\u65e0\u6cd5\u4fee\u6539\u6e38\u620f\u8d44\u6599. \u4f60\u5fc5\u987b\u767b\u51fa\u518d\u8fd4\u56de.
+
+login.methods.yggdrasil=\u6b63\u7248\u767b\u5f55
+login.methods.offline=\u79bb\u7ebf\u6a21\u5f0f
+login.methods.no_method=\u6ca1\u6709\u767b\u5165\u65b9\u5f0f...
+
+log.playername_null=\u73a9\u5bb6\u540d\u4e3a\u7a7a\uff0c\u8fd9\u4ee3\u8868\u7740\u767b\u5f55\u65b9\u6cd5\u51fa\u73b0\u95ee\u9898
+
+minecraft.no_selected_version=\u6ca1\u6709\u9009\u62e9\u4efb\u4f55\u4e00\u4e2aMinecraft\u7248\u672c
+minecraft.wrong_path=\u9519\u8bef\u7684Minecraft\u8def\u5f84\uff0c\u542f\u52a8\u5668\u672a\u627e\u5230\u8bbe\u5b9a\u7684Minecraft\u8def\u5f84\uff0c\u8bf7\u68c0\u67e5\u3002
+
+operation.stopped=\u64cd\u4f5c\u88ab\u5f3a\u884c\u7ec8\u6b62
+operation.confirm_stop=\u771f\u7684\u8981\u7ec8\u6b62\u64cd\u4f5c\u5417\uff1f
+
+ui.login.password=\u5bc6\u7801
+ui.more=\u66f4\u591a
+
+crash.advice.UnsupportedClassVersionError=\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u7684Java\u7248\u672c\u8fc7\u4e8e\u8001\u65e7\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u6362\u6700\u65b0Java\u5e76\u5728\u7248\u672c\u8bbe\u7f6e\u7684Java\u8def\u5f84\u4e2d\u8bbe\u7f6e.
+crash.advice.ConcurrentModificationException=\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u7684Java\u7248\u672c\u9ad8\u4e8eJava 1.8.0_11\u5bfc\u81f4\u7684,\u53ef\u4ee5\u5c1d\u8bd5\u5378\u8f7dJava8\u5b89\u88c5Java7\u3002
+crash.advice.ClassNotFoundException=Minecraft\u4e0d\u5b8c\u6574\u6216Mod\u51b2\u7a81\uff0c\u5982\u679c\u6709\u672a\u80fd\u4e0b\u8f7d\u7684\u6587\u4ef6\u8bf7\u4e0b\u8f7d\u6210\u529f\u540e\u91cd\u8bd5\u6216\u662f\u5ba2\u6237\u7aef\u635f\u574f\u8bf7\u91cd\u8bd5\u8bf7\u91cd\u65b0\u5236\u4f5c\u5ba2\u6237\u7aef\u6216\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.advice.NoSuchFieldError=Minecraft\u4e0d\u5b8c\u6574\u6216Mod\u51b2\u7a81\uff0c\u5982\u679c\u6709\u672a\u80fd\u4e0b\u8f7d\u7684\u6587\u4ef6\u8bf7\u4e0b\u8f7d\u6210\u529f\u540e\u91cd\u8bd5\u6216\u662f\u5ba2\u6237\u7aef\u635f\u574f\u8bf7\u91cd\u8bd5\u8bf7\u91cd\u65b0\u5236\u4f5c\u5ba2\u6237\u7aef\u6216\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.advice.LWJGLException=\u60a8\u7684\u7535\u8111\u4e0d\u6b63\u5e38\uff0c\u53ef\u80fd\u9700\u8981\u4f7f\u7528\u9a71\u52a8\u7cbe\u7075\u6216\u5176\u4ed6\u5b89\u88c5\u5668\u66f4\u65b0\u663e\u5361\u9a71\u52a8\u3002
+crash.advice.SecurityException=\u53ef\u80fd\u662f\u60a8\u4fee\u6539\u4e86minecraft.jar\u4f46\u672a\u5220\u9664META-INF\u6587\u4ef6\u5939\u7684\u539f\u56e0\u3002\u8bf7\u901a\u8fc7\u538b\u7f29\u8f6f\u4ef6\u5220\u9664jar\u4e2d\u7684META-INF\u6587\u4ef6\u5939\u3002
+crash.advice.OutOfMemoryError=\u5185\u5b58\u6ea2\u51fa\uff0c\u60a8\u8bbe\u7f6e\u7684Minecraft\u6700\u5927\u5185\u5b58\u8fc7\u5c0f\uff0c\u8bf7\u8c03\u5927\uff01
+crash.advice.otherwise=\u53ef\u80fd\u662fMod\u6216\u5176\u4ed6\u95ee\u9898\u3002
+
+crash.advice.OpenGL=\u53ef\u80fd\u662f\u663e\u5361/\u58f0\u5361\u9a71\u52a8\u95ee\u9898\uff0c\u4e5f\u53ef\u80fd\u662fMod\u5bfc\u81f4\u7684\u95ee\u9898\u3002
+crash.advice.no_lwjgl=\u53ef\u80fd\u662f\u6e38\u620f\u4f9d\u8d56\u5e93\u4e0d\u5b8c\u6574\u6216\u89e3\u538b\u4f9d\u8d56\u5e93\u65f6\u51fa\u9519\u3002\u53ef\u4ee5\u901a\u8fc7\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+
+crash.advice.no=\u65e0\u5efa\u8bae\u3002
+
+crash.user_fault=\u60a8\u7684\u7cfb\u7edf\u6216Java\u73af\u5883\u53ef\u80fd\u5b89\u88c5\u4e0d\u5f53\u5bfc\u81f4\u672c\u8f6f\u4ef6\u5d29\u6e83\uff0c\u8bf7\u68c0\u67e5\u60a8\u7684Java\u73af\u5883\u6216\u60a8\u7684\u7535\u8111\uff01\u53ef\u4ee5\u5c1d\u8bd5\u91cd\u65b0\u5b89\u88c5Java\u3002
+crash.headless=\u5982\u679c\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u662fLinux\uff0c\u8bf7\u6ce8\u610f\u4e0d\u8981\u4f7f\u7528OpenJDK\uff0c\u52a1\u5fc5\u4f7f\u7528Oracle JDK\uff0c\u6216\u5c1d\u8bd5\u6dfb\u52a0-Djava.awt.headless=false\u53c2\u6570\uff0c\u6216\u68c0\u67e5\u60a8\u7684Xserver\u662f\u5426\u6b63\u5e38
+crash.NoClassDefFound=\u8bf7\u786e\u8ba4HMCL\u672c\u4f53\u662f\u5426\u5b8c\u6574
+
+crash.error=\u60a8\u7684Minecraft\u5d29\u6e83\u4e86\u3002
+crash.main_class_not_found=\u627e\u4e0d\u5230\u4e3b\u7c7b\uff0c\u53ef\u80fd\u662f\u60a8\u7684JSON\u6587\u4ef6\u586b\u5199\u9519\u8bef\u3002\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\u3002\u53ef\u4ee5\u901a\u8fc7\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.class_path_wrong=\u89e3\u6790Class Path\u65f6\u51fa\u73b0\u9519\u8bef\uff0c\u6b64\u9519\u8bef\u672c\u4e0d\u5e94\u8be5\u53d1\u751f\u3002\u53ef\u80fd\u662f\u542f\u52a8\u811a\u672c\u9519\u8bef\uff0c\u8bf7\u4ed4\u7ec6\u68c0\u67e5\u542f\u52a8\u811a\u672c\u3002
+
+ui.label.newProfileWindow.new_profile_name=\u65b0\u914d\u7f6e\u540d:
+ui.label.newProfileWindow.copy_from=\u590d\u5236\u914d\u7f6e:
+ui.newProfileWindow.title=\u65b0\u5efa\u914d\u7f6e
+
+ui.button.ok=\u786e\u8ba4
+ui.button.refresh=\u5237\u65b0
+ui.button.run=\u542f\u52a8Minecraft
+ui.button.settings=
+ui.button.about=\u5173\u4e8e
+ui.button.others=\u5176\u4ed6
+ui.button.logout=\u767b\u51fa
+ui.button.download=\u4e0b\u8f7d
+ui.button.retry=\u91cd\u8bd5
+ui.button.delete=\u5220\u9664
+ui.button.install=\u5b89\u88c5
+ui.button.info=\u4fe1\u606f
+ui.button.save=\u4fdd\u5b58
+ui.button.copy=\u590d\u5236
+ui.button.clear=\u6e05\u9664
+ui.button.close=\u5173\u95ed
+ui.button.explore=\u6d4f\u89c8
+button.cancel=\u53d6\u6d88
+button.ok=\u786e\u5b9a
+
+ui.label.version=\u7248\u672c
+ui.label.password=\u5bc6\u7801
+ui.label.profile=\u914d\u7f6e
+
+ui.message.first_load=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u8d26\u53f7
+ui.message.enter_password=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u5bc6\u7801
+ui.message.launching=\u542f\u52a8\u4e2d
+ui.message.making=\u751f\u6210\u4e2d
+ui.message.sure_remove=\u771f\u7684\u8981\u5220\u9664\u914d\u7f6e%s\u5417\uff1f
+
+ui.label.settings=\u9009\u9879
+ui.label.crashing=Hello Minecraft!\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u8bf7\u590d\u5236\u4e0b\u5217\u5185\u5bb9\u5e76\u901a\u8fc7mcbbs\u3001\u8d34\u5427\u3001Github\u6216Minecraft Forum\u53cd\u9988bug\u3002
+ui.label.crashing_out_dated=Hello Minecraft! Launcher\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u5df2\u68c0\u6d4b\u5230\u60a8\u7684\u542f\u52a8\u5668\u4e0d\u662f\u6700\u65b0\u7248\u672c\uff0c\u8bf7\u66f4\u65b0\u540e\u518d\u8bd5\uff01
+ui.label.failed_set=\u8bbe\u7f6e\u5931\u8d25\uff1a
+
+download=\u4e0b\u8f7d
+download.mojang=\u5b98\u65b9
+download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
+download.rapid_data=RapidData (\u9510\u7f51\u4e91\u8ba1\u7b97, https://www.rapiddata.org/)
+download.not_200=\u4e0b\u8f7d\u5931\u8d25\uff0c\u56de\u590d\u7801
+download.failed=\u4e0b\u8f7d\u5931\u8d25
+download.successfully=\u4e0b\u8f7d\u5b8c\u6210
+
+message.error=\u9519\u8bef
+message.cannot_open_explorer=\u65e0\u6cd5\u6253\u5f00\u6587\u4ef6\u7ba1\u7406\u5668:
+message.cancelled=\u5df2\u53d6\u6d88
+message.info=\u63d0\u793a
+
+folder.game=\u6e38\u620f\u6587\u4ef6\u5939
+folder.mod=MOD\u6587\u4ef6\u5939
+folder.coremod=\u6838\u5fc3MOD\u6587\u4ef6\u5939
+folder.config=\u914d\u7f6e\u6587\u4ef6\u5939
+folder.resourcepacks=\u8d44\u6e90\u5305\u6587\u4ef6\u5939
+folder.screenshots=\u622a\u56fe\u6587\u4ef6\u5939
+folder.saves=\u5b58\u6863\u6587\u4ef6\u5939
+
+settings.tabs.game_download=\u6e38\u620f\u4e0b\u8f7d
+settings.tabs.installers=\u81ea\u52a8\u5b89\u88c5
+settings.tabs.assets_downloads=\u8d44\u6e90\u4e0b\u8f7d
+
+settings=\u666e\u901a\u8bbe\u7f6e
+settings.explore=\u6d4f\u89c8
+settings.manage=\u7ba1\u7406
+settings.cannot_remove_default_config=\u4e0d\u80fd\u5220\u9664\u9ed8\u8ba4\u914d\u7f6e
+settings.max_memory=\u6700\u5927\u5185\u5b58/MB
+settings.java_dir=Java\u8def\u5f84
+settings.game_directory=\u6e38\u620f\u8def\u5f84
+settings.dimension=\u5206\u8fa8\u7387
+settings.fullscreen=\u5168\u5c4f
+settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6
+settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f
+settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84
+settings.default=\u9ed8\u8ba4
+settings.custom=\u81ea\u5b9a\u4e49
+settings.choose_gamedir=\u9009\u62e9\u6e38\u620f\u8def\u5f84
+
+settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f
+
+mods=Mod\u7ba1\u7406
+mods.choose_mod=\u9009\u62e9\u6a21\u7ec4
+mods.failed=\u6dfb\u52a0\u5931\u8d25
+mods.add=\u6dfb\u52a0
+mods.remove=\u5220\u9664
+mods.default_information=\u5b89\u88c5Mod\u524d\u4f60\u9700\u8981\u786e\u4fdd\u5df2\u5b89\u88c5Forge\u6216LiteLoader!
\u60a8\u53ef\u4ee5\u4ece\u8d44\u6e90\u7ba1\u7406\u5668\u62d6\u52a8mod\u6587\u4ef6\u5230\u5217\u8868\u4e2d\u6765\u6dfb\u52a0mod\uff0c\u540c\u65f6\u4f7f\u7528\u5220\u9664\u952e\u53ef\u5feb\u901f\u5220\u9664\u9009\u4e2dmod
\u70b9\u6389mod\u524d\u9762\u7684\u52fe\u53ef\u7981\u7528mod\uff0c\u4e0d\u4f1a\u52a0\u8f7d\uff1b\u9009\u62e9mod\u53ef\u4ee5\u83b7\u53d6mod\u4fe1\u606f
+
+advancedsettings=\u9ad8\u7ea7\u8bbe\u7f6e
+advancedsettings.launcher_visible=\u542f\u52a8\u5668\u53ef\u89c1\u6027
+advancedsettings.run_directory=\u8fd0\u884c\u8def\u5f84
+advencedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
+advancedsettings.java_permanent_generation_space=\u5185\u5b58\u6c38\u4e45\u4fdd\u5b58\u533a\u57df(\u4e0d\u5fc5\u586b\u5199,MB)
+advancedsettings.jvm_args=Java\u865a\u62df\u673a\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
+advancedsettings.Minecraft_arguments=Minecraft\u989d\u5916\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
+advancedsettings.launcher_visibility.close=\u6e38\u620f\u542f\u52a8\u540e\u7ed3\u675f\u542f\u52a8\u5668
+advancedsettings.launcher_visibility.hide=\u6e38\u620f\u542f\u52a8\u540e\u9690\u85cf\u542f\u52a8\u5668
+advancedsettings.launcher_visibility.keep=\u4fdd\u6301\u542f\u52a8\u5668\u53ef\u89c1
+advancedsettings.game_dir.default=\u9ed8\u8ba4(.minecraft/)
+advancedsettings.game_dir.independent=\u5404\u7248\u672c\u72ec\u7acb(.minecraft/versions/<\u7248\u672c\u540d>/,\u9664assets,libraries)
+advancedsettings.no_jvm_args=\u4e0d\u6dfb\u52a0JVM\u53c2\u6570(\u4f7f\u7528Java9\u65f6\u5fc5\u52fe)
+advancedsettings.java_args_default=\u542f\u52a8\u5668\u9ed8\u8ba4\u6dfb\u52a0\u7684\u53c2\u6570\uff08\u8bf7\u4e0d\u8981\u91cd\u590d\u6dfb\u52a0\uff09\uff1a-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
+advancedsettings.wrapper_launcher=\u542f\u52a8\u524d\u6267\u884c\u547d\u4ee4(\u4e0d\u5fc5\u586b\u5199\uff0c\u5c06\u5728\u6e38\u620f\u542f\u52a8\u524d\u8c03\u7528)
+advancedsettings.server_ip=\u76f4\u5165\u670d\u52a1\u5668ip\u5730\u5740(\u4e0d\u5fc5\u586b\u5199\uff0c\u542f\u52a8\u6e38\u620f\u540e\u76f4\u63a5\u8fdb\u5165\u5bf9\u5e94\u670d\u52a1\u5668)
+advancedsettings.cancel_wrapper_launcher=\u53d6\u6d88\u5305\u88f9\u542f\u52a8\u5668\uff08\u51fa\u73b0\u5947\u602a\u95ee\u9898\u65f6\u53ef\u5c1d\u8bd5\u4f7f\u7528,\u4e0e\u8c03\u8bd5\u6a21\u5f0f\u51b2\u7a81\uff09
+
+mainwindow.show_log=\u67e5\u770b\u65e5\u5fd7
+mainwindow.make_launch_script=\u751f\u6210\u542f\u52a8\u811a\u672c
+mainwindow.make_launch_script_failed=\u751f\u6210\u542f\u52a8\u811a\u672c\u5931\u8d25
+mainwindow.enter_script_name=\u8f93\u5165\u8981\u751f\u6210\u811a\u672c\u7684\u6587\u4ef6\u540d
+mainwindow.make_launch_succeed=\u542f\u52a8\u811a\u672c\u5df2\u751f\u6210\u5b8c\u6bd5:
+mainwindow.no_version=\u672a\u627e\u5230\u4efb\u4f55\u7248\u672c\uff0c\u662f\u5426\u8fdb\u5165\u6e38\u620f\u4e0b\u8f7d\uff1f
+
+launcher.about=\u9ed8\u8ba4\u80cc\u666f\u56fe\u6765\u81eaLiberty Dome\u670d\u52a1\u5668\u3002
\u5173\u4e8e\u4f5c\u8005\uff1a
\n\u767e\u5ea6ID\uff1ahuanghongxun20
\nmcbbs\uff1ahuanghongxun
\n\u90ae\u7bb1\uff1ahuanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\n\u6b22\u8fce\u63d0\u4ea4Bug\u54e6
\nCopyright (c) 2013-2015 huangyuhui.
\u514d\u8d23\u58f0\u660e\uff1aMinecraft\u8f6f\u4ef6\u7248\u6743\u5f52Mojang AB\u6240\u6709\uff0c\u6e38\u620f\u7531\u4e8e\u8bef\u64cd\u4f5c\u672c\u542f\u52a8\u5668\u800c\u4e22\u5931\u6570\u636e\u7684\u6982\u4e0d\u8d1f\u8d23\u3002
\u672c\u542f\u52a8\u5668\u5728GPLv3\u534f\u8bae\u4e0b\u5f00\u6e90:http://github.com/huanghongxun/HMCL/
\u672c\u8f6f\u4ef6\u4f7f\u7528\u4e86\u57fa\u4e8eApache License 2.0\u7684RxJava\u548cGson\u9879\u76ee\uff0c\u611f\u8c22\u8d21\u732e\u8005\u3002
+launcher.download_source=\u4e0b\u8f7d\u6e90
+launcher.background_location=\u80cc\u666f\u5730\u5740
+launcher.exit_failed=\u5f3a\u5236\u9000\u51fa\u5931\u8d25\uff0c\u53ef\u80fd\u662fForge 1.7.10\u53ca\u66f4\u9ad8\u7248\u672c\u5bfc\u81f4\u7684\uff0c\u65e0\u6cd5\u89e3\u51b3\u3002
+launcher.versions_json_not_matched=\u7248\u672c%s\u683c\u5f0f\u4e0d\u89c4\u8303\uff01\u8be5\u7248\u672c\u6587\u4ef6\u5939\u4e0b\u6709json:%s\uff0c\u662f\u5426\u66f4\u540d\u8fd9\u4e2a\u6587\u4ef6\u6765\u89c4\u8303\u683c\u5f0f\uff1f
+launcher.versions_json_not_matched_cannot_auto_completion=\u7248\u672c%s\u7f3a\u5931\u5fc5\u8981\u7684\u7248\u672c\u4fe1\u606f\u6587\u4ef6\uff0c\u662f\u5426\u5220\u9664\u8be5\u7248\u672c\uff1f
+launcher.versions_json_not_formatted=\u7248\u672c%s\u4fe1\u606f\u6587\u4ef6\u683c\u5f0f\u9519\u8bef\uff0c\u662f\u5426\u91cd\u65b0\u4e0b\u8f7d\uff1f
+launcher.choose_bgpath=\u9009\u62e9\u80cc\u666f\u8def\u5f84
+launcher.background_tooltip=\n\n\u542f\u52a8\u5668\u9ed8\u8ba4\u4f7f\u7528\u81ea\u5e26\u7684\u80cc\u666f
\n\u5982\u679c\u5f53\u524d\u76ee\u5f55\u6709background.png\uff0c\u5219\u4f1a\u4f7f\u7528\u8be5\u6587\u4ef6\u4f5c\u4e3a\u80cc\u666f
\n\u5982\u679c\u5f53\u524d\u76ee\u5f55\u6709bg\u5b50\u76ee\u5f55\uff0c\u5219\u4f1a\u968f\u673a\u4f7f\u7528\u91cc\u9762\u7684\u4e00\u5f20\u56fe\u4f5c\u4e3a\u80cc\u666f
\n\u5982\u679c\u8be5\u80cc\u666f\u5730\u5740\u88ab\u4fee\u6539\uff0c\u5219\u4f1a\u4f7f\u7528\u80cc\u666f\u5730\u5740\u91cc\u7684\u4e00\u5f20\u56fe\u4f5c\u4e3a\u80cc\u666f
\n\u80cc\u666f\u5730\u5740\u5141\u8bb8\u6709\u591a\u4e2a\u5730\u5740\uff0c\u4f7f\u7528\u534a\u89d2\u5206\u53f7";"(\u4e0d\u5305\u542b\u53cc\u5f15\u53f7)\u5206\u9694\n\n
+launcher.update_launcher=\u68c0\u67e5\u66f4\u65b0
+launcher.enable_shadow=\u542f\u7528\u7a97\u53e3\u9634\u5f71(\u91cd\u542f\u542f\u52a8\u5668\u751f\u6548,\u53ef\u52a0\u5feb\u6e32\u67d3\u901f\u5ea6)
+launcher.theme=\u4e3b\u9898
+launcher.proxy=\u4ee3\u7406
+
+launcher.title.game=\u6e38\u620f\u8bbe\u7f6e
+launcher.title.main=\u4e3b\u9875
+launcher.title.launcher=\u542f\u52a8\u5668\u8bbe\u7f6e
+
+versions.release=\u7a33\u5b9a\u7248
+versions.snapshot=\u5feb\u7167\u7248
+versions.old_beta=\u6d4b\u8bd5\u7248
+versions.old_alpha=\u8fdc\u53e4\u7248
+
+versions.manage.rename=\u91cd\u547d\u540d\u8be5\u7248\u672c
+versions.manage.rename.message=\u8bf7\u8f93\u5165\u8981\u6539\u6210\u7684\u540d\u5b57
+versions.manage.remove=\u5220\u9664\u8be5\u7248\u672c
+versions.manage.remove.confirm=\u771f\u7684\u8981\u5220\u9664\u7248\u672c
+versions.manage.redownload_json=\u91cd\u65b0\u4e0b\u8f7d\u7248\u672c\u914d\u7f6e(minecraft.json)
+versions.manage.redownload_assets_index=\u91cd\u65b0\u4e0b\u8f7d\u8d44\u6e90\u914d\u7f6e(assets_index.json)
+
+advice.os64butjdk32=\u60a8\u7684\u7cfb\u7edf\u662f64\u4f4d\u7684\u4f46\u662fJava\u662f32\u4f4d\u7684\uff0c\u63a8\u8350\u60a8\u5b89\u88c564\u4f4dJava.
+
+assets.download_all=\u4e0b\u8f7d\u8d44\u6e90\u6587\u4ef6
+assets.not_refreshed=\u8d44\u6e90\u5217\u8868\u672a\u5237\u65b0\uff0c\u8bf7\u5237\u65b0\u4e00\u6b21\u3002
+assets.failed=\u83b7\u53d6\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u91cd\u8bd5\u3002
+assets.list.1_7_3_after=1.7.3\u53ca\u4ee5\u540e
+assets.list.1_6=1.6(BMCLAPI)
+assets.unkown_type_select_one=\u65e0\u6cd5\u89e3\u6790\u6e38\u620f\u7248\u672c\uff1a%s\uff0c\u8bf7\u9009\u62e9\u4e00\u79cd\u8d44\u6e90\u7c7b\u578b\u4e0b\u8f7d\u3002
+assets.type=\u8d44\u6e90\u7c7b\u578b
+assets.download=\u4e0b\u8f7d\u8d44\u6e90
+assets.no_assets=\u8d44\u6e90\u6587\u4ef6\u4e0d\u5b8c\u6574\uff0c\u662f\u5426\u8865\u5168\uff1f
+assets.failed_download=\u4e0b\u8f7d\u8d44\u6e90\u6587\u4ef6\u5931\u8d25\uff0c\u53ef\u80fd\u5bfc\u81f4\u6ca1\u6709\u4e2d\u6587\u548c\u58f0\u97f3\u3002
+
+gamedownload.not_refreshed=\u6e38\u620f\u4e0b\u8f7d\u5217\u8868\u672a\u5237\u65b0\uff0c\u8bf7\u518d\u5237\u65b0\u4e00\u6b21\u3002
+
+taskwindow.title=\u4efb\u52a1
+taskwindow.single_progress=\u5355\u9879\u8fdb\u5ea6
+taskwindow.total_progress=\u603b\u8fdb\u5ea6
+taskwindow.cancel=\u53d6\u6d88
+taskwindow.no_more_instance=\u53ef\u80fd\u540c\u65f6\u6253\u5f00\u4e86\u591a\u4e2a\u4efb\u52a1\u7a97\u53e3\uff0c\u8bf7\u4e0d\u8981\u591a\u6b21\u6253\u5f00\uff01
+taskwindow.file_name=\u4efb\u52a1
+taskwindow.download_progress=\u8fdb\u5ea6
+
+setupwindow.include_minecraft=\u5bfc\u5165\u6e38\u620f\u6587\u4ef6\u5939
+setupwindow.find_in_configurations=\u5bfc\u5165\u5b8c\u6210\uff0c\u5feb\u5230\u914d\u7f6e\u4e0b\u62c9\u6846\u4e2d\u627e\u65b0\u6e38\u620f\u8def\u5f84\u5427\uff01
+setupwindow.give_a_name=\u7ed9\u65b0\u6e38\u620f\u8def\u5f84\u8d77\u4e2a\u540d\u5b57\u5427
+setupwindow.new=\u65b0\u5efa
+setupwindow.no_empty_name=\u540d\u5b57\u4e0d\u53ef\u4e3a\u7a7a
+setupwindow.clean=\u6e05\u7406\u6e38\u620f\u6587\u4ef6
+
+update.no_browser=\u65e0\u6cd5\u6253\u5f00\u6d4f\u89c8\u5668\uff0c\u7f51\u5740\u5df2\u7ecf\u590d\u5236\u5230\u526a\u8d34\u677f\u4e86\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u7c98\u8d34\u7f51\u5740\u6253\u5f00\u9875\u9762
+update.should_open_link=\u662f\u5426\u524d\u5f80\u53d1\u5e03\u9875\u9762\u66f4\u65b0\uff1f
+update.newest_version=\u6700\u65b0\u7248\u672c\u4e3a\uff1a
+update.failed=\u68c0\u67e5\u66f4\u65b0\u5931\u8d25
+update.found=(\u53d1\u73b0\u66f4\u65b0!)
+
+logwindow.terminate_game=\u7ed3\u675f\u6e38\u620f\u8fdb\u7a0b
+logwindow.tieba=\u8d34\u5427
+logwindow.title=\u65e5\u5fd7
+
+selector.choose=\u9009\u62e9
+
+minecraft.invalid=\u65e0\u6548\u7684
+minecraft.invalid_jar=\u65e0\u6548\u7684jar\u5305
+minecraft.not_a_file=\u4e0d\u662f\u6587\u4ef6
+minecraft.not_found=\u627e\u4e0d\u5230minecraft.jar
+minecraft.not_readable=minecraft.jar\u4e0d\u53ef\u8bfb
+minecraft.modified=(\u4fee\u6539\u7684!)
+
+color.red=\u7ea2\u8272
+color.blue=\u84dd\u8272
+color.green=\u7eff\u8272
+color.orange=\u6a59\u8272
+color.dark_blue=\u6df1\u84dd\u8272
+color.purple=\u7d2b\u8272
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_LOCAL_7850.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_LOCAL_7850.properties
new file mode 100644
index 000000000..72688e97f
--- /dev/null
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_LOCAL_7850.properties
@@ -0,0 +1,334 @@
+# Hello Minecraft! Launcher.
+# Copyright (C) 2013 huangyuhui
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see {http://www.gnu.org/licenses/}.
+launch.failed=\u542f\u52a8\u5931\u8d25
+launch.failed_creating_process=\u542f\u52a8\u5931\u8d25\uff0c\u5728\u521b\u5efa\u65b0\u8fdb\u7a0b\u65f6\u53d1\u751f\u9519\u8bef\uff0c\u53ef\u80fd\u662fJava\u8def\u5f84\u9519\u8bef\u3002
+launch.failed_sh_permission=\u4e3a\u542f\u52a8\u6587\u4ef6\u6dfb\u52a0\u6743\u9650\u65f6\u53d1\u751f\u9519\u8bef
+launch.failed_packing_jar=\u5728\u6253\u5305jar\u65f6\u53d1\u751f\u9519\u8bef
+launch.unsupported_launcher_version=\u5bf9\u4e0d\u8d77\uff0c\u672c\u542f\u52a8\u5668\u73b0\u5728\u53ef\u80fd\u4e0d\u80fd\u542f\u52a8\u8fd9\u4e2a\u7248\u672c\u7684Minecraft\uff0c\u4f46\u542f\u52a8\u5668\u8fd8\u662f\u4f1a\u5c1d\u8bd5\u542f\u52a8\uff0c\u8bf7\u5c3d\u5feb\u5c06\u6b64\u95ee\u9898\u62a5\u544a\u7ed9\u4f5c\u8005\u3002
+launch.too_big_memory_alloc_64bit=\u60a8\u8bbe\u7f6e\u7684\u5185\u5b58\u5927\u5c0f\u8fc7\u5927\uff0c\u7531\u4e8e\u53ef\u80fd\u8d85\u8fc7\u4e8632\u4f4dJava\u7684\u5185\u5b58\u5206\u914d\u9650\u5236\uff0c\u6240\u4ee5\u53ef\u80fd\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\uff0c\u8bf7\u5c06\u5185\u5b58\u8c03\u81f31024MB\u6216\u66f4\u5c0f\uff0c\u542f\u52a8\u5668\u4ecd\u4f1a\u5c1d\u8bd5\u542f\u52a8\u3002
+launch.too_big_memory_alloc_free_space_too_low=\u60a8\u8bbe\u7f6e\u7684\u5185\u5b58\u5927\u5c0f\u8fc7\u5927\uff0c\u7531\u4e8e\u8d85\u8fc7\u4e86\u7cfb\u7edf\u5185\u5b58\u5927\u5c0f%dMB\uff0c\u6240\u4ee5\u53ef\u80fd\u5f71\u54cd\u6e38\u620f\u4f53\u9a8c\u6216\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\uff0c\u542f\u52a8\u5668\u4ecd\u4f1a\u5c1d\u8bd5\u542f\u52a8\u3002
+launch.cannot_create_jvm=\u622a\u83b7\u5230\u65e0\u6cd5\u521b\u5efaJava\u865a\u62df\u673a\uff0c\u53ef\u80fd\u662fJava\u53c2\u6570\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u5728\u8bbe\u7f6e\u4e2d\u5f00\u542f\u65e0\u53c2\u6570\u6a21\u5f0f\u542f\u52a8
+launch.circular_dependency_versions=\u53d1\u73b0\u6e38\u620f\u7248\u672c\u5faa\u73af\u5f15\u7528\uff0c\u8bf7\u786e\u8ba4\u60a8\u7684\u5ba2\u6237\u7aef\u672a\u88ab\u4fee\u6539\u6216\u4fee\u6539\u5bfc\u81f4\u51fa\u73b0\u6b64\u95ee\u9898\u3002
+launch.not_finished_downloading_libraries=\u672a\u5b8c\u6210\u6e38\u620f\u4f9d\u8d56\u5e93\u7684\u4e0b\u8f7d\uff0c\u8fd8\u8981\u7ee7\u7eed\u542f\u52a8\u6e38\u620f\u5417\uff1f
+launch.not_finished_decompressing_natives=\u672a\u80fd\u89e3\u538b\u6e38\u620f\u672c\u5730\u5e93\uff0c\u8fd8\u8981\u7ee7\u7eed\u542f\u52a8\u6e38\u620f\u5417\uff1f
+launch.wrong_javadir=\u9519\u8bef\u7684Java\u8def\u5f84\uff0c\u5c06\u81ea\u52a8\u91cd\u7f6e\u4e3a\u9ed8\u8ba4Java\u8def\u5f84\u3002
+launch.exited_abnormally=\u6e38\u620f\u975e\u6b63\u5e38\u9000\u51fa\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u6587\u4ef6\uff0c\u6216\u8054\u7cfb\u4ed6\u4eba\u5bfb\u6c42\u5e2e\u52a9\u3002
+
+install.no_version=\u672a\u627e\u5230\u8981\u5b89\u88c5\u7684\u5bf9\u5e94MC\u7248\u672c
+install.no_version_if_intall=\u672a\u627e\u5230\u8981\u5b89\u88c5\u7684\u5bf9\u5e94MC\u7248\u672c\uff0c\u662f\u5426\u81ea\u52a8\u5b89\u88c5\u9700\u8981\u7684MC\u7248\u672c\uff1f
+install.not_refreshed=\u672a\u5237\u65b0\u5217\u8868
+install.download_list=\u4e0b\u8f7d\u5217\u8868
+
+install.liteloader.get_list=\u83b7\u53d6LiteLoader\u5217\u8868
+install.liteloader.install=\u5b89\u88c5LiteLoader
+
+install.forge.get_list=\u83b7\u53d6Forge\u5217\u8868
+install.forge.install=\u5b89\u88c5Forge
+install.forge.get_changelogs=\u83b7\u53d6Forge\u66f4\u65b0\u8bb0\u5f55
+
+install.optifine.install=\u5b89\u88c5OptiFine
+install.optifine.get_list=\u83b7\u53d6OptiFine\u5217\u8868
+install.optifine.get_download_link=\u83b7\u53d6OptiFine\u4e0b\u8f7d\u5730\u5740
+
+install.failed_forge=\u5b89\u88c5Forge\u5931\u8d25
+install.failed_optifine=\u5b89\u88c5Optifine\u5931\u8d25
+install.failed_liteloader=\u5b89\u88c5LiteLoader\u5931\u8d25
+install.failed_download_forge=\u4e0b\u8f7dForge\u5931\u8d25
+install.failed_download_optifine=\u4e0b\u8f7dOptifine\u5931\u8d25
+install.failed=\u5b89\u88c5\u5931\u8d25
+install.success=\u5b89\u88c5\u6210\u529f
+install.no_forge=\u6ca1\u6709\u5b89\u88c5Forge
+install.choose_forge=\u9009\u62e9\u4f60\u5b89\u88c5\u7684Forge\u7248\u672c
+install.version=\u7248\u672c
+install.mcversion=\u6e38\u620f\u7248\u672c
+install.time=\u65f6\u95f4
+install.release_time=\u91ca\u653e\u65f6\u95f4
+install.type=\u7c7b\u578b
+install.please_refresh=\u5982\u9700\u4f7f\u7528\u81ea\u52a8\u5b89\u88c5\u8bf7\u70b9\u51fb\u53f3\u4fa7\u5237\u65b0\u6309\u94ae
+
+crash.launcher=\u542f\u52a8\u5668\u5d29\u6e83\u4e86\uff01
+crash.minecraft=Minecraft\u5d29\u6e83\u4e86\uff01\u8bf7\u8ba4\u771f\u9605\u8bfb\u5efa\u8bae\u3002
+
+login.choose_charactor=\u8bf7\u9009\u62e9\u60a8\u8981\u4f7f\u7528\u7684\u89d2\u8272
+login.no_charactor=\u8be5\u5e10\u53f7\u6ca1\u6709\u89d2\u8272
+login.your_password=\u60a8\u7684\u5bc6\u7801
+login.failed=\u767b\u5f55\u5931\u8d25\uff1a
+login.no_Player007=\u4f60\u8fd8\u672a\u8bbe\u7f6e\u7528\u6237\u540d\uff01
+login.wrong_password=\u53ef\u80fd\u662f\u60a8\u7684\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef
+login.invalid_username=\u65e0\u6548\u7684\u7528\u6237\u540d
+login.invalid_uuid_and_username=\u65e0\u6548\u7684UUID\u548c\u7528\u6237\u540d
+login.invalid_password=\u65e0\u6548\u7684\u5bc6\u7801
+login.invalid_access_token=\u65e0\u6548\u7684\u8bbf\u95ee\u4ee4\u724c
+login.changed_client_token=\u670d\u52a1\u5668\u56de\u5e94\u5df2\u7ecf\u4fee\u6539\u5ba2\u6237\u7aef\u4ee4\u724c
+login.not_email=\u7528\u6237\u540d\u5fc5\u987b\u662f\u90ae\u7bb1
+login.type=\u767b\u5f55
+login.username=\u540d\u5b57
+login.account=\u90ae\u7bb1
+login.invalid_token=\u8bf7\u5c1d\u8bd5\u767b\u51fa\u5e76\u91cd\u65b0\u8f93\u5165\u5bc6\u7801\u767b\u5f55
+login.no_valid_character=\u65e0\u6709\u6548\u7684\u89d2\u8272\uff0c\u81ea\u884c\u5230skinme.cc\u767b\u9646\u5e76\u521b\u5efa\u89d2\u8272
+
+proxy.username=\u8d26\u6237
+proxy.password=\u5bc6\u7801
+proxy.host=\u4e3b\u673a
+proxy.port=\u7aef\u53e3
+
+login.failed.connect_authentication_server=\u65e0\u6cd5\u8fde\u63a5\u8ba4\u8bc1\u670d\u52a1\u5668,\u53ef\u80fd\u662f\u7f51\u7edc\u95ee\u9898
+
+login.profile.not_logged_in=\u65e0\u6cd5\u4fee\u6539\u6e38\u620f\u8d44\u6599\u540c\u65f6\u672a\u767b\u5f55
+login.profile.selected=\u65e0\u6cd5\u4fee\u6539\u6e38\u620f\u8d44\u6599. \u4f60\u5fc5\u987b\u767b\u51fa\u518d\u8fd4\u56de.
+
+login.methods.yggdrasil=\u6b63\u7248\u767b\u5f55
+login.methods.offline=\u79bb\u7ebf\u6a21\u5f0f
+login.methods.no_method=\u6ca1\u6709\u767b\u5165\u65b9\u5f0f...
+
+log.playername_null=\u73a9\u5bb6\u540d\u4e3a\u7a7a\uff0c\u8fd9\u4ee3\u8868\u7740\u767b\u5f55\u65b9\u6cd5\u51fa\u73b0\u95ee\u9898
+
+minecraft.no_selected_version=\u6ca1\u6709\u9009\u62e9\u4efb\u4f55\u4e00\u4e2aMinecraft\u7248\u672c
+minecraft.wrong_path=\u9519\u8bef\u7684Minecraft\u8def\u5f84\uff0c\u542f\u52a8\u5668\u672a\u627e\u5230\u8bbe\u5b9a\u7684Minecraft\u8def\u5f84\uff0c\u8bf7\u68c0\u67e5\u3002
+
+operation.stopped=\u64cd\u4f5c\u88ab\u5f3a\u884c\u7ec8\u6b62
+operation.confirm_stop=\u771f\u7684\u8981\u7ec8\u6b62\u64cd\u4f5c\u5417\uff1f
+
+ui.login.password=\u5bc6\u7801
+ui.more=\u66f4\u591a
+
+crash.advice.UnsupportedClassVersionError=\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u7684Java\u7248\u672c\u8fc7\u4e8e\u8001\u65e7\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u6362\u6700\u65b0Java\u5e76\u5728\u7248\u672c\u8bbe\u7f6e\u7684Java\u8def\u5f84\u4e2d\u8bbe\u7f6e.
+crash.advice.ConcurrentModificationException=\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u7684Java\u7248\u672c\u9ad8\u4e8eJava 1.8.0_11\u5bfc\u81f4\u7684,\u53ef\u4ee5\u5c1d\u8bd5\u5378\u8f7dJava8\u5b89\u88c5Java7\u3002
+crash.advice.ClassNotFoundException=Minecraft\u4e0d\u5b8c\u6574\u6216Mod\u51b2\u7a81\uff0c\u5982\u679c\u6709\u672a\u80fd\u4e0b\u8f7d\u7684\u6587\u4ef6\u8bf7\u4e0b\u8f7d\u6210\u529f\u540e\u91cd\u8bd5\u6216\u662f\u5ba2\u6237\u7aef\u635f\u574f\u8bf7\u91cd\u8bd5\u8bf7\u91cd\u65b0\u5236\u4f5c\u5ba2\u6237\u7aef\u6216\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.advice.NoSuchFieldError=Minecraft\u4e0d\u5b8c\u6574\u6216Mod\u51b2\u7a81\uff0c\u5982\u679c\u6709\u672a\u80fd\u4e0b\u8f7d\u7684\u6587\u4ef6\u8bf7\u4e0b\u8f7d\u6210\u529f\u540e\u91cd\u8bd5\u6216\u662f\u5ba2\u6237\u7aef\u635f\u574f\u8bf7\u91cd\u8bd5\u8bf7\u91cd\u65b0\u5236\u4f5c\u5ba2\u6237\u7aef\u6216\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.advice.LWJGLException=\u60a8\u7684\u7535\u8111\u4e0d\u6b63\u5e38\uff0c\u53ef\u80fd\u9700\u8981\u4f7f\u7528\u9a71\u52a8\u7cbe\u7075\u6216\u5176\u4ed6\u5b89\u88c5\u5668\u66f4\u65b0\u663e\u5361\u9a71\u52a8\u3002
+crash.advice.SecurityException=\u53ef\u80fd\u662f\u60a8\u4fee\u6539\u4e86minecraft.jar\u4f46\u672a\u5220\u9664META-INF\u6587\u4ef6\u5939\u7684\u539f\u56e0\u3002\u8bf7\u901a\u8fc7\u538b\u7f29\u8f6f\u4ef6\u5220\u9664jar\u4e2d\u7684META-INF\u6587\u4ef6\u5939\u3002
+crash.advice.OutOfMemoryError=\u5185\u5b58\u6ea2\u51fa\uff0c\u60a8\u8bbe\u7f6e\u7684Minecraft\u6700\u5927\u5185\u5b58\u8fc7\u5c0f\uff0c\u8bf7\u8c03\u5927\uff01
+crash.advice.otherwise=\u53ef\u80fd\u662fMod\u6216\u5176\u4ed6\u95ee\u9898\u3002
+
+crash.advice.OpenGL=\u53ef\u80fd\u662f\u663e\u5361/\u58f0\u5361\u9a71\u52a8\u95ee\u9898\uff0c\u4e5f\u53ef\u80fd\u662fMod\u5bfc\u81f4\u7684\u95ee\u9898\u3002
+crash.advice.no_lwjgl=\u53ef\u80fd\u662f\u6e38\u620f\u4f9d\u8d56\u5e93\u4e0d\u5b8c\u6574\u6216\u89e3\u538b\u4f9d\u8d56\u5e93\u65f6\u51fa\u9519\u3002\u53ef\u4ee5\u901a\u8fc7\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+
+crash.advice.no=\u65e0\u5efa\u8bae\u3002
+
+crash.user_fault=\u60a8\u7684\u7cfb\u7edf\u6216Java\u73af\u5883\u53ef\u80fd\u5b89\u88c5\u4e0d\u5f53\u5bfc\u81f4\u672c\u8f6f\u4ef6\u5d29\u6e83\uff0c\u8bf7\u68c0\u67e5\u60a8\u7684Java\u73af\u5883\u6216\u60a8\u7684\u7535\u8111\uff01\u53ef\u4ee5\u5c1d\u8bd5\u91cd\u65b0\u5b89\u88c5Java\u3002
+crash.headless=\u5982\u679c\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u662fLinux\uff0c\u8bf7\u6ce8\u610f\u4e0d\u8981\u4f7f\u7528OpenJDK\uff0c\u52a1\u5fc5\u4f7f\u7528Oracle JDK\uff0c\u6216\u5c1d\u8bd5\u6dfb\u52a0-Djava.awt.headless=false\u53c2\u6570\uff0c\u6216\u68c0\u67e5\u60a8\u7684Xserver\u662f\u5426\u6b63\u5e38
+crash.NoClassDefFound=\u8bf7\u786e\u8ba4HMCL\u672c\u4f53\u662f\u5426\u5b8c\u6574
+
+crash.error=\u60a8\u7684Minecraft\u5d29\u6e83\u4e86\u3002
+crash.main_class_not_found=\u627e\u4e0d\u5230\u4e3b\u7c7b\uff0c\u53ef\u80fd\u662f\u60a8\u7684JSON\u6587\u4ef6\u586b\u5199\u9519\u8bef\u3002\u65e0\u6cd5\u542f\u52a8\u6e38\u620f\u3002\u53ef\u4ee5\u901a\u8fc7\u4e0b\u8f7d\u6574\u5408\u5305\u89e3\u51b3\u95ee\u9898\u3002
+crash.class_path_wrong=\u89e3\u6790Class Path\u65f6\u51fa\u73b0\u9519\u8bef\uff0c\u6b64\u9519\u8bef\u672c\u4e0d\u5e94\u8be5\u53d1\u751f\u3002\u53ef\u80fd\u662f\u542f\u52a8\u811a\u672c\u9519\u8bef\uff0c\u8bf7\u4ed4\u7ec6\u68c0\u67e5\u542f\u52a8\u811a\u672c\u3002
+
+ui.label.newProfileWindow.new_profile_name=\u65b0\u914d\u7f6e\u540d:
+ui.label.newProfileWindow.copy_from=\u590d\u5236\u914d\u7f6e:
+ui.newProfileWindow.title=\u65b0\u5efa\u914d\u7f6e
+
+ui.button.ok=\u786e\u8ba4
+ui.button.refresh=\u5237\u65b0
+ui.button.run=\u542f\u52a8Minecraft
+ui.button.settings=
+ui.button.about=\u5173\u4e8e
+ui.button.others=\u5176\u4ed6
+ui.button.logout=\u767b\u51fa
+ui.button.download=\u4e0b\u8f7d
+ui.button.retry=\u91cd\u8bd5
+ui.button.delete=\u5220\u9664
+ui.button.install=\u5b89\u88c5
+ui.button.info=\u4fe1\u606f
+ui.button.save=\u4fdd\u5b58
+ui.button.copy=\u590d\u5236
+ui.button.clear=\u6e05\u9664
+ui.button.close=\u5173\u95ed
+ui.button.explore=\u6d4f\u89c8
+button.cancel=\u53d6\u6d88
+button.ok=\u786e\u5b9a
+
+ui.label.version=\u7248\u672c
+ui.label.password=\u5bc6\u7801
+ui.label.profile=\u914d\u7f6e
+
+ui.message.first_load=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u8d26\u53f7
+ui.message.enter_password=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u5bc6\u7801
+ui.message.launching=\u542f\u52a8\u4e2d
+ui.message.making=\u751f\u6210\u4e2d
+ui.message.sure_remove=\u771f\u7684\u8981\u5220\u9664\u914d\u7f6e%s\u5417\uff1f
+
+ui.label.settings=\u9009\u9879
+ui.label.crashing=Hello Minecraft!\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u8bf7\u590d\u5236\u4e0b\u5217\u5185\u5bb9\u5e76\u901a\u8fc7mcbbs\u3001\u8d34\u5427\u3001Github\u6216Minecraft Forum\u53cd\u9988bug\u3002
+ui.label.crashing_out_dated=Hello Minecraft! Launcher\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u5df2\u68c0\u6d4b\u5230\u60a8\u7684\u542f\u52a8\u5668\u4e0d\u662f\u6700\u65b0\u7248\u672c\uff0c\u8bf7\u66f4\u65b0\u540e\u518d\u8bd5\uff01
+ui.label.failed_set=\u8bbe\u7f6e\u5931\u8d25\uff1a
+
+download=\u4e0b\u8f7d
+download.mojang=\u5b98\u65b9
+download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
+download.rapid_data=RapidData (\u9510\u7f51\u4e91\u8ba1\u7b97, https://www.rapiddata.org/)
+download.not_200=\u4e0b\u8f7d\u5931\u8d25\uff0c\u56de\u590d\u7801
+download.failed=\u4e0b\u8f7d\u5931\u8d25
+download.successfully=\u4e0b\u8f7d\u5b8c\u6210
+
+message.error=\u9519\u8bef
+message.cannot_open_explorer=\u65e0\u6cd5\u6253\u5f00\u6587\u4ef6\u7ba1\u7406\u5668:
+message.cancelled=\u5df2\u53d6\u6d88
+message.info=\u63d0\u793a
+
+folder.game=\u6e38\u620f\u6587\u4ef6\u5939
+folder.mod=MOD\u6587\u4ef6\u5939
+folder.coremod=\u6838\u5fc3MOD\u6587\u4ef6\u5939
+folder.config=\u914d\u7f6e\u6587\u4ef6\u5939
+folder.resourcepacks=\u8d44\u6e90\u5305\u6587\u4ef6\u5939
+folder.screenshots=\u622a\u56fe\u6587\u4ef6\u5939
+folder.saves=\u5b58\u6863\u6587\u4ef6\u5939
+
+settings.tabs.game_download=\u6e38\u620f\u4e0b\u8f7d
+settings.tabs.installers=\u81ea\u52a8\u5b89\u88c5
+settings.tabs.assets_downloads=\u8d44\u6e90\u4e0b\u8f7d
+
+settings=\u666e\u901a\u8bbe\u7f6e
+settings.explore=\u6d4f\u89c8
+settings.manage=\u7ba1\u7406
+settings.cannot_remove_default_config=\u4e0d\u80fd\u5220\u9664\u9ed8\u8ba4\u914d\u7f6e
+settings.max_memory=\u6700\u5927\u5185\u5b58/MB
+settings.java_dir=Java\u8def\u5f84
+settings.game_directory=\u6e38\u620f\u8def\u5f84
+settings.dimension=\u5206\u8fa8\u7387
+settings.fullscreen=\u5168\u5c4f
+settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6
+settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f
+settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84
+settings.default=\u9ed8\u8ba4
+settings.custom=\u81ea\u5b9a\u4e49
+settings.choose_gamedir=\u9009\u62e9\u6e38\u620f\u8def\u5f84
+
+settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f
+
+mods=Mod\u7ba1\u7406
+mods.choose_mod=\u9009\u62e9\u6a21\u7ec4
+mods.failed=\u6dfb\u52a0\u5931\u8d25
+mods.add=\u6dfb\u52a0
+mods.remove=\u5220\u9664
+mods.default_information=\u5b89\u88c5Mod\u524d\u4f60\u9700\u8981\u786e\u4fdd\u5df2\u5b89\u88c5Forge\u6216LiteLoader!
\u60a8\u53ef\u4ee5\u4ece\u8d44\u6e90\u7ba1\u7406\u5668\u62d6\u52a8mod\u6587\u4ef6\u5230\u5217\u8868\u4e2d\u6765\u6dfb\u52a0mod\uff0c\u540c\u65f6\u4f7f\u7528\u5220\u9664\u952e\u53ef\u5feb\u901f\u5220\u9664\u9009\u4e2dmod
\u70b9\u6389mod\u524d\u9762\u7684\u52fe\u53ef\u7981\u7528mod\uff0c\u4e0d\u4f1a\u52a0\u8f7d\uff1b\u9009\u62e9mod\u53ef\u4ee5\u83b7\u53d6mod\u4fe1\u606f
+
+advancedsettings=\u9ad8\u7ea7\u8bbe\u7f6e
+advancedsettings.launcher_visible=\u542f\u52a8\u5668\u53ef\u89c1\u6027
+advancedsettings.run_directory=\u8fd0\u884c\u8def\u5f84
+advencedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
+advancedsettings.java_permanent_generation_space=\u5185\u5b58\u6c38\u4e45\u4fdd\u5b58\u533a\u57df(\u4e0d\u5fc5\u586b\u5199,MB)
+advancedsettings.jvm_args=Java\u865a\u62df\u673a\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
+advancedsettings.Minecraft_arguments=Minecraft\u989d\u5916\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
+advancedsettings.launcher_visibility.close=\u6e38\u620f\u542f\u52a8\u540e\u7ed3\u675f\u542f\u52a8\u5668
+advancedsettings.launcher_visibility.hide=\u6e38\u620f\u542f\u52a8\u540e\u9690\u85cf\u542f\u52a8\u5668
+advancedsettings.launcher_visibility.keep=\u4fdd\u6301\u542f\u52a8\u5668\u53ef\u89c1
+advancedsettings.game_dir.default=\u9ed8\u8ba4(.minecraft/)
+advancedsettings.game_dir.independent=\u5404\u7248\u672c\u72ec\u7acb(.minecraft/versions/<\u7248\u672c\u540d>/,\u9664assets,libraries)
+advancedsettings.no_jvm_args=\u4e0d\u6dfb\u52a0JVM\u53c2\u6570(\u4f7f\u7528Java9\u65f6\u5fc5\u52fe)
+advancedsettings.java_args_default=\u542f\u52a8\u5668\u9ed8\u8ba4\u6dfb\u52a0\u7684\u53c2\u6570\uff08\u8bf7\u4e0d\u8981\u91cd\u590d\u6dfb\u52a0\uff09\uff1a-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
+advancedsettings.wrapper_launcher=\u542f\u52a8\u524d\u6267\u884c\u547d\u4ee4(\u4e0d\u5fc5\u586b\u5199\uff0c\u5c06\u5728\u6e38\u620f\u542f\u52a8\u524d\u8c03\u7528)
+advancedsettings.server_ip=\u76f4\u5165\u670d\u52a1\u5668ip\u5730\u5740(\u4e0d\u5fc5\u586b\u5199\uff0c\u542f\u52a8\u6e38\u620f\u540e\u76f4\u63a5\u8fdb\u5165\u5bf9\u5e94\u670d\u52a1\u5668)
+advancedsettings.cancel_wrapper_launcher=\u53d6\u6d88\u5305\u88f9\u542f\u52a8\u5668\uff08\u51fa\u73b0\u5947\u602a\u95ee\u9898\u65f6\u53ef\u5c1d\u8bd5\u4f7f\u7528,\u4e0e\u8c03\u8bd5\u6a21\u5f0f\u51b2\u7a81\uff09
+
+mainwindow.show_log=\u67e5\u770b\u65e5\u5fd7
+mainwindow.make_launch_script=\u751f\u6210\u542f\u52a8\u811a\u672c
+mainwindow.make_launch_script_failed=\u751f\u6210\u542f\u52a8\u811a\u672c\u5931\u8d25
+mainwindow.enter_script_name=\u8f93\u5165\u8981\u751f\u6210\u811a\u672c\u7684\u6587\u4ef6\u540d
+mainwindow.make_launch_succeed=\u542f\u52a8\u811a\u672c\u5df2\u751f\u6210\u5b8c\u6bd5:
+mainwindow.no_version=\u672a\u627e\u5230\u4efb\u4f55\u7248\u672c\uff0c\u662f\u5426\u8fdb\u5165\u6e38\u620f\u4e0b\u8f7d\uff1f
+
+launcher.about=\u9ed8\u8ba4\u80cc\u666f\u56fe\u6765\u81eaLiberty Dome\u670d\u52a1\u5668\u3002
\u5173\u4e8e\u4f5c\u8005\uff1a
\n\u767e\u5ea6ID\uff1ahuanghongxun20
\nmcbbs\uff1ahuanghongxun
\n\u90ae\u7bb1\uff1ahuanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\n\u6b22\u8fce\u63d0\u4ea4Bug\u54e6
\nCopyright (c) 2013-2015 huangyuhui.
\u514d\u8d23\u58f0\u660e\uff1aMinecraft\u8f6f\u4ef6\u7248\u6743\u5f52Mojang AB\u6240\u6709\uff0c\u6e38\u620f\u7531\u4e8e\u8bef\u64cd\u4f5c\u672c\u542f\u52a8\u5668\u800c\u4e22\u5931\u6570\u636e\u7684\u6982\u4e0d\u8d1f\u8d23\u3002
\u672c\u542f\u52a8\u5668\u5728GPLv3\u534f\u8bae\u4e0b\u5f00\u6e90:http://github.com/huanghongxun/HMCL/
\u672c\u8f6f\u4ef6\u4f7f\u7528\u4e86\u57fa\u4e8eApache License 2.0\u7684RxJava\u548cGson\u9879\u76ee\uff0c\u611f\u8c22\u8d21\u732e\u8005\u3002
+launcher.download_source=\u4e0b\u8f7d\u6e90
+launcher.background_location=\u80cc\u666f\u5730\u5740
+launcher.exit_failed=\u5f3a\u5236\u9000\u51fa\u5931\u8d25\uff0c\u53ef\u80fd\u662fForge 1.7.10\u53ca\u66f4\u9ad8\u7248\u672c\u5bfc\u81f4\u7684\uff0c\u65e0\u6cd5\u89e3\u51b3\u3002
+launcher.versions_json_not_matched=\u7248\u672c%s\u683c\u5f0f\u4e0d\u89c4\u8303\uff01\u8be5\u7248\u672c\u6587\u4ef6\u5939\u4e0b\u6709json:%s\uff0c\u662f\u5426\u66f4\u540d\u8fd9\u4e2a\u6587\u4ef6\u6765\u89c4\u8303\u683c\u5f0f\uff1f
+launcher.versions_json_not_matched_cannot_auto_completion=\u7248\u672c%s\u7f3a\u5931\u5fc5\u8981\u7684\u7248\u672c\u4fe1\u606f\u6587\u4ef6\uff0c\u662f\u5426\u5220\u9664\u8be5\u7248\u672c\uff1f
+launcher.versions_json_not_formatted=\u7248\u672c%s\u4fe1\u606f\u6587\u4ef6\u683c\u5f0f\u9519\u8bef\uff0c\u662f\u5426\u91cd\u65b0\u4e0b\u8f7d\uff1f
+launcher.choose_bgpath=\u9009\u62e9\u80cc\u666f\u8def\u5f84
+launcher.background_tooltip=\n\n\u542f\u52a8\u5668\u9ed8\u8ba4\u4f7f\u7528\u81ea\u5e26\u7684\u80cc\u666f
\n\u5982\u679c\u5f53\u524d\u76ee\u5f55\u6709background.png\uff0c\u5219\u4f1a\u4f7f\u7528\u8be5\u6587\u4ef6\u4f5c\u4e3a\u80cc\u666f
\n\u5982\u679c\u5f53\u524d\u76ee\u5f55\u6709bg\u5b50\u76ee\u5f55\uff0c\u5219\u4f1a\u968f\u673a\u4f7f\u7528\u91cc\u9762\u7684\u4e00\u5f20\u56fe\u4f5c\u4e3a\u80cc\u666f
\n\u5982\u679c\u8be5\u80cc\u666f\u5730\u5740\u88ab\u4fee\u6539\uff0c\u5219\u4f1a\u4f7f\u7528\u80cc\u666f\u5730\u5740\u91cc\u7684\u4e00\u5f20\u56fe\u4f5c\u4e3a\u80cc\u666f
\n\u80cc\u666f\u5730\u5740\u5141\u8bb8\u6709\u591a\u4e2a\u5730\u5740\uff0c\u4f7f\u7528\u534a\u89d2\u5206\u53f7";"(\u4e0d\u5305\u542b\u53cc\u5f15\u53f7)\u5206\u9694\n\n
+launcher.update_launcher=\u68c0\u67e5\u66f4\u65b0
+launcher.enable_shadow=\u542f\u7528\u7a97\u53e3\u9634\u5f71(\u91cd\u542f\u542f\u52a8\u5668\u751f\u6548,\u53ef\u52a0\u5feb\u6e32\u67d3\u901f\u5ea6)
+launcher.theme=\u4e3b\u9898
+launcher.proxy=\u4ee3\u7406
+
+launcher.title.game=\u6e38\u620f\u8bbe\u7f6e
+launcher.title.main=\u4e3b\u9875
+launcher.title.launcher=\u542f\u52a8\u5668\u8bbe\u7f6e
+
+versions.release=\u7a33\u5b9a\u7248
+versions.snapshot=\u5feb\u7167\u7248
+versions.old_beta=\u6d4b\u8bd5\u7248
+versions.old_alpha=\u8fdc\u53e4\u7248
+
+versions.manage.rename=\u91cd\u547d\u540d\u8be5\u7248\u672c
+versions.manage.rename.message=\u8bf7\u8f93\u5165\u8981\u6539\u6210\u7684\u540d\u5b57
+versions.manage.remove=\u5220\u9664\u8be5\u7248\u672c
+versions.manage.remove.confirm=\u771f\u7684\u8981\u5220\u9664\u7248\u672c
+versions.manage.redownload_json=\u91cd\u65b0\u4e0b\u8f7d\u7248\u672c\u914d\u7f6e(minecraft.json)
+versions.manage.redownload_assets_index=\u91cd\u65b0\u4e0b\u8f7d\u8d44\u6e90\u914d\u7f6e(assets_index.json)
+
+advice.os64butjdk32=\u60a8\u7684\u7cfb\u7edf\u662f64\u4f4d\u7684\u4f46\u662fJava\u662f32\u4f4d\u7684\uff0c\u63a8\u8350\u60a8\u5b89\u88c564\u4f4dJava.
+
+assets.download_all=\u4e0b\u8f7d\u8d44\u6e90\u6587\u4ef6
+assets.not_refreshed=\u8d44\u6e90\u5217\u8868\u672a\u5237\u65b0\uff0c\u8bf7\u5237\u65b0\u4e00\u6b21\u3002
+assets.failed=\u83b7\u53d6\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u91cd\u8bd5\u3002
+assets.list.1_7_3_after=1.7.3\u53ca\u4ee5\u540e
+assets.list.1_6=1.6(BMCLAPI)
+assets.unkown_type_select_one=\u65e0\u6cd5\u89e3\u6790\u6e38\u620f\u7248\u672c\uff1a%s\uff0c\u8bf7\u9009\u62e9\u4e00\u79cd\u8d44\u6e90\u7c7b\u578b\u4e0b\u8f7d\u3002
+assets.type=\u8d44\u6e90\u7c7b\u578b
+assets.download=\u4e0b\u8f7d\u8d44\u6e90
+assets.no_assets=\u8d44\u6e90\u6587\u4ef6\u4e0d\u5b8c\u6574\uff0c\u662f\u5426\u8865\u5168\uff1f
+assets.failed_download=\u4e0b\u8f7d\u8d44\u6e90\u6587\u4ef6\u5931\u8d25\uff0c\u53ef\u80fd\u5bfc\u81f4\u6ca1\u6709\u4e2d\u6587\u548c\u58f0\u97f3\u3002
+
+gamedownload.not_refreshed=\u6e38\u620f\u4e0b\u8f7d\u5217\u8868\u672a\u5237\u65b0\uff0c\u8bf7\u518d\u5237\u65b0\u4e00\u6b21\u3002
+
+taskwindow.title=\u4efb\u52a1
+taskwindow.single_progress=\u5355\u9879\u8fdb\u5ea6
+taskwindow.total_progress=\u603b\u8fdb\u5ea6
+taskwindow.cancel=\u53d6\u6d88
+taskwindow.no_more_instance=\u53ef\u80fd\u540c\u65f6\u6253\u5f00\u4e86\u591a\u4e2a\u4efb\u52a1\u7a97\u53e3\uff0c\u8bf7\u4e0d\u8981\u591a\u6b21\u6253\u5f00\uff01
+taskwindow.file_name=\u4efb\u52a1
+taskwindow.download_progress=\u8fdb\u5ea6
+
+setupwindow.include_minecraft=\u5bfc\u5165\u6e38\u620f\u6587\u4ef6\u5939
+setupwindow.find_in_configurations=\u5bfc\u5165\u5b8c\u6210\uff0c\u5feb\u5230\u914d\u7f6e\u4e0b\u62c9\u6846\u4e2d\u627e\u65b0\u6e38\u620f\u8def\u5f84\u5427\uff01
+setupwindow.give_a_name=\u7ed9\u65b0\u6e38\u620f\u8def\u5f84\u8d77\u4e2a\u540d\u5b57\u5427
+setupwindow.new=\u65b0\u5efa
+setupwindow.no_empty_name=\u540d\u5b57\u4e0d\u53ef\u4e3a\u7a7a
+setupwindow.clean=\u6e05\u7406\u6e38\u620f\u6587\u4ef6
+
+update.no_browser=\u65e0\u6cd5\u6253\u5f00\u6d4f\u89c8\u5668\uff0c\u7f51\u5740\u5df2\u7ecf\u590d\u5236\u5230\u526a\u8d34\u677f\u4e86\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u7c98\u8d34\u7f51\u5740\u6253\u5f00\u9875\u9762
+update.should_open_link=\u662f\u5426\u524d\u5f80\u53d1\u5e03\u9875\u9762\u66f4\u65b0\uff1f
+update.newest_version=\u6700\u65b0\u7248\u672c\u4e3a\uff1a
+update.failed=\u68c0\u67e5\u66f4\u65b0\u5931\u8d25
+update.found=(\u53d1\u73b0\u66f4\u65b0!)
+
+logwindow.terminate_game=\u7ed3\u675f\u6e38\u620f\u8fdb\u7a0b
+logwindow.tieba=\u8d34\u5427
+logwindow.title=\u65e5\u5fd7
+
+selector.choose=\u9009\u62e9
+
+serverlistview.title=\u9009\u62e9\u670d\u52a1\u5668
+serverlistview.name=\u540d\u79f0
+serverlistview.type=\u7c7b\u578b
+serverlistview.version=\u7248\u672c
+serverlistview.info=\u4fe1\u606f
+
+minecraft.invalid=\u65e0\u6548\u7684
+minecraft.invalid_jar=\u65e0\u6548\u7684jar\u5305
+minecraft.not_a_file=\u4e0d\u662f\u6587\u4ef6
+minecraft.not_found=\u627e\u4e0d\u5230minecraft.jar
+minecraft.not_readable=minecraft.jar\u4e0d\u53ef\u8bfb
+minecraft.modified=(\u4fee\u6539\u7684!)
+
+color.red=\u7ea2\u8272
+color.blue=\u84dd\u8272
+color.green=\u7eff\u8272
+color.orange=\u6a59\u8272
+color.dark_blue=\u6df1\u84dd\u8272
+color.purple=\u7d2b\u8272
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_REMOTE_7850.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_REMOTE_7850.properties
new file mode 100644
index 000000000..d0967f9c6
--- /dev/null
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_REMOTE_7850.properties
@@ -0,0 +1,328 @@
+# Hello Minecraft! Launcher.
+# Copyright (C) 2013 huangyuhui
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see {http://www.gnu.org/licenses/}.
+launch.failed=启动失败
+launch.failed_creating_process=启动失败,在创建新进程时发生错误,可能是Java路径错误。
+launch.failed_sh_permission=为启动文件添加权限时发生错误
+launch.failed_packing_jar=在打包jar时发生错误
+launch.unsupported_launcher_version=对不起,本启动器现在可能不能启动这个版本的Minecraft,但启动器还是会尝试启动,请尽快将此问题报告给作者。
+launch.too_big_memory_alloc_64bit=您设置的内存大小过大,由于可能超过了32位Java的内存分配限制,所以可能无法启动游戏,请将内存调至1024MB或更小,启动器仍会尝试启动。
+launch.too_big_memory_alloc_free_space_too_low=您设置的内存大小过大,由于超过了系统内存大小%dMB,所以可能影响游戏体验或无法启动游戏,启动器仍会尝试启动。
+launch.cannot_create_jvm=截获到无法创建Java虚拟机,可能是Java参数有问题,可以在设置中开启无参数模式启动
+launch.circular_dependency_versions=发现游戏版本循环引用,请确认您的客户端未被修改或修改导致出现此问题。
+launch.not_finished_downloading_libraries=未完成游戏依赖库的下载,还要继续启动游戏吗?
+launch.not_finished_decompressing_natives=未能解压游戏本地库,还要继续启动游戏吗?
+launch.wrong_javadir=错误的Java路径,将自动重置为默认Java路径。
+launch.exited_abnormally=游戏非正常退出,请查看日志文件,或联系他人寻求帮助。
+
+install.no_version=未找到要安装的对应MC版本
+install.no_version_if_intall=未找到要安装的对应MC版本,是否自动安装需要的MC版本?
+install.not_refreshed=未刷新列表
+install.download_list=下载列表
+
+install.liteloader.get_list=获取LiteLoader列表
+install.liteloader.install=安装LiteLoader
+
+install.forge.get_list=获取Forge列表
+install.forge.install=安装Forge
+install.forge.get_changelogs=获取Forge更新记录
+
+install.optifine.install=安装OptiFine
+install.optifine.get_list=获取OptiFine列表
+install.optifine.get_download_link=获取OptiFine下载地址
+
+install.failed_forge=安装Forge失败
+install.failed_optifine=安装Optifine失败
+install.failed_liteloader=安装LiteLoader失败
+install.failed_download_forge=下载Forge失败
+install.failed_download_optifine=下载Optifine失败
+install.failed=安装失败
+install.success=安装成功
+install.no_forge=没有安装Forge
+install.choose_forge=选择你安装的Forge版本
+install.version=版本
+install.mcversion=游戏版本
+install.time=时间
+install.release_time=释放时间
+install.type=类型
+install.please_refresh=如需使用自动安装请点击右侧刷新按钮
+
+crash.launcher=启动器崩溃了!
+crash.minecraft=Minecraft崩溃了!请认真阅读建议。
+
+login.choose_charactor=请选择您要使用的角色
+login.no_charactor=该帐号没有角色
+login.your_password=您的密码
+login.failed=登录失败:
+login.no_Player007=你还未设置用户名!
+login.wrong_password=可能是您的用户名或密码错误
+login.invalid_username=无效的用户名
+login.invalid_uuid_and_username=无效的UUID和用户名
+login.invalid_password=无效的密码
+login.invalid_access_token=无效的访问令牌
+login.changed_client_token=服务器回应已经修改客户端令牌
+login.not_email=用户名必须是邮箱
+login.type=登录
+login.username=名字
+login.account=邮箱
+login.invalid_token=请尝试登出并重新输入密码登录
+login.no_valid_character=无有效的角色,自行到skinme.cc登陆并创建角色
+
+proxy.username=账户
+proxy.password=密码
+proxy.host=主机
+proxy.port=端口
+
+login.failed.connect_authentication_server=无法连接认证服务器,可能是网络问题
+
+login.profile.not_logged_in=无法修改游戏资料同时未登录
+login.profile.selected=无法修改游戏资料. 你必须登出再返回.
+
+login.methods.yggdrasil=正版登录
+login.methods.offline=离线模式
+login.methods.no_method=没有登入方式...
+
+log.playername_null=玩家名为空,这代表着登录方法出现问题
+
+minecraft.no_selected_version=没有选择任何一个Minecraft版本
+minecraft.wrong_path=错误的Minecraft路径,启动器未找到设定的Minecraft路径,请检查。
+
+operation.stopped=操作被强行终止
+operation.confirm_stop=真的要终止操作吗?
+
+ui.login.password=密码
+ui.more=更多
+
+crash.advice.UnsupportedClassVersionError=这可能是因为您的Java版本过于老旧,可以尝试更换最新Java并在版本设置的Java路径中设置.
+crash.advice.ConcurrentModificationException=这可能是因为您的Java版本高于Java 1.8.0_11导致的,可以尝试卸载Java8安装Java7。
+crash.advice.ClassNotFoundException=Minecraft不完整或Mod冲突,如果有未能下载的文件请下载成功后重试或是客户端损坏请重试请重新制作客户端或下载整合包解决问题。
+crash.advice.NoSuchFieldError=Minecraft不完整或Mod冲突,如果有未能下载的文件请下载成功后重试或是客户端损坏请重试请重新制作客户端或下载整合包解决问题。
+crash.advice.LWJGLException=您的电脑不正常,可能需要使用驱动精灵或其他安装器更新显卡驱动。
+crash.advice.SecurityException=可能是您修改了minecraft.jar但未删除META-INF文件夹的原因。请通过压缩软件删除jar中的META-INF文件夹。
+crash.advice.OutOfMemoryError=内存溢出,您设置的Minecraft最大内存过小,请调大!
+crash.advice.otherwise=可能是Mod或其他问题。
+
+crash.advice.OpenGL=可能是显卡/声卡驱动问题,也可能是Mod导致的问题。
+crash.advice.no_lwjgl=可能是游戏依赖库不完整或解压依赖库时出错。可以通过下载整合包解决问题。
+
+crash.advice.no=无建议。
+
+crash.user_fault=您的系统或Java环境可能安装不当导致本软件崩溃,请检查您的Java环境或您的电脑!可以尝试重新安装Java。
+crash.headless=如果您的操作系统是Linux,请注意不要使用OpenJDK,务必使用Oracle JDK,或尝试添加-Djava.awt.headless=false参数,或检查您的Xserver是否正常
+crash.NoClassDefFound=请确认HMCL本体是否完整
+
+crash.error=您的Minecraft崩溃了。
+crash.main_class_not_found=找不到主类,可能是您的JSON文件填写错误。无法启动游戏。可以通过下载整合包解决问题。
+crash.class_path_wrong=解析Class Path时出现错误,此错误本不应该发生。可能是启动脚本错误,请仔细检查启动脚本。
+
+ui.label.newProfileWindow.new_profile_name=新配置名:
+ui.label.newProfileWindow.copy_from=复制配置:
+ui.newProfileWindow.title=新建配置
+
+ui.button.ok=确认
+ui.button.refresh=刷新
+ui.button.run=启动Minecraft
+ui.button.settings=
+ui.button.about=关于
+ui.button.others=其他
+ui.button.logout=登出
+ui.button.download=下载
+ui.button.retry=重试
+ui.button.delete=删除
+ui.button.install=安装
+ui.button.info=信息
+ui.button.save=保存
+ui.button.copy=复制
+ui.button.clear=清除
+ui.button.close=关闭
+ui.button.explore=浏览
+button.cancel=取消
+button.ok=确定
+
+ui.label.version=版本
+ui.label.password=密码
+ui.label.profile=配置
+
+ui.message.first_load=请在左边输入您的账号
+ui.message.enter_password=请在左边输入您的密码
+ui.message.launching=启动中
+ui.message.making=生成中
+ui.message.sure_remove=真的要删除配置%s吗?
+
+ui.label.settings=选项
+ui.label.crashing=Hello Minecraft!遇到了无法处理的错误,请复制下列内容并通过mcbbs、贴吧、Github或Minecraft Forum反馈bug。
+ui.label.crashing_out_dated=Hello Minecraft! Launcher遇到了无法处理的错误,已检测到您的启动器不是最新版本,请更新后再试!
+ui.label.failed_set=设置失败:
+
+download=下载
+download.mojang=官方
+download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
+download.rapid_data=RapidData (锐网云计算, https://www.rapiddata.org/)
+download.not_200=下载失败,回复码
+download.failed=下载失败
+download.successfully=下载完成
+
+message.error=错误
+message.cannot_open_explorer=无法打开文件管理器:
+message.cancelled=已取消
+message.info=提示
+
+folder.game=游戏文件夹
+folder.mod=MOD文件夹
+folder.coremod=核心MOD文件夹
+folder.config=配置文件夹
+folder.resourcepacks=资源包文件夹
+folder.screenshots=截图文件夹
+folder.saves=存档文件夹
+
+settings.tabs.game_download=游戏下载
+settings.tabs.installers=自动安装
+settings.tabs.assets_downloads=资源下载
+
+settings=普通设置
+settings.explore=浏览
+settings.manage=管理
+settings.cannot_remove_default_config=不能删除默认配置
+settings.max_memory=最大内存/MB
+settings.java_dir=Java路径
+settings.game_directory=游戏路径
+settings.dimension=分辨率
+settings.fullscreen=全屏
+settings.update_version=更新版本文件
+settings.physical_memory=物理内存大小
+settings.choose_javapath=选择Java路径
+settings.default=默认
+settings.custom=自定义
+settings.choose_gamedir=选择游戏路径
+
+settings.failed_load=设置文件加载失败,可能是升级了启动器或被人工修改造成错误,是否清除?
+
+mods=Mod管理
+mods.choose_mod=选择模组
+mods.failed=添加失败
+mods.add=添加
+mods.remove=删除
+mods.default_information=安装Mod前你需要确保已安装Forge或LiteLoader!
您可以从资源管理器拖动mod文件到列表中来添加mod,同时使用删除键可快速删除选中mod
点掉mod前面的勾可禁用mod,不会加载;选择mod可以获取mod信息
+
+advancedsettings=高级设置
+advancedsettings.launcher_visible=启动器可见性
+advancedsettings.run_directory=运行路径
+advencedsettings.debug_mode=调试模式
+advancedsettings.java_permanent_generation_space=内存永久保存区域(不必填写,MB)
+advancedsettings.jvm_args=Java虚拟机参数(不必填写)
+advancedsettings.Minecraft_arguments=Minecraft额外参数(不必填写)
+advancedsettings.launcher_visibility.close=游戏启动后结束启动器
+advancedsettings.launcher_visibility.hide=游戏启动后隐藏启动器
+advancedsettings.launcher_visibility.keep=保持启动器可见
+advancedsettings.game_dir.default=默认(.minecraft/)
+advancedsettings.game_dir.independent=各版本独立(.minecraft/versions/<版本名>/,除assets,libraries)
+advancedsettings.no_jvm_args=不添加JVM参数(使用Java9时必勾)
+advancedsettings.java_args_default=启动器默认添加的参数(请不要重复添加):-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
+advancedsettings.wrapper_launcher=启动前执行命令(不必填写,将在游戏启动前调用)
+advancedsettings.server_ip=直入服务器ip地址(不必填写,启动游戏后直接进入对应服务器)
+advancedsettings.cancel_wrapper_launcher=取消包裹启动器(出现奇怪问题时可尝试使用,与调试模式冲突)
+
+mainwindow.show_log=查看日志
+mainwindow.make_launch_script=生成启动脚本
+mainwindow.make_launch_script_failed=生成启动脚本失败
+mainwindow.enter_script_name=输入要生成脚本的文件名
+mainwindow.make_launch_succeed=启动脚本已生成完毕:
+mainwindow.no_version=未找到任何版本,是否进入游戏下载?
+
+launcher.about=默认背景图来自Liberty Dome服务器。
关于作者:
\n百度ID:huanghongxun20
\nmcbbs:huanghongxun
\n邮箱:huanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\n欢迎提交Bug哦
\nCopyright (c) 2013-2015 huangyuhui.
免责声明:Minecraft软件版权归Mojang AB所有,游戏由于误操作本启动器而丢失数据的概不负责。
本启动器在GPLv3协议下开源:http://github.com/huanghongxun/HMCL/
本软件使用了基于Apache License 2.0的RxJava和Gson项目,感谢贡献者。
+launcher.download_source=下载源
+launcher.background_location=背景地址
+launcher.exit_failed=强制退出失败,可能是Forge 1.7.10及更高版本导致的,无法解决。
+launcher.versions_json_not_matched=版本%s格式不规范!该版本文件夹下有json:%s,是否更名这个文件来规范格式?
+launcher.versions_json_not_matched_cannot_auto_completion=版本%s缺失必要的版本信息文件,是否删除该版本?
+launcher.versions_json_not_formatted=版本%s信息文件格式错误,是否重新下载?
+launcher.choose_bgpath=选择背景路径
+launcher.background_tooltip=\n\n启动器默认使用自带的背景
\n如果当前目录有background.png,则会使用该文件作为背景
\n如果当前目录有bg子目录,则会随机使用里面的一张图作为背景
\n如果该背景地址被修改,则会使用背景地址里的一张图作为背景
\n背景地址允许有多个地址,使用半角分号";"(不包含双引号)分隔\n\n
+launcher.update_launcher=检查更新
+launcher.enable_shadow=启用窗口阴影(重启启动器生效,可加快渲染速度)
+launcher.theme=主题
+launcher.proxy=代理
+
+launcher.title.game=游戏设置
+launcher.title.main=主页
+launcher.title.launcher=启动器设置
+
+versions.release=稳定版
+versions.snapshot=快照版
+versions.old_beta=测试版
+versions.old_alpha=远古版
+
+versions.manage.rename=重命名该版本
+versions.manage.rename.message=请输入要改成的名字
+versions.manage.remove=删除该版本
+versions.manage.remove.confirm=真的要删除版本
+versions.manage.redownload_json=重新下载版本配置(minecraft.json)
+versions.manage.redownload_assets_index=重新下载资源配置(assets_index.json)
+
+advice.os64butjdk32=您的系统是64位的但是Java是32位的,推荐您安装64位Java.
+
+assets.download_all=下载资源文件
+assets.not_refreshed=资源列表未刷新,请刷新一次。
+assets.failed=获取列表失败,请刷新重试。
+assets.list.1_7_3_after=1.7.3及以后
+assets.list.1_6=1.6(BMCLAPI)
+assets.unkown_type_select_one=无法解析游戏版本:%s,请选择一种资源类型下载。
+assets.type=资源类型
+assets.download=下载资源
+assets.no_assets=资源文件不完整,是否补全?
+assets.failed_download=下载资源文件失败,可能导致没有中文和声音。
+
+gamedownload.not_refreshed=游戏下载列表未刷新,请再刷新一次。
+
+taskwindow.title=任务
+taskwindow.single_progress=单项进度
+taskwindow.total_progress=总进度
+taskwindow.cancel=取消
+taskwindow.no_more_instance=可能同时打开了多个任务窗口,请不要多次打开!
+taskwindow.file_name=任务
+taskwindow.download_progress=进度
+
+setupwindow.include_minecraft=导入游戏文件夹
+setupwindow.find_in_configurations=导入完成,快到配置下拉框中找新游戏路径吧!
+setupwindow.give_a_name=给新游戏路径起个名字吧
+setupwindow.new=新建
+setupwindow.no_empty_name=名字不可为空
+setupwindow.clean=清理游戏文件
+
+update.no_browser=无法打开浏览器,网址已经复制到剪贴板了,您可以手动粘贴网址打开页面
+update.should_open_link=是否前往发布页面更新?
+update.newest_version=最新版本为:
+update.failed=检查更新失败
+update.found=(发现更新!)
+
+logwindow.terminate_game=结束游戏进程
+logwindow.tieba=贴吧
+logwindow.title=日志
+
+selector.choose=选择
+
+minecraft.invalid=无效的
+minecraft.invalid_jar=无效的jar包
+minecraft.not_a_file=不是文件
+minecraft.not_found=找不到minecraft.jar
+minecraft.not_readable=minecraft.jar不可读
+minecraft.modified=(修改的!)
+
+color.red=红色
+color.blue=蓝色
+color.green=绿色
+color.orange=橙色
+color.dark_blue=深蓝色
+color.purple=紫色
diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java
index 404cdd0bd..ac8976bb7 100644
--- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java
+++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java
@@ -1,7 +1,7 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2013 huangyuhui
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -23,6 +23,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
+import org.jackhuang.hellominecraft.C;
/**
* 判断mod类型
@@ -31,11 +32,11 @@ import java.util.zip.ZipFile;
*/
public class ModType {
- public static final int ForgeMod = 0;
- public static final int ModLoaderMod = 1;
- public static final int Forge = 2;
- public static final int ModLoader = 3;
- public static final int Unknown = 4;
+ public static final int FORGE_MOD = 0;
+ public static final int MODLOADER_MOD = 1;
+ public static final int FORGE = 2;
+ public static final int MODLOADER = 3;
+ public static final int UNKOWN = 4;
public static int getModType(String path) {
return getModType(new File(path));
@@ -55,13 +56,13 @@ public class ModType {
continue;
gbkPath = zipEnt.getName();
if ("mcmod.info".equals(gbkPath))
- return ForgeMod;
+ return FORGE_MOD;
else if ("mcpmod.info".equals(gbkPath))
- return Forge;
+ return FORGE;
else if ("ModLoader.class".equals(gbkPath))
isModLoader = true;
else if (gbkPath.trim().startsWith("mod_"))
- return ModLoaderMod;
+ return MODLOADER_MOD;
}
}
} catch (Exception e) {
@@ -77,24 +78,23 @@ public class ModType {
}
}
if (isModLoader)
- return ModLoaderMod;
+ return MODLOADER_MOD;
else
- return Unknown;
+ return UNKOWN;
}
public static String getModTypeShowName(int type) {
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraftlauncher/I18N"); // NOI18N
switch (type) {
- case ForgeMod:
- return bundle.getString("ForgeMod");
- case Forge:
- return bundle.getString("Forge");
- case ModLoader:
- return bundle.getString("ModLoader");
- case ModLoaderMod:
- return bundle.getString("ModLoaderMod");
- default:
- return bundle.getString("Unknown");
+ case FORGE_MOD:
+ return C.i18n("ForgeMod");
+ case FORGE:
+ return C.i18n("Forge");
+ case MODLOADER:
+ return C.i18n("ModLoader");
+ case MODLOADER_MOD:
+ return C.i18n("ModLoaderMod");
+ default:
+ return C.i18n("Unknown");
}
}
}
diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java
index 81677c240..5e53ed61a 100644
--- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java
+++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java
@@ -1,16 +1,16 @@
/*
* Copyright 2013 huangyuhui
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program.
*/
@@ -94,7 +94,7 @@ import org.jackhuang.hellominecraft.utils.Event;
* @author huangyuhui
*/
public final class MainWindow extends javax.swing.JFrame
-implements MonitorThread.MonitorThreadListener, Event {
+ implements MonitorThread.MonitorThreadListener, Event {
ImageIcon background = new ImageIcon(getClass().getResource("/background.jpg"));
JLabel backgroundLabel;
@@ -2911,14 +2911,20 @@ implements MonitorThread.MonitorThreadListener, Event {
cboGameMode.setSelectedIndex(sp.getPropertyInt("gamemode", 0));
cboDifficulty.setSelectedIndex(sp.getPropertyInt("difficulty", 1));
String wt = sp.getProperty("level-type");
- if (wt.equals("LARGEBIOMES"))
+ switch (wt) {
+ case "LARGEBIOMES":
cboWorldType.setSelectedIndex(2);
- else if (wt.equals("FLAT"))
+ break;
+ case "FLAT":
cboWorldType.setSelectedIndex(1);
- else if (wt.equals("DEFAULT"))
+ break;
+ case "DEFAULT":
cboWorldType.setSelectedIndex(0);
- else
+ break;
+ default:
cboWorldType.setSelectedIndex(0);
+ break;
+ }
txtMaxPlayer.setValue(sp.getPropertyInt("max-players", 20));
chkAllowFlight.setSelected(sp.getPropertyBoolean("allow-flight", false));
chkAllowNether.setSelected(sp.getPropertyBoolean("allow-nether", true));
@@ -3062,27 +3068,34 @@ implements MonitorThread.MonitorThreadListener, Event {
int idx = cboBukkitType.getSelectedIndex();
if (idx == -1)
return;
- if (idx == 1) {
- BukkitFormatThread thread = new BukkitFormatThread(
- "http://dl.bukkit.org/downloads/craftbukkit/list/beta/", value -> {
- craftBukkitBeta = value;
- reloadBukkitList();
- });
+ BukkitFormatThread thread;
+ switch (idx) {
+ case 1:
+ thread = new BukkitFormatThread(
+ "http://dl.bukkit.org/downloads/craftbukkit/list/beta/", value -> {
+ craftBukkitBeta = value;
+ reloadBukkitList();
+ });
thread.start();
- } else if (idx == 0) {
- BukkitFormatThread thread = new BukkitFormatThread(
- "http://dl.bukkit.org/downloads/craftbukkit/list/rb/", value -> {
- craftBukkitRecommended = value;
- reloadBukkitList();
- });
+ break;
+ case 0:
+ thread = new BukkitFormatThread(
+ "http://dl.bukkit.org/downloads/craftbukkit/list/rb/", value -> {
+ craftBukkitRecommended = value;
+ reloadBukkitList();
+ });
thread.start();
- } else if (idx == 2) {
- BukkitFormatThread thread = new BukkitFormatThread(
- "http://dl.bukkit.org/downloads/craftbukkit/list/dev/", value -> {
- craftBukkitDev = value;
- reloadBukkitList();
- });
+ break;
+ case 2:
+ thread = new BukkitFormatThread(
+ "http://dl.bukkit.org/downloads/craftbukkit/list/dev/", value -> {
+ craftBukkitDev = value;
+ reloadBukkitList();
+ });
thread.start();
+ break;
+ default:
+ break;
}
}
@@ -3123,12 +3136,19 @@ implements MonitorThread.MonitorThreadListener, Event {
int idx = cboBukkitType.getSelectedIndex();
if (idx == -1)
return;
- if (idx == 1)
+ switch (idx) {
+ case 1:
useBukkitVersions(craftBukkitBeta);
- else if (idx == 0)
+ break;
+ case 0:
useBukkitVersions(craftBukkitRecommended);
- else if (idx == 2)
+ break;
+ case 2:
useBukkitVersions(craftBukkitDev);
+ break;
+ default:
+ break;
+ }
}
public void useBukkitVersions(List list) {
@@ -3204,7 +3224,7 @@ implements MonitorThread.MonitorThreadListener, Event {
void getIP() {
IPGet get = new IPGet();
- get.dl = a -> lblIPAddress.setText("IP: " + a);;
+ get.dl = a -> lblIPAddress.setText("IP: " + a);
get.start();
}
@@ -3337,11 +3357,11 @@ implements MonitorThread.MonitorThreadListener, Event {
Server.init(SettingsManager.settings.mainjar, String.valueOf(SettingsManager.settings.maxMemory));
Server.getInstance()
- .addListener((MonitorThread.MonitorThreadListener) this);
+ .addListener((MonitorThread.MonitorThreadListener) this);
Server.getInstance()
- .addListener((Event) this);
+ .addListener((Event) this);
Server.getInstance()
- .clearSchedule();
+ .clearSchedule();
for (Schedule s : SettingsManager.settings.schedules)
Server.getInstance().addSchedule(s);
@@ -3369,14 +3389,21 @@ implements MonitorThread.MonitorThreadListener, Event {
private void txtCommandKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCommandKeyPressed
int newCommandIndex = commandIndex;
int type = 0;
- if (evt.getKeyCode() == KeyEvent.VK_UP) {
+ switch (evt.getKeyCode()) {
+ case KeyEvent.VK_UP:
newCommandIndex--;
type = 1;
- } else if (evt.getKeyCode() == KeyEvent.VK_DOWN) {
+ break;
+ case KeyEvent.VK_DOWN:
newCommandIndex++;
type = 1;
- } else if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+ break;
+ case KeyEvent.VK_ENTER:
type = 2;
+ break;
+ default:
+ break;
+ }
if (type == 1) {
if (outOfCommandSet(newCommandIndex))
return;
@@ -3468,12 +3495,19 @@ implements MonitorThread.MonitorThreadListener, Event {
private void cboWorldTypeItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboWorldTypeItemStateChanged
int OAO = cboWorldType.getSelectedIndex();
String type = "DEFAULT";
- if (OAO == 0)
+ switch (OAO) {
+ case 0:
type = "DEFAULT";
- else if (OAO == 1)
+ break;
+ case 1:
type = "FLAT";
- else if (OAO == 2)
+ break;
+ case 2:
type = "LARGEBIMOES";
+ break;
+ default:
+ break;
+ }
ServerProperties.getInstance().setLevelType(type);
}//GEN-LAST:event_cboWorldTypeItemStateChanged
@@ -3706,7 +3740,7 @@ implements MonitorThread.MonitorThreadListener, Event {
}//GEN-LAST:event_btnSaveActionPerformed
private void btnSaveExtModActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveExtModActionPerformed
- ArrayList arrayList = new ArrayList();
+ ArrayList arrayList = new ArrayList<>();
Vector strings = ((DefaultTableModel) lstExternalMods.getModel()).getDataVector();
for (Object s : strings) {
Vector v = (Vector) s;
@@ -3849,12 +3883,12 @@ implements MonitorThread.MonitorThreadListener, Event {
private void btnBackupActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBackupActionPerformed
switch (cboBackupTypes.getSelectedIndex()) {
- case 0:
- BackupManager.backupAllWorlds();
- break;
- case 1:
- BackupManager.backupAllPlugins();
- break;
+ case 0:
+ BackupManager.backupAllWorlds();
+ break;
+ case 1:
+ BackupManager.backupAllPlugins();
+ break;
}
}//GEN-LAST:event_btnBackupActionPerformed
@@ -4012,27 +4046,27 @@ implements MonitorThread.MonitorThreadListener, Event {
int idx = lstCraftbukkit.getSelectedRow();
if (idx == -1)
return;
- String ext = "";
- List cb = null;
+ String ext;
+ List cb;
int idx2 = cboBukkitType.getSelectedIndex();
if (idx2 == -1)
return;
switch (idx2) {
- case 0:
- ext = "rb";
- cb = craftBukkitRecommended;
- break;
- case 1:
- ext = "beta";
- cb = craftBukkitBeta;
- break;
- default:
- return;
+ case 0:
+ ext = "rb";
+ cb = craftBukkitRecommended;
+ break;
+ case 1:
+ ext = "beta";
+ cb = craftBukkitBeta;
+ break;
+ default:
+ return;
}
BukkitVersion v = cb.get(idx);
File file = new File(IOUtils.currentDir(), "craftbukkit-" + ext + "-" + v.version + ".jar");
TaskWindow.getInstance().addTask(new FileDownloadTask(v.downloadLink, IOUtils.tryGetCanonicalFile(file)).setTag("bukkit-" + ext + "-" + v.version))
- .start();
+ .start();
}//GEN-LAST:event_btnDownloadCraftbukkitActionPerformed
private void btnDownloadMCPCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDownloadMCPCActionPerformed
@@ -4065,7 +4099,7 @@ implements MonitorThread.MonitorThreadListener, Event {
}//GEN-LAST:event_lstRefreshMCPCActionPerformed
private void btnSaveCoreModActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveCoreModActionPerformed
- ArrayList arrayList = new ArrayList();
+ ArrayList arrayList = new ArrayList<>();
Vector strings = ((DefaultTableModel) lstPlugins.getModel()).getDataVector();
for (Object s : strings) {
Vector v = (Vector) s;
@@ -4176,10 +4210,10 @@ implements MonitorThread.MonitorThreadListener, Event {
MonitorThread mainThread;
DefaultListModel lstOPModel = new DefaultListModel(),
- lstWhiteListModel = new DefaultListModel(),
- lstBannedModel = new DefaultListModel(),
- lstCrashReportsModel = new DefaultListModel(),
- lstPlayersModel = new DefaultListModel();
+ lstWhiteListModel = new DefaultListModel(),
+ lstBannedModel = new DefaultListModel(),
+ lstCrashReportsModel = new DefaultListModel(),
+ lstPlayersModel = new DefaultListModel();
List plugins;
Map> mcpcPackages;
List craftBukkitRecommended, craftBukkitBeta, craftBukkitDev;