1.Icon improvement
2.Compatibility fix, for mods with input box 3.Mod list's auto translate support 4.Minor fix and bug fix
|
@ -1,5 +1,6 @@
|
|||
apply plugin: 'com.android.application'
|
||||
apply plugin: "androidx.navigation.safeargs"
|
||||
apply plugin: 'org.greenrobot.greendao'
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
|
@ -9,8 +10,8 @@ android {
|
|||
applicationId "com.zane.smapiinstaller"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 28
|
||||
versionCode 14
|
||||
versionName "1.3.1"
|
||||
versionCode 15
|
||||
versionName "1.3.2"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
|
@ -35,6 +36,10 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
greendao {
|
||||
schemaVersion 1 //版本号,升级时可配置
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
||||
|
@ -70,6 +75,7 @@ dependencies {
|
|||
|
||||
implementation 'com.github.didikee:AndroidDonate:0.1.0'
|
||||
implementation 'com.hjq:language:3.0'
|
||||
implementation 'org.greenrobot:greendao:3.2.2'
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||
|
|
|
@ -143,3 +143,16 @@
|
|||
-dontwarn org.spongycastle.x509.util.LDAPStoreHelper
|
||||
-keep class org.slf4j.**
|
||||
-keep class com.hjq.language.** {*;}
|
||||
|
||||
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
|
||||
public static java.lang.String TABLENAME;
|
||||
}
|
||||
-keep class **$Properties { *; }
|
||||
|
||||
# If you DO use SQLCipher:
|
||||
-keep class org.greenrobot.greendao.database.SqlCipherEncryptedHelper { *; }
|
||||
|
||||
# If you do NOT use SQLCipher:
|
||||
-dontwarn net.sqlcipher.database.**
|
||||
# If you do NOT use RxJava:
|
||||
-dontwarn rx.**
|
||||
|
|
|
@ -15,11 +15,17 @@ import com.hjq.language.LanguagesManager;
|
|||
import com.microsoft.appcenter.AppCenter;
|
||||
import com.microsoft.appcenter.analytics.Analytics;
|
||||
import com.microsoft.appcenter.crashes.Crashes;
|
||||
import com.zane.smapiinstaller.constant.AppConfigKey;
|
||||
import com.zane.smapiinstaller.constant.Constants;
|
||||
import com.zane.smapiinstaller.entity.AppConfig;
|
||||
import com.zane.smapiinstaller.entity.AppConfigDao;
|
||||
import com.zane.smapiinstaller.entity.DaoSession;
|
||||
import com.zane.smapiinstaller.entity.FrameworkConfig;
|
||||
import com.zane.smapiinstaller.logic.CommonLogic;
|
||||
import com.zane.smapiinstaller.logic.ConfigManager;
|
||||
import com.zane.smapiinstaller.logic.GameLauncher;
|
||||
import com.zane.smapiinstaller.utils.DialogUtils;
|
||||
import com.zane.smapiinstaller.utils.TranslateUtil;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
|
@ -169,6 +175,21 @@ public class MainActivity extends AppCompatActivity {
|
|||
case 3:
|
||||
restart = LanguagesManager.setAppLanguage(this, Locale.TRADITIONAL_CHINESE);
|
||||
break;
|
||||
case 4:
|
||||
restart = LanguagesManager.setAppLanguage(this, Locale.KOREA);
|
||||
break;
|
||||
case 5:
|
||||
restart = LanguagesManager.setAppLanguage(this, new Locale("th", ""));
|
||||
break;
|
||||
case 6:
|
||||
restart = LanguagesManager.setAppLanguage(this, new Locale("es", ""));
|
||||
break;
|
||||
case 7:
|
||||
restart = LanguagesManager.setAppLanguage(this, Locale.FRENCH);
|
||||
break;
|
||||
case 8:
|
||||
restart = LanguagesManager.setAppLanguage(this, new Locale("pt", ""));
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
@ -180,6 +201,33 @@ public class MainActivity extends AppCompatActivity {
|
|||
}
|
||||
}).show());
|
||||
return true;
|
||||
case R.id.settings_translation_service:
|
||||
DialogUtils.setCurrentDialog(new MaterialDialog.Builder(this).title(R.string.settings_translation_service).items(R.array.translators).itemsCallback((dialog, itemView, position, text) -> {
|
||||
DaoSession daoSession = ((MainApplication)this.getApplication()).getDaoSession();
|
||||
AppConfigDao appConfigDao = daoSession.getAppConfigDao();
|
||||
AppConfig activeTranslator = appConfigDao.queryBuilder().where(AppConfigDao.Properties.Name.eq(AppConfigKey.ACTIVE_TRANSLATOR)).build().unique();
|
||||
switch (position) {
|
||||
case 0:
|
||||
if(activeTranslator != null)
|
||||
appConfigDao.delete(activeTranslator);
|
||||
break;
|
||||
case 1:
|
||||
if(activeTranslator == null)
|
||||
activeTranslator = new AppConfig(null, AppConfigKey.ACTIVE_TRANSLATOR, TranslateUtil.GOOGLE);
|
||||
else
|
||||
activeTranslator.setValue(TranslateUtil.GOOGLE);
|
||||
appConfigDao.insertOrReplace(activeTranslator);
|
||||
break;
|
||||
case 2:
|
||||
if(activeTranslator == null)
|
||||
activeTranslator = new AppConfig(null, AppConfigKey.ACTIVE_TRANSLATOR, TranslateUtil.YOU_DAO);
|
||||
else
|
||||
activeTranslator.setValue(TranslateUtil.YOU_DAO);
|
||||
appConfigDao.insertOrReplace(activeTranslator);
|
||||
break;
|
||||
}
|
||||
}).show());
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
|
|
@ -5,11 +5,19 @@ import android.content.Context;
|
|||
|
||||
import com.hjq.language.LanguagesManager;
|
||||
import com.lzy.okgo.OkGo;
|
||||
import com.zane.smapiinstaller.entity.DaoMaster;
|
||||
import com.zane.smapiinstaller.entity.DaoSession;
|
||||
import com.zane.smapiinstaller.utils.DbOpenHelper;
|
||||
import com.zane.smapiinstaller.utils.GzipRequestInterceptor;
|
||||
|
||||
import org.greenrobot.greendao.database.Database;
|
||||
|
||||
import lombok.Getter;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
@Getter
|
||||
public class MainApplication extends Application {
|
||||
private DaoSession daoSession;
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
@ -18,6 +26,10 @@ public class MainApplication extends Application {
|
|||
.build();
|
||||
OkGo.getInstance().setOkHttpClient(okHttpClient).init(this);
|
||||
LanguagesManager.init(this);
|
||||
// note: DevOpenHelper is for dev only, use a OpenHelper subclass instead
|
||||
DbOpenHelper helper = new DbOpenHelper(this, "installer-db");
|
||||
Database db = helper.getWritableDb();
|
||||
daoSession = new DaoMaster(db).newSession();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
package com.zane.smapiinstaller.constant;
|
||||
|
||||
public class AppConfigKey {
|
||||
public static final String ACTIVE_TRANSLATOR = "ActiveTranslator";
|
||||
}
|
|
@ -33,4 +33,14 @@ public class Constants {
|
|||
* AppCenter秘钥
|
||||
*/
|
||||
public static final String APP_CENTER_SECRET = "cb44e94a-7b2f-431e-9ad9-48013ec8c208";
|
||||
|
||||
/**
|
||||
* 有道翻译服务
|
||||
*/
|
||||
public static final String TRANSLATE_SERVICE_URL_YOUDAO = "http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=%s";
|
||||
|
||||
/**
|
||||
* Google翻译服务
|
||||
*/
|
||||
public static final String TRANSLATE_SERVICE_URL_GOOGLE = "http://translate.google.cn/translate_a/single?client=gtx&dt=t&dj=1&ie=UTF-8&sl=auto&tl=%s&q=%s";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package com.zane.smapiinstaller.entity;
|
||||
|
||||
import org.greenrobot.greendao.annotation.Entity;
|
||||
import org.greenrobot.greendao.annotation.Id;
|
||||
import org.greenrobot.greendao.annotation.Unique;
|
||||
import org.greenrobot.greendao.annotation.Generated;
|
||||
|
||||
@Entity
|
||||
public class AppConfig {
|
||||
@Id(autoincrement = true) private Long id;
|
||||
@Unique
|
||||
private String name;
|
||||
private String value;
|
||||
@Generated(hash = 1859776450)
|
||||
public AppConfig(Long id, String name, String value) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
@Generated(hash = 136961441)
|
||||
public AppConfig() {
|
||||
}
|
||||
public Long getId() {
|
||||
return this.id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.zane.smapiinstaller.entity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GoogleTranslationDto {
|
||||
private List<Entry> sentences;
|
||||
private String src;
|
||||
private double confidence;
|
||||
|
||||
@Data
|
||||
public static class Entry {
|
||||
private String trans;
|
||||
private String orig;
|
||||
private int backend;
|
||||
}
|
||||
}
|
|
@ -46,4 +46,9 @@ public class ModManifestEntry {
|
|||
* 是否必须依赖
|
||||
*/
|
||||
private Boolean IsRequired;
|
||||
|
||||
/*
|
||||
* 翻译后的Description
|
||||
*/
|
||||
private transient String translatedDescription;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
package com.zane.smapiinstaller.entity;
|
||||
|
||||
import org.greenrobot.greendao.annotation.Entity;
|
||||
import org.greenrobot.greendao.annotation.Id;
|
||||
import org.greenrobot.greendao.annotation.Index;
|
||||
|
||||
import org.greenrobot.greendao.annotation.Generated;
|
||||
|
||||
@Entity(indexes = {@Index(value = "origin, locale, translator asc", unique = true)})
|
||||
public class TranslationResult {
|
||||
@Id(autoincrement = true) private Long id;
|
||||
private String origin;
|
||||
private String locale;
|
||||
private String translator;
|
||||
private String translation;
|
||||
private Long createTime;
|
||||
@Generated(hash = 1588069114)
|
||||
public TranslationResult(Long id, String origin, String locale,
|
||||
String translator, String translation, Long createTime) {
|
||||
this.id = id;
|
||||
this.origin = origin;
|
||||
this.locale = locale;
|
||||
this.translator = translator;
|
||||
this.translation = translation;
|
||||
this.createTime = createTime;
|
||||
}
|
||||
@Generated(hash = 2000565040)
|
||||
public TranslationResult() {
|
||||
}
|
||||
public Long getId() {
|
||||
return this.id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getOrigin() {
|
||||
return this.origin;
|
||||
}
|
||||
public void setOrigin(String origin) {
|
||||
this.origin = origin;
|
||||
}
|
||||
public String getLocale() {
|
||||
return this.locale;
|
||||
}
|
||||
public void setLocale(String locale) {
|
||||
this.locale = locale;
|
||||
}
|
||||
public String getTranslation() {
|
||||
return this.translation;
|
||||
}
|
||||
public void setTranslation(String translation) {
|
||||
this.translation = translation;
|
||||
}
|
||||
public Long getCreateTime() {
|
||||
return this.createTime;
|
||||
}
|
||||
public void setCreateTime(Long createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
public String getTranslator() {
|
||||
return this.translator;
|
||||
}
|
||||
public void setTranslator(String translator) {
|
||||
this.translator = translator;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.zane.smapiinstaller.entity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class YouDaoTranslationDto {
|
||||
//{"type":"ZH_CN2EN","errorCode":0,"elapsedTime":2,"translateResult":[[{"src":"云计算","tgt":"Cloud computing"}],[{"src":"前往合肥","tgt":"Travel to hefei"}]]}
|
||||
private String type;
|
||||
private int errorCode;
|
||||
private int elapsedTime;
|
||||
private List<List<Entry>> translateResult;
|
||||
|
||||
@Data
|
||||
public static class Entry {
|
||||
private String src;
|
||||
private String tgt;
|
||||
}
|
||||
}
|
|
@ -89,9 +89,9 @@ public class ApkPatcher {
|
|||
}
|
||||
} catch (PackageManager.NameNotFoundException | IOException e) {
|
||||
Log.e(TAG, "Extract error", e);
|
||||
errorMessage.set(e.getLocalizedMessage());
|
||||
}
|
||||
}
|
||||
errorMessage.set(context.getString(R.string.error_game_not_found));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -210,7 +210,7 @@ public class ApkPatcher {
|
|||
if (externalFilesDir != null) {
|
||||
String signApkPath = externalFilesDir.getAbsolutePath() + "/SMAPI Installer/base_signed.apk";
|
||||
KeyStore ks = new KeyStoreFileManager.JksKeyStore();
|
||||
try (InputStream fis = context.getAssets().open("debug.keystore")) {
|
||||
try (InputStream fis = context.getAssets().open("debug.keystore.dat")) {
|
||||
ks.load(fis, PASSWORD.toCharArray());
|
||||
}
|
||||
String alias = ks.aliases().nextElement();
|
||||
|
|
|
@ -16,6 +16,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
|
|||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.zane.smapiinstaller.MainApplication;
|
||||
import com.zane.smapiinstaller.entity.ApkFilesManifest;
|
||||
import com.zane.smapiinstaller.entity.ManifestEntry;
|
||||
import com.zane.smapiinstaller.utils.FileUtils;
|
||||
|
@ -57,6 +58,18 @@ public class CommonLogic {
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 从一个View获取Application
|
||||
* @param view 控件
|
||||
* @return Application
|
||||
*/
|
||||
public static MainApplication getApplicationFromView(View view) {
|
||||
Activity activity = getActivityFromView(view);
|
||||
if(null != activity) {
|
||||
return (MainApplication) activity.getApplication();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开指定URL
|
||||
|
@ -97,7 +110,7 @@ public class CommonLogic {
|
|||
* @return 兼容包列表
|
||||
*/
|
||||
public static List<ApkFilesManifest> findAllApkFileManifest(Context context) {
|
||||
ApkFilesManifest apkFilesManifest = com.zane.smapiinstaller.utils.FileUtils.getAssetJson(context, "apk_files_manifest.json", ApkFilesManifest.class);
|
||||
ApkFilesManifest apkFilesManifest = FileUtils.getAssetJson(context, "apk_files_manifest.json", ApkFilesManifest.class);
|
||||
ArrayList<ApkFilesManifest> apkFilesManifests = Lists.newArrayList(apkFilesManifest);
|
||||
File compatFolder = new File(context.getFilesDir(), "compat");
|
||||
if (compatFolder.exists()) {
|
||||
|
|
|
@ -204,6 +204,7 @@ public class ModAssetsManager {
|
|||
if (list.size() > 0) {
|
||||
DialogUtils.showConfirmDialog(root, R.string.error,
|
||||
root.getContext().getString(R.string.duplicate_mod_found, Joiner.on(";").join(list)),
|
||||
R.string.continue_text, R.string.abort,
|
||||
((dialog, which) -> {
|
||||
if (which == DialogAction.POSITIVE) {
|
||||
returnCallback.accept(true);
|
||||
|
@ -261,6 +262,7 @@ public class ModAssetsManager {
|
|||
if (dependencyErrors.iterator().hasNext()) {
|
||||
DialogUtils.showConfirmDialog(root, R.string.error,
|
||||
Joiner.on(";").join(dependencyErrors),
|
||||
R.string.continue_text, R.string.abort,
|
||||
((dialog, which) -> {
|
||||
if (which == DialogAction.POSITIVE) {
|
||||
returnCallback.accept(true);
|
||||
|
@ -313,6 +315,7 @@ public class ModAssetsManager {
|
|||
if (dependencyErrors.iterator().hasNext()) {
|
||||
DialogUtils.showConfirmDialog(root, R.string.error,
|
||||
Joiner.on(";").join(dependencyErrors),
|
||||
R.string.continue_text, R.string.abort,
|
||||
((dialog, which) -> {
|
||||
if (which == DialogAction.POSITIVE) {
|
||||
returnCallback.accept(true);
|
||||
|
|
|
@ -45,7 +45,7 @@ public class AboutFragment extends Fragment {
|
|||
}
|
||||
catch (ActivityNotFoundException ex)
|
||||
{
|
||||
this.OpenPlayStore("https://play.google.com/store/apps/details?id=" + this.getActivity().getPackageName());
|
||||
CommonLogic.openUrl(this.getContext(), "https://play.google.com/store/apps/details?id=" + this.getActivity().getPackageName());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,10 @@ public class ConfigFragment extends Fragment {
|
|||
ConfigViewModel configViewModel = new ConfigViewModel(root);
|
||||
ModManifestAdapter modManifestAdapter = new ModManifestAdapter(configViewModel);
|
||||
recyclerView.setAdapter(modManifestAdapter);
|
||||
configViewModel.registerListChangeListener((list) -> {
|
||||
modManifestAdapter.setList(list);
|
||||
return true;
|
||||
});
|
||||
recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));
|
||||
return root;
|
||||
}
|
||||
|
|
|
@ -3,8 +3,24 @@ package com.zane.smapiinstaller.ui.config;
|
|||
import android.view.View;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.hjq.language.LanguagesManager;
|
||||
import com.zane.smapiinstaller.MainApplication;
|
||||
import com.zane.smapiinstaller.constant.AppConfigKey;
|
||||
import com.zane.smapiinstaller.entity.AppConfig;
|
||||
import com.zane.smapiinstaller.entity.AppConfigDao;
|
||||
import com.zane.smapiinstaller.entity.DaoSession;
|
||||
import com.zane.smapiinstaller.entity.ModManifestEntry;
|
||||
import com.zane.smapiinstaller.entity.TranslationResult;
|
||||
import com.zane.smapiinstaller.entity.TranslationResultDao;
|
||||
import com.zane.smapiinstaller.logic.CommonLogic;
|
||||
import com.zane.smapiinstaller.logic.ModAssetsManager;
|
||||
import com.zane.smapiinstaller.utils.TranslateUtil;
|
||||
|
||||
import org.greenrobot.greendao.query.Query;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
@ -12,22 +28,60 @@ import java.util.List;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
class ConfigViewModel extends ViewModel {
|
||||
|
||||
@NonNull
|
||||
private List<ModManifestEntry> modList;
|
||||
|
||||
private RecyclerView view;
|
||||
private List<Predicate<List<ModManifestEntry>>> onChangedListener = new ArrayList<>();
|
||||
|
||||
ConfigViewModel(View root) {
|
||||
this.modList = ModAssetsManager.findAllInstalledMods();
|
||||
Collections.sort(this.modList, (a, b)-> {
|
||||
if(a.getContentPackFor() != null && b.getContentPackFor() == null) {
|
||||
return 1;
|
||||
MainApplication app = CommonLogic.getApplicationFromView(root);
|
||||
if (null != app) {
|
||||
DaoSession daoSession = app.getDaoSession();
|
||||
AppConfig activeTranslator = daoSession.getAppConfigDao().queryBuilder().where(AppConfigDao.Properties.Name.eq(AppConfigKey.ACTIVE_TRANSLATOR)).build().unique();
|
||||
if(activeTranslator != null) {
|
||||
String translator = activeTranslator.getValue();
|
||||
ArrayList<String> descriptions = Lists.newArrayList(Iterables.filter(Iterables.transform(this.modList, ModManifestEntry::getDescription), item -> item != null));
|
||||
String language = LanguagesManager.getAppLanguage(app).getLanguage();
|
||||
Query<TranslationResult> query = daoSession.getTranslationResultDao().queryBuilder().where(
|
||||
TranslationResultDao.Properties.Origin.in(descriptions),
|
||||
TranslationResultDao.Properties.Locale.eq(language),
|
||||
TranslationResultDao.Properties.Translator.eq(translator)
|
||||
).build();
|
||||
List<TranslationResult> translationResults = query.list();
|
||||
ImmutableMap<String, TranslationResult> translateMap = Maps.uniqueIndex(translationResults, TranslationResult::getOrigin);
|
||||
List<String> untranslatedText = Lists.newArrayList(Iterables.filter(Iterables.transform(modList, mod -> {
|
||||
assert mod != null;
|
||||
if (translateMap.containsKey(mod.getDescription())) {
|
||||
mod.setTranslatedDescription(translateMap.get(mod.getDescription()).getTranslation());
|
||||
return null;
|
||||
} else {
|
||||
return mod.getDescription();
|
||||
}
|
||||
}), item -> item != null));
|
||||
if (untranslatedText.size() > 0) {
|
||||
TranslateUtil.translateText(untranslatedText, translator, language, (results) -> {
|
||||
daoSession.getTranslationResultDao().insertOrReplaceInTx(results);
|
||||
ImmutableMap<String, TranslationResult> map = Maps.uniqueIndex(results, TranslationResult::getOrigin);
|
||||
for (ModManifestEntry mod : modList) {
|
||||
if (map.containsKey(mod.getDescription())) {
|
||||
mod.setTranslatedDescription(map.get(mod.getDescription()).getTranslation());
|
||||
}
|
||||
}
|
||||
for (Predicate<List<ModManifestEntry>> listener : onChangedListener) {
|
||||
listener.apply(modList);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
else if(b.getContentPackFor() != null) {
|
||||
}
|
||||
Collections.sort(this.modList, (a, b) -> {
|
||||
if (a.getContentPackFor() != null && b.getContentPackFor() == null) {
|
||||
return 1;
|
||||
} else if (b.getContentPackFor() != null) {
|
||||
return -1;
|
||||
}
|
||||
return a.getName().compareTo(b.getName());
|
||||
|
@ -41,7 +95,7 @@ class ConfigViewModel extends ViewModel {
|
|||
|
||||
public Integer findFirst(Predicate<ModManifestEntry> predicate) {
|
||||
for (int i = 0; i < modList.size(); i++) {
|
||||
if(predicate.apply(modList.get(i))) {
|
||||
if (predicate.apply(modList.get(i))) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
@ -50,8 +104,8 @@ class ConfigViewModel extends ViewModel {
|
|||
|
||||
public List<Integer> removeAll(Predicate<ModManifestEntry> predicate) {
|
||||
List<Integer> deletedId = new ArrayList<>();
|
||||
for (int i = modList.size() - 1; i >=0 ; i--) {
|
||||
if(predicate.apply(modList.get(i))) {
|
||||
for (int i = modList.size() - 1; i >= 0; i--) {
|
||||
if (predicate.apply(modList.get(i))) {
|
||||
modList.remove(i);
|
||||
deletedId.add(i);
|
||||
}
|
||||
|
@ -59,4 +113,12 @@ class ConfigViewModel extends ViewModel {
|
|||
return deletedId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册列表变化监听器
|
||||
*
|
||||
* @param onChanged 回调
|
||||
*/
|
||||
public void registerListChangeListener(Predicate<List<ModManifestEntry>> onChanged) {
|
||||
this.onChangedListener.add(onChanged);
|
||||
}
|
||||
}
|
|
@ -45,7 +45,7 @@ public class ModManifestAdapter extends RecyclerView.Adapter<ModManifestAdapter.
|
|||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
ModManifestEntry mod = model.getModList().get(position);
|
||||
holder.modName.setText(mod.getName());
|
||||
holder.modDescription.setText(mod.getDescription());
|
||||
holder.modDescription.setText(StringUtils.firstNonBlank(mod.getTranslatedDescription(), mod.getDescription()));
|
||||
holder.setModPath(mod.getAssetPath());
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,10 @@ public class ModManifestAdapter extends RecyclerView.Adapter<ModManifestAdapter.
|
|||
return model.getModList().size();
|
||||
}
|
||||
|
||||
public void setList(List<ModManifestEntry> list) {
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
class ViewHolder extends RecyclerView.ViewHolder{
|
||||
private String modPath;
|
||||
void setModPath(String modPath) {
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package com.zane.smapiinstaller.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
|
||||
import com.zane.smapiinstaller.entity.DaoMaster;
|
||||
import com.zane.smapiinstaller.entity.TranslationResultDao;
|
||||
|
||||
import org.greenrobot.greendao.database.Database;
|
||||
|
||||
public class DbOpenHelper extends DaoMaster.OpenHelper {
|
||||
public DbOpenHelper(Context context, String name) {
|
||||
super(context, name);
|
||||
}
|
||||
|
||||
public DbOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
|
||||
super(context, name, factory);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpgrade(Database db, int oldVersion, int newVersion) {
|
||||
// if (newVersion == 1) {
|
||||
// TranslationResultDao.dropTable(db, true);
|
||||
// }
|
||||
onCreate(db);
|
||||
}
|
||||
}
|
|
@ -90,9 +90,23 @@ public class DialogUtils {
|
|||
* @param callback 回调
|
||||
*/
|
||||
public static void showConfirmDialog(View view, int title, String message, MaterialDialog.SingleButtonCallback callback) {
|
||||
showConfirmDialog(view, title, message, R.string.confirm, R.string.cancel, callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示确认对话框
|
||||
*
|
||||
* @param view context容器
|
||||
* @param title 标题
|
||||
* @param message 消息
|
||||
* @param positiveText 确认文本
|
||||
* @param negativeText 取消文本
|
||||
* @param callback 回调
|
||||
*/
|
||||
public static void showConfirmDialog(View view, int title, String message, int positiveText, int negativeText, MaterialDialog.SingleButtonCallback callback) {
|
||||
Activity activity = CommonLogic.getActivityFromView(view);
|
||||
if (activity != null && !activity.isFinishing()) {
|
||||
activity.runOnUiThread(() -> DialogUtils.setCurrentDialog(new MaterialDialog.Builder(activity).title(title).content(message).positiveText(R.string.confirm).negativeText(R.string.cancel).onAny(callback).show()));
|
||||
activity.runOnUiThread(() -> DialogUtils.setCurrentDialog(new MaterialDialog.Builder(activity).title(title).content(message).positiveText(positiveText).negativeText(negativeText).onAny(callback).show()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.google.common.hash.Hashing;
|
|||
import com.google.common.io.ByteStreams;
|
||||
import com.google.common.io.CharStreams;
|
||||
import com.hjq.language.LanguagesManager;
|
||||
import com.zane.smapiinstaller.MainApplication;
|
||||
|
||||
import org.apache.commons.io.input.BOMInputStream;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
|
@ -0,0 +1,103 @@
|
|||
package com.zane.smapiinstaller.utils;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.ImmutableListMultimap;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Multimaps;
|
||||
import com.lzy.okgo.OkGo;
|
||||
import com.lzy.okgo.callback.StringCallback;
|
||||
import com.lzy.okgo.model.Response;
|
||||
import com.zane.smapiinstaller.constant.Constants;
|
||||
import com.zane.smapiinstaller.entity.GoogleTranslationDto;
|
||||
import com.zane.smapiinstaller.entity.TranslationResult;
|
||||
import com.zane.smapiinstaller.entity.YouDaoTranslationDto;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class TranslateUtil {
|
||||
|
||||
public static final String GOOGLE = "Google";
|
||||
public static final String YOU_DAO = "YouDao";
|
||||
|
||||
public static void translateText(List<String> textList, String translator, String locale, Predicate<List<TranslationResult>> resultCallback) {
|
||||
if(textList == null || textList.size() == 0)
|
||||
return;
|
||||
textList = Lists.newArrayList(Iterables.filter(textList, item -> StringUtils.isNoneBlank(item) && !item.contains("\n")));
|
||||
if(textList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
String queryText = Joiner.on("%0A").join(textList);
|
||||
if(queryText.length() > 4096) {
|
||||
if(textList.size() == 1)
|
||||
return;
|
||||
List<String> subListA = textList.subList(0, textList.size() / 2);
|
||||
translateText(subListA, translator, locale, resultCallback);
|
||||
List<String> subListB = textList.subList(textList.size() / 2, textList.size());
|
||||
translateText(subListB, translator, locale, resultCallback);
|
||||
}
|
||||
if(StringUtils.equalsIgnoreCase(translator, YOU_DAO)) {
|
||||
if (!StringUtils.equalsAnyIgnoreCase(locale, "zh")) {
|
||||
return;
|
||||
}
|
||||
OkGo.<String>get(String.format(Constants.TRANSLATE_SERVICE_URL_YOUDAO, queryText)).execute(new StringCallback() {
|
||||
@Override
|
||||
public void onSuccess(Response<String> response) {
|
||||
YouDaoTranslationDto translationDto = JSONUtil.fromJson(response.body(), YouDaoTranslationDto.class);
|
||||
if (translationDto != null && translationDto.getErrorCode() == 0) {
|
||||
List<List<YouDaoTranslationDto.Entry>> lists = translationDto.getTranslateResult();
|
||||
List<TranslationResult> translations = new ArrayList<>(lists.size());
|
||||
for (List<YouDaoTranslationDto.Entry> list : lists) {
|
||||
TranslationResult result = new TranslationResult();
|
||||
result.setOrigin("");
|
||||
result.setLocale(locale);
|
||||
result.setTranslation("");
|
||||
result.setTranslator(translator);
|
||||
result.setCreateTime(System.currentTimeMillis());
|
||||
for (YouDaoTranslationDto.Entry entry : list) {
|
||||
if (entry == null)
|
||||
continue;
|
||||
result.setOrigin(result.getOrigin() + entry.getSrc());
|
||||
result.setTranslation(result.getTranslation() + entry.getTgt());
|
||||
}
|
||||
translations.add(result);
|
||||
}
|
||||
resultCallback.apply(Lists.newArrayList(translations));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else if(StringUtils.equalsIgnoreCase(translator, GOOGLE)) {
|
||||
OkGo.<String>get(String.format(Constants.TRANSLATE_SERVICE_URL_GOOGLE, locale, queryText)).execute(new StringCallback() {
|
||||
@Override
|
||||
public void onSuccess(Response<String> response) {
|
||||
GoogleTranslationDto translationDto = JSONUtil.fromJson(response.body(), GoogleTranslationDto.class);
|
||||
if(translationDto != null) {
|
||||
List<String> sourceText = Splitter.on("%0A").splitToList(queryText);
|
||||
List<TranslationResult> translations = new ArrayList<>(sourceText.size());
|
||||
for (String source : sourceText) {
|
||||
TranslationResult result = new TranslationResult();
|
||||
result.setOrigin(source);
|
||||
result.setLocale(locale);
|
||||
result.setTranslation(source);
|
||||
result.setTranslator(translator);
|
||||
result.setCreateTime(System.currentTimeMillis());
|
||||
for (GoogleTranslationDto.Entry entry: translationDto.getSentences()) {
|
||||
String orig = StringUtils.strip(entry.getOrig(), "\n");
|
||||
String trans = StringUtils.strip(entry.getTrans(), "\n");
|
||||
result.setTranslation(StringUtils.replace(result.getTranslation(), orig, trans));
|
||||
}
|
||||
translations.add(result);
|
||||
}
|
||||
resultCallback.apply(Lists.newArrayList(translations));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 2.9 KiB |
|
@ -26,7 +26,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
app:srcCompat="@android:drawable/ic_menu_send" />
|
||||
app:srcCompat="@drawable/plane" />
|
||||
|
||||
<include layout="@layout/content_main" />
|
||||
|
||||
|
|
|
@ -49,11 +49,11 @@
|
|||
android:id="@+id/button_remove_content"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@android:drawable/ic_menu_delete" />
|
||||
android:background="@drawable/trash" />
|
||||
<Button
|
||||
android:id="@+id/button_download_content"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@android:drawable/ic_menu_add" />
|
||||
android:background="@drawable/add" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
|
@ -72,7 +72,7 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/ic_menu_share"
|
||||
app:srcCompat="@drawable/global"
|
||||
android:contentDescription="@string/icon_desc" />
|
||||
<Button
|
||||
android:id="@+id/button_release"
|
||||
|
@ -98,7 +98,7 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/ic_menu_share"
|
||||
app:srcCompat="@drawable/global"
|
||||
android:contentDescription="@string/icon_desc" />
|
||||
<Button
|
||||
android:id="@+id/button_gplay"
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/list"
|
||||
android:name="com.zane.smapiinstaller.ui.download.DownloadContentFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@android:drawable/ic_menu_view" />
|
||||
android:background="@drawable/disable" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<TextView
|
||||
android:id="@+id/text_view_mod_description"
|
||||
|
@ -53,11 +53,11 @@
|
|||
android:id="@+id/button_remove_mod"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@android:drawable/ic_menu_delete" />
|
||||
android:background="@drawable/trash" />
|
||||
<Button
|
||||
android:id="@+id/button_config_mod"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@android:drawable/ic_menu_edit" />
|
||||
android:background="@drawable/edit" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
|
@ -13,7 +13,6 @@
|
|||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/icon_desc"
|
||||
|
@ -28,7 +27,6 @@
|
|||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nav_header_subtitle" />
|
||||
|
|
|
@ -6,23 +6,23 @@
|
|||
<group android:checkableBehavior="single">
|
||||
<item
|
||||
android:id="@+id/nav_install"
|
||||
android:icon="@android:drawable/ic_menu_add"
|
||||
android:icon="@drawable/add"
|
||||
android:title="@string/menu_install" />
|
||||
<item
|
||||
android:id="@+id/nav_config"
|
||||
android:icon="@android:drawable/ic_menu_edit"
|
||||
android:icon="@drawable/edit"
|
||||
android:title="@string/menu_config" />
|
||||
<item
|
||||
android:id="@+id/nav_download"
|
||||
android:icon="@android:drawable/ic_dialog_dialer"
|
||||
android:icon="@drawable/download"
|
||||
android:title="@string/menu_download" />
|
||||
<item
|
||||
android:id="@+id/nav_help"
|
||||
android:icon="@android:drawable/ic_menu_help"
|
||||
android:icon="@drawable/help"
|
||||
android:title="@string/menu_help" />
|
||||
<item
|
||||
android:id="@+id/nav_about"
|
||||
android:icon="@android:drawable/ic_dialog_info"
|
||||
android:icon="@drawable/about"
|
||||
android:title="@string/menu_about" />
|
||||
</group>
|
||||
</menu>
|
||||
|
|
|
@ -29,4 +29,9 @@
|
|||
android:orderInCategory="104"
|
||||
android:title="@string/settings_set_language"
|
||||
app:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/settings_translation_service"
|
||||
android:orderInCategory="105"
|
||||
android:title="@string/settings_translation_service"
|
||||
app:showAsAction="never" />
|
||||
</menu>
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="abort">Abortar</string>
|
||||
<string name="android_version_confirm">La versión de su sistema es demasiado antigua, lo que puede hacer que 0Harmony no sea válido. Se recomienda actualizar a Android 6 y superior</string>
|
||||
<string name="app_name">Instalador SMAPI</string>
|
||||
<string name="button_compat">Compatibilidad</string>
|
||||
<string name="button_donation_text">Donar</string>
|
||||
<string name="button_gplay">Detalles de la tienda de Google</string>
|
||||
<string name="button_install">Instalar</string>
|
||||
<string name="button_logs">Registro</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_qq_group_1_text">QQ group①: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ group②: 1078428449</string>
|
||||
<string name="button_release">Sitio web oficial</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="confirm">Confirmar</string>
|
||||
<string name="confirm_delete_content">¿Estás seguro de que deseas eliminar este contenido?</string>
|
||||
<string name="confirm_disable_mod">¿Seguro que quieresdeshabilitar este contenido?</string>
|
||||
<string name="continue_text">Continuar</string>
|
||||
<string name="download_unpack_success">Descarga e instalación completadas</string>
|
||||
<string name="downloading">Descargando:%1$dKB /%2$dKB</string>
|
||||
<string name="duplicate_mod_found">Se han encontrado varias copias de este mod. Elimina los mods duplicados de:% s</string>
|
||||
<string name="error">Mal</string>
|
||||
<string name="error_depends_on_mod">%1$s depende de la interfaz de%2$s, instálelo primero</string>
|
||||
<string name="error_depends_on_mod_version">%1$s depende de la versión%2$s%3$s, actualícela primero</string>
|
||||
<string name="error_failed_to_create_file">No se pudieron crear los siguientes archivos:%s</string>
|
||||
<string name="error_failed_to_download">No se puede descargar el recurso de destino</string>
|
||||
<string name="error_failed_to_repair"> No se puede reparar el entorno SMAPI</string>
|
||||
<string name="error_game_not_found">Incapaz de encontrar el cuerpo del juego, ¿instalaste Stardew Valley?</string>
|
||||
<string name="error_illegal_path">Por favor ingrese una ruta válida</string>
|
||||
<string name="error_no_supported_game_version">La versión del juego no es compatible, actualice laversión o descargue el paquete compatible</string>
|
||||
<string name="error_smapi_not_installed">SMAPI no está instalado, primero haga clic en el botón instalar</string>
|
||||
<string name="extracting_package">Extrayendo paquete de instalación</string>
|
||||
<string name="failed_to_patch_game">No se puede modificar el paquete de instalación, póngase en contacto con el desarrollador para obtener ayuda</string>
|
||||
<string name="failed_to_process_manifest">No se puede procesar el archivo AndroidManifest.xml</string>
|
||||
<string name="failed_to_sign_game">No se puede firmar el paquete de instalación, póngase en contacto con el desarrollador para obtener ayuda</string>
|
||||
<string name="failed_to_unpack_smapi_files">No se puede descomprimir el entorno SMAPI</string>
|
||||
<string name="info">Pista</string>
|
||||
<string name="input">Entrar</string>
|
||||
<string name="input_mods_path">Por favor, introduzca la ruta de Mods</string>
|
||||
<string name="install_progress_title">Progreso de la instalación</string>
|
||||
<string name="installing_package">Instalando</string>
|
||||
<string name="locale_pack">Paquete de idiomas</string>
|
||||
<string name="menu_about">Acerca de</string>
|
||||
<string name="menu_config">Configuracion</string>
|
||||
<string name="menu_config_edit">Editar</string>
|
||||
<string name="menu_download">Descargar</string>
|
||||
<string name="menu_help">Ayuda</string>
|
||||
<string name="menu_install">Instalar</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">Instalador SMAPI</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="patching_package">Instalar el parche SMAPI</string>
|
||||
<string name="progress">Progreso</string>
|
||||
<string name="save">Guardar</string>
|
||||
<string name="settings_check_for_updates">Buscar actualizaciones</string>
|
||||
<string name="settings_developer_mode">Modo desarrollador</string>
|
||||
<string name="settings_set_language">Idioma</string>
|
||||
<string name="settings_set_mod_path">Establecer la posición de Mods</string>
|
||||
<string name="settings_translation_service">Servicios Traducción</string>
|
||||
<string name="settings_verbose_logging">Registro detallado</string>
|
||||
<string name="signing_package">Firmando paquete deinstalación</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="smapi_version">Versión SMAPI: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">Nota: Requiere la versión del juego 1.4.5.138 o superior</string>
|
||||
<string name="text_install_tip2">El cuerpo del juego debe instalarse durante la actualización o instalación</string>
|
||||
<string name="unpacking_smapi_files">Desempacando</string>
|
||||
</resources>
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="abort">Abandonner</string>
|
||||
<string name="android_version_confirm">La version du système de votre appareil est trop ancienne pour MonoMod, cela peut entraîner un crash du cadre 0Harmony, une mise à jour vers Android M ou plus tard si possible</string>
|
||||
<string name="app_name">SMAPI Installateur</string>
|
||||
<string name="button_compat">Compat</string>
|
||||
<string name="button_donation_text">Faire un don</string>
|
||||
<string name="button_gplay">Afficher dans le Play Store</string>
|
||||
<string name="button_install">Installer</string>
|
||||
<string name="button_logs">Journaux</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_qq_group_1_text">Groupe QQ 1: 860453392</string>
|
||||
<string name="button_qq_group_2_text">Groupe QQ 2: 1078428449</string>
|
||||
<string name="button_release">Libération</string>
|
||||
<string name="cancel">Annuler</string>
|
||||
<string name="confirm">Confirmer</string>
|
||||
<string name="confirm_delete_content">Voulez-vous vraiment le supprimer?</string>
|
||||
<string name="confirm_disable_mod">Êtes-vous sûr de le désactiver?</string>
|
||||
<string name="continue_text">Continuez</string>
|
||||
<string name="download_unpack_success">Télécharger et décompresser le succès</string>
|
||||
<string name="downloading">Téléchargement:%1$d KB /%2$d KB</string>
|
||||
<string name="duplicate_mod_found">Copie du mod trouvée, veuillez en supprimer une copie:%s</string>
|
||||
<string name="error">Erreur</string>
|
||||
<string name="error_depends_on_mod">Le%1$s dépend de%2$s, veuillez d\'abord l\'installer</string>
|
||||
<string name="error_depends_on_mod_version">Le%1$s dépend de la version de%2$s %3$s ou ultérieure, veuillez la mettre à jour d\'abord</string>
|
||||
<string name="error_failed_to_create_file">Impossible de créer le fichier cible:%s</string>
|
||||
<string name="error_failed_to_download">Impossible de télécharger les ressources cibles</string>
|
||||
<string name="error_failed_to_repair">Impossible de réparer l\'environnement SMAPI</string>
|
||||
<string name="error_game_not_found">Impossible de trouver le corps du jeu, avez-vous installé Stardew Valley?</string>
|
||||
<string name="error_illegal_path">Veuillez saisir un chemin valide</string>
|
||||
<string name="error_no_supported_game_version">Version du jeu non prise en charge, mettez à niveau ou téléchargez d\'abord le package compat</string>
|
||||
<string name="error_smapi_not_installed">SMAPI n\'est pas encore installé, appuyez sur installer d\'abord</string>
|
||||
<string name="extracting_package">Extraction du package d\'installation</string>
|
||||
<string name="failed_to_patch_game">Impossible de corriger le jeu, veuillez demander de l\'aide au développeur</string>
|
||||
<string name="failed_to_process_manifest">Impossible de traiter le fichier AndroidManifest.xml</string>
|
||||
<string name="failed_to_sign_game">Échec de la signature du jeu, veuillez demander de l\'aide au développeur</string>
|
||||
<string name="failed_to_unpack_smapi_files">Impossible de décompresser les fichiers smapi</string>
|
||||
<string name="info">Indice</string>
|
||||
<string name="input">Contribution</string>
|
||||
<string name="input_mods_path">Veuillez saisir le chemin des mods</string>
|
||||
<string name="install_progress_title">Installer la progression</string>
|
||||
<string name="installing_package">L\'installation</string>
|
||||
<string name="locale_pack">Pack de paramètres régionaux</string>
|
||||
<string name="menu_about">Sur</string>
|
||||
<string name="menu_config">Config</string>
|
||||
<string name="menu_config_edit">Éditer</string>
|
||||
<string name="menu_download">Télécharger</string>
|
||||
<string name="menu_help">Aidez-moi</string>
|
||||
<string name="menu_install">Installer</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">SMAPI Installateur</string>
|
||||
<string name="ok">D\'accord</string>
|
||||
<string name="patching_package">Patcher SMAPI</string>
|
||||
<string name="progress">Le progrès</string>
|
||||
<string name="save">sauvegarder</string>
|
||||
<string name="settings_check_for_updates">Vérifier les mises à jour</string>
|
||||
<string name="settings_developer_mode">Mode développeur</string>
|
||||
<string name="settings_set_language">Langue</string>
|
||||
<string name="settings_set_mod_path">Définir le chemin des mods</string>
|
||||
<string name="settings_translation_service">Service de traduction</string>
|
||||
<string name="settings_verbose_logging">Journalisation détaillée</string>
|
||||
<string name="signing_package">Signature</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="smapi_version">Version SMAPI: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">Remarques: La version du jeu 1.4.5.138 ou ultérieure est requise.</string>
|
||||
<string name="text_install_tip2">Le jeu de base est requis lors de la mise à jour / installation.</string>
|
||||
<string name="unpacking_smapi_files">Déballage</string>
|
||||
</resources>
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="abort">중단</string>
|
||||
<string name="android_version_confirm">시스템 버전이 너무 오래되어 0Harmony가 유효하지 않을 수 있습니다. Android 6 이상으로 업그레이드하는 것이 좋습니다.</string>
|
||||
<string name="app_name">SMAPI인스톨러</string>
|
||||
<string name="button_compat">호환성</string>
|
||||
<string name="button_donation_text">기부</string>
|
||||
<string name="button_gplay">Google 스토어 세부 정보</string>
|
||||
<string name="button_install">설치</string>
|
||||
<string name="button_logs">로그</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_qq_group_1_text">QQ 그룹 1: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ 그룹 2: 1078428449</string>
|
||||
<string name="button_release">공식 웹 사이트</string>
|
||||
<string name="cancel">취소</string>
|
||||
<string name="confirm">확인</string>
|
||||
<string name="confirm_delete_content">이 콘텐츠를 삭제 하시겠습니까?</string>
|
||||
<string name="confirm_disable_mod">이 콘텐츠를 비활성화 하시겠습니까?</string>
|
||||
<string name="continue_text">계속</string>
|
||||
<string name="download_unpack_success">다운로드 및 설치 완료</string>
|
||||
<string name="downloading">다운로드 중: %1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">이 모드의 사본이 여러 개 발견되었습니다 : % s에서 중복 된 모드를 삭제하십시오.</string>
|
||||
<string name="error">잘못</string>
|
||||
<string name="error_depends_on_mod">%1$s 는%2$s 프론트 엔드에 따라 다릅니다. 먼저 설치하십시오</string>
|
||||
<string name="error_depends_on_mod_version">%1$s는 %2$s %3$s 버전에 따라 다릅니다. 먼저 업데이트하십시오</string>
|
||||
<string name="error_failed_to_create_file">다음 파일을 만들 수 없습니다: %s</string>
|
||||
<string name="error_failed_to_download">대상 리소스를 다운로드 할 수 없습니다</string>
|
||||
<string name="error_failed_to_repair">SMAPI 환경을 복구 할 수 없습니다</string>
|
||||
<string name="error_game_not_found">게임 본체를 찾을 수 없습니다.Stardew Valley을 설치 했습니까?</string>
|
||||
<string name="error_illegal_path">유효한 경로를 입력하십시오</string>
|
||||
<string name="error_no_supported_game_version">게임 버전이 지원되지 않습니다. 버전을 업데이트하거나 호환되는 패키지를 다운로드하십시오</string>
|
||||
<string name="error_smapi_not_installed">SMAPI가 설치되지 않았습니다. 먼저 설치 버튼을 클릭하십시오</string>
|
||||
<string name="extracting_package">설치 패키지 추출</string>
|
||||
<string name="failed_to_patch_game">설치 패키지를 수정할 수 없습니다. 개발자에게 문의하십시오.</string>
|
||||
<string name="failed_to_process_manifest">처리 할 수 없습니다</string>
|
||||
<string name="failed_to_sign_game">설치 패키지에 서명 할 수 없습니다. 개발자에게 문의하십시오.</string>
|
||||
<string name="failed_to_unpack_smapi_files">SMAPI 환경의 압축을 풀 수 없습니다</string>
|
||||
<string name="info">힌트</string>
|
||||
<string name="input">입력</string>
|
||||
<string name="input_mods_path">Mods경로를 입력하십시오</string>
|
||||
<string name="install_progress_title">설치 진행</string>
|
||||
<string name="installing_package">설치 중</string>
|
||||
<string name="locale_pack">언어 팩</string>
|
||||
<string name="menu_about">소개</string>
|
||||
<string name="menu_config">구성</string>
|
||||
<string name="menu_config_edit">편집</string>
|
||||
<string name="menu_download">다운로드</string>
|
||||
<string name="menu_help">도움말</string>
|
||||
<string name="menu_install">설치</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">SMAPI인스톨러</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="patching_package">SMAPI 패치 설치</string>
|
||||
<string name="progress">진행</string>
|
||||
<string name="save">저장</string>
|
||||
<string name="settings_check_for_updates">업데이트 확인</string>
|
||||
<string name="settings_developer_mode">개발자 모드</string>
|
||||
<string name="settings_set_language">언어</string>
|
||||
<string name="settings_set_mod_path">위치mods 설정</string>
|
||||
<string name="settings_translation_service">번역 서비스</string>
|
||||
<string name="settings_verbose_logging">자세한 로그</string>
|
||||
<string name="signing_package">설치 패키지 서명</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="smapi_version">SMAPI버전: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">참고 : 게임 버전 1.4.5.138 이상이 필요합니다</string>
|
||||
<string name="text_install_tip2">업데이트 또는 설치 중에 게임 본체를 설치해야합니다</string>
|
||||
<string name="unpacking_smapi_files">포장 풀기</string>
|
||||
</resources>
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="abort">Abortar</string>
|
||||
<string name="android_version_confirm">A versão do sistema do seu dispositivo é muito antiga para o MonoMod, isso pode levar ao travamento da estrutura 0Harmony, atualizar para o Android M ou posterior, se possível</string>
|
||||
<string name="app_name">Instalador SMAPI</string>
|
||||
<string name="button_compat">Compat</string>
|
||||
<string name="button_donation_text">Doação</string>
|
||||
<string name="button_gplay">Ver na Play Store</string>
|
||||
<string name="button_install">Instalar</string>
|
||||
<string name="button_logs">Histórico</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_qq_group_1_text">Grupo QQ 1: 860453392</string>
|
||||
<string name="button_qq_group_2_text">Grupo QQ 2: 1078428449</string>
|
||||
<string name="button_release">Liberação</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="confirm">Confirme</string>
|
||||
<string name="confirm_delete_content">Você tem certeza que quer apagar isso?</string>
|
||||
<string name="confirm_disable_mod">Deseja desativá-lo?</string>
|
||||
<string name="continue_text">Continuar</string>
|
||||
<string name="download_unpack_success">Baixe e descompacte o sucesso</string>
|
||||
<string name="downloading">Baixar: %1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">Encontrada cópia duplicada do mod, exclua duplicada:%s</string>
|
||||
<string name="error">Erro</string>
|
||||
<string name="error_depends_on_mod">%1$s depende de%2$s, instale-o primeiro</string>
|
||||
<string name="error_depends_on_mod_version">%1$s depende da versã %2$s %3$s ou posterior, atualize-a primeiro</string>
|
||||
<string name="error_failed_to_create_file">Falha ao criar o arquivo de destino:%s</string>
|
||||
<string name="error_failed_to_download">Falha ao baixar os recursos de destino</string>
|
||||
<string name="error_failed_to_repair">Falha ao reparar o ambiente SMAPI</string>
|
||||
<string name="error_game_not_found">Não foi possível encontrar o corpo do jogo, você instalou Stardew Valley?</string>
|
||||
<string name="error_illegal_path">Por favor insira um caminho válido</string>
|
||||
<string name="error_no_supported_game_version">Versão do jogo não suportada, atualize ou faça o download do pacote compat primeiro</string>
|
||||
<string name="error_smapi_not_installed">O SMAPI ainda não foi instalado, pressione instalar primeiro</string>
|
||||
<string name="extracting_package">Extraindo o pacote de instalação</string>
|
||||
<string name="failed_to_patch_game">Falha ao corrigir o jogo, solicite ajuda ao desenvolvedor</string>
|
||||
<string name="failed_to_process_manifest">Falha ao processar o arquivo AndroidManifest.xml</string>
|
||||
<string name="failed_to_sign_game">Falha ao assinar o jogo, peça ajuda ao desenvolvedor</string>
|
||||
<string name="failed_to_unpack_smapi_files">Falha ao descompactar arquivos smapi</string>
|
||||
<string name="info">Sugestão</string>
|
||||
<string name="input">Entrada</string>
|
||||
<string name="input_mods_path">Insira o caminho dos mods</string>
|
||||
<string name="install_progress_title">Progresso da instalação</string>
|
||||
<string name="installing_package">Instalando</string>
|
||||
<string name="locale_pack">Pacote de localidade</string>
|
||||
<string name="menu_about">Sobre</string>
|
||||
<string name="menu_config">Config</string>
|
||||
<string name="menu_config_edit">Editar</string>
|
||||
<string name="menu_download">Baixar</string>
|
||||
<string name="menu_help">Socorro</string>
|
||||
<string name="menu_install">Instalar</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">Instalador SMAPI</string>
|
||||
<string name="ok">Está bem</string>
|
||||
<string name="patching_package">Patch SMAPI</string>
|
||||
<string name="progress">Progresso</string>
|
||||
<string name="save">Salve </string>
|
||||
<string name="settings_check_for_updates">Verificar atualizações</string>
|
||||
<string name="settings_developer_mode">Modo de desenvolvedor</string>
|
||||
<string name="settings_set_language">Língua</string>
|
||||
<string name="settings_set_mod_path">Definir caminho dos mods</string>
|
||||
<string name="settings_translation_service">Serviço de tradução</string>
|
||||
<string name="settings_verbose_logging">Log detalhado</string>
|
||||
<string name="signing_package">Assinatura</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="smapi_version">Versão SMAPI: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">Notas: É necessária a versão do jogo 1.4.5.138 ou posterior.</string>
|
||||
<string name="text_install_tip2">O jogo base é necessário ao atualizar / instalar.</string>
|
||||
<string name="unpacking_smapi_files">Desembalar</string>
|
||||
</resources>
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="abort">หยุด</string>
|
||||
<string name="android_version_confirm">รุ่นอุปกรณ์ระบบของคุณเก่าเกินไปสำหรับ MonoMod อาจทำให้เกิดข้อผิดพลาดของเฟรมเวิร์ก 0Harmony อัปเดตเป็น Android M หรือใหม่กว่าหากเป็นไปได้</string>
|
||||
<string name="app_name">โปรแกรมติดตั้ง SMAPI</string>
|
||||
<string name="button_compat">ความเข้ากันได้</string>
|
||||
<string name="button_donation_text">การบริจาค</string>
|
||||
<string name="button_gplay">ดูใน Play Store</string>
|
||||
<string name="button_install">ติดตั้ง</string>
|
||||
<string name="button_logs">ท่อน</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_qq_group_1_text">กลุ่ม QQ 1: 860453392</string>
|
||||
<string name="button_qq_group_2_text">กลุ่ม QQ 2: 1078428449</string>
|
||||
<string name="button_release">ปล่อย</string>
|
||||
<string name="cancel">ยกเลิก</string>
|
||||
<string name="confirm">ยืนยัน</string>
|
||||
<string name="confirm_delete_content">คุณแน่ใจที่จะลบหรือไม่</string>
|
||||
<string name="confirm_disable_mod">คุณแน่ใจว่าจะปิดการใช้งานหรือไม่</string>
|
||||
<string name="continue_text">ต่อ</string>
|
||||
<string name="download_unpack_success">ดาวน์โหลดและเปิดเครื่องสำเร็จ</string>
|
||||
<string name="downloading">กำลังดาวน์โหลด:%1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">พบสำเนาตัวดัดแปลงที่ซ้ำกันโปรดลบสำเนาที่ซ้ำกัน:%s</string>
|
||||
<string name="error">ความผิดพลาด</string>
|
||||
<string name="error_depends_on_mod">%1$sขึ้นอยู่กับ%2$s โปรดติดตั้งก่อน</string>
|
||||
<string name="error_depends_on_mod_version">%1$s ขึ้นอยู่กับรุ่น%2$s %3$s หรือใหม่กว่าโปรดอัปเดตก่อน</string>
|
||||
<string name="error_failed_to_create_file">ไม่สามารถสร้างไฟล์เป้าหมาย:%s</string>
|
||||
<string name="error_failed_to_download">ไม่สามารถดาวน์โหลดทรัพยากรเป้าหมาย</string>
|
||||
<string name="error_failed_to_repair">ไม่สามารถซ่อมแซมสภาพแวดล้อม SMAPI</string>
|
||||
<string name="error_game_not_found">ไม่พบร่างของเกมคุณติดตั้ง Stardew Valley หรือไม่</string>
|
||||
<string name="error_illegal_path">กรุณาใส่เส้นทางที่ถูกต้อง</string>
|
||||
<string name="error_no_supported_game_version">เวอร์ชั่นเกมไม่รองรับอัปเกรดหรือดาวน์โหลดแพ็คเกจที่รองรับ</string>
|
||||
<string name="error_smapi_not_installed">SMAPI ยังไม่ได้ติดตั้งให้กดติดตั้งก่อน</string>
|
||||
<string name="extracting_package">แตกแพ็กเกจการติดตั้ง</string>
|
||||
<string name="failed_to_patch_game">ไม่สามารถแก้ไขเกมได้โปรดขอความช่วยเหลือจากผู้พัฒนา</string>
|
||||
<string name="failed_to_process_manifest">ไม่สามารถประมวลผลไฟล์ AndroidManifest.xml</string>
|
||||
<string name="failed_to_sign_game">ไม่สามารถลงชื่อในเกมได้โปรดขอความช่วยเหลือจากผู้พัฒนา</string>
|
||||
<string name="failed_to_unpack_smapi_files">ไม่สามารถแยกไฟล์ smapi ได้</string>
|
||||
<string name="info">ข้อมูล</string>
|
||||
<string name="input">อินพุต</string>
|
||||
<string name="input_mods_path">กรุณาใส่เส้นทาง mods</string>
|
||||
<string name="install_progress_title">ติดตั้งความคืบหน้า</string>
|
||||
<string name="installing_package">การติดตั้ง</string>
|
||||
<string name="locale_pack">ชุดภาษา</string>
|
||||
<string name="menu_about">เกี่ยวกับ</string>
|
||||
<string name="menu_config">การกำหนดค่า</string>
|
||||
<string name="menu_config_edit">แก้ไข</string>
|
||||
<string name="menu_download">ดาวน์โหลด</string>
|
||||
<string name="menu_help">ช่วยด้วย</string>
|
||||
<string name="menu_install">ติดตั้ง</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">โปรแกรมติดตั้ง SMAPI</string>
|
||||
<string name="ok">ตกลง</string>
|
||||
<string name="patching_package">การแปะ SMAPI</string>
|
||||
<string name="progress">ความคืบหน้า</string>
|
||||
<string name="save">บันทึก</string>
|
||||
<string name="settings_check_for_updates">ตรวจสอบสำหรับการอัพเดต</string>
|
||||
<string name="settings_developer_mode">โหมดนักพัฒนา</string>
|
||||
<string name="settings_set_language">ภาษา</string>
|
||||
<string name="settings_set_mod_path">ตั้งค่าเส้นทาง Mods</string>
|
||||
<string name="settings_translation_service">บริการแปล</string>
|
||||
<string name="settings_verbose_logging">การบันทึกอย่างละเอียด</string>
|
||||
<string name="signing_package">การลงชื่อ</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="smapi_version">เวอร์ชั่น SMAPI: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">หมายเหตุ: จำเป็นต้องใช้เวอร์ชั่นเกม 1.4.5.138 หรือใหม่กว่า</string>
|
||||
<string name="text_install_tip2">จำเป็นต้องมีเกมพื้นฐานเมื่อทำการอัพเดต / ติดตั้ง</string>
|
||||
<string name="unpacking_smapi_files">แกะกล่อง</string>
|
||||
</resources>
|
|
@ -11,5 +11,15 @@
|
|||
<item>English</item>
|
||||
<item>简体中文</item>
|
||||
<item>繁體中文</item>
|
||||
<item>한국어</item>
|
||||
<item>ไทย</item>
|
||||
<item>Español</item>
|
||||
<item>Français</item>
|
||||
<item>Português</item>
|
||||
</string-array>
|
||||
<string-array name="translators">
|
||||
<item>關閉</item>
|
||||
<item>谷歌</item>
|
||||
<item>有道</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -1,67 +1,67 @@
|
|||
<resources>
|
||||
<string name="app_name">SMAPI安裝器</string>
|
||||
<string name="nav_header_title">SMAPI安裝器</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="action_settings">設置</string>
|
||||
|
||||
<string name="menu_install">安裝</string>
|
||||
<string name="menu_config">配置</string>
|
||||
<string name="menu_config_edit">編輯</string>
|
||||
<string name="menu_help">幫助</string>
|
||||
|
||||
<string name="button_install">安裝</string>
|
||||
<string name="extracting_package">正在抽取安裝包</string>
|
||||
<string name="patching_package">正在安裝SMAPI補丁</string>
|
||||
<string name="signing_package">正在簽名安裝包</string>
|
||||
<string name="installing_package">正在安裝</string>
|
||||
<string name="install_progress_title">安裝進度</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="error_game_not_found">無法找到遊戲本體,你是否安裝了星露穀物語?</string>
|
||||
<string name="error">錯誤</string>
|
||||
<string name="failed_to_sign_game">無法簽名安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="failed_to_patch_game">無法修改安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="unpacking_smapi_files">正在解包</string>
|
||||
<string name="failed_to_unpack_smapi_files">無法解包SMAPI環境</string>
|
||||
<string name="confirm">確認</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="confirm_delete_content">確定刪除該內容?</string>
|
||||
<string name="text_install_tip1">注意:需要不低於1.4.5.138版本的遊戲本體</string>
|
||||
<string name="text_install_tip2">更新或安裝期間需要安裝遊戲本體</string>
|
||||
<string name="duplicate_mod_found">發現該MOD存在多份拷貝,請從以下位置刪除重複MOD:%s</string>
|
||||
<string name="error_smapi_not_installed">SMAPI尚未安裝,請先點擊安裝按鈕</string>
|
||||
<string name="error_failed_to_repair">無法修復SMAPI環境</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="button_compat">兼容性</string>
|
||||
<string name="button_nexus">N網</string>
|
||||
<string name="button_release">官網</string>
|
||||
<string name="button_logs">日誌</string>
|
||||
<string name="smapi_game_name">SMAPI星露穀物語</string>
|
||||
<string name="error_failed_to_create_file">無法創建以下文件: %s</string>
|
||||
<string name="failed_to_process_manifest">無法處理AndroidManifest.xml文件</string>
|
||||
<string name="error_no_supported_game_version">遊戲版本不支持,請更新版本或者下載兼容包</string>
|
||||
<string name="menu_download">下載</string>
|
||||
<string name="error_failed_to_download">無法下載目標資源</string>
|
||||
<string name="error_depends_on_mod">%1$s依賴%2$s前置,請先安裝它</string>
|
||||
<string name="locale_pack">語言包</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="download_unpack_success">已完成下載安裝</string>
|
||||
<string name="progress">進度</string>
|
||||
<string name="downloading">正在下載: %1$d KB / %2$d KB</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="abort">中止</string>
|
||||
<string name="android_version_confirm">你的系統版本過老,可能會導致0Harmony無效,建議升級到安卓6及以上版本</string>
|
||||
<string name="error_depends_on_mod_version" >%1$s依賴%2$s %3$s版本,請先更新它</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="app_name">SMAPI安裝器</string>
|
||||
<string name="button_compat">兼容性</string>
|
||||
<string name="button_donation_text">捐贈</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="button_gplay" >谷歌商店详情</string>
|
||||
<string name="smapi_version">SMAPI版本: 3.3.2.3</string>
|
||||
<string name="settings_verbose_logging">詳細日誌</string>
|
||||
<string name="settings_check_for_updates">檢查更新</string>
|
||||
<string name="settings_developer_mode">開發者模式</string>
|
||||
<string name="button_install">安裝</string>
|
||||
<string name="button_logs">日誌</string>
|
||||
<string name="button_nexus">N網</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="button_release">官網</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="confirm">確認</string>
|
||||
<string name="confirm_delete_content">確定刪除該內容?</string>
|
||||
<string name="confirm_disable_mod">確定禁用該內容?</string>
|
||||
<string name="settings_set_mod_path">設置Mods位置</string>
|
||||
<string name="continue_text">繼續</string>
|
||||
<string name="download_unpack_success">已完成下載安裝</string>
|
||||
<string name="downloading">正在下載: %1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">發現該MOD存在多份拷貝,請從以下位置刪除重複MOD:%s</string>
|
||||
<string name="error">錯誤</string>
|
||||
<string name="error_depends_on_mod">%1$s依賴%2$s前置,請先安裝它</string>
|
||||
<string name="error_depends_on_mod_version" >%1$s依賴%2$s %3$s版本,請先更新它</string>
|
||||
<string name="error_failed_to_create_file">無法創建以下文件: %s</string>
|
||||
<string name="error_failed_to_download">無法下載目標資源</string>
|
||||
<string name="error_failed_to_repair">無法修復SMAPI環境</string>
|
||||
<string name="error_game_not_found">無法找到遊戲本體,你是否安裝了星露穀物語?</string>
|
||||
<string name="error_illegal_path">請輸入一個有效的路徑</string>
|
||||
<string name="error_no_supported_game_version">遊戲版本不支持,請更新版本或者下載兼容包</string>
|
||||
<string name="error_smapi_not_installed">SMAPI尚未安裝,請先點擊安裝按鈕</string>
|
||||
<string name="extracting_package">正在抽取安裝包</string>
|
||||
<string name="failed_to_patch_game">無法修改安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="failed_to_process_manifest">無法處理AndroidManifest.xml文件</string>
|
||||
<string name="failed_to_sign_game">無法簽名安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="failed_to_unpack_smapi_files">無法解包SMAPI環境</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="input">輸入</string>
|
||||
<string name="input_mods_path">請輸入Mods路徑</string>
|
||||
<string name="error_illegal_path">請輸入一個有效的路徑</string>
|
||||
<string name="install_progress_title">安裝進度</string>
|
||||
<string name="installing_package">正在安裝</string>
|
||||
<string name="locale_pack">語言包</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="menu_config">配置</string>
|
||||
<string name="menu_config_edit">編輯</string>
|
||||
<string name="menu_download">下載</string>
|
||||
<string name="menu_help">幫助</string>
|
||||
<string name="menu_install">安裝</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">SMAPI安裝器</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="patching_package">正在安裝SMAPI補丁</string>
|
||||
<string name="progress">進度</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="settings_check_for_updates">檢查更新</string>
|
||||
<string name="settings_developer_mode">開發者模式</string>
|
||||
<string name="settings_set_language">語言</string>
|
||||
<string name="settings_set_mod_path">設置Mods位置</string>
|
||||
<string name="settings_translation_service">翻譯服務</string>
|
||||
<string name="settings_verbose_logging">詳細日誌</string>
|
||||
<string name="signing_package">正在簽名安裝包</string>
|
||||
<string name="smapi_game_name">SMAPI星露穀物語</string>
|
||||
<string name="smapi_version">SMAPI版本: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">注意:需要不低於1.4.5.138版本的遊戲本體</string>
|
||||
<string name="text_install_tip2">更新或安裝期間需要安裝遊戲本體</string>
|
||||
<string name="unpacking_smapi_files">正在解包</string>
|
||||
</resources>
|
||||
|
|
|
@ -11,5 +11,15 @@
|
|||
<item>English</item>
|
||||
<item>简体中文</item>
|
||||
<item>繁體中文</item>
|
||||
<item>한국어</item>
|
||||
<item>ไทย</item>
|
||||
<item>Español</item>
|
||||
<item>Français</item>
|
||||
<item>Português</item>
|
||||
</string-array>
|
||||
<string-array name="translators">
|
||||
<item>關閉</item>
|
||||
<item>谷歌</item>
|
||||
<item>有道</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -1,67 +1,67 @@
|
|||
<resources>
|
||||
<string name="app_name">SMAPI安裝器</string>
|
||||
<string name="nav_header_title">SMAPI安裝器</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="action_settings">設置</string>
|
||||
|
||||
<string name="menu_install">安裝</string>
|
||||
<string name="menu_config">配置</string>
|
||||
<string name="menu_config_edit">編輯</string>
|
||||
<string name="menu_help">幫助</string>
|
||||
|
||||
<string name="button_install">安裝</string>
|
||||
<string name="extracting_package">正在抽取安裝包</string>
|
||||
<string name="patching_package">正在安裝SMAPI補丁</string>
|
||||
<string name="signing_package">正在簽名安裝包</string>
|
||||
<string name="installing_package">正在安裝</string>
|
||||
<string name="install_progress_title">安裝進度</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="error_game_not_found">無法找到遊戲本體,你是否安裝了星露穀物語?</string>
|
||||
<string name="error">錯誤</string>
|
||||
<string name="failed_to_sign_game">無法簽名安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="failed_to_patch_game">無法修改安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="unpacking_smapi_files">正在解包</string>
|
||||
<string name="failed_to_unpack_smapi_files">無法解包SMAPI環境</string>
|
||||
<string name="confirm">確認</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="confirm_delete_content">確定刪除該內容?</string>
|
||||
<string name="text_install_tip1">注意:需要不低於1.4.5.138版本的遊戲本體</string>
|
||||
<string name="text_install_tip2">更新或安裝期間需要安裝遊戲本體</string>
|
||||
<string name="duplicate_mod_found">發現該MOD存在多份拷貝,請從以下位置刪除重複MOD:%s</string>
|
||||
<string name="error_smapi_not_installed">SMAPI尚未安裝,請先點擊安裝按鈕</string>
|
||||
<string name="error_failed_to_repair">無法修復SMAPI環境</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="button_compat">兼容性</string>
|
||||
<string name="button_nexus">N網</string>
|
||||
<string name="button_release">官網</string>
|
||||
<string name="button_logs">日誌</string>
|
||||
<string name="smapi_game_name">SMAPI星露穀物語</string>
|
||||
<string name="error_failed_to_create_file">無法創建以下文件: %s</string>
|
||||
<string name="failed_to_process_manifest">無法處理AndroidManifest.xml文件</string>
|
||||
<string name="error_no_supported_game_version">遊戲版本不支持,請更新版本或者下載兼容包</string>
|
||||
<string name="menu_download">下載</string>
|
||||
<string name="error_failed_to_download">無法下載目標資源</string>
|
||||
<string name="error_depends_on_mod">%1$s依賴%2$s前置,請先安裝它</string>
|
||||
<string name="locale_pack">語言包</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="download_unpack_success">已完成下載安裝</string>
|
||||
<string name="progress">進度</string>
|
||||
<string name="downloading">正在下載: %1$d KB / %2$d KB</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="abort">中止</string>
|
||||
<string name="android_version_confirm">你的系統版本過老,可能會導致0Harmony無效,建議升級到安卓6及以上版本</string>
|
||||
<string name="error_depends_on_mod_version" >%1$s依賴%2$s %3$s版本,請先更新它</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="app_name">SMAPI安裝器</string>
|
||||
<string name="button_compat">兼容性</string>
|
||||
<string name="button_donation_text">捐贈</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="button_gplay" >谷歌商店详情</string>
|
||||
<string name="smapi_version">SMAPI版本: 3.3.2.3</string>
|
||||
<string name="settings_verbose_logging">詳細日誌</string>
|
||||
<string name="settings_developer_mode">開發者模式</string>
|
||||
<string name="settings_check_for_updates">檢查更新</string>
|
||||
<string name="button_install">安裝</string>
|
||||
<string name="button_logs">日誌</string>
|
||||
<string name="button_nexus">N網</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="button_release">官網</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="confirm">確認</string>
|
||||
<string name="confirm_delete_content">確定刪除該內容?</string>
|
||||
<string name="confirm_disable_mod">確定禁用該內容?</string>
|
||||
<string name="settings_set_mod_path">設置Mods位置</string>
|
||||
<string name="continue_text">繼續</string>
|
||||
<string name="download_unpack_success">已完成下載安裝</string>
|
||||
<string name="downloading">正在下載: %1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">發現該MOD存在多份拷貝,請從以下位置刪除重複MOD:%s</string>
|
||||
<string name="error">錯誤</string>
|
||||
<string name="error_depends_on_mod">%1$s依賴%2$s前置,請先安裝它</string>
|
||||
<string name="error_depends_on_mod_version" >%1$s依賴%2$s %3$s版本,請先更新它</string>
|
||||
<string name="error_failed_to_create_file">無法創建以下文件: %s</string>
|
||||
<string name="error_failed_to_download">無法下載目標資源</string>
|
||||
<string name="error_failed_to_repair">無法修復SMAPI環境</string>
|
||||
<string name="error_game_not_found">無法找到遊戲本體,你是否安裝了星露穀物語?</string>
|
||||
<string name="error_illegal_path">請輸入一個有效的路徑</string>
|
||||
<string name="error_no_supported_game_version">遊戲版本不支持,請更新版本或者下載兼容包</string>
|
||||
<string name="error_smapi_not_installed">SMAPI尚未安裝,請先點擊安裝按鈕</string>
|
||||
<string name="extracting_package">正在抽取安裝包</string>
|
||||
<string name="failed_to_patch_game">無法修改安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="failed_to_process_manifest">無法處理AndroidManifest.xml文件</string>
|
||||
<string name="failed_to_sign_game">無法簽名安裝包,請聯繫開發者獲取幫助</string>
|
||||
<string name="failed_to_unpack_smapi_files">無法解包SMAPI環境</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="input">輸入</string>
|
||||
<string name="input_mods_path">請輸入Mods路徑</string>
|
||||
<string name="error_illegal_path">請輸入一個有效的路徑</string>
|
||||
<string name="install_progress_title">安裝進度</string>
|
||||
<string name="installing_package">正在安裝</string>
|
||||
<string name="locale_pack">語言包</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="menu_config">配置</string>
|
||||
<string name="menu_config_edit">編輯</string>
|
||||
<string name="menu_download">下載</string>
|
||||
<string name="menu_help">幫助</string>
|
||||
<string name="menu_install">安裝</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">SMAPI安裝器</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="patching_package">正在安裝SMAPI補丁</string>
|
||||
<string name="progress">進度</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="settings_check_for_updates">檢查更新</string>
|
||||
<string name="settings_developer_mode">開發者模式</string>
|
||||
<string name="settings_set_language">語言</string>
|
||||
<string name="settings_set_mod_path">設置Mods位置</string>
|
||||
<string name="settings_translation_service">翻譯服務</string>
|
||||
<string name="settings_verbose_logging">詳細日誌</string>
|
||||
<string name="signing_package">正在簽名安裝包</string>
|
||||
<string name="smapi_game_name">SMAPI星露穀物語</string>
|
||||
<string name="smapi_version">SMAPI版本: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">注意:需要不低於1.4.5.138版本的遊戲本體</string>
|
||||
<string name="text_install_tip2">更新或安裝期間需要安裝遊戲本體</string>
|
||||
<string name="unpacking_smapi_files">正在解包</string>
|
||||
</resources>
|
||||
|
|
|
@ -11,5 +11,15 @@
|
|||
<item>English</item>
|
||||
<item>简体中文</item>
|
||||
<item>繁體中文</item>
|
||||
<item>한국어</item>
|
||||
<item>ไทย</item>
|
||||
<item>Español</item>
|
||||
<item>Français</item>
|
||||
<item>Português</item>
|
||||
</string-array>
|
||||
<string-array name="translators">
|
||||
<item>关闭</item>
|
||||
<item>谷歌</item>
|
||||
<item>有道</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -1,67 +1,67 @@
|
|||
<resources>
|
||||
<string name="app_name">SMAPI安装器</string>
|
||||
<string name="nav_header_title">SMAPI安装器</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="action_settings">设置</string>
|
||||
|
||||
<string name="menu_install">安装</string>
|
||||
<string name="menu_config">配置</string>
|
||||
<string name="menu_config_edit">编辑</string>
|
||||
<string name="menu_help">帮助</string>
|
||||
|
||||
<string name="button_install">安装</string>
|
||||
<string name="extracting_package">正在抽取安装包</string>
|
||||
<string name="patching_package">正在安装SMAPI补丁</string>
|
||||
<string name="signing_package">正在签名安装包</string>
|
||||
<string name="installing_package">正在安装</string>
|
||||
<string name="install_progress_title">安装进度</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="error_game_not_found">无法找到游戏本体,你是否安装了星露谷物语?</string>
|
||||
<string name="error">错误</string>
|
||||
<string name="failed_to_sign_game">无法签名安装包,请联系开发者获取帮助</string>
|
||||
<string name="failed_to_patch_game">无法修改安装包,请联系开发者获取帮助</string>
|
||||
<string name="unpacking_smapi_files">正在解包</string>
|
||||
<string name="failed_to_unpack_smapi_files">无法解包SMAPI环境</string>
|
||||
<string name="confirm">确认</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="confirm_delete_content">确定删除该内容?</string>
|
||||
<string name="text_install_tip1">注意:需要不低于1.4.5.138版本的游戏本体</string>
|
||||
<string name="text_install_tip2">更新或安装期间需要安装游戏本体</string>
|
||||
<string name="duplicate_mod_found">发现该MOD存在多份拷贝,请从以下位置删除重复MOD:%s</string>
|
||||
<string name="error_smapi_not_installed">SMAPI尚未安装,请先点击安装按钮</string>
|
||||
<string name="error_failed_to_repair">无法修复SMAPI环境</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="button_compat">兼容性</string>
|
||||
<string name="button_nexus">N网</string>
|
||||
<string name="button_release">官网</string>
|
||||
<string name="button_logs">日志</string>
|
||||
<string name="smapi_game_name">SMAPI星露谷物语</string>
|
||||
<string name="error_failed_to_create_file">无法创建以下文件: %s</string>
|
||||
<string name="failed_to_process_manifest">无法处理AndroidManifest.xml文件</string>
|
||||
<string name="error_no_supported_game_version">游戏版本不支持,请更新版本或者下载兼容包</string>
|
||||
<string name="menu_download">下载</string>
|
||||
<string name="error_failed_to_download">无法下载目标资源</string>
|
||||
<string name="error_depends_on_mod">%1$s依赖%2$s前置,请先安装它</string>
|
||||
<string name="locale_pack">语言包</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="download_unpack_success">已完成下载安装</string>
|
||||
<string name="progress">进度</string>
|
||||
<string name="downloading">正在下载: %1$d KB / %2$d KB</string>
|
||||
<string name="menu_about">关于</string>
|
||||
<string name="abort">中止</string>
|
||||
<string name="android_version_confirm">你的系统版本过老,可能会导致0Harmony无效,建议升级到安卓6及以上版本</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="app_name">SMAPI安装器</string>
|
||||
<string name="button_compat">兼容性</string>
|
||||
<string name="button_donation_text">捐赠</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="error_depends_on_mod_version">%1$s依赖%2$s %3$s版本,请先更新它</string>
|
||||
<string name="button_gplay">谷歌商店详情</string>
|
||||
<string name="smapi_version">SMAPI版本: 3.3.2.3</string>
|
||||
<string name="settings_verbose_logging">详细日志</string>
|
||||
<string name="settings_developer_mode">开发者模式</string>
|
||||
<string name="settings_check_for_updates">检查更新</string>
|
||||
<string name="button_install">安装</string>
|
||||
<string name="button_logs">日志</string>
|
||||
<string name="button_nexus">N网</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="button_release">官网</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="confirm">确认</string>
|
||||
<string name="confirm_delete_content">确定删除该内容?</string>
|
||||
<string name="confirm_disable_mod">确定禁用该内容?</string>
|
||||
<string name="settings_set_mod_path">设置Mods位置</string>
|
||||
<string name="continue_text">继续</string>
|
||||
<string name="download_unpack_success">已完成下载安装</string>
|
||||
<string name="downloading">正在下载: %1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">发现该MOD存在多份拷贝,请从以下位置删除重复MOD:%s</string>
|
||||
<string name="error">错误</string>
|
||||
<string name="error_depends_on_mod">%1$s依赖%2$s前置,请先安装它</string>
|
||||
<string name="error_depends_on_mod_version">%1$s依赖%2$s %3$s版本,请先更新它</string>
|
||||
<string name="error_failed_to_create_file">无法创建以下文件: %s</string>
|
||||
<string name="error_failed_to_download">无法下载目标资源</string>
|
||||
<string name="error_failed_to_repair">无法修复SMAPI环境</string>
|
||||
<string name="error_game_not_found">无法找到游戏本体,你是否安装了星露谷物语?</string>
|
||||
<string name="error_illegal_path">请输入一个有效的路径</string>
|
||||
<string name="error_no_supported_game_version">游戏版本不支持,请更新版本或者下载兼容包</string>
|
||||
<string name="error_smapi_not_installed">SMAPI尚未安装,请先点击安装按钮</string>
|
||||
<string name="extracting_package">正在抽取安装包</string>
|
||||
<string name="failed_to_patch_game">无法修改安装包,请联系开发者获取帮助</string>
|
||||
<string name="failed_to_process_manifest">无法处理AndroidManifest.xml文件</string>
|
||||
<string name="failed_to_sign_game">无法签名安装包,请联系开发者获取帮助</string>
|
||||
<string name="failed_to_unpack_smapi_files">无法解包SMAPI环境</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="input">输入</string>
|
||||
<string name="input_mods_path">请输入Mods路径</string>
|
||||
<string name="error_illegal_path">请输入一个有效的路径</string>
|
||||
<string name="install_progress_title">安装进度</string>
|
||||
<string name="installing_package">正在安装</string>
|
||||
<string name="locale_pack">语言包</string>
|
||||
<string name="menu_about">关于</string>
|
||||
<string name="menu_config">配置</string>
|
||||
<string name="menu_config_edit">编辑</string>
|
||||
<string name="menu_download">下载</string>
|
||||
<string name="menu_help">帮助</string>
|
||||
<string name="menu_install">安装</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">SMAPI安装器</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="patching_package">正在安装SMAPI补丁</string>
|
||||
<string name="progress">进度</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="settings_check_for_updates">检查更新</string>
|
||||
<string name="settings_developer_mode">开发者模式</string>
|
||||
<string name="settings_set_language">语言</string>
|
||||
<string name="settings_set_mod_path">设置Mods位置</string>
|
||||
<string name="settings_translation_service">翻译服务</string>
|
||||
<string name="settings_verbose_logging">详细日志</string>
|
||||
<string name="signing_package">正在签名安装包</string>
|
||||
<string name="smapi_game_name">SMAPI星露谷物语</string>
|
||||
<string name="smapi_version">SMAPI版本: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">注意:需要不低于1.4.5.138版本的游戏本体</string>
|
||||
<string name="text_install_tip2">更新或安装期间需要安装游戏本体</string>
|
||||
<string name="unpacking_smapi_files">正在解包</string>
|
||||
</resources>
|
||||
|
|
|
@ -11,5 +11,15 @@
|
|||
<item>English</item>
|
||||
<item>简体中文</item>
|
||||
<item>繁體中文</item>
|
||||
<item>한국어</item>
|
||||
<item>ไทย</item>
|
||||
<item>Español</item>
|
||||
<item>Français</item>
|
||||
<item>Português</item>
|
||||
</string-array>
|
||||
<string-array name="translators">
|
||||
<item>OFF</item>
|
||||
<item>Google</item>
|
||||
<item>YouDao</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -5,5 +5,4 @@
|
|||
<dimen name="nav_header_vertical_spacing">8dp</dimen>
|
||||
<dimen name="nav_header_height">176dp</dimen>
|
||||
<dimen name="fab_margin">16dp</dimen>
|
||||
<dimen name="text_margin">16dp</dimen>
|
||||
</resources>
|
|
@ -1,8 +1,2 @@
|
|||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
|
||||
<item name="ic_menu_gallery" type="drawable">@android:drawable/ic_menu_gallery</item>
|
||||
<item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item>
|
||||
<item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item>
|
||||
<item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item>
|
||||
<item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
|
||||
</resources>
|
||||
|
|
|
@ -1,71 +1,70 @@
|
|||
<resources>
|
||||
<string name="app_name">SMAPI Installer</string>
|
||||
<string name="nav_header_title">SMAPI Installer</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
|
||||
<string name="menu_install">Install</string>
|
||||
<string name="menu_config">Config</string>
|
||||
<string name="menu_config_edit">Edit</string>
|
||||
<string name="menu_help">Help</string>
|
||||
|
||||
<string name="button_install">Install</string>
|
||||
<string name="extracting_package">Extracting Install Package</string>
|
||||
<string name="patching_package">Patching SMAPI</string>
|
||||
<string name="signing_package">Signing</string>
|
||||
<string name="installing_package">Installing</string>
|
||||
<string name="install_progress_title">Install Progress</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="error_game_not_found">Can\'t find the Stardew Valley\'s apk, did you install it?</string>
|
||||
<string name="error">Error</string>
|
||||
<string name="failed_to_sign_game">Failed to sign the game, please ask developer for help</string>
|
||||
<string name="failed_to_patch_game">Failed to patch the game, please ask developer for help</string>
|
||||
<string name="unpacking_smapi_files">Unpacking</string>
|
||||
<string name="failed_to_unpack_smapi_files">Failed to unpack smapi files</string>
|
||||
<string name="confirm">Confirm</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="confirm_delete_content">Are you sure to delete it?</string>
|
||||
<string name="text_install_tip1">Notes: Game version 1.4.5.138 or later is required.</string>
|
||||
<string name="text_install_tip2">The base game is required when updating/installing.</string>
|
||||
<string name="duplicate_mod_found">Found duplicate copy of mod, please delete duplicate of them: %s</string>
|
||||
<string name="error_smapi_not_installed">SMAPI has not installed yet, press install first</string>
|
||||
<string name="error_failed_to_repair">Failed to repair SMAPI environment</string>
|
||||
<string name="save">Save</string>
|
||||
<string name="button_compat">Compat</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_release">Release</string>
|
||||
<string name="button_logs">Logs</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="error_failed_to_create_file">Failed to create target file : %s</string>
|
||||
<string name="failed_to_process_manifest">Failed to process AndroidManifest.xml file</string>
|
||||
<string name="error_no_supported_game_version">Game version not supported, upgrade or download compat package first</string>
|
||||
<string name="menu_download">Download</string>
|
||||
<string name="error_failed_to_download">Failed to download target resources</string>
|
||||
<string name="error_depends_on_mod">The %1$s is depends on %2$s, please install it first</string>
|
||||
<string name="locale_pack">Locale Pack</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="download_unpack_success">Download and unpack success</string>
|
||||
<string name="progress">Progress</string>
|
||||
<string name="downloading">Downloading: %1$d KB / %2$d KB</string>
|
||||
|
||||
<!-- TODO: Remove or change this placeholder text -->
|
||||
<string name="menu_about">About</string>
|
||||
<string name="abort">Abort</string>
|
||||
<string name="android_version_confirm">You device system version is too old for MonoMod, this may leads to crash of 0Harmony framework, update to Android M or later if possible</string>
|
||||
<string name="error_depends_on_mod_version">The %1$s is depends on %2$s %3$s version or later, please update it first</string>
|
||||
<string name="app_name">SMAPI Installer</string>
|
||||
<string name="button_compat">Compat</string>
|
||||
<string name="button_donation_text">Donation</string>
|
||||
<string name="button_gplay">View in Play Store</string>
|
||||
<string name="button_install">Install</string>
|
||||
<string name="button_logs">Logs</string>
|
||||
<string name="button_nexus">Nexus</string>
|
||||
<string name="button_qq_group_1_text">QQ Group 1: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ Group 2: 1078428449</string>
|
||||
<string name="icon_desc" translatable="false">icon</string>
|
||||
<string name="button_donation_text">Donation</string>
|
||||
<string name="toast_redpacket_message" translatable="false">红包码已复制\n支付宝首页搜索“9188262” 立即领红包</string>
|
||||
<string name="button_gplay">View in Play Store</string>
|
||||
<string name="smapi_version">SMAPI Version: 3.3.2.3</string>
|
||||
<string name="settings_verbose_logging">Verbose Logging</string>
|
||||
<string name="settings_check_for_updates">Check For Updates</string>
|
||||
<string name="settings_developer_mode">Developer Mode</string>
|
||||
<string name="button_release">Release</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="confirm">Confirm</string>
|
||||
<string name="confirm_delete_content">Are you sure to delete it?</string>
|
||||
<string name="confirm_disable_mod">Are you sure to disable it?</string>
|
||||
<string name="settings_set_mod_path">Set Mods Path</string>
|
||||
<string name="continue_text">Continue</string>
|
||||
<string name="download_unpack_success">Download and unpack success</string>
|
||||
<string name="downloading">Downloading: %1$d KB / %2$d KB</string>
|
||||
<string name="duplicate_mod_found">Found duplicate copy of mod, please delete duplicate of them: %s</string>
|
||||
<string name="error">Error</string>
|
||||
<string name="error_depends_on_mod">The %1$s is depends on %2$s, please install it first</string>
|
||||
<string name="error_depends_on_mod_version">The %1$s is depends on %2$s %3$s version or later, please update it first</string>
|
||||
<string name="error_failed_to_create_file">Failed to create target file : %s</string>
|
||||
<string name="error_failed_to_download">Failed to download target resources</string>
|
||||
<string name="error_failed_to_repair">Failed to repair SMAPI environment</string>
|
||||
<string name="error_game_not_found">Can\'t find the Stardew Valley\'s apk, did you install it?</string>
|
||||
<string name="error_illegal_path">Please input a valid path</string>
|
||||
<string name="error_no_supported_game_version">Game version not supported, upgrade or download compat package first</string>
|
||||
<string name="error_smapi_not_installed">SMAPI has not installed yet, press install first</string>
|
||||
<string name="extracting_package">Extracting Install Package</string>
|
||||
<string name="failed_to_patch_game">Failed to patch the game, please ask developer for help</string>
|
||||
<string name="failed_to_process_manifest">Failed to process AndroidManifest.xml file</string>
|
||||
<string name="failed_to_sign_game">Failed to sign the game, please ask developer for help</string>
|
||||
<string name="failed_to_unpack_smapi_files">Failed to unpack smapi files</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="input">Input</string>
|
||||
<string name="input_mods_path">Please input mods path</string>
|
||||
<string name="error_illegal_path">Please input a valid path</string>
|
||||
<string name="install_progress_title">Install Progress</string>
|
||||
<string name="installing_package">Installing</string>
|
||||
<string name="locale_pack">Locale Pack</string>
|
||||
<string name="menu_about">About</string>
|
||||
<string name="menu_config">Config</string>
|
||||
<string name="menu_config_edit">Edit</string>
|
||||
<string name="menu_download">Download</string>
|
||||
<string name="menu_help">Help</string>
|
||||
<string name="menu_install">Install</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_title">SMAPI Installer</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="patching_package">Patching SMAPI</string>
|
||||
<string name="progress">Progress</string>
|
||||
<string name="save">Save</string>
|
||||
<string name="settings_check_for_updates">Check For Updates</string>
|
||||
<string name="settings_developer_mode">Developer Mode</string>
|
||||
<string name="settings_set_language">Language</string>
|
||||
<string name="settings_set_mod_path">Set Mods Path</string>
|
||||
<string name="settings_translation_service">Translation Service</string>
|
||||
<string name="settings_verbose_logging">Verbose Logging</string>
|
||||
<string name="signing_package">Signing</string>
|
||||
<string name="smapi_game_name">SMAPI Stardew Valley</string>
|
||||
<string name="smapi_version">SMAPI Version: 3.3.2.4</string>
|
||||
<string name="text_install_tip1">Notes: Game version 1.4.5.138 or later is required.</string>
|
||||
<string name="text_install_tip2">The base game is required when updating/installing.</string>
|
||||
<string name="unpacking_smapi_files">Unpacking</string>
|
||||
|
||||
<string name="toast_redpacket_message" translatable="false">红包码已复制\n支付宝首页搜索“9188262” 立即领红包</string>
|
||||
<string name="icon_desc" translatable="false">icon</string>
|
||||
</resources>
|
||||
|
|
|
@ -5,11 +5,12 @@ buildscript {
|
|||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.6.1'
|
||||
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-alpha03"
|
||||
|
||||
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
|