Commit a1a6732b authored by fallenstardust's avatar fallenstardust

设置可切换西班牙语

传参按languageenum.code进行
parent 91bca30b
package cn.garymb.ygomobile; package cn.garymb.ygomobile;
import static cn.garymb.ygomobile.Constants.ASSETS_EN; import static cn.garymb.ygomobile.Constants.ASSETS_EN;
import static cn.garymb.ygomobile.Constants.ASSETS_ES;
import static cn.garymb.ygomobile.Constants.ASSETS_KOR; import static cn.garymb.ygomobile.Constants.ASSETS_KOR;
import static cn.garymb.ygomobile.Constants.BOT_CONF; import static cn.garymb.ygomobile.Constants.BOT_CONF;
import static cn.garymb.ygomobile.Constants.CORE_BOT_CONF_PATH; import static cn.garymb.ygomobile.Constants.CORE_BOT_CONF_PATH;
...@@ -743,7 +744,8 @@ public class AppsSettings { ...@@ -743,7 +744,8 @@ public class AppsSettings {
//todo 逐步将设置语言的代码都更改为languageEnum //todo 逐步将设置语言的代码都更改为languageEnum
Chinese(0, "zh"), Chinese(0, "zh"),
Korean(1, "ko"), Korean(1, "ko"),
English(2, "en"); English(2, "en"),
Spanish(3, "es");
public Integer code; public Integer code;
public String name; public String name;
...@@ -779,11 +781,8 @@ public class AppsSettings { ...@@ -779,11 +781,8 @@ public class AppsSettings {
IOUtils.copyFilesFromAssets(context, korStringConf, getResourcePath(), true); IOUtils.copyFilesFromAssets(context, korStringConf, getResourcePath(), true);
IOUtils.copyFilesFromAssets(context, korBotConf, getResourcePath(), true); IOUtils.copyFilesFromAssets(context, korBotConf, getResourcePath(), true);
//替换换行符 //替换换行符
String stringConfPath = new File(getResourcePath(), CORE_STRING_PATH).getAbsolutePath(); replaceLineFeed();
String botConfPath = new File(getResourcePath(), BOT_CONF).getAbsolutePath(); //设置语言为1=Korean
fixString(stringConfPath);
fixString(botConfPath);
//设置语言为1=???
setDataLanguage(languageEnum.Korean.code); setDataLanguage(languageEnum.Korean.code);
} }
...@@ -798,13 +797,34 @@ public class AppsSettings { ...@@ -798,13 +797,34 @@ public class AppsSettings {
//复制游戏配置文件 //复制游戏配置文件
IOUtils.copyFilesFromAssets(context, enStringConf, getResourcePath(), true); IOUtils.copyFilesFromAssets(context, enStringConf, getResourcePath(), true);
IOUtils.copyFilesFromAssets(context, enBotConf, getResourcePath(), true); IOUtils.copyFilesFromAssets(context, enBotConf, getResourcePath(), true);
replaceLineFeed();
//设置语言为2=English
setDataLanguage(languageEnum.English.code);
}
public void copyEsData() throws IOException {
String esStringConf = ASSETS_ES + getDatapath("conf") + "/" + CORE_STRING_PATH;
String esBotConf = ASSETS_ES + getDatapath("conf") + "/" + CORE_BOT_CONF_PATH;
String esCdb = ASSETS_ES + getDatapath(DATABASE_NAME);
//复制数据库
copyCdbFile(esCdb);
//复制人机资源
IOUtils.copyFilesFromAssets(context, getDatapath(Constants.WINDBOT_PATH), getResourcePath(), true);
//复制游戏配置文件
IOUtils.copyFilesFromAssets(context, esStringConf, getResourcePath(), true);
IOUtils.copyFilesFromAssets(context, esBotConf, getResourcePath(), true);
//替换换行符
replaceLineFeed();
//设置语言为3=Spanish
setDataLanguage(languageEnum.Spanish.code);
}
private void replaceLineFeed(){
//替换换行符 //替换换行符
String stringConfPath = new File(getResourcePath(), CORE_STRING_PATH).getAbsolutePath(); String stringConfPath = new File(getResourcePath(), CORE_STRING_PATH).getAbsolutePath();
String botConfPath = new File(getResourcePath(), BOT_CONF).getAbsolutePath(); String botConfPath = new File(getResourcePath(), BOT_CONF).getAbsolutePath();
fixString(stringConfPath); fixString(stringConfPath);
fixString(botConfPath); fixString(botConfPath);
//设置语言为2=English
setDataLanguage(languageEnum.English.code);
} }
public void fixString(String stringPath) { public void fixString(String stringPath) {
......
...@@ -58,6 +58,7 @@ public interface Constants { ...@@ -58,6 +58,7 @@ public interface Constants {
String SETTINGS_CARD_BG = "settings_game_diy_card_bg"; String SETTINGS_CARD_BG = "settings_game_diy_card_bg";
String ASSETS_EN = "en/"; String ASSETS_EN = "en/";
String ASSETS_KOR = "kor/"; String ASSETS_KOR = "kor/";
String ASSETS_ES = "es/";
String ASSETS_PATH = "data/"; String ASSETS_PATH = "data/";
String ASSET_SERVER_LIST = "serverlist.xml"; String ASSET_SERVER_LIST = "serverlist.xml";
String ASSET_LIMIT_PNG = ASSETS_PATH + "textures/lim.png"; String ASSET_LIMIT_PNG = ASSETS_PATH + "textures/lim.png";
......
...@@ -164,11 +164,13 @@ public class ExCardListFragment extends Fragment implements View.OnClickListener ...@@ -164,11 +164,13 @@ public class ExCardListFragment extends Fragment implements View.OnClickListener
/* 将先行服务器信息添加到服务器列表中 */ /* 将先行服务器信息添加到服务器列表中 */
String servername = ""; String servername = "";
if (AppsSettings.get().getDataLanguage() == 0) if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.Chinese.code)
servername = "23333先行服务器"; servername = "23333先行服务器";
if (AppsSettings.get().getDataLanguage() == 1) if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.Korean.code)
servername = "YGOPRO ?? ?? ????"; servername = "YGOPRO ?? ?? ????";
if (AppsSettings.get().getDataLanguage() == 2) if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.English.code)
servername = "Mercury23333 OCG/TCG Pre-release";
if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.Spanish.code)
servername = "Mercury23333 OCG/TCG Pre-release"; servername = "Mercury23333 OCG/TCG Pre-release";
AddServer(getActivity(), servername, "s1.ygo233.com", 23333, "Knight of Hanoi"); AddServer(getActivity(), servername, "s1.ygo233.com", 23333, "Knight of Hanoi");
//changeDownloadButton();在下载完成后,通过EventBus通知下载完成(加入用户点击下载后临时切出本fragment,又在下载完成后切回,通过eventbus能保证按钮样式正确更新 //changeDownloadButton();在下载完成后,通过EventBus通知下载完成(加入用户点击下载后临时切出本fragment,又在下载完成后切回,通过eventbus能保证按钮样式正确更新
......
...@@ -100,11 +100,13 @@ public class WebActivity extends BaseActivity implements View.OnClickListener { ...@@ -100,11 +100,13 @@ public class WebActivity extends BaseActivity implements View.OnClickListener {
Toast.makeText(getContext(), R.string.ypk_installed, Toast.LENGTH_LONG).show(); Toast.makeText(getContext(), R.string.ypk_installed, Toast.LENGTH_LONG).show();
} }
String servername = ""; String servername = "";
if (AppsSettings.get().getDataLanguage() == 0) if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.Chinese.code)
servername = "23333先行服务器"; servername = "23333先行服务器";
if (AppsSettings.get().getDataLanguage() == 1) if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.Korean.code)
servername = "YGOPRO 사전 게시 중국서버"; servername = "YGOPRO 사전 게시 중국서버";
if (AppsSettings.get().getDataLanguage() == 2) if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.English.code)
servername = "Mercury23333 OCG/TCG Pre-release";
if (AppsSettings.get().getDataLanguage() == AppsSettings.languageEnum.Spanish.code)
servername = "Mercury23333 OCG/TCG Pre-release"; servername = "Mercury23333 OCG/TCG Pre-release";
AddServer(getActivity(), servername, "s1.ygo233.com", 23333, "Knight of Hanoi"); AddServer(getActivity(), servername, "s1.ygo233.com", 23333, "Knight of Hanoi");
btn_download.setVisibility(View.GONE); btn_download.setVisibility(View.GONE);
......
package cn.garymb.ygomobile.ui.home; package cn.garymb.ygomobile.ui.home;
import static cn.garymb.ygomobile.Constants.ASSETS_EN; import static cn.garymb.ygomobile.Constants.ASSETS_EN;
import static cn.garymb.ygomobile.Constants.ASSETS_ES;
import static cn.garymb.ygomobile.Constants.ASSETS_KOR; import static cn.garymb.ygomobile.Constants.ASSETS_KOR;
import static cn.garymb.ygomobile.Constants.ASSETS_PATH; import static cn.garymb.ygomobile.Constants.ASSETS_PATH;
import static cn.garymb.ygomobile.Constants.BOT_CONF; import static cn.garymb.ygomobile.Constants.BOT_CONF;
...@@ -48,10 +49,12 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -48,10 +49,12 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
public static final int ERROR_COPY = -2; public static final int ERROR_COPY = -2;
public static final int ERROR_CORE_CONFIG_LOST = -3; public static final int ERROR_CORE_CONFIG_LOST = -3;
private static final String TAG = "ResCheckTask"; private static final String TAG = "ResCheckTask";
protected int mError = ERROR_NONE;
MessageReceiver mReceiver = new MessageReceiver();
private final AppsSettings mSettings; private final AppsSettings mSettings;
private final Context mContext; private final Context mContext;
private final ResCheckListener mListener;
private final Handler handler;
protected int mError = ERROR_NONE;
MessageReceiver mReceiver = new MessageReceiver();
Handler han = new Handler() { Handler han = new Handler() {
@Override @Override
...@@ -64,9 +67,7 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -64,9 +67,7 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
} }
} }
}; };
private final ResCheckListener mListener;
private DialogPlus dialog = null; private DialogPlus dialog = null;
private final Handler handler;
private boolean isNewVersion; private boolean isNewVersion;
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
...@@ -294,14 +295,16 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -294,14 +295,16 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
copyCnData(true); copyCnData(true);
} else if (language.equals(languageEnum.Korean.name)) { } else if (language.equals(languageEnum.Korean.name)) {
copyKorData(true); copyKorData(true);
} else if (language.equals(languageEnum.Spanish.name)) {
copyEsData(true);
} else { } else {
copyEnData(true); copyEnData(true);
} }
} else { } else {
if (mSettings.getDataLanguage() == languageEnum.Chinese.code) if (mSettings.getDataLanguage() == languageEnum.Chinese.code) copyCnData(true);
copyCnData(true);
if (mSettings.getDataLanguage() == languageEnum.Korean.code) copyKorData(true); if (mSettings.getDataLanguage() == languageEnum.Korean.code) copyKorData(true);
if (mSettings.getDataLanguage() == languageEnum.English.code) copyEnData(true); if (mSettings.getDataLanguage() == languageEnum.English.code) copyEnData(true);
if (mSettings.getDataLanguage() == languageEnum.Spanish.code) copyEsData(true);
} }
} }
han.sendEmptyMessage(0); han.sendEmptyMessage(0);
...@@ -324,7 +327,7 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -324,7 +327,7 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
copyCoreConfig(getDatapath("conf") + "/" + CORE_STRING_PATH, copyCoreConfig(getDatapath("conf") + "/" + CORE_STRING_PATH,
getDatapath("conf") + "/" + BOT_CONF, getDatapath("conf") + "/" + BOT_CONF,
mSettings.getResourcePath(), needsUpdate); mSettings.getResourcePath(), needsUpdate);
mSettings.setDataLanguage(0); mSettings.setDataLanguage(languageEnum.Chinese.code);
return ERROR_NONE; return ERROR_NONE;
} }
...@@ -340,7 +343,7 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -340,7 +343,7 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
IOUtils.copyFilesFromAssets(mContext, enSingle, mSettings.getSingleDir(), needsUpdate); IOUtils.copyFilesFromAssets(mContext, enSingle, mSettings.getSingleDir(), needsUpdate);
//复制游戏配置文件 //复制游戏配置文件
copyCoreConfig(enStringConf, enBotConf, mSettings.getResourcePath(), needsUpdate); copyCoreConfig(enStringConf, enBotConf, mSettings.getResourcePath(), needsUpdate);
mSettings.setDataLanguage(2); mSettings.setDataLanguage(languageEnum.English.code);
return ERROR_NONE; return ERROR_NONE;
} }
...@@ -356,7 +359,23 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -356,7 +359,23 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
IOUtils.copyFilesFromAssets(mContext, korSingle, mSettings.getSingleDir(), needsUpdate); IOUtils.copyFilesFromAssets(mContext, korSingle, mSettings.getSingleDir(), needsUpdate);
//复制游戏配置文件 //复制游戏配置文件
copyCoreConfig(korStringConf, korBotConf, mSettings.getResourcePath(), needsUpdate); copyCoreConfig(korStringConf, korBotConf, mSettings.getResourcePath(), needsUpdate);
mSettings.setDataLanguage(1); mSettings.setDataLanguage(languageEnum.Korean.code);
return ERROR_NONE;
}
public int copyEsData(Boolean needsUpdate) throws IOException {
String esStringConf = ASSETS_ES + getDatapath("conf") + "/" + CORE_STRING_PATH;
String esBotConf = ASSETS_ES + getDatapath("conf") + "/" + CORE_BOT_CONF_PATH;
String esCdb = ASSETS_ES + getDatapath(DATABASE_NAME);
String enSingle = ASSETS_EN + getDatapath(CORE_SINGLE_PATH);
//复制数据库
copyCdbFile(esCdb, true);
//复制残局
setMessage(mContext.getString(R.string.check_things, mContext.getString(R.string.single_lua)));
IOUtils.copyFilesFromAssets(mContext, enSingle, mSettings.getSingleDir(), needsUpdate);
//复制游戏配置文件
copyCoreConfig(esStringConf, esBotConf, mSettings.getResourcePath(), needsUpdate);
mSettings.setDataLanguage(languageEnum.Spanish.code);
return ERROR_NONE; return ERROR_NONE;
} }
......
...@@ -235,6 +235,13 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -235,6 +235,13 @@ public class SettingFragment extends PreferenceFragmentPlus {
e.printStackTrace(); e.printStackTrace();
} }
} }
if (listPreference.getValue().equals("3")) {
try {
mSettings.copyEsData();
} catch (IOException e) {
e.printStackTrace();
}
}
mSettings.setDataLanguage(Integer.valueOf(listPreference.getValue())); mSettings.setDataLanguage(Integer.valueOf(listPreference.getValue()));
Toast.makeText(getContext(), R.string.restart_app, Toast.LENGTH_LONG).show(); Toast.makeText(getContext(), R.string.restart_app, Toast.LENGTH_LONG).show();
DataManager.get().load(true); DataManager.get().load(true);
...@@ -626,13 +633,16 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -626,13 +633,16 @@ public class SettingFragment extends PreferenceFragmentPlus {
mSettings.copyCnData(); mSettings.copyCnData();
} else if (language.equals("ko")) { } else if (language.equals("ko")) {
mSettings.copyKorData(); mSettings.copyKorData();
}else if (language.equals("es")) {
mSettings.copyEsData();
} else { } else {
mSettings.copyEnData(); mSettings.copyEnData();
} }
} else { } else {
if (mSettings.getDataLanguage() == 0) mSettings.copyCnData(); if (mSettings.getDataLanguage() == AppsSettings.languageEnum.Chinese.code) mSettings.copyCnData();
if (mSettings.getDataLanguage() == 1) mSettings.copyKorData(); if (mSettings.getDataLanguage() == AppsSettings.languageEnum.Korean.code) mSettings.copyKorData();
if (mSettings.getDataLanguage() == 2) mSettings.copyEnData(); if (mSettings.getDataLanguage() == AppsSettings.languageEnum.English.code) mSettings.copyEnData();
if (mSettings.getDataLanguage() == AppsSettings.languageEnum.Spanish.code) mSettings.copyEsData();
} }
} }
/* /*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment