Added Vietnamese lang.

This commit is contained in:
huangyuhui 2017-01-27 14:09:08 +08:00
parent 6e79450558
commit 68cfa3a5da
26 changed files with 990 additions and 156 deletions

View File

@ -129,7 +129,7 @@ public abstract class IAssetsHandler {
need = !location.exists();
}
if (need)
al.add(new FileDownloadTask(url, location).setTag(mark));
al.add(new FileDownloadTask(url, location).setTag(contents.get(i).geteTag()));
}
}

View File

@ -60,7 +60,7 @@ public class MinecraftForgeVersionList extends InstallerVersionList {
@Override
public Collection<Task> getDependTasks() {
return Arrays.asList(task);
return Arrays.asList(task.setTag("Official Forge Download Site"));
}
@Override

View File

@ -62,7 +62,7 @@ public class LiteLoaderVersionList extends InstallerVersionList {
@Override
public Collection<Task> getDependTasks() {
return Arrays.asList(task);
return Arrays.asList(task.setTag("Official Liteloader Download Site"));
}
@Override

View File

@ -65,7 +65,7 @@ public class OptiFineBMCLVersionList extends InstallerVersionList {
@Override
public Collection<Task> getDependTasks() {
return Arrays.asList(task);
return Arrays.asList(task.setTag("BMCL Optifine Download Site"));
}
@Override

View File

@ -72,7 +72,7 @@ public class OptiFineVersionList extends InstallerVersionList {
@Override
public Collection<Task> getDependTasks() {
return Arrays.asList(task);
return Arrays.asList(task.setTag("Optifine Download Site"));
}
@Override

View File

@ -29,16 +29,16 @@ import javax.swing.JPanel;
import org.jackhuang.hellominecraft.util.ui.StackBlurFilter;
/**
*
* This component will allow some area blured to provide better UI.
* @author huangyuhui
*/
public class GaussionPage extends Page {
private transient BufferedImage aeroBuffer; // 模糊缓存
private transient BufferedImage aeroBuffer;
private transient Image backgroundImage;
private final List<JPanel> aeroObject = new ArrayList<>();
private transient Graphics2D aeroGraphics; // 模糊对象
private static final int RADIUS = 10; // 模糊半径
private transient Graphics2D aeroGraphics;
private static final int RADIUS = 10;
private transient final StackBlurFilter stackBlurFilter = new StackBlurFilter(RADIUS);
private transient BufferedImage cache = null;
@ -46,6 +46,10 @@ public class GaussionPage extends Page {
this.backgroundImage = backgroundImage;
}
/**
* The background will be blured under the aero object.
* @param aeroObject just need its bounds, keep it not opaque.
*/
public void addAeroObject(JPanel aeroObject) {
this.aeroObject.add(aeroObject);
cache = null;
@ -58,6 +62,7 @@ public class GaussionPage extends Page {
if (backgroundImage == null)
return;
// If we cache the processed background image, the CPU ratio will reduce 5%.
if (cache == null || getWidth() != cache.getWidth() || getHeight() != cache.getHeight()) {
cache = new BufferedImage(getWidth(), getHeight(), 2);
Graphics2D g2 = cache.createGraphics();

View File

@ -27,8 +27,22 @@ import javax.swing.JComponent;
* @author huang
*/
public interface IRepaint {
/**
* addDirtyRegion to?
* @return the component which needs repainting.
*/
JComponent getRepaintComponent();
/**
* addDirtyRegion to?
* @return the window which needs repainting.
*/
Window getRepaintWindow();
/**
* Repaint the component/window you want.
* @return the region where you want to repaint.
*/
Collection<Rectangle> getRepaintRects();
}

View File

@ -399,6 +399,7 @@ public class MainPagePanel extends GaussionPage {
}//GEN-LAST:event_txtPasswordCaretUpdate
// <editor-fold defaultstate="collapsed" desc="Loads">
private void prepareAuths() {
preparingAuth = true;
cboLoginMode.removeAllItems();

View File

@ -21,8 +21,8 @@ import java.awt.Dimension;
import javax.swing.JComboBox;
/**
*
* @author huang
* Make the popup menu of combo boxes wider.
* @author huangyuhui
*/
public class WideComboBox extends JComboBox {

View File

@ -38,9 +38,8 @@ public final class NetUtils {
private NetUtils() {
}
private static HttpURLConnection createConnection(URL url, Proxy proxy) throws IOException {
public static HttpURLConnection createConnection(URL url, Proxy proxy) throws IOException {
HttpURLConnection con = (HttpURLConnection) url.openConnection(proxy);
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setConnectTimeout(15000);

View File

@ -35,7 +35,7 @@ public final class Localization {
private static final Map<Locale, Localization> INSTANCE = new HashMap<>();
private final Map<String, String> lang;
private final Map<String, String> lang = new HashMap<>();
private static InputStream getStream(String id) {
return Localization.class.getResourceAsStream(String.format(ROOT_LOCATION, id));
@ -48,12 +48,10 @@ public final class Localization {
if (is == null)
is = getStream("");
if (is == null)
throw new RuntimeException("LANG FILE MISSING");
throw new IllegalStateException("Language file missing");
this.lang = new HashMap<>();
try {
String[] strings = IOUtils.readFully(is).toString("UTF-8").split("\n");
for (String s : strings)
for (String s : IOUtils.readLines(is, IOUtils.DEFAULT_CHARSET))
if (!s.isEmpty() && s.charAt(0) != 35) {
int i = s.indexOf('=');
if (i == -1)

View File

@ -17,7 +17,6 @@
*/
package org.jackhuang.hellominecraft.util.logging.layout;
import org.jackhuang.hellominecraft.util.code.Charsets;
import org.jackhuang.hellominecraft.util.logging.LogEvent;
/**
@ -28,7 +27,7 @@ public abstract class AbstractStringLayout implements ILayout<String> {
@Override
public byte[] toByteArray(LogEvent event) {
return toSerializable(event).getBytes(Charsets.UTF_8);
return toSerializable(event).getBytes();
}
}

View File

@ -143,27 +143,22 @@ public class Logger extends AbstractLogger {
}
boolean filter(Level level, String msg) {
return this.intLevel >= level.level;
}
boolean filter(Level level, String msg, Throwable t) {
return this.intLevel >= level.level;
}
boolean filter(Level level, String msg, Object[] p1) {
return this.intLevel >= level.level;
}
boolean filter(Level level, Object msg, Throwable t) {
return this.intLevel >= level.level;
}
boolean filter(Level level, IMessage msg, Throwable t) {
return this.intLevel >= level.level;
}
}

View File

@ -188,9 +188,16 @@ public final class IOUtils {
else
return path + "java";
}
public static List<String> readLines(InputStream stream, String charset) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(stream, charset));
ArrayList<String> ret = new ArrayList<>();
for (String line; (line = br.readLine()) != null; ret.add(line));
return ret;
}
public static ByteArrayOutputStream readFully(InputStream stream) throws IOException {
byte[] data = new byte[4096];
byte[] data = new byte[MAX_BUFFER_SIZE];
ByteArrayOutputStream entryBuffer = new ByteArrayOutputStream();
int len;
do {
@ -309,7 +316,7 @@ public final class IOUtils {
}
public static void copyStream(InputStream input, OutputStream output) throws IOException {
copyStream(input, output, new byte[1024]);
copyStream(input, output, new byte[MAX_BUFFER_SIZE]);
}
public static void copyStream(InputStream input, OutputStream output, byte[] buf) throws IOException {
@ -318,6 +325,11 @@ public final class IOUtils {
output.write(buf, 0, length);
}
/**
* Max buffer size downloading.
*/
public static final int MAX_BUFFER_SIZE = 4096;
public static final String DEFAULT_CHARSET = "UTF-8";
public static PrintStream createPrintStream(OutputStream out, Charset charset) {

View File

@ -72,6 +72,10 @@ public abstract class Task {
protected String tag;
/**
* For FileDownloadTask: info replacement.
* @return
*/
public String getTag() {
return tag;
}

View File

@ -1,41 +0,0 @@
/*
* Hello Minecraft!.
* Copyright (C) 2013 huangyuhui <huanghongxun2008@126.com>
*
* 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/}.
*/
package org.jackhuang.hellominecraft.util.tasks.download;
import org.jackhuang.hellominecraft.util.Event;
import org.jackhuang.hellominecraft.util.ui.LogWindow;
/**
*
* @author huangyuhui
*/
public class ContentGetAndShowTask extends HTTPGetTask implements Event<String> {
public ContentGetAndShowTask(String info, String changeLogUrl) {
super(info, changeLogUrl);
tdtsl.register(this);
}
@Override
public boolean call(Object sender, String value) {
LogWindow.INSTANCE.clean();
LogWindow.INSTANCE.log(value);
LogWindow.INSTANCE.setVisible(true);
return true;
}
}

View File

@ -42,9 +42,6 @@ import org.jackhuang.hellominecraft.util.system.IOUtils;
// This class downloads a file from a URL.
public class FileDownloadTask extends Task implements PreviousResult<File>, PreviousResultRegistrar<String> {
// Max size of download buffer.
protected static final int MAX_BUFFER_SIZE = 2048;
protected URL url; // download URL
protected int downloaded = 0; // number of bytes downloaded
protected File filePath;
@ -113,7 +110,7 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
HMCLog.warn("Switch to: " + url);
}
}
HMCLog.log("Downloading: " + url + ", to: " + filePath);
HMCLog.log("Downloading: " + url + " to: " + filePath);
if (!shouldContinue)
break;
try {
@ -121,26 +118,29 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
ppl.setProgress(this, -1, 1);
// Open connection to URL.
HttpURLConnection connection
= (HttpURLConnection) url.openConnection();
HttpURLConnection con = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setRequestProperty("User-Agent", "Hello Minecraft!");
con.setDoInput(true);
con.setConnectTimeout(15000);
con.setReadTimeout(15000);
con.setRequestProperty("User-Agent", "Hello Minecraft!");
// Connect to server.
connection.connect();
con.connect();
// Make sure response code is in the 200 range.
if (connection.getResponseCode() / 100 != 2)
throw new NetException(C.i18n("download.not_200") + " " + connection.getResponseCode());
if (con.getResponseCode() / 100 != 2)
throw new NetException(C.i18n("download.not_200") + " " + con.getResponseCode());
// Check for valid content length.
int contentLength = connection.getContentLength();
int contentLength = con.getContentLength();
if (contentLength < 1)
throw new NetException("The content length is invalid.");
filePath.getParentFile().mkdirs();
if (!filePath.getParentFile().mkdirs() && !filePath.getParentFile().isDirectory())
throw new IOException("Could not make directory");
// We use temp file to prevent files from aborting downloading and broken.
File tempFile = new File(filePath.getAbsolutePath() + ".hmd");
if (!tempFile.exists())
tempFile.createNewFile();
@ -152,7 +152,7 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
MessageDigest digest = DigestUtils.getSha1Digest();
stream = connection.getInputStream();
stream = con.getInputStream();
int lastDownloaded = 0;
downloaded = 0;
long lastTime = System.currentTimeMillis();
@ -164,19 +164,21 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
break;
}
byte buffer[] = new byte[MAX_BUFFER_SIZE];
byte buffer[] = new byte[IOUtils.MAX_BUFFER_SIZE];
// Read from server into buffer.
int read = stream.read(buffer);
if (read == -1)
break;
digest.update(buffer, 0, read);
if (expectedHash != null)
digest.update(buffer, 0, read);
// Write buffer to file.
file.write(buffer, 0, read);
downloaded += read;
// Update progress information per second
long now = System.currentTimeMillis();
if (ppl != null && (now - lastTime) >= 1000) {
ppl.setProgress(this, downloaded, contentLength);
@ -186,6 +188,8 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
}
}
closeFiles();
// Restore temp file to original name.
if (aborted)
tempFile.delete();
else {
@ -197,7 +201,9 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
break;
if (downloaded != contentLength)
throw new IllegalStateException("Unexptected file size: " + downloaded + ", expected: " + contentLength);
String hashCode = String.format("%1$040x", new Object[] { new BigInteger(1, digest.digest()) });
// Check hash code
String hashCode = String.format("%1$040x", new BigInteger(1, digest.digest()));
if (expectedHash != null && !expectedHash.equals(hashCode))
throw new IllegalStateException("Unexpected hash code: " + hashCode + ", expected: " + expectedHash);
@ -214,17 +220,8 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
throw failReason;
}
public static void download(String url, String file, DownloadListener dl) throws Throwable {
download(url, new File(file), dl);
}
public static void download(String url, File file, DownloadListener dl) throws Throwable {
((Task) new FileDownloadTask(url, file).setProgressProviderListener(dl)).executeTask(true);
}
@Override
public boolean abort() {
//for (Downloader d : downloaders) d.abort();
shouldContinue = false;
aborted = true;
return true;
@ -232,7 +229,7 @@ public class FileDownloadTask extends Task implements PreviousResult<File>, Prev
@Override
public String getInfo() {
return C.i18n("download") + ": " + url;
return C.i18n("download") + ": " + (tag == null ? url : tag);
}
@Override

View File

@ -20,33 +20,34 @@ package org.jackhuang.hellominecraft.util.tasks.download;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;
import org.jackhuang.hellominecraft.util.C;
import org.jackhuang.hellominecraft.util.logging.HMCLog;
import org.jackhuang.hellominecraft.util.tasks.TaskInfo;
import org.jackhuang.hellominecraft.util.tasks.comm.PreviousResult;
import org.jackhuang.hellominecraft.util.EventHandler;
import org.jackhuang.hellominecraft.util.NetUtils;
import org.jackhuang.hellominecraft.util.code.Charsets;
import org.jackhuang.hellominecraft.util.tasks.Task;
/**
*
* @author huangyuhui
*/
public class HTTPGetTask extends TaskInfo implements PreviousResult<String> {
public class HTTPGetTask extends Task implements PreviousResult<String> {
String url, encoding, result;
EventHandler<String> tdtsl = new EventHandler<>(this);
String url, result;
Charset encoding;
EventHandler<String> doneEvent = new EventHandler<>(this);
boolean shouldContinue = true;
public HTTPGetTask(String url) {
this(null, url);
this(url, Charsets.UTF_8);
}
public HTTPGetTask(String info, String url) {
this(info, url, "UTF-8");
}
public HTTPGetTask(String info, String url, String encoding) {
super(info);
public HTTPGetTask(String url, Charset encoding) {
this.url = url;
this.encoding = encoding;
}
@ -60,15 +61,18 @@ public class HTTPGetTask extends TaskInfo implements PreviousResult<String> {
try {
if (ppl != null)
ppl.setProgress(this, -1, 1);
URLConnection conn = new URL(url).openConnection();
InputStream is = conn.getInputStream();
HttpURLConnection con = NetUtils.createConnection(new URL(url), Proxy.NO_PROXY);
InputStream is = con.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int size = conn.getContentLength(), read = 0, len;
byte[] buf = new byte[4096];
int size = con.getContentLength(), read = 0, len;
long lastTime = System.currentTimeMillis();
while ((len = is.read(buf)) != -1) {
baos.write(buf, 0, len);
read += len;
// Update progress information per second
long now = System.currentTimeMillis();
if (ppl != null && (now - lastTime) >= 1000) {
ppl.setProgress(this, read, size);
@ -77,8 +81,8 @@ public class HTTPGetTask extends TaskInfo implements PreviousResult<String> {
if (!shouldContinue)
return;
}
result = baos.toString(encoding);
tdtsl.execute(result);
result = baos.toString(encoding.name());
doneEvent.execute(result);
return;
} catch (IOException ex) {
t = new NetException("Failed to get " + url, ex);
@ -91,13 +95,12 @@ public class HTTPGetTask extends TaskInfo implements PreviousResult<String> {
@Override
public boolean abort() {
shouldContinue = false;
aborted = true;
return true;
return aborted = true;
}
@Override
public String getInfo() {
return super.getInfo() != null ? super.getInfo() : "Get: " + url;
return C.i18n("download") + ": " + (tag == null ? url : tag);
}
@Override

View File

@ -13,6 +13,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see {http://www.gnu.org/licenses/}.
#
#author: huangyuhui
launch.failed=启动失败
launch.failed_creating_process=启动失败在创建新进程时发生错误可能是Java路径错误。
launch.failed_sh_permission=为启动文件添加权限时发生错误

View File

@ -13,6 +13,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see {http://www.gnu.org/licenses/}.
#
#author: huangyuhui
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

View File

@ -13,6 +13,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see {http://www.gnu.org/licenses/}.
#
#author: huangyuhui, dxNeil
launch.failed=Failed to launch.
launch.failed_creating_process=Failed to create process, maybe your java path is wrong, please modify your java path.
launch.failed_sh_permission=Failed to add permission to the launch script.

View File

@ -13,18 +13,20 @@
#
# 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=Failed to launch
#
#author: huangyuhui, dxNeil
launch.failed=Failed to launch.
launch.failed_creating_process=Failed to create process, maybe your java path is wrong, please modify your java path.
launch.failed_sh_permission=Failed to add permission to the launch script
launch.failed_packing_jar=Failed to pack jar
launch.unsupported_launcher_version=Sorry, this launcher cannot launch this minecraft, but the launcher will try to launch it.
launch.failed_sh_permission=Failed to add permission to the launch script.
launch.failed_packing_jar=Failed to pack the jar.
launch.unsupported_launcher_version=Sorry, the launcher cannot launch minecraft, but will retry launching it.
launch.too_big_memory_alloc_64bit=You have allocated too much memory, because of your 32-Bit Java Runtime Environment, your game probably crash. The maximum memory is 1024MB. The launcher will try to launch it.
launch.too_big_memory_alloc_free_space_too_low=You have allocated too much memory, because the physical memory size is %dMB, your game probably crash. The launcher will try to launch it.
launch.cannot_create_jvm=We find that it cannot create java virutal machine. The Java argements may have problems. You can enable the no args mode in the settings.
launch.circular_dependency_versions=Found circular dependency versions, please check if your client has been modified.
launch.not_finished_downloading_libraries=Did not finish downloading libraries, continue launching game?
launch.not_finished_decompressing_natives=Did not finish decompressing native libraries, continue launching game?
launch.wrong_javadir=Wrong Java Dir, will reset to default Java dir.
launch.wrong_javadir=Incorrect Java directory, will reset to default Java directory.
launch.exited_abnormally=Game exited abnormally, please visit the log, or ask someone for help.
launch.state.logging_in=Logging In
@ -33,7 +35,7 @@ launch.state.downloading_libraries=Downloading dependencies
launch.state.decompressing_natives=Decompressing natives
install.no_version=The version is not found.
install.no_version_if_intall=The needed version is not found, should install the version automatically?
install.no_version_if_intall=The required version is not found, do you wish to install the version automatically?
install.not_refreshed=The installer list is not refreshed.
install.download_list=Download List
@ -48,11 +50,11 @@ install.optifine.install=Install OptiFine
install.optifine.get_list=Get OptiFine Download List
install.optifine.get_download_link=Get the Download Link of OptiFine
install.failed_forge=Failed to Install Forge
install.failed_optifine=Failed to Install OptiFine
install.failed_liteloader=Failed to Install LiteLoader
install.failed_download_forge=Failed to Download Forge
install.failed_download_optifine=Failed to Download OptiFine
install.failed_forge=Failed to install 'Forge'.
install.failed_optifine=Failed to install 'OptiFine'.
install.failed_liteloader=Failed to install 'LiteLoader'.
install.failed_download_forge=Failed to download 'Forge'.
install.failed_download_optifine=Failed to download 'OptiFine'.
install.failed=Failed to install
install.success=Install successfully
install.no_forge=No Forge
@ -62,17 +64,17 @@ install.mcversion=Game Version
install.time=Time
install.release_time=Release Time
install.type=Type
install.please_refresh=If you want to install something, please click "Refresh" button.
install.please_refresh=If you want to install something please click "Refresh" button.
crash.launcher=Launcher has crashed!
crash.minecraft=Minecraft has crashed!
login.choose_charactor=Please choose the charactor you want
login.no_charactor=No charactor in this account.
login.choose_charactor=Please choose the character you want
login.no_charactor=No character in this account.
login.your_password=Your password
login.failed=Failed to login
login.no_Player007=You have not set username!
login.wrong_password=Wrong password or username
login.no_Player007=You have not set a username!
login.wrong_password=Incorrect password or username
login.invalid_username=Invalid username
login.invalid_uuid_and_username=Invalid UUID and username
login.invalid_password=Invalid password
@ -82,8 +84,8 @@ login.not_email=The username must be a e-mail.
login.type=Login
login.username=Name
login.account=Email
login.invalid_token=Please log out and reinput your password to log in.
login.no_valid_character=No Valid Character, please visit skinme.cc and create your own character.
login.invalid_token=Please log out and re-input your password to log in.
login.no_valid_character=No valid character, please visit skinme.cc and create your own character.
proxy.username=Account
proxy.password=Password
@ -92,8 +94,8 @@ proxy.port=Port
login.failed.connect_authentication_server=Cannot connect the authentication server. Check your network.
login.profile.not_logged_in=Not Logged In and Cannot modify the profile.
login.profile.selected=Cannot modify the profile, you must logout and go back.
login.profile.not_logged_in=You are not logged in, you can't modify the profile!
login.profile.selected=Can't modify the profile, logout and go retry.
login.methods.yggdrasil=Mojang
login.methods.offline=Offline
@ -171,7 +173,7 @@ ui.message.update_java=Please upgrade your Java.
ui.label.settings=Settings
ui.label.crashing=<html>Hello Minecraft! Launcher has crashed!</html>
ui.label.crashing_out_dated=<html>Hello Minecraft! Launcher has crashed! And your launcher is not the latest version. Update it!</html>
ui.label.crashing_out_dated=<html>Hello Minecraft! Launcher has crashed! Your launcher is outdated. Update it!</html>
ui.label.failed_set=Failed to set:
download=Download
@ -180,7 +182,7 @@ download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
download.rapid_data=RapidData (https://www.rapiddata.org/)
download.not_200=Failed to download, the response code
download.failed=Failed to download
download.successfully=Download Successfully
download.successfully=Downloaded successfully
download.source=Download Source
message.error=Error
@ -224,21 +226,21 @@ modpack=Mod pack
modpack.choose=Choose a modpack zip file which you want to import. If you want to update the modpack, please enter the version you want to update.
modpack.export_error=Failed to export the modpack, maybe the format of your game directory is incorrect or failed to manage files.
modpack.export_finished=Exporting the modpack finished. See
modpack.included_launcher=The modpack has already included the launcher, you can publish it directly.
modpack.not_included_launcher=Use the modpack by "import modpack".
modpack.enter_name=Give this game a name which is your favorite.
modpack.included_launcher=The modpack is included the launcher, you can publish it directly.
modpack.not_included_launcher=You can use the modpack by clicking the "Import Modpack" button.
modpack.enter_name=Enter your desired name for this game.
modpack.task.save=Export the modpack
modpack.task.install=Import the modpack
modpack.task.install.error=Failed to install the modpack, maybe the modpack file is incorrect or failed to manage files.
modpack.task.install.will=Will install the modpack:
modpack.task.save=Export Modpack
modpack.task.install=Import Modpack
modpack.task.install.error=Failed to install the modpack. Maybe the files is incorrect, or a management issue occurred.
modpack.task.install.will=Install the modpack:
modpack.wizard=Exporting the modpack wizard
modpack.wizard.step.1=Basic options
modpack.wizard.step.1.title=Set the basic options to the modpack.
modpack.wizard.step.initialization.include_launcher=Include the launcher
modpack.wizard.step.initialization.exported_version=The exported game version
modpack.wizard.step.initialization.save=Choose a location which you want to export the game files to
modpack.wizard.step.initialization.save=Choose a location to export the game files to
modpack.wizard.step.initialization.warning=<html>Before making modpack, you should ensure that your game can launch successfully,<br/>and that your Minecraft is release, not snapshot.<br/>and that it is not allowed to add mods which is not allowed to distribute to the modpack.</html>
modpack.wizard.step.2=Files selection
modpack.wizard.step.2.title=Choose the files you do not want to put in the modpack.
@ -258,12 +260,12 @@ modpack.files.saves=Saved games
modpack.files.mods=Mods
modpack.files.config=Mod configs
modpack.files.liteconfig=Mod configurations
modpack.files.resourcepacks=Resource(Texutre) packs
modpack.files.resourcepacks=Resource(Texture) packs
modpack.files.options_txt=Game options
modpack.files.optionsshaders_txt=Shaders options
modpack.files.mods.voxelmods=VoxelMods(including VoxelMap) options
modpack.files.mods.voxelmods=VoxelMods (including VoxelMap) options
modpack.files.dumps=NEI debug output
modpack.files.scripts=MineTweaker configs
modpack.files.scripts=MineTweaker configuration
modpack.files.blueprints=BuildCraft blueprints
mods=Mods
@ -290,7 +292,7 @@ advancedsettings.wrapper_launcher=Wrapper Launcher(like optirun...)
advancedsettings.precall_command=Precalling command(will be executed before game launching)
advancedsettings.server_ip=Server Host
advancedsettings.cancel_wrapper_launcher=Cancel Wrapper Launcher
advancedsettings.dont_check_game_completeness=Dont check game completeness
advancedsettings.dont_check_game_completeness=Don't check game completeness
mainwindow.show_log=Show Logs
mainwindow.make_launch_script=Make Launching Script.
@ -307,7 +309,7 @@ launcher.versions_json_not_matched=The version %s is malformed! There are a json
launcher.versions_json_not_matched_cannot_auto_completion=The version %s lost version information file, delete it?
launcher.versions_json_not_formatted=The version information of %s is malformed! Redownload it?
launcher.choose_bgpath=Choose background path.
launcher.background_tooltip=<html><body>This app uses the default background at first.<br />If there is background.png in the directory, it will be used.<br />If there is "bg" subdirectory, this app will chooses one picture in "bgskin" randomly.<br />If you set the background setting, this app will use it.</body></html>
launcher.background_tooltip=<html><body>The laucher uses a default background.<br/>If you use custom background.png, link it and it will be used.<br />If there is "bg" subdirectory, this app will chooses one picture in "bgskin" randomly.<br />If you set the background setting, this app will use it.</body></html>
launcher.update_launcher=Check for update
launcher.enable_shadow=Enable Window Shadow
launcher.enable_animation=Enable Animation
@ -341,7 +343,7 @@ advice.os64butjdk32=Your OS is 64-Bit but your Java is 32-Bit. The 64-Bit Java i
assets.download_all=Download Assets Files
assets.not_refreshed=The assets list is not refreshed, please refresh it once.
assets.failed=Failed to get the list, try again.
assets.list.1_7_3_after=1.7.3 And Higher
assets.list.1_7_3_after=1.7.3 And higher
assets.list.1_6=1.6(BMCLAPI)
assets.unkown_type_select_one=Unknown game version: %s, please choose an asset type.
assets.type=Asset Type
@ -355,7 +357,7 @@ taskwindow.title=Tasks
taskwindow.single_progress=Single progress
taskwindow.total_progress=Total progress
taskwindow.cancel=Cancel
taskwindow.no_more_instance=Maybe you opened more than one task window, dont open it again!
taskwindow.no_more_instance=Maybe you opened more than one task window, don't open it again!
taskwindow.file_name=Task
taskwindow.download_progress=Pgs.
@ -366,8 +368,8 @@ setupwindow.new=New
setupwindow.no_empty_name=Version name cannot be empty.
setupwindow.clean=Clean game files
update.no_browser=Cannot open any browser. The link has been copied to the clipboard. You can paste it to the address bar.
update.should_open_link=Are you willing to upgrade this app?
update.no_browser=Cannot open any browser. The link has been copied to the clipboard. Paste it to a browser address bar to update.
update.should_open_link=Are you willing to update the launcher?
update.newest_version=Newest version:
update.failed=Failed to check for updates.
update.found=(Found Update!)
@ -415,4 +417,4 @@ wizard.failed=Failed
wizard.steps=Steps
lang=English
lang.default=Belong to OS language.
lang.default=Belong to OS language.

View File

@ -0,0 +1,418 @@
# Hello Minecraft! Launcher.
# Copyright (C) 2013 huangyuhui <huanghongxun2008@126.com>
#
# 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/}.
#
#author: LADBOSSHOSS
launch.failed=Mở minecraft không thành công.
launch.failed_creating_process=Tạo tiến trình chạy thất bại, có thể nơi bạn cài java đã bị sai, vui lòng hãy chỉnh sửa lại đường dẫn cài java.
launch.failed_sh_permission=Thêm quyền vào đoạn mã chạy launcher thất bại.
launch.failed_packing_jar=Đóng gói file jar thất bại
launch.unsupported_launcher_version=Xin lỗi, launcher không mở được minecraft, nhưng launcher sẽ cố gắng để chạy.
launch.too_big_memory_alloc_64bit=Bạn đã cho minecraft dùng quá nhiều RAM, vì máy bạn dùng 32-Bit Java Runtime Environment, Minecraft có thể bị crash. Mức RAM cho minecraft dùng cao nhất là 1024MB. Launcher sẽ thử để chạy mnecraft
launch.too_big_memory_alloc_free_space_too_low=Bạn đã cho minecraft dùng quá nhiều RAM, vì ram của bạn chỉ có %dMB, minecraft có thể bị crash. Launcher sẽ thử để chạy
launch.cannot_create_jvm=Launcher không tạo được máy ảo java để chạy minecraft. Java argument có thể có vấn đề, bạn có thể bật chế độ no args trong cài đặt
launch.circular_dependency_versions=Đã tìm thấy phiên bản minecraft không phù hợp, xin hãy xem phiên bản minecraft đã được chỉnh sửa hay không.
launch.not_finished_downloading_libraries=Không download được libraries cho minecraft, có tiếp tục mở game không?
launch.not_finished_decompressing_natives=Không giải nén được libraries cho minecraft, có tiếp tục mở game không?
launch.wrong_javadir=Đường dẫn cài java bị sai, launcher sẽ reset lại đường dẫn java đúng
launch.exited_abnormally=Minecraft đã bị thoát bất thường, hãy xem file log, hoặc nói với người khác giúp.
launch.state.logging_in=Đang đăng nhập...
launch.state.generating_launching_codes=Đang tạo code chạy minecraft
launch.state.downloading_libraries=Downloading...
launch.state.decompressing_natives=Giải nén...
install.no_version=Không tìm thấy phiên bản minecraft.
install.no_version_if_intall=Phiên bản cần thiết không thấy, có nên cài đặt phiên bản tự động không?
install.not_refreshed=Danh sách cài chưa được làm mới
install.download_list=Danh sách download
install.liteloader.get_list=Lấy LiteLoader List
install.liteloader.install=Cài LiteLoader
install.forge.get_list=Get Forge List
install.forge.install=Cài Forge
install.forge.get_changelogs=Lấy Forge Changelogs
install.optifine.install=Cài OptiFine
install.optifine.get_list=Lấy OptiFine Download List
install.optifine.get_download_link=Lấy download link của Optifine
install.failed_forge=Không cài được Forge
install.failed_optifine=Không cài được Optifine
install.failed_liteloader=Không cài được LiteLoader
install.failed_download_forge=Failed to Download Forge
install.failed_download_optifine=Failed to Download OptiFine
install.failed=Không cài được
install.success=Cài đặt thành công
install.no_forge=No Forge
install.choose_forge=Chọn phiên bản bạn muốn cài Forge
install.version=Phiên bản
install.mcversion=Game Version
install.time=Time
install.release_time=Thời gian phát hành
install.type=Type
install.please_refresh=Nếu bạn muốn cài một thứ gì đó, hãy ấn nút "Tải lại".
crash.launcher=Launcher bị crash rồi!
crash.minecraft=Minecraft bị crash rồi!
login.choose_charactor=Xin hãy chọn nhân vật bạn muốn
login.no_charactor=Không có nhân vật trong tài khoản này.
login.your_password=Mật khẩu của bạn
login.failed=Không đăng nhập được
login.no_Player007=You have not set username!
login.wrong_password=Mật khẩu hoặc username đã sai.
login.invalid_username=Username không đúng
login.invalid_uuid_and_username=UUID và username không đúng
login.invalid_password=Mật khẩu không đúng
login.invalid_access_token=Access Token bị sai
login.changed_client_token=Server đã thay đổi client token.
login.not_email=Username phải là email
login.type=Login
login.username=Username:
login.account=Email:
login.invalid_token=Hãy đăng xuất và đăng nhập lại.
login.no_valid_character=Không có nhân vật hợp lệ, hãy vào trang web skinme.cc và tạo một nhân vật cho bạn.
proxy.username=Tài khoản
proxy.password=Mật khẩu
proxy.host=Host
proxy.port=Số cổng
login.failed.connect_authentication_server=Không thể kết nối đến máy chủ xác thực, hãy xem lại kết nối mạng của bạn
login.profile.not_logged_in=Không đăng nhập vào được và không thể chính sửa cấu hình.
login.profile.selected=Không chỉnh sửa được cấu hình, bạn phải đăng xuất ra rồi làm lại.
login.methods.yggdrasil=Mojang
login.methods.offline=Offline
login.methods.no_method=Không có chế độ nào
log.playername_null=Tên của người chơi trống.
minecraft.no_selected_version=Bạn chưa chọn phiên bản minecraft!
minecraft.wrong_path=Đường dẫn minecraft bị sai, launcher không tìm thấy được đường dẫn
operation.stopped=Quá trình đã được dừng lại.
operation.confirm_stop=Dừng lại quá trình không?
ui.login.password=Mật khẩu
ui.more=Xem thêm
crash.advice.UnsupportedClassVersionError=Phiên bản java của bạn quá cũ, hãy thử cập nhật phiên bản java
crash.advice.ConcurrentModificationException=Có thể phiên bản java của bạn mới hơn phiên bản 1.8.0_11, Bạn có thể hạ cấp java xuông phiên bản 7.
crash.advice.ClassNotFoundException=Minecraft hoặc mod chưa được hoàn thành. Hãy thử lại nếu có một số libraries chưa được tải về hoặc cập nhật phiên bản minecraft và mod. Hoặc bạn có thể chọn Game Settings -> Manage (Version) -> Xóa libraries để sửa lỗi.
crash.advice.NoSuchFieldError=Minecraft hoặc mod chưa được hoàn thành. Hãy thử lại nếu có một số libraries chưa được tải về hoặc cập nhật phiên bản minecraft và mod.
crash.advice.LWJGLException=Có thể video driver của bạn không hoạt động tốt cho lắm, hãy thử cập nhật video driver của bạn.
crash.advice.SecurityException=Có thể bạn đã chỉnh sửa file minecraft.jar nhưng bạn chưa xóa file META-INF
crash.advice.OutOfMemoryError=Lượng RAM cao nhất của máy áo java quá nhỏ, hãy chỉnh sửa nó.
crash.advice.otherwise=Có thể mods đã làm ra lỗi.
crash.advice.OpenGL=Có thể drivers đã làm ra lỗi
crash.advice.no_lwjgl=Có thể drivers đã làm ra lỗi
crash.advice.no=Không có lời khuyên.
crash.user_fault=Hệ điều hành hoặc java của bạn có thể đã cài đặt không đúng cách dẫn đến sự crash của launcher, hãy cài lại java và xem lại máy tính của bạn!
crash.headless=Nếu hệ điều hành của bạn là Linux, hãy dùng Oracle JDK thay cho OpenJDK, hoặc thêm vào "-Djava.awt.headless=false" vào argument của máy ảo java, hoặc xem nếu Xserver có hoạt động hay không
crash.NoClassDefFound=Hãy kiểm tra phần mềm "HMCL" đã hoàn thành
crash.error=Minecraft đã bị crash.
crash.main_class_not_found=Class chính của minecraft không tìm thấy, có lẽ phiên bản minecraft đã bị lỗi.
crash.class_path_wrong=Có lẽ đoạn mã chạy launcher đã bị lỗi
ui.label.newProfileWindow.new_profile_name=Tên cấu hình mới:
ui.label.newProfileWindow.copy_from=Copy từ:
ui.newProfileWindow.title=Cấu hình mới
ui.button.ok=OK
ui.button.refresh=Tải lại
ui.button.run=Play
ui.button.settings=Cài đặt
ui.button.about=About
ui.button.others=Khác
ui.button.logout=Đăng xuất
ui.button.download=Tải về
ui.button.retry=Thử lại
ui.button.delete=Xóa
ui.button.install=Cài
ui.button.info=Thông tin
ui.button.save=Lưu
ui.button.copy=Copy
ui.button.clear=Xóa
ui.button.close=Đóng
ui.button.explore=Explore
ui.button.test=Test
ui.button.preview=Xem trước
button.cancel=Thoát
button.ok=OK
ui.label.version=Phiên bản
ui.label.password=Mật khẩu
ui.label.profile=Cấu hình
ui.message.first_load=Hãy nhập username của bạn vào.
ui.message.enter_password=Hãy nhập mật khẩu của bạn
ui.message.launching=Launching...
ui.message.making=Generating...
ui.message.sure_remove=Bạn có chắc chắn xóa cấu hình %s không?
ui.message.update_java=Hãy cập nhật phiên bản java của bạn.
ui.label.settings=Cài đặt
ui.label.crashing=<html>HMCL Minecraft Launcher đã bị crash!</html>
ui.label.crashing_out_dated=<html>HL Minecraft Launcher đã bị crash! Và launcher của bạn không phải là phiên bản mới nhất. cập nhật nó đi!</html>
ui.label.failed_set=Failed to set:
download=Download
download.mojang=Mojang
download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
download.rapid_data=RapidData (https://www.rapiddata.org/)
download.not_200=Download không thành công, the response code
download.failed=Download không thành công.
download.successfully=Download thành công.
download.source=Download Source
message.error=Lỗi
message.cannot_open_explorer=Cannot open explorer:
message.cancelled=Đã thoảt
message.info=Thông tin
message.loading=Loading...
folder.game=Thư mục minecraft
folder.mod=Mod
folder.coremod=Core Mod
folder.config=Cấu hình
folder.resourcepacks=Resourcepacks
folder.screenshots=Ảnh chụp màn hình
folder.saves=Thế giới
settings.tabs.game_download=Games
settings.tabs.installers=Trình cài đặt
settings.tabs.assets_downloads=Assets
settings=Settings
settings.explore=Explore
settings.manage=Manage
settings.cannot_remove_default_config=Không thể xóa cấu hình mặc định
settings.max_memory=RAM cao nhất(MB)
settings.java_dir=Thư mục Java
settings.game_directory=Thư mục minecraft
settings.dimension=Khu vực cửa sổ của game
settings.fullscreen=Toàn màn hình
settings.update_version=Update version json.
settings.run_directory=Run Directory(Version Isolation)
settings.physical_memory=Dung lượgg RAM vật lý
settings.choose_javapath=Chọn thư mục java
settings.default=Mặc định
settings.custom=Tùy chỉnh
settings.choose_gamedir=Chọn thư mục game
settings.failed_load=Đọc file cấu hình thất bại. Xóa nó không?
settings.test_game=Chạy thử game
modpack=Mod pack
modpack.choose=Chọn modpack zip file mà bạn muốn nhập vào. Nếu bạn muốn cập nhật phiên bản của modpack, Hãy nhập vào phiên bản bạn muốn cập nhật.
modpack.export_error=Xuất modpack ra thất bại, có thể định dạng của thư mục chứa dữ liệu bị sai hoặc không thể quản lý file.
modpack.export_finished=Xuất modpack ra thành công. Xem
modpack.included_launcher=Modpack đã được tích hợp trong launcher, Bạn có thể publish nó.
modpack.not_included_launcher=Dùng nút "Cài Modpack" để cài modpack.
modpack.enter_name=Hãy cho một cái tên mà bạn thích.
modpack.task.save=Xuất Modpack
modpack.task.install=Cài Modpack
modpack.task.install.error=Cài modpack không thành công, có lẽ file modpack không đúng hoặc là không thể quản lý file
modpack.task.install.will=Launcher sẽ cài modpack:
modpack.wizard=Công cụ xuất modpack
modpack.wizard.step.1=Tùy chọn cơ bản
modpack.wizard.step.1.title=Chọn các tùy chọn cơ bản cho modpack.
modpack.wizard.step.initialization.include_launcher=Include the launcher
modpack.wizard.step.initialization.exported_version=Phiên bản đã được xuất
modpack.wizard.step.initialization.save=Chọn một thư mục mà bạn muốn xuất game data
modpack.wizard.step.initialization.warning=<html>Trước khi tạo modpack, bạn phải chắc chắn rằng minecraft có thể chạy,<br/>và phiên bản minecraft là chính thức, không phải là snapshot.<br/>và nó không cho thêm mods mà không có quyền để tạo modpack.</html>
modpack.wizard.step.2=Chọn file
modpack.wizard.step.2.title=Chọn file bạn không muốn thêm vào modpack
modpack.wizard.step.3=Miêu tả
modpack.wizard.step.3.title=Miêu tả modpack của bạn.
modpack.desc=Miêu tả modpack của bạn, bao gồm đề phòng, sự thay đổi, dấu gạch xuống(và một số hình ảnh).
modpack.incorrect_format.no_json=Định dạng của modpack không đúng, file pack.json bị thiếu
modpack.incorrect_format.no_jar=Định dạng của modpack không đúng, file pack.json không có đặc tính jar
modpack.cannot_read_version=Lấy phiên bản của minecraft thất bại
modpack.not_a_valid_location=Nơi chứa modpack không đúng
modpack.name=Tên của modpack
modpack.not_a_valid_name=Tên của modpack không đúng
modpack.files.servers_dat=Danh sách server
modpack.files.saves=Thư mục chứa dữ liệu thế giới
modpack.files.mods=Mods
modpack.files.config=Cấu hình của mod
modpack.files.liteconfig=Cấu hình của LiteLoader
modpack.files.resourcepacks=Resource(Texutre) packs
modpack.files.options_txt=Tùy chọn của game
modpack.files.optionsshaders_txt=Tùy chọn của shaders
modpack.files.mods.voxelmods=Tùy chọn của VoxelMod(tính cả VoxelMap)
modpack.files.dumps=NEI debug output
modpack.files.scripts=Cấu hình của MineTweaker
modpack.files.blueprints=Bản thiết kế cho BuildCraft
mods=Mods
mods.choose_mod=Chọn mods
mods.failed=Tải mods thất bại
mods.add=Thêm
mods.remove=Xóa
mods.default_information=<html><font color=#c0392b>Bạn hãy chắc chắn rằng bạn đã cài Forge hoặc LiteLoader trước khi cài mods!<br>Bạn có thể kéo file mods vào trong cửa sổ này để thêm, và xóa mods bằng cách ấn nút xóa.<br>Tắt mods bằng cách bỏ dấu v ở chỗ hộp kiểm; Chọn một mục để biết thêm thông tin.</font></html>
advancedsettings=Nâng cao
advancedsettings.launcher_visible=Sự hiển thị của launcher
advancedsettings.debug_mode=Chế độ gỡ lỗi
advancedsettings.java_permanent_generation_space=Dung lượng PermGen/MB
advancedsettings.jvm_args=Arguments của máy ảo java
advancedsettings.Minecraft_arguments=Arguments của minecraft
advancedsettings.launcher_visibility.close=Đóng launcher sau khi minecraft được mở.
advancedsettings.launcher_visibility.hide=Ẩn launcher sau khi minecraft được mở.
advancedsettings.launcher_visibility.keep=Để cho launcher hiển thị.
advancedsettings.game_dir.default=Mặc định (.minecraft/)
advancedsettings.game_dir.independent=Independent (.minecraft/versions/<version name>/, trừ thư mục assets,libraries)
advancedsettings.no_jvm_args=Không có arguments mặc định cho máy ảo java
advancedsettings.java_args_default=Java arguments mặc định: -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
advancedsettings.wrapper_launcher=Wrapper Launcher(dạng như optirun...)
advancedsettings.precall_command=Câu lệnh được chạy trước khi game mở
advancedsettings.server_ip=Máy chủ
advancedsettings.cancel_wrapper_launcher=Hủy bỏ Wrapper Launcher
advancedsettings.dont_check_game_completeness=Không kiểm tra game có đầy đủ không.
mainwindow.show_log=Xem logs
mainwindow.make_launch_script=Tạo đoạn mã launching
mainwindow.make_launch_script_failed=Tạo đoạn mã thất bại
mainwindow.enter_script_name=Nhập tên của đoạn mã.
mainwindow.make_launch_succeed=Đã tạo đoạn mã.
mainwindow.no_version=Không có phiên bản minecraft nào được tìm thấy. Chuyển sang tab Game Download?
launcher.about=<html>Về tác giả<br/>Minecraft Forum ID: klkl6523<br/>Copyright (c) 2013 huangyuhui<br/>http://github.com/huanghongxun/HMCL/<br/>Phần mềm này dùng project Gson, cảm ơn người đóng góp.</html>
launcher.download_source=Download Source
launcher.background_location=Background Location
launcher.exit_failed=Tắt launcher thất bại.
launcher.versions_json_not_matched=The version %s is malformed! There are a json:%s in this version. Do you want to fix this problem?
launcher.versions_json_not_matched_cannot_auto_completion=The version %s lost version information file, delete it?
launcher.versions_json_not_formatted=The version information of %s is malformed! Redownload it?
launcher.choose_bgpath=Choose background path.
launcher.background_tooltip=<html><body>This app uses the default background at first.<br />If there is background.png in the directory, it will be used.<br />If there is "bg" subdirectory, this app will chooses one picture in "bgskin" randomly.<br />If you set the background setting, this app will use it.</body></html>
launcher.update_launcher=Check for update
launcher.enable_shadow=Enable Window Shadow
launcher.enable_animation=Enable Animation
launcher.enable_blur=Enable Blur
launcher.theme=Theme
launcher.proxy=Proxy
launcher.decorated=Enable system window border(in order to fix the problem that the ui become all gray in Linux OS)
launcher.modpack=<html><a href="http://blog.163.com/huanghongxun2008@126/blog/static/7738046920160323812771/">Documentations for modpacks.</a></html>
launcher.lang=Language
launcher.restart=Options will be in operations only if restart this app.
launcher.title.game=Phiên bản & Mods
launcher.title.main=HMCL Main
launcher.title.launcher=Launcher
versions.release=Chính thức
versions.snapshot=Snapshot
versions.old_beta=Beta
versions.old_alpha=Old Alpha
versions.manage.rename=Đổi tên phiên bản này
versions.manage.rename.message=Nhập tên mới
versions.manage.remove=Xóa phiên bản này
versions.manage.remove.confirm=Bạn có chắc để xóa phiên bản này không?
versions.manage.redownload_json=Download lại cấu hình của minecraft(minecraft.json)
versions.manage.redownload_assets_index=Download lại Assets Index
versions.mamage.remove_libraries=Xóa libraries file
advice.os64butjdk32=Hệ điều hành của bạn là 64-Bit nhưng phiên bản Java của bạn là 32-Bit. Khuyên bạn nên dùng Java 64-Bit.
assets.download_all=Download file assets
assets.not_refreshed=Danh sách assets chưa được load lại, bạn hãy ấn nút Tải lại.
assets.failed=Lấy danh sách thất bại, hãy thử lại.
assets.list.1_7_3_after=1.7.3 và cao hơn
assets.list.1_6=1.6(BMCLAPI)
assets.unkown_type_select_one=Phiên bản minecraft chưa được biết: %s, hãy chọn một loại asset.
assets.type=Loại asset
assets.download=Download Assets
assets.no_assets=Assets chưa được hoàn thành, hoàn thành nó không?
assets.failed_download=Download asset thất bại, có thể sẽ không có âm thanh và ngôn ngữ.
gamedownload.not_refreshed=Danh sách phiên bản chưa được load lại, bạn hãy ấn nút Tải lại.
taskwindow.title=Tasks
taskwindow.single_progress=Single progress
taskwindow.total_progress=Total progress
taskwindow.cancel=Cancel
taskwindow.no_more_instance=Maybe you opened more than one task window, dont open it again!
taskwindow.file_name=Task
taskwindow.download_progress=Pgs.
setupwindow.include_minecraft=Import game
setupwindow.find_in_configurations=Finished importing. You can find it in the configuration selection bar.
setupwindow.give_a_name=Give a name to the new game.
setupwindow.new=New
setupwindow.no_empty_name=Version name cannot be empty.
setupwindow.clean=Clean game files
update.no_browser=Không thể mở trình duyệt. Đường link đã được copy vào clipboard. Bạn có thể paste nó vào thanh đường link.
update.should_open_link=Bạn có muốn cập nhật launcher không?
update.newest_version=Phiên bản mới nhất:
update.failed=Kiểm tra cập nhật thất bại.
update.found=(Đã tìm thấy bản cập nhật!)
logwindow.terminate_game=Tắt Game
logwindow.tieba=Baidu Tieba
logwindow.title=HMCL Error Log (Hãy đăng cái này lên forum!)
selector.choose=Chọn
serverlistview.title=Chọn máy chủ
serverlistview.name=Tên
serverlistview.type=Lọai
serverlistview.version=Phiên bản
serverlistview.info=Thông tin
minecraft.invalid=Không hợp lệ
minecraft.invalid_jar=File jar không hợp lệ
minecraft.not_a_file=Not a file
minecraft.not_found=Không tìm thấy
minecraft.not_readable=Không đọc được
minecraft.modified=(Đã sửa đổi!)
color.red=Đỏ
color.blue=Xanh da trời
color.green=Xanh lục
color.orange=Cam
color.dark_blue=Xanh da trời tối
color.purple=Tím
wizard.next_>=Next >
wizard.next_mnemonic=N
wizard.<_prev=< Prev
wizard.prev_mnemonic=P
wizard.finish=Finish
wizard.finish_mnemonic=F
wizard.cancel=Cancel
wizard.cancel_mnemonic=C
wizard.help=Help
wizard.help_mnemonic=H
wizard.close=Close
wizard.close_mnemonic=C
wizard.summary=Summary
wizard.failed=Failed
wizard.steps=Steps
lang=Vietnamese
lang.default=Thuộc về ngôn ngữ của hệ điều hành

View File

@ -0,0 +1,418 @@
# Hello Minecraft! Launcher.
# Copyright (C) 2013 huangyuhui <huanghongxun2008@126.com>
#
# 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/}.
#
#author: LADBOSSHOSS
launch.failed=M\u1edf minecraft kh\u00f4ng th\u00e0nh c\u00f4ng.
launch.failed_creating_process=T\u1ea1o ti\u1ebfn tr\u00ecnh ch\u1ea1y th\u1ea5t b\u1ea1i, c\u00f3 th\u1ec3 n\u01a1i b\u1ea1n c\u00e0i java \u0111\u00e3 b\u1ecb sai, vui l\u00f2ng h\u00e3y ch\u1ec9nh s\u1eeda l\u1ea1i \u0111\u01b0\u1eddng d\u1eabn c\u00e0i java.
launch.failed_sh_permission=Th\u00eam quy\u1ec1n v\u00e0o \u0111o\u1ea1n m\u00e3 ch\u1ea1y launcher th\u1ea5t b\u1ea1i.
launch.failed_packing_jar=\u0110\u00f3ng g\u00f3i file jar th\u1ea5t b\u1ea1i
launch.unsupported_launcher_version=Xin l\u1ed7i, launcher kh\u00f4ng m\u1edf \u0111\u01b0\u1ee3c minecraft, nh\u01b0ng launcher s\u1ebd c\u1ed1 g\u1eafng \u0111\u1ec3 ch\u1ea1y.
launch.too_big_memory_alloc_64bit=B\u1ea1n \u0111\u00e3 cho minecraft d\u00f9ng qu\u00e1 nhi\u1ec1u RAM, v\u00ec m\u00e1y b\u1ea1n d\u00f9ng 32-Bit Java Runtime Environment, Minecraft c\u00f3 th\u1ec3 b\u1ecb crash. M\u1ee9c RAM cho minecraft d\u00f9ng cao nh\u1ea5t l\u00e0 1024MB. Launcher s\u1ebd th\u1eed \u0111\u1ec3 ch\u1ea1y mnecraft
launch.too_big_memory_alloc_free_space_too_low=B\u1ea1n \u0111\u00e3 cho minecraft d\u00f9ng qu\u00e1 nhi\u1ec1u RAM, v\u00ec ram c\u1ee7a b\u1ea1n ch\u1ec9 c\u00f3 %dMB, minecraft c\u00f3 th\u1ec3 b\u1ecb crash. Launcher s\u1ebd th\u1eed \u0111\u1ec3 ch\u1ea1y
launch.cannot_create_jvm=Launcher kh\u00f4ng t\u1ea1o \u0111\u01b0\u1ee3c m\u00e1y \u1ea3o java \u0111\u1ec3 ch\u1ea1y minecraft. Java argument c\u00f3 th\u1ec3 c\u00f3 v\u1ea5n \u0111\u1ec1, b\u1ea1n c\u00f3 th\u1ec3 b\u1eadt ch\u1ebf \u0111\u1ed9 no args trong c\u00e0i \u0111\u1eb7t
launch.circular_dependency_versions=\u0110\u00e3 t\u00ecm th\u1ea5y phi\u00ean b\u1ea3n minecraft kh\u00f4ng ph\u00f9 h\u1ee3p, xin h\u00e3y xem phi\u00ean b\u1ea3n minecraft \u0111\u00e3 \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda hay kh\u00f4ng.
launch.not_finished_downloading_libraries=Kh\u00f4ng download \u0111\u01b0\u1ee3c libraries cho minecraft, c\u00f3 ti\u1ebfp t\u1ee5c m\u1edf game kh\u00f4ng?
launch.not_finished_decompressing_natives=Kh\u00f4ng gi\u1ea3i n\u00e9n \u0111\u01b0\u1ee3c libraries cho minecraft, c\u00f3 ti\u1ebfp t\u1ee5c m\u1edf game kh\u00f4ng?
launch.wrong_javadir=\u0110\u01b0\u1eddng d\u1eabn c\u00e0i java b\u1ecb sai, launcher s\u1ebd reset l\u1ea1i \u0111\u01b0\u1eddng d\u1eabn java \u0111\u00fang
launch.exited_abnormally=Minecraft \u0111\u00e3 b\u1ecb tho\u00e1t b\u1ea5t th\u01b0\u1eddng, h\u00e3y xem file log, ho\u1eb7c n\u00f3i v\u1edbi ng\u01b0\u1eddi kh\u00e1c gi\u00fap.
launch.state.logging_in=\u0110ang \u0111\u0103ng nh\u1eadp...
launch.state.generating_launching_codes=\u0110ang t\u1ea1o code ch\u1ea1y minecraft
launch.state.downloading_libraries=Downloading...
launch.state.decompressing_natives=Gi\u1ea3i n\u00e9n...
install.no_version=Kh\u00f4ng t\u00ecm th\u1ea5y phi\u00ean b\u1ea3n minecraft.
install.no_version_if_intall=Phi\u00ean b\u1ea3n c\u1ea7n thi\u1ebft kh\u00f4ng th\u1ea5y, c\u00f3 n\u00ean c\u00e0i \u0111\u1eb7t phi\u00ean b\u1ea3n t\u1ef1 \u0111\u1ed9ng kh\u00f4ng?
install.not_refreshed=Danh s\u00e1ch c\u00e0i ch\u01b0a \u0111\u01b0\u1ee3c l\u00e0m m\u1edbi
install.download_list=Danh s\u00e1ch download
install.liteloader.get_list=L\u1ea5y LiteLoader List
install.liteloader.install=C\u00e0i LiteLoader
install.forge.get_list=Get Forge List
install.forge.install=C\u00e0i Forge
install.forge.get_changelogs=L\u1ea5y Forge Changelogs
install.optifine.install=C\u00e0i OptiFine
install.optifine.get_list=L\u1ea5y OptiFine Download List
install.optifine.get_download_link=L\u1ea5y download link c\u1ee7a Optifine
install.failed_forge=Kh\u00f4ng c\u00e0i \u0111\u01b0\u1ee3c Forge
install.failed_optifine=Kh\u00f4ng c\u00e0i \u0111\u01b0\u1ee3c Optifine
install.failed_liteloader=Kh\u00f4ng c\u00e0i \u0111\u01b0\u1ee3c LiteLoader
install.failed_download_forge=Failed to Download Forge
install.failed_download_optifine=Failed to Download OptiFine
install.failed=Kh\u00f4ng c\u00e0i \u0111\u01b0\u1ee3c
install.success=C\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng
install.no_forge=No Forge
install.choose_forge=Ch\u1ecdn phi\u00ean b\u1ea3n b\u1ea1n mu\u1ed1n c\u00e0i Forge
install.version=Phi\u00ean b\u1ea3n
install.mcversion=Game Version
install.time=Time
install.release_time=Th\u1eddi gian ph\u00e1t h\u00e0nh
install.type=Type
install.please_refresh=N\u1ebfu b\u1ea1n mu\u1ed1n c\u00e0i m\u1ed9t th\u1ee9 g\u00ec \u0111\u00f3, h\u00e3y \u1ea5n n\u00fat "T\u1ea3i l\u1ea1i".
crash.launcher=Launcher b\u1ecb crash r\u1ed3i!
crash.minecraft=Minecraft b\u1ecb crash r\u1ed3i!
login.choose_charactor=Xin h\u00e3y ch\u1ecdn nh\u00e2n v\u1eadt b\u1ea1n mu\u1ed1n
login.no_charactor=Kh\u00f4ng c\u00f3 nh\u00e2n v\u1eadt trong t\u00e0i kho\u1ea3n n\u00e0y.
login.your_password=M\u1eadt kh\u1ea9u c\u1ee7a b\u1ea1n
login.failed=Kh\u00f4ng \u0111\u0103ng nh\u1eadp \u0111\u01b0\u1ee3c
login.no_Player007=You have not set username!
login.wrong_password=M\u1eadt kh\u1ea9u ho\u1eb7c username \u0111\u00e3 sai.
login.invalid_username=Username kh\u00f4ng \u0111\u00fang
login.invalid_uuid_and_username=UUID v\u00e0 username kh\u00f4ng \u0111\u00fang
login.invalid_password=M\u1eadt kh\u1ea9u kh\u00f4ng \u0111\u00fang
login.invalid_access_token=Access Token b\u1ecb sai
login.changed_client_token=Server \u0111\u00e3 thay \u0111\u1ed5i client token.
login.not_email=Username ph\u1ea3i l\u00e0 email
login.type=Login
login.username=Username:
login.account=Email:
login.invalid_token=H\u00e3y \u0111\u0103ng xu\u1ea5t v\u00e0 \u0111\u0103ng nh\u1eadp l\u1ea1i.
login.no_valid_character=Kh\u00f4ng c\u00f3 nh\u00e2n v\u1eadt h\u1ee3p l\u1ec7, h\u00e3y v\u00e0o trang web skinme.cc v\u00e0 t\u1ea1o m\u1ed9t nh\u00e2n v\u1eadt cho b\u1ea1n.
proxy.username=T\u00e0i kho\u1ea3n
proxy.password=M\u1eadt kh\u1ea9u
proxy.host=Host
proxy.port=S\u1ed1 c\u1ed5ng
login.failed.connect_authentication_server=Kh\u00f4ng th\u1ec3 k\u1ebft n\u1ed1i \u0111\u1ebfn m\u00e1y ch\u1ee7 x\u00e1c th\u1ef1c, h\u00e3y xem l\u1ea1i k\u1ebft n\u1ed1i m\u1ea1ng c\u1ee7a b\u1ea1n
login.profile.not_logged_in=Kh\u00f4ng \u0111\u0103ng nh\u1eadp v\u00e0o \u0111\u01b0\u1ee3c v\u00e0 kh\u00f4ng th\u1ec3 ch\u00ednh s\u1eeda c\u1ea5u h\u00ecnh.
login.profile.selected=Kh\u00f4ng ch\u1ec9nh s\u1eeda \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh, b\u1ea1n ph\u1ea3i \u0111\u0103ng xu\u1ea5t ra r\u1ed3i l\u00e0m l\u1ea1i.
login.methods.yggdrasil=Mojang
login.methods.offline=Offline
login.methods.no_method=Kh\u00f4ng c\u00f3 ch\u1ebf \u0111\u1ed9 n\u00e0o
log.playername_null=T\u00ean c\u1ee7a ng\u01b0\u1eddi ch\u01a1i tr\u1ed1ng.
minecraft.no_selected_version=B\u1ea1n ch\u01b0a ch\u1ecdn phi\u00ean b\u1ea3n minecraft!
minecraft.wrong_path=\u0110\u01b0\u1eddng d\u1eabn minecraft b\u1ecb sai, launcher kh\u00f4ng t\u00ecm th\u1ea5y \u0111\u01b0\u1ee3c \u0111\u01b0\u1eddng d\u1eabn
operation.stopped=Qu\u00e1 tr\u00ecnh \u0111\u00e3 \u0111\u01b0\u1ee3c d\u1eebng l\u1ea1i.
operation.confirm_stop=D\u1eebng l\u1ea1i qu\u00e1 tr\u00ecnh kh\u00f4ng?
ui.login.password=M\u1eadt kh\u1ea9u
ui.more=Xem th\u00eam
crash.advice.UnsupportedClassVersionError=Phi\u00ean b\u1ea3n java c\u1ee7a b\u1ea1n qu\u00e1 c\u0169, h\u00e3y th\u1eed c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n java
crash.advice.ConcurrentModificationException=C\u00f3 th\u1ec3 phi\u00ean b\u1ea3n java c\u1ee7a b\u1ea1n m\u1edbi h\u01a1n phi\u00ean b\u1ea3n 1.8.0_11, B\u1ea1n c\u00f3 th\u1ec3 h\u1ea1 c\u1ea5p java xu\u00f4ng phi\u00ean b\u1ea3n 7.
crash.advice.ClassNotFoundException=Minecraft ho\u1eb7c mod ch\u01b0a \u0111\u01b0\u1ee3c ho\u00e0n th\u00e0nh. H\u00e3y th\u1eed l\u1ea1i n\u1ebfu c\u00f3 m\u1ed9t s\u1ed1 libraries ch\u01b0a \u0111\u01b0\u1ee3c t\u1ea3i v\u1ec1 ho\u1eb7c c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n minecraft v\u00e0 mod. Ho\u1eb7c b\u1ea1n c\u00f3 th\u1ec3 ch\u1ecdn Game Settings -> Manage (Version) -> X\u00f3a libraries \u0111\u1ec3 s\u1eeda l\u1ed7i.
crash.advice.NoSuchFieldError=Minecraft ho\u1eb7c mod ch\u01b0a \u0111\u01b0\u1ee3c ho\u00e0n th\u00e0nh. H\u00e3y th\u1eed l\u1ea1i n\u1ebfu c\u00f3 m\u1ed9t s\u1ed1 libraries ch\u01b0a \u0111\u01b0\u1ee3c t\u1ea3i v\u1ec1 ho\u1eb7c c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n minecraft v\u00e0 mod.
crash.advice.LWJGLException=C\u00f3 th\u1ec3 video driver c\u1ee7a b\u1ea1n kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng t\u1ed1t cho l\u1eafm, h\u00e3y th\u1eed c\u1eadp nh\u1eadt video driver c\u1ee7a b\u1ea1n.
crash.advice.SecurityException=C\u00f3 th\u1ec3 b\u1ea1n \u0111\u00e3 ch\u1ec9nh s\u1eeda file minecraft.jar nh\u01b0ng b\u1ea1n ch\u01b0a x\u00f3a file META-INF
crash.advice.OutOfMemoryError=L\u01b0\u1ee3ng RAM cao nh\u1ea5t c\u1ee7a m\u00e1y \u00e1o java qu\u00e1 nh\u1ecf, h\u00e3y ch\u1ec9nh s\u1eeda n\u00f3.
crash.advice.otherwise=C\u00f3 th\u1ec3 mods \u0111\u00e3 l\u00e0m ra l\u1ed7i.
crash.advice.OpenGL=C\u00f3 th\u1ec3 drivers \u0111\u00e3 l\u00e0m ra l\u1ed7i
crash.advice.no_lwjgl=C\u00f3 th\u1ec3 drivers \u0111\u00e3 l\u00e0m ra l\u1ed7i
crash.advice.no=Kh\u00f4ng c\u00f3 l\u1eddi khuy\u00ean.
crash.user_fault=H\u1ec7 \u0111i\u1ec1u h\u00e0nh ho\u1eb7c java c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 \u0111\u00e3 c\u00e0i \u0111\u1eb7t kh\u00f4ng \u0111\u00fang c\u00e1ch d\u1eabn \u0111\u1ebfn s\u1ef1 crash c\u1ee7a launcher, h\u00e3y c\u00e0i l\u1ea1i java v\u00e0 xem l\u1ea1i m\u00e1y t\u00ednh c\u1ee7a b\u1ea1n!
crash.headless=N\u1ebfu h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ee7a b\u1ea1n l\u00e0 Linux, h\u00e3y d\u00f9ng Oracle JDK thay cho OpenJDK, ho\u1eb7c th\u00eam v\u00e0o "-Djava.awt.headless=false" v\u00e0o argument c\u1ee7a m\u00e1y \u1ea3o java, ho\u1eb7c xem n\u1ebfu Xserver c\u00f3 ho\u1ea1t \u0111\u1ed9ng hay kh\u00f4ng
crash.NoClassDefFound=H\u00e3y ki\u1ec3m tra ph\u1ea7n m\u1ec1m "HMCL" \u0111\u00e3 ho\u00e0n th\u00e0nh
crash.error=Minecraft \u0111\u00e3 b\u1ecb crash.
crash.main_class_not_found=Class ch\u00ednh c\u1ee7a minecraft kh\u00f4ng t\u00ecm th\u1ea5y, c\u00f3 l\u1ebd phi\u00ean b\u1ea3n minecraft \u0111\u00e3 b\u1ecb l\u1ed7i.
crash.class_path_wrong=C\u00f3 l\u1ebd \u0111o\u1ea1n m\u00e3 ch\u1ea1y launcher \u0111\u00e3 b\u1ecb l\u1ed7i
ui.label.newProfileWindow.new_profile_name=T\u00ean c\u1ea5u h\u00ecnh m\u1edbi:
ui.label.newProfileWindow.copy_from=Copy t\u1eeb:
ui.newProfileWindow.title=C\u1ea5u h\u00ecnh m\u1edbi
ui.button.ok=OK
ui.button.refresh=T\u1ea3i l\u1ea1i
ui.button.run=Play
ui.button.settings=C\u00e0i \u0111\u1eb7t
ui.button.about=About
ui.button.others=Kh\u00e1c
ui.button.logout=\u0110\u0103ng xu\u1ea5t
ui.button.download=T\u1ea3i v\u1ec1
ui.button.retry=Th\u1eed l\u1ea1i
ui.button.delete=X\u00f3a
ui.button.install=C\u00e0i
ui.button.info=Th\u00f4ng tin
ui.button.save=L\u01b0u
ui.button.copy=Copy
ui.button.clear=X\u00f3a
ui.button.close=\u0110\u00f3ng
ui.button.explore=Explore
ui.button.test=Test
ui.button.preview=Xem tr\u01b0\u1edbc
button.cancel=Tho\u00e1t
button.ok=OK
ui.label.version=Phi\u00ean b\u1ea3n
ui.label.password=M\u1eadt kh\u1ea9u
ui.label.profile=C\u1ea5u h\u00ecnh
ui.message.first_load=H\u00e3y nh\u1eadp username c\u1ee7a b\u1ea1n v\u00e0o.
ui.message.enter_password=H\u00e3y nh\u1eadp m\u1eadt kh\u1ea9u c\u1ee7a b\u1ea1n
ui.message.launching=Launching...
ui.message.making=Generating...
ui.message.sure_remove=B\u1ea1n c\u00f3 ch\u1eafc ch\u1eafn x\u00f3a c\u1ea5u h\u00ecnh %s kh\u00f4ng?
ui.message.update_java=H\u00e3y c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n java c\u1ee7a b\u1ea1n.
ui.label.settings=C\u00e0i \u0111\u1eb7t
ui.label.crashing=<html>HMCL Minecraft Launcher \u0111\u00e3 b\u1ecb crash!</html>
ui.label.crashing_out_dated=<html>HL Minecraft Launcher \u0111\u00e3 b\u1ecb crash! V\u00e0 launcher c\u1ee7a b\u1ea1n kh\u00f4ng ph\u1ea3i l\u00e0 phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t. c\u1eadp nh\u1eadt n\u00f3 \u0111i!</html>
ui.label.failed_set=Failed to set:
download=Download
download.mojang=Mojang
download.BMCL=BMCLAPI (bangbang93, http://bmclapi.bangbang93.com/)
download.rapid_data=RapidData (https://www.rapiddata.org/)
download.not_200=Download kh\u00f4ng th\u00e0nh c\u00f4ng, the response code
download.failed=Download kh\u00f4ng th\u00e0nh c\u00f4ng.
download.successfully=Download th\u00e0nh c\u00f4ng.
download.source=Download Source
message.error=L\u1ed7i
message.cannot_open_explorer=Cannot open explorer:
message.cancelled=\u0110\u00e3 tho\u1ea3t
message.info=Th\u00f4ng tin
message.loading=Loading...
folder.game=Th\u01b0 m\u1ee5c minecraft
folder.mod=Mod
folder.coremod=Core Mod
folder.config=C\u1ea5u h\u00ecnh
folder.resourcepacks=Resourcepacks
folder.screenshots=\u1ea2nh ch\u1ee5p m\u00e0n h\u00ecnh
folder.saves=Th\u1ebf gi\u1edbi
settings.tabs.game_download=Games
settings.tabs.installers=Tr\u00ecnh c\u00e0i \u0111\u1eb7t
settings.tabs.assets_downloads=Assets
settings=Settings
settings.explore=Explore
settings.manage=Manage
settings.cannot_remove_default_config=Kh\u00f4ng th\u1ec3 x\u00f3a c\u1ea5u h\u00ecnh m\u1eb7c \u0111\u1ecbnh
settings.max_memory=RAM cao nh\u1ea5t(MB)
settings.java_dir=Th\u01b0 m\u1ee5c Java
settings.game_directory=Th\u01b0 m\u1ee5c minecraft
settings.dimension=Khu v\u1ef1c c\u1eeda s\u1ed5 c\u1ee7a game
settings.fullscreen=To\u00e0n m\u00e0n h\u00ecnh
settings.update_version=Update version json.
settings.run_directory=Run Directory(Version Isolation)
settings.physical_memory=Dung l\u01b0\u1ee3gg RAM v\u1eadt l\u00fd
settings.choose_javapath=Ch\u1ecdn th\u01b0 m\u1ee5c java
settings.default=M\u1eb7c \u0111\u1ecbnh
settings.custom=T\u00f9y ch\u1ec9nh
settings.choose_gamedir=Ch\u1ecdn th\u01b0 m\u1ee5c game
settings.failed_load=\u0110\u1ecdc file c\u1ea5u h\u00ecnh th\u1ea5t b\u1ea1i. X\u00f3a n\u00f3 kh\u00f4ng?
settings.test_game=Ch\u1ea1y th\u1eed game
modpack=Mod pack
modpack.choose=Ch\u1ecdn modpack zip file m\u00e0 b\u1ea1n mu\u1ed1n nh\u1eadp v\u00e0o. N\u1ebfu b\u1ea1n mu\u1ed1n c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n c\u1ee7a modpack, H\u00e3y nh\u1eadp v\u00e0o phi\u00ean b\u1ea3n b\u1ea1n mu\u1ed1n c\u1eadp nh\u1eadt.
modpack.export_error=Xu\u1ea5t modpack ra th\u1ea5t b\u1ea1i, c\u00f3 th\u1ec3 \u0111\u1ecbnh d\u1ea1ng c\u1ee7a th\u01b0 m\u1ee5c ch\u1ee9a d\u1eef li\u1ec7u b\u1ecb sai ho\u1eb7c kh\u00f4ng th\u1ec3 qu\u1ea3n l\u00fd file.
modpack.export_finished=Xu\u1ea5t modpack ra th\u00e0nh c\u00f4ng. Xem
modpack.included_launcher=Modpack \u0111\u00e3 \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p trong launcher, B\u1ea1n c\u00f3 th\u1ec3 publish n\u00f3.
modpack.not_included_launcher=D\u00f9ng n\u00fat "C\u00e0i Modpack" \u0111\u1ec3 c\u00e0i modpack.
modpack.enter_name=H\u00e3y cho m\u1ed9t c\u00e1i t\u00ean m\u00e0 b\u1ea1n th\u00edch.
modpack.task.save=Xu\u1ea5t Modpack
modpack.task.install=C\u00e0i Modpack
modpack.task.install.error=C\u00e0i modpack kh\u00f4ng th\u00e0nh c\u00f4ng, c\u00f3 l\u1ebd file modpack kh\u00f4ng \u0111\u00fang ho\u1eb7c l\u00e0 kh\u00f4ng th\u1ec3 qu\u1ea3n l\u00fd file
modpack.task.install.will=Launcher s\u1ebd c\u00e0i modpack:
modpack.wizard=C\u00f4ng c\u1ee5 xu\u1ea5t modpack
modpack.wizard.step.1=T\u00f9y ch\u1ecdn c\u01a1 b\u1ea3n
modpack.wizard.step.1.title=Ch\u1ecdn c\u00e1c t\u00f9y ch\u1ecdn c\u01a1 b\u1ea3n cho modpack.
modpack.wizard.step.initialization.include_launcher=Include the launcher
modpack.wizard.step.initialization.exported_version=Phi\u00ean b\u1ea3n \u0111\u00e3 \u0111\u01b0\u1ee3c xu\u1ea5t
modpack.wizard.step.initialization.save=Ch\u1ecdn m\u1ed9t th\u01b0 m\u1ee5c m\u00e0 b\u1ea1n mu\u1ed1n xu\u1ea5t game data
modpack.wizard.step.initialization.warning=<html>Tr\u01b0\u1edbc khi t\u1ea1o modpack, b\u1ea1n ph\u1ea3i ch\u1eafc ch\u1eafn r\u1eb1ng minecraft c\u00f3 th\u1ec3 ch\u1ea1y,<br/>v\u00e0 phi\u00ean b\u1ea3n minecraft l\u00e0 ch\u00ednh th\u1ee9c, kh\u00f4ng ph\u1ea3i l\u00e0 snapshot.<br/>v\u00e0 n\u00f3 kh\u00f4ng cho th\u00eam mods m\u00e0 kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ec3 t\u1ea1o modpack.</html>
modpack.wizard.step.2=Ch\u1ecdn file
modpack.wizard.step.2.title=Ch\u1ecdn file b\u1ea1n kh\u00f4ng mu\u1ed1n th\u00eam v\u00e0o modpack
modpack.wizard.step.3=Mi\u00eau t\u1ea3
modpack.wizard.step.3.title=Mi\u00eau t\u1ea3 modpack c\u1ee7a b\u1ea1n.
modpack.desc=Mi\u00eau t\u1ea3 modpack c\u1ee7a b\u1ea1n, bao g\u1ed3m \u0111\u1ec1 ph\u00f2ng, s\u1ef1 thay \u0111\u1ed5i, d\u1ea5u g\u1ea1ch xu\u1ed1ng(v\u00e0 m\u1ed9t s\u1ed1 h\u00ecnh \u1ea3nh).
modpack.incorrect_format.no_json=\u0110\u1ecbnh d\u1ea1ng c\u1ee7a modpack kh\u00f4ng \u0111\u00fang, file pack.json b\u1ecb thi\u1ebfu
modpack.incorrect_format.no_jar=\u0110\u1ecbnh d\u1ea1ng c\u1ee7a modpack kh\u00f4ng \u0111\u00fang, file pack.json kh\u00f4ng c\u00f3 \u0111\u1eb7c t\u00ednh jar
modpack.cannot_read_version=L\u1ea5y phi\u00ean b\u1ea3n c\u1ee7a minecraft th\u1ea5t b\u1ea1i
modpack.not_a_valid_location=N\u01a1i ch\u1ee9a modpack kh\u00f4ng \u0111\u00fang
modpack.name=T\u00ean c\u1ee7a modpack
modpack.not_a_valid_name=T\u00ean c\u1ee7a modpack kh\u00f4ng \u0111\u00fang
modpack.files.servers_dat=Danh s\u00e1ch server
modpack.files.saves=Th\u01b0 m\u1ee5c ch\u1ee9a d\u1eef li\u1ec7u th\u1ebf gi\u1edbi
modpack.files.mods=Mods
modpack.files.config=C\u1ea5u h\u00ecnh c\u1ee7a mod
modpack.files.liteconfig=C\u1ea5u h\u00ecnh c\u1ee7a LiteLoader
modpack.files.resourcepacks=Resource(Texutre) packs
modpack.files.options_txt=T\u00f9y ch\u1ecdn c\u1ee7a game
modpack.files.optionsshaders_txt=T\u00f9y ch\u1ecdn c\u1ee7a shaders
modpack.files.mods.voxelmods=T\u00f9y ch\u1ecdn c\u1ee7a VoxelMod(t\u00ednh c\u1ea3 VoxelMap)
modpack.files.dumps=NEI debug output
modpack.files.scripts=C\u1ea5u h\u00ecnh c\u1ee7a MineTweaker
modpack.files.blueprints=B\u1ea3n thi\u1ebft k\u1ebf cho BuildCraft
mods=Mods
mods.choose_mod=Ch\u1ecdn mods
mods.failed=T\u1ea3i mods th\u1ea5t b\u1ea1i
mods.add=Th\u00eam
mods.remove=X\u00f3a
mods.default_information=<html><font color=#c0392b>B\u1ea1n h\u00e3y ch\u1eafc ch\u1eafn r\u1eb1ng b\u1ea1n \u0111\u00e3 c\u00e0i Forge ho\u1eb7c LiteLoader tr\u01b0\u1edbc khi c\u00e0i mods!<br>B\u1ea1n c\u00f3 th\u1ec3 k\u00e9o file mods v\u00e0o trong c\u1eeda s\u1ed5 n\u00e0y \u0111\u1ec3 th\u00eam, v\u00e0 x\u00f3a mods b\u1eb1ng c\u00e1ch \u1ea5n n\u00fat x\u00f3a.<br>T\u1eaft mods b\u1eb1ng c\u00e1ch b\u1ecf d\u1ea5u v \u1edf ch\u1ed7 h\u1ed9p ki\u1ec3m; Ch\u1ecdn m\u1ed9t m\u1ee5c \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin.</font></html>
advancedsettings=N\u00e2ng cao
advancedsettings.launcher_visible=S\u1ef1 hi\u1ec3n th\u1ecb c\u1ee7a launcher
advancedsettings.debug_mode=Ch\u1ebf \u0111\u1ed9 g\u1ee1 l\u1ed7i
advancedsettings.java_permanent_generation_space=Dung l\u01b0\u1ee3ng PermGen/MB
advancedsettings.jvm_args=Arguments c\u1ee7a m\u00e1y \u1ea3o java
advancedsettings.Minecraft_arguments=Arguments c\u1ee7a minecraft
advancedsettings.launcher_visibility.close=\u0110\u00f3ng launcher sau khi minecraft \u0111\u01b0\u1ee3c m\u1edf.
advancedsettings.launcher_visibility.hide=\u1ea8n launcher sau khi minecraft \u0111\u01b0\u1ee3c m\u1edf.
advancedsettings.launcher_visibility.keep=\u0110\u1ec3 cho launcher hi\u1ec3n th\u1ecb.
advancedsettings.game_dir.default=M\u1eb7c \u0111\u1ecbnh (.minecraft/)
advancedsettings.game_dir.independent=Independent (.minecraft/versions/<version name>/, tr\u1eeb th\u01b0 m\u1ee5c assets,libraries)
advancedsettings.no_jvm_args=Kh\u00f4ng c\u00f3 arguments m\u1eb7c \u0111\u1ecbnh cho m\u00e1y \u1ea3o java
advancedsettings.java_args_default=Java arguments m\u1eb7c \u0111\u1ecbnh: -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
advancedsettings.wrapper_launcher=Wrapper Launcher(d\u1ea1ng nh\u01b0 optirun...)
advancedsettings.precall_command=C\u00e2u l\u1ec7nh \u0111\u01b0\u1ee3c ch\u1ea1y tr\u01b0\u1edbc khi game m\u1edf
advancedsettings.server_ip=M\u00e1y ch\u1ee7
advancedsettings.cancel_wrapper_launcher=H\u1ee7y b\u1ecf Wrapper Launcher
advancedsettings.dont_check_game_completeness=Kh\u00f4ng ki\u1ec3m tra game c\u00f3 \u0111\u1ea7y \u0111\u1ee7 kh\u00f4ng.
mainwindow.show_log=Xem logs
mainwindow.make_launch_script=T\u1ea1o \u0111o\u1ea1n m\u00e3 launching
mainwindow.make_launch_script_failed=T\u1ea1o \u0111o\u1ea1n m\u00e3 th\u1ea5t b\u1ea1i
mainwindow.enter_script_name=Nh\u1eadp t\u00ean c\u1ee7a \u0111o\u1ea1n m\u00e3.
mainwindow.make_launch_succeed=\u0110\u00e3 t\u1ea1o \u0111o\u1ea1n m\u00e3.
mainwindow.no_version=Kh\u00f4ng c\u00f3 phi\u00ean b\u1ea3n minecraft n\u00e0o \u0111\u01b0\u1ee3c t\u00ecm th\u1ea5y. Chuy\u1ec3n sang tab Game Download?
launcher.about=<html>V\u1ec1 t\u00e1c gi\u1ea3<br/>Minecraft Forum ID: klkl6523<br/>Copyright (c) 2013 huangyuhui<br/>http://github.com/huanghongxun/HMCL/<br/>Ph\u1ea7n m\u1ec1m n\u00e0y d\u00f9ng project Gson, c\u1ea3m \u01a1n ng\u01b0\u1eddi \u0111\u00f3ng g\u00f3p.</html>
launcher.download_source=Download Source
launcher.background_location=Background Location
launcher.exit_failed=T\u1eaft launcher th\u1ea5t b\u1ea1i.
launcher.versions_json_not_matched=The version %s is malformed! There are a json:%s in this version. Do you want to fix this problem?
launcher.versions_json_not_matched_cannot_auto_completion=The version %s lost version information file, delete it?
launcher.versions_json_not_formatted=The version information of %s is malformed! Redownload it?
launcher.choose_bgpath=Choose background path.
launcher.background_tooltip=<html><body>This app uses the default background at first.<br />If there is background.png in the directory, it will be used.<br />If there is "bg" subdirectory, this app will chooses one picture in "bgskin" randomly.<br />If you set the background setting, this app will use it.</body></html>
launcher.update_launcher=Check for update
launcher.enable_shadow=Enable Window Shadow
launcher.enable_animation=Enable Animation
launcher.enable_blur=Enable Blur
launcher.theme=Theme
launcher.proxy=Proxy
launcher.decorated=Enable system window border(in order to fix the problem that the ui become all gray in Linux OS)
launcher.modpack=<html><a href="http://blog.163.com/huanghongxun2008@126/blog/static/7738046920160323812771/">Documentations for modpacks.</a></html>
launcher.lang=Language
launcher.restart=Options will be in operations only if restart this app.
launcher.title.game=Phi\u00ean b\u1ea3n & Mods
launcher.title.main=HMCL Main
launcher.title.launcher=Launcher
versions.release=Ch\u00ednh th\u1ee9c
versions.snapshot=Snapshot
versions.old_beta=Beta
versions.old_alpha=Old Alpha
versions.manage.rename=\u0110\u1ed5i t\u00ean phi\u00ean b\u1ea3n n\u00e0y
versions.manage.rename.message=Nh\u1eadp t\u00ean m\u1edbi
versions.manage.remove=X\u00f3a phi\u00ean b\u1ea3n n\u00e0y
versions.manage.remove.confirm=B\u1ea1n c\u00f3 ch\u1eafc \u0111\u1ec3 x\u00f3a phi\u00ean b\u1ea3n n\u00e0y kh\u00f4ng?
versions.manage.redownload_json=Download l\u1ea1i c\u1ea5u h\u00ecnh c\u1ee7a minecraft(minecraft.json)
versions.manage.redownload_assets_index=Download l\u1ea1i Assets Index
versions.mamage.remove_libraries=X\u00f3a libraries file
advice.os64butjdk32=H\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ee7a b\u1ea1n l\u00e0 64-Bit nh\u01b0ng phi\u00ean b\u1ea3n Java c\u1ee7a b\u1ea1n l\u00e0 32-Bit. Khuy\u00ean b\u1ea1n n\u00ean d\u00f9ng Java 64-Bit.
assets.download_all=Download file assets
assets.not_refreshed=Danh s\u00e1ch assets ch\u01b0a \u0111\u01b0\u1ee3c load l\u1ea1i, b\u1ea1n h\u00e3y \u1ea5n n\u00fat T\u1ea3i l\u1ea1i.
assets.failed=L\u1ea5y danh s\u00e1ch th\u1ea5t b\u1ea1i, h\u00e3y th\u1eed l\u1ea1i.
assets.list.1_7_3_after=1.7.3 v\u00e0 cao h\u01a1n
assets.list.1_6=1.6(BMCLAPI)
assets.unkown_type_select_one=Phi\u00ean b\u1ea3n minecraft ch\u01b0a \u0111\u01b0\u1ee3c bi\u1ebft: %s, h\u00e3y ch\u1ecdn m\u1ed9t lo\u1ea1i asset.
assets.type=Lo\u1ea1i asset
assets.download=Download Assets
assets.no_assets=Assets ch\u01b0a \u0111\u01b0\u1ee3c ho\u00e0n th\u00e0nh, ho\u00e0n th\u00e0nh n\u00f3 kh\u00f4ng?
assets.failed_download=Download asset th\u1ea5t b\u1ea1i, c\u00f3 th\u1ec3 s\u1ebd kh\u00f4ng c\u00f3 \u00e2m thanh v\u00e0 ng\u00f4n ng\u1eef.
gamedownload.not_refreshed=Danh s\u00e1ch phi\u00ean b\u1ea3n ch\u01b0a \u0111\u01b0\u1ee3c load l\u1ea1i, b\u1ea1n h\u00e3y \u1ea5n n\u00fat T\u1ea3i l\u1ea1i.
taskwindow.title=Tasks
taskwindow.single_progress=Single progress
taskwindow.total_progress=Total progress
taskwindow.cancel=Cancel
taskwindow.no_more_instance=Maybe you opened more than one task window, dont open it again!
taskwindow.file_name=Task
taskwindow.download_progress=Pgs.
setupwindow.include_minecraft=Import game
setupwindow.find_in_configurations=Finished importing. You can find it in the configuration selection bar.
setupwindow.give_a_name=Give a name to the new game.
setupwindow.new=New
setupwindow.no_empty_name=Version name cannot be empty.
setupwindow.clean=Clean game files
update.no_browser=Kh\u00f4ng th\u1ec3 m\u1edf tr\u00ecnh duy\u1ec7t. \u0110\u01b0\u1eddng link \u0111\u00e3 \u0111\u01b0\u1ee3c copy v\u00e0o clipboard. B\u1ea1n c\u00f3 th\u1ec3 paste n\u00f3 v\u00e0o thanh \u0111\u01b0\u1eddng link.
update.should_open_link=B\u1ea1n c\u00f3 mu\u1ed1n c\u1eadp nh\u1eadt launcher kh\u00f4ng?
update.newest_version=Phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t:
update.failed=Ki\u1ec3m tra c\u1eadp nh\u1eadt th\u1ea5t b\u1ea1i.
update.found=(\u0110\u00e3 t\u00ecm th\u1ea5y b\u1ea3n c\u1eadp nh\u1eadt!)
logwindow.terminate_game=T\u1eaft Game
logwindow.tieba=Baidu Tieba
logwindow.title=HMCL Error Log (H\u00e3y \u0111\u0103ng c\u00e1i n\u00e0y l\u00ean forum!)
selector.choose=Ch\u1ecdn
serverlistview.title=Ch\u1ecdn m\u00e1y ch\u1ee7
serverlistview.name=T\u00ean
serverlistview.type=L\u1ecdai
serverlistview.version=Phi\u00ean b\u1ea3n
serverlistview.info=Th\u00f4ng tin
minecraft.invalid=Kh\u00f4ng h\u1ee3p l\u1ec7
minecraft.invalid_jar=File jar kh\u00f4ng h\u1ee3p l\u1ec7
minecraft.not_a_file=Not a file
minecraft.not_found=Kh\u00f4ng t\u00ecm th\u1ea5y
minecraft.not_readable=Kh\u00f4ng \u0111\u1ecdc \u0111\u01b0\u1ee3c
minecraft.modified=(\u0110\u00e3 s\u1eeda \u0111\u1ed5i!)
color.red=\u0110\u1ecf
color.blue=Xanh da tr\u1eddi
color.green=Xanh l\u1ee5c
color.orange=Cam
color.dark_blue=Xanh da tr\u1eddi t\u1ed1i
color.purple=T\u00edm
wizard.next_>=Next >
wizard.next_mnemonic=N
wizard.<_prev=< Prev
wizard.prev_mnemonic=P
wizard.finish=Finish
wizard.finish_mnemonic=F
wizard.cancel=Cancel
wizard.cancel_mnemonic=C
wizard.help=Help
wizard.help_mnemonic=H
wizard.close=Close
wizard.close_mnemonic=C
wizard.summary=Summary
wizard.failed=Failed
wizard.steps=Steps
lang=Vietnamese
lang.default=Thu\u1ed9c v\u1ec1 ng\u00f4n ng\u1eef c\u1ee7a h\u1ec7 \u0111i\u1ec1u h\u00e0nh

View File

@ -13,6 +13,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see {http://www.gnu.org/licenses/}.
#
#author: huangyuhui
launch.failed=啟動失敗
launch.failed_creating_process=啟動失敗在創建新進程時發生錯誤可能是Java路徑錯誤。
launch.failed_sh_permission=為啟動資料添加權限時發生錯誤

View File

@ -13,6 +13,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see {http://www.gnu.org/licenses/}.
#
#author: huangyuhui
launch.failed=\u555f\u52d5\u5931\u6557
launch.failed_creating_process=\u555f\u52d5\u5931\u6557\uff0c\u5728\u5275\u5efa\u65b0\u9032\u7a0b\u6642\u767c\u751f\u932f\u8aa4\uff0c\u53ef\u80fd\u662fJava\u8def\u5f91\u932f\u8aa4\u3002
launch.failed_sh_permission=\u70ba\u555f\u52d5\u8cc7\u6599\u6dfb\u52a0\u6b0a\u9650\u6642\u767c\u751f\u932f\u8aa4