From 573ae14aa6fd4964463dc5056736b4990140ecb5 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Thu, 27 Nov 2025 16:13:53 +0800 Subject: [PATCH] =?UTF-8?q?[8.2.8][i18n]=20mogo-core-data=20mogo-core-func?= =?UTF-8?q?tion-call=20mogo-core-function-network=20mogo-core-utils=20OCH/?= =?UTF-8?q?common=20=E4=B8=AD=E6=96=87=E6=8A=BD=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/OchAutoPilotManager.kt | 4 +- .../core/data/map/entity/MarkerUserInfo.java | 4 +- .../CallerAutoPilotControlManager.kt | 25 ++++++--- .../CallerAutopilotActionsListenerManager.kt | 35 ++++++++---- ...CallerAutopilotCarConfigListenerManager.kt | 8 ++- ...allerAutopilotStatisticsListenerManager.kt | 5 +- .../eagle/core/network/RequestOptions.java | 7 ++- .../src/main/res/values/string.xml | 17 ++++-- .../core/utilcode/floating/MoGoPopWindow.kt | 23 +++++--- .../permissions/PermissionsDialogUtils.java | 10 ++-- .../core/utilcode/mogo/sqlite/SQLBaseDao.java | 11 ++-- .../eagle/core/utilcode/util/ApkInstaller.kt | 24 ++++++--- .../core/utilcode/util/BitmapHelper.java | 3 +- .../core/utilcode/util/ConvertUtils.java | 54 ++++++++++++------- .../core/utilcode/util/DateTimeUtils.java | 3 +- .../eagle/core/utilcode/util/TimeUtils.java | 3 +- .../src/main/res/values/string.xml | 34 ++++++++++++ 17 files changed, 197 insertions(+), 73 deletions(-) diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotManager.kt index 2944298c46..e9e35d6b2f 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotManager.kt @@ -7,6 +7,7 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgBoxType import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bridge.R import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager @@ -76,7 +77,8 @@ object OchAutoPilotManager { CallerMsgBoxManager.saveMsgBox( MsgBoxBean( MsgBoxType.AUTOPILOT, - AutopilotMsg(0, "自动驾驶启动失败", msg, System.currentTimeMillis()) +// AutopilotMsg(0, "自动驾驶启动失败", msg, System.currentTimeMillis()) + AutopilotMsg(0, StringUtils.getString(R.string.module_core_autonomous_driving_startup_failed), msg, System.currentTimeMillis()) ) ) } else { diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/entity/MarkerUserInfo.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/entity/MarkerUserInfo.java index 434ee5108a..96f490a616 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/entity/MarkerUserInfo.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/entity/MarkerUserInfo.java @@ -51,7 +51,7 @@ public class MarkerUserInfo implements Serializable { char ageChar = ageChars[2]; // String ageString = "未设置"; - String ageString = StringUtils.getString(R.string.module_core_age_unknown); + String ageString = StringUtils.getString(R.string.module_core_age_not_set); switch (ageChar) { case '0': @@ -121,7 +121,7 @@ public class MarkerUserInfo implements Serializable { public String getGender() { if (TextUtils.isEmpty(gender)) { // return "未设置"; - return StringUtils.getString(R.string.module_core_gender_unknown); + return StringUtils.getString(R.string.module_core_age_not_set); } return gender; } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index b81c0508d4..c21db75f67 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -22,6 +22,7 @@ import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.AppStateManager +import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.zhjt.mogo.adas.common.power.PowerUnitChannel import com.zhjt.mogo.adas.data.Adas @@ -109,24 +110,31 @@ object CallerAutoPilotControlManager { var isPlayTTS = true if (exceptionValue != 0) { if (isShowTip) { - val sb = StringBuilder("请检查车辆") +// val sb = StringBuilder("请检查车辆") + val sb = StringBuilder(StringUtils.getString(R.string.module_core_check_vehicle)) if ((exceptionValue and 1) != 0) { - sb.append("FSM$") +// sb.append("FSM$") + sb.append(StringUtils.getString(R.string.module_core_fsm)).append("$") } if ((exceptionValue and (1 shl 1)) != 0) { - sb.append("方向盘$") +// sb.append("方向盘$") + sb.append(StringUtils.getString(R.string.module_core_chassis_steering)).append("$") } if (((exceptionValue and (1 shl 2)) != 0)) { - sb.append("油门$") +// sb.append("油门$") + sb.append(StringUtils.getString(R.string.module_core_chassis_throttle)).append("$") } if ((exceptionValue and (1 shl 3)) != 0) { - sb.append("刹车$") +// sb.append("刹车$") + sb.append(StringUtils.getString(R.string.module_core_chassis_brake)).append("$") } if ((exceptionValue and (1 shl 4)) != 0) { - sb.append("双闪$") +// sb.append("双闪$") + sb.append(StringUtils.getString(R.string.module_core_chassis_hazard_lights)).append("$") } if ((exceptionValue and (1 shl 5)) != 0) { - sb.append("档位$") +// sb.append("档位$") + sb.append(StringUtils.getString(R.string.module_core_chassis_gear)).append("$") } if ((exceptionValue and (1 shl 6)) != 0) { if (!sb.contains("$")) { @@ -141,7 +149,8 @@ object CallerAutoPilotControlManager { if ((exceptionValue and (1 shl 7)) != 0 || ((exceptionValue and (1 shl 8)) != 0)) { if (!sb.contains("$")) { sb.setLength(0) - sb.append("轨迹未就绪,请稍后重试") +// sb.append("轨迹未就绪,请稍后重试") + sb.append(StringUtils.getString(R.string.module_core_trajectory_not_ready)) } } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt index 10dc5987c7..33b10366e0 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt @@ -5,9 +5,11 @@ import chassis.VehicleStateOuterClass import com.google.protobuf.TextFormat import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.call.R import com.mogo.eagle.core.function.call.base.CallerBase import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_D_C +import com.mogo.eagle.core.utilcode.util.StringUtils import com.zhjt.mogo.adas.data.bean.LaunchConditionData import com.zhjt.mogo.adas.data.bean.UnableLaunchReason import org.json.JSONException @@ -58,7 +60,8 @@ object CallerAutopilotActionsListenerManager : CallerBase() { init { - add("未连接自动驾驶系统") +// add("未连接自动驾驶系统") + add(StringUtils.getString(R.string.module_core_ununited_ipc)) } } ) @@ -97,28 +100,32 @@ object CallerAutopilotActionsListenerManager : CallerBase正左方 周边 未知道路 - 未设置 + 未设置 00后 10后 20后 @@ -1095,7 +1095,6 @@ 70后 80后 90后 - 未设置 用户未设置昵称 @@ -1145,9 +1144,17 @@ 择机靠边停车 立刻舒适停车 就地紧急停车 - - - + 未连接自动驾驶系统 + 请检查车辆 + FSM + 方向盘 + 油门 + 刹车 + 双闪 + 档位 + 轨迹未就绪,请稍后重试 + 自动驾驶启动失败 + 正在加载中… diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/floating/MoGoPopWindow.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/floating/MoGoPopWindow.kt index ee039b0543..70529a7fe4 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/floating/MoGoPopWindow.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/floating/MoGoPopWindow.kt @@ -17,6 +17,8 @@ import androidx.annotation.LayoutRes import androidx.core.view.doOnAttach import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.mogo.eagle.core.utilcode.util.R +import com.mogo.eagle.core.utilcode.util.StringUtils import java.util.concurrent.atomic.AtomicBoolean class MoGoPopWindow private constructor(builder: Builder){ @@ -25,7 +27,8 @@ class MoGoPopWindow private constructor(builder: Builder){ private const val TAG = "MoGoPopWindow" } - private val content: View = builder.content ?: throw AssertionError("要填充的View不能为空") +// private val content: View = builder.content ?: throw AssertionError("要填充的View不能为空") + private val content: View = builder.content ?: throw AssertionError(StringUtils.getString(R.string.module_core_utils_view_to_fill_cannot_be_null)) private val pop: PopupWindow by lazy { PopupWindow(builder.width, builder.height) } @@ -35,7 +38,8 @@ class MoGoPopWindow private constructor(builder: Builder){ private var gravityInActivity: Int = builder.gravityInActivity - private val activity: Activity = builder.attachToActivity ?: throw AssertionError("要依附Activity实例不能为空") +// private val activity: Activity = builder.attachToActivity ?: throw AssertionError("要依附Activity实例不能为空") + private val activity: Activity = builder.attachToActivity ?: throw AssertionError(StringUtils.getString(R.string.module_core_utils_attached_activity_instance_cannot_be_null)) private val isDraggable: Boolean = builder.isDraggable @@ -61,7 +65,8 @@ class MoGoPopWindow private constructor(builder: Builder){ } isPendingShow.set(true) activity.lifeCycleScope.launchWhenResumed { - val parent = activity.findViewById(android.R.id.content) ?: throw AssertionError("附着的Activity上的ID为[android.R.id.content]的控件不存在.") +// val parent = activity.findViewById(android.R.id.content) ?: throw AssertionError("附着的Activity上的ID为[android.R.id.content]的控件不存在.") + val parent = activity.findViewById(android.R.id.content) ?: throw AssertionError(StringUtils.getString(R.string.module_core_utils_attached_activity_instance_cannot_be_null1)) pop.contentView = content pop.isAttachedInDecor = false pop.setBackgroundDrawable(ColorDrawable()) @@ -321,18 +326,22 @@ class MoGoPopWindow private constructor(builder: Builder){ } fun build() : MoGoPopWindow { - val activity = attachToActivity ?: throw AssertionError("依附的activity不能为空") +// val activity = attachToActivity ?: throw AssertionError("依附的activity不能为空") + val activity = attachToActivity ?: throw AssertionError(StringUtils.getString(R.string.module_core_utils_attached_activity_instance_cannot_be_null2)) if (content != null && layoutId != null) { - throw AssertionError("两者不能同时设置") +// throw AssertionError("两者不能同时设置") + throw AssertionError(StringUtils.getString(R.string.module_core_utils_both_cannot_be_set_simultaneously)) } if (content == null && layoutId == null) { - throw AssertionError("两者不能都不设置,至少设置一个") +// throw AssertionError("两者不能都不设置,至少设置一个") + throw AssertionError(StringUtils.getString(R.string.module_core_utils_both_cannot_be_set_simultaneously1)) } if (content == null) { content = LayoutInflater.from(activity).inflate(layoutId!!, null) } if (content != null && content?.parent != null) { - throw AssertionError("内容控件不允许包含父控件.") +// throw AssertionError("内容控件不允许包含父控件.") + throw AssertionError(StringUtils.getString(R.string.module_core_utils_content_control_cannot_contain_parent_control)) } return MoGoPopWindow(this) } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/permissions/PermissionsDialogUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/permissions/PermissionsDialogUtils.java index dc3326bdf1..cce890cdc4 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/permissions/PermissionsDialogUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/permissions/PermissionsDialogUtils.java @@ -10,6 +10,7 @@ import android.text.TextUtils; import com.mogo.eagle.core.utilcode.util.BaseAlertDialogBuilder; import com.mogo.eagle.core.utilcode.util.R; +import com.mogo.eagle.core.utilcode.util.StringUtils; /** * @author xiaoyuzhou @@ -27,11 +28,14 @@ public class PermissionsDialogUtils { if (mAlertDialog == null || !mAlertDialog.isShowing()) { BaseAlertDialogBuilder builder = new BaseAlertDialogBuilder(activity); if (TextUtils.isEmpty(msg)) { - builder.setMessage("请在 “应用信息 -> 权限” 中授予权限"); +// builder.setMessage("请在 “应用信息 -> 权限” 中授予权限"); + builder.setMessage(StringUtils.getString(R.string.module_core_utils_manual_authorization_msg)); } else { - builder.setMessage("请在 “应用信息 -> 权限” 中授予【" + msg + "】权限"); +// builder.setMessage("请在 “应用信息 -> 权限” 中授予【" + msg + "】权限"); + builder.setMessage(StringUtils.getString(R.string.module_core_utils_manual_authorization_msg1, msg)); } - builder.setPositiveButton("手动授权", (dialog, which) -> { +// builder.setPositiveButton("手动授权", (dialog, which) -> { + builder.setPositiveButton(StringUtils.getString(R.string.module_core_utils_manual_authorization), (dialog, which) -> { Intent intent = new Intent(); intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.addCategory(Intent.CATEGORY_DEFAULT); diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/sqlite/SQLBaseDao.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/sqlite/SQLBaseDao.java index 5111146c2b..05f9aea518 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/sqlite/SQLBaseDao.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/sqlite/SQLBaseDao.java @@ -5,6 +5,8 @@ import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; +import com.mogo.eagle.core.utilcode.util.R; +import com.mogo.eagle.core.utilcode.util.StringUtils; import com.mogo.utils.sqlite.annotation.DbField; import com.mogo.utils.sqlite.annotation.DbTable; @@ -264,7 +266,8 @@ public class SQLBaseDao implements SQLIDao { field.set(item, cursor.getBlob(columnIndex)); } else { //未知类型 - throw new UnsupportedOperationException("未定义的数据类型:fieldName= " + columnName + " fieldType= " + fieldType); +// throw new UnsupportedOperationException("未定义的数据类型:fieldName= " + columnName + " fieldType= " + fieldType); + throw new UnsupportedOperationException(StringUtils.getString(R.string.module_core_utils_undefined_data_type) + "fieldName= " + columnName + " fieldType= " + fieldType); } } } @@ -338,7 +341,8 @@ public class SQLBaseDao implements SQLIDao { sqlCreateTable.append(columnName).append(" BLOB,"); } else { //未知类型 - throw new UnsupportedOperationException("未定义的数据类型:fieldName= " + columnName + " fieldType= " + fieldType); +// throw new UnsupportedOperationException("未定义的数据类型:fieldName= " + columnName + " fieldType= " + fieldType); + throw new UnsupportedOperationException(StringUtils.getString(R.string.module_core_utils_undefined_data_type) + "fieldName= " + columnName + " fieldType= " + fieldType); } if (index == fields.length - 1) { @@ -384,7 +388,8 @@ public class SQLBaseDao implements SQLIDao { contentValues.put(columnName, (byte[]) valueObject); } else { //未知类型 - throw new UnsupportedOperationException("未定义的数据类型:fieldName= " + columnName + " fieldType= " + fieldType); +// throw new UnsupportedOperationException("未定义的数据类型:fieldName= " + columnName + " fieldType= " + fieldType); + throw new UnsupportedOperationException(StringUtils.getString(R.string.module_core_utils_undefined_data_type) + "fieldName= " + columnName + " fieldType= " + fieldType); } } catch (IllegalAccessException e) { e.printStackTrace(); diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ApkInstaller.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ApkInstaller.kt index 2590f8023f..5b4bb19bd1 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ApkInstaller.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ApkInstaller.kt @@ -21,7 +21,8 @@ class ApkInstaller { @JvmStatic fun installApp(context: Context, apkFile: File, block: ((Int, String) -> Unit)?) { if (!apkFile.exists()) { - val msg = "要安装的apk文件不存在" +// val msg = "要安装的apk文件不存在" + val msg = StringUtils.getString(R.string.module_core_utils_apk_not_exist) block?.invoke(INSTALL_CODE_INVALID, msg) return } @@ -31,7 +32,8 @@ class ApkInstaller { false } if (!isApk) { - val msg = "文件: ${apkFile.absolutePath}, 不是一个有效的安装包" +// val msg = "文件: ${apkFile.absolutePath}, 不是一个有效的安装包" + val msg = StringUtils.getString(R.string.module_core_utils_apk_not_install_package, apkFile.absolutePath) block?.invoke(INSTALL_CODE_INVALID, msg) return } @@ -132,11 +134,13 @@ class InstallApkSessionApi: AppCompatActivity() { session.commit(pendingIntent.intentSender) } catch (t: IOException) { Log.e(TAG, "--- InstallApkSessionApi --:exception 1:${t.message}") - listener?.invoke(INSTALL_CODE_INVALID, t.message ?: "未知异常") +// listener?.invoke(INSTALL_CODE_INVALID, t.message ?: "未知异常") + listener?.invoke(INSTALL_CODE_INVALID, t.message ?: StringUtils.getString(R.string.module_core_utils_unknown_exception)) session?.close() } catch (t: RuntimeException) { Log.e(TAG, "--- InstallApkSessionApi --:exception 2:${t.message}") - listener?.invoke(INSTALL_CODE_INVALID, t.message ?: "未知异常2") +// listener?.invoke(INSTALL_CODE_INVALID, t.message ?: "未知异常2") + listener?.invoke(INSTALL_CODE_INVALID, t.message ?: StringUtils.getString(R.string.module_core_utils_unknown_exception2)) session?.abandon() } finally { try { @@ -169,7 +173,8 @@ class InstallApkSessionApi: AppCompatActivity() { STATUS_SUCCESS -> { Log.i(TAG, "--- InstallApkSessionApi -- install success --") Toast.makeText(this, "Install succeeded!", Toast.LENGTH_SHORT).show() - listener?.invoke(STATUS_SUCCESS, "安装成功") +// listener?.invoke(STATUS_SUCCESS, "安装成功") + listener?.invoke(STATUS_SUCCESS, StringUtils.getString(R.string.module_core_utils_install_success)) finish() listener = null } @@ -181,12 +186,14 @@ class InstallApkSessionApi: AppCompatActivity() { STATUS_FAILURE_INVALID, STATUS_FAILURE_STORAGE -> { Toast.makeText(this, "Install failed! $status, $message", Toast.LENGTH_SHORT).show() - listener?.invoke(status, message ?: "安装失败") +// listener?.invoke(status, message ?: "安装失败") + listener?.invoke(status, message ?: StringUtils.getString(R.string.module_core_utils_install_fail)) finish() listener = null } else -> { - status?.also { listener?.invoke(it, message ?: "未知状态") } +// status?.also { listener?.invoke(it, message ?: "未知状态") } + status?.also { listener?.invoke(it, message ?: StringUtils.getString(R.string.module_core_utils_unknown_state)) } Toast.makeText(this, "Unrecognized status received from installer: $status", Toast.LENGTH_SHORT).show() finish() listener = null @@ -214,7 +221,8 @@ class FoTaSilentUpgradeReceiver: BroadcastReceiver() { Log.d("AppInstallReceiver", "-- onReceive: --- 2 ---") if (i.hasExtra("code") && i.hasExtra("msg")) { val code = i.getIntExtra("code", -1) - val msg = i.getStringExtra("msg") ?: "未知异常" +// val msg = i.getStringExtra("msg") ?: "未知异常" + val msg = i.getStringExtra("msg") ?: StringUtils.getString(R.string.module_core_utils_unknown_exception) Log.d("AppInstallReceiver", "-- onReceive: --- 3 ---:[code: $code, msg: $msg]") listener?.invoke(code, msg) } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/BitmapHelper.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/BitmapHelper.java index aa4f403338..b0146d08b6 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/BitmapHelper.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/BitmapHelper.java @@ -165,7 +165,8 @@ public class BitmapHelper { } catch ( Exception e ) { e.printStackTrace(); target = null; - listener.onCompressFailed( "压缩失败" ); +// listener.onCompressFailed( "压缩失败" ); + listener.onCompressFailed(StringUtils.getString(R.string.module_core_utils_compression_failed)); } finally { IOUtils.closeSilently( bos ); } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ConvertUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ConvertUtils.java index 141cb066c8..1ad2ab5c24 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ConvertUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ConvertUtils.java @@ -800,22 +800,27 @@ public final class ConvertUtils { // 数字为三位数 if (length == 3) { if (number % 100 < 10) { - spannable.append("零") +// spannable.append("零") + spannable.append(StringUtils.getString(R.string.module_core_utils_zero)) .append(getChinese(number % 100, 3)); } else { spannable.append(getChinese(number % 100 / 10, 3)) - .append("十") +// .append("十") + .append(StringUtils.getString(R.string.module_core_utils_ten)) .append(getChinese(number % 10, 0)); } } // 数字为四位数 if (length == 4) { if (number % 1000 < 10) { - spannable.append("零").append(getChinese(number % 1000, 3)); +// spannable.append("零").append(getChinese(number % 1000, 3)); + spannable.append(StringUtils.getString(R.string.module_core_utils_zero)).append(getChinese(number % 1000, 3)); } else if (number % 1000 < 100) { - spannable.append("零") +// spannable.append("零") + spannable.append(StringUtils.getString(R.string.module_core_utils_zero)) .append(getChinese(number % 1000 / 10, 3)) - .append("十") +// .append("十") + .append(StringUtils.getString(R.string.module_core_utils_ten)) .append(getChinese(number % 10, 0)); } else { number = number % 1000; @@ -838,26 +843,36 @@ public final class ConvertUtils { if (length == 2) { return ""; } - return "一"; +// return "一"; + return StringUtils.getString(R.string.module_core_utils_one); case 2: - return "二"; +// return "二"; + return StringUtils.getString(R.string.module_core_utils_two); case 3: - return "三"; +// return "三"; + return StringUtils.getString(R.string.module_core_utils_three); case 4: - return "四"; +// return "四"; + return StringUtils.getString(R.string.module_core_utils_four); case 5: - return "五"; +// return "五"; + return StringUtils.getString(R.string.module_core_utils_five); case 6: - return "六"; +// return "六"; + return StringUtils.getString(R.string.module_core_utils_six); case 7: - return "七"; +// return "七"; + return StringUtils.getString(R.string.module_core_utils_seven); case 8: - return "八"; +// return "八"; + return StringUtils.getString(R.string.module_core_utils_eight); case 9: - return "九"; +// return "九"; + return StringUtils.getString(R.string.module_core_utils_nine); case 0: if (length == 1) { - return "零"; +// return "零"; + return StringUtils.getString(R.string.module_core_utils_zero); } return ""; @@ -874,11 +889,14 @@ public final class ConvertUtils { public static String getUnitChinese(int length) { switch (length) { case 2: - return "十"; +// return "十"; + return StringUtils.getString(R.string.module_core_utils_ten); case 3: - return "百"; +// return "百"; + return StringUtils.getString(R.string.module_core_utils_hundred); case 4: - return "千"; +// return "千"; + return StringUtils.getString(R.string.module_core_utils_thousand); } return ""; } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DateTimeUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DateTimeUtils.java index d430f373a6..533f2bd9da 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DateTimeUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DateTimeUtils.java @@ -23,7 +23,8 @@ public class DateTimeUtils { public static final long ONE_YEAR = ONE_MONTH * 24L; // 下面的pattern在print和parse时都可以使用 public static final String MM_Yue_dd_Ri = "MM月dd日"; - public static final String MM_Yue_dd_Ri_HH_mm = "MM月dd日 HH:mm"; +// public static final String MM_Yue_dd_Ri_HH_mm = "MM月dd日 HH:mm"; + public static final String MM_Yue_dd_Ri_HH_mm = StringUtils.getString(R.string.module_core_utils_mm_yue_dd_ri_hh_mm); public static final String M_Yue_d_Ri = "M月d日"; public static final String d_Ri = "d日"; public static final String yyyyMMdd = "yyyyMMdd"; diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java index 79bbd5bf17..64b0b0a1b1 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java @@ -56,7 +56,8 @@ public final class TimeUtils { } public static SimpleDateFormat getYMDFormat(){ - return getSafeDateFormat("yyyy年MM月dd日"); +// return getSafeDateFormat("yyyy年MM月dd日"); + return getSafeDateFormat(StringUtils.getString(R.string.module_core_utils_yyyy_nian_mm_yue_dd_ri)); } public static SimpleDateFormat getHourMinSecondFormat(){ diff --git a/core/mogo-core-utils/src/main/res/values/string.xml b/core/mogo-core-utils/src/main/res/values/string.xml index 36f99ecc87..e53384457d 100644 --- a/core/mogo-core-utils/src/main/res/values/string.xml +++ b/core/mogo-core-utils/src/main/res/values/string.xml @@ -1,4 +1,38 @@ 不要频繁点击哦~ + 要填充的View不能为空 + 要依附Activity实例不能为空 + 附着的Activity上的ID为[android.R.id.content]的控件不存在. + 依附的activity不能为空 + 两者不能同时设置 + 两者不能都不设置,至少设置一个 + 内容控件不允许包含父控件 + 请在 “应用信息 -> 权限” 中授予权限 + 请在 “应用信息 -> 权限” 中授予【%s】权限 + 手动授权 + 未定义的数据类型: + 要安装的apk文件不存在 + 文件: %s, 不是一个有效的安装包 + 未知异常 + 未知异常2 + 安装成功 + 安装失败 + 未知状态 + 压缩失败 + + + + + + + + + + + + + + MM月dd日 HH:mm + yyyy年MM月dd日 \ No newline at end of file