Jelajahi Sumber

增加英语支持

weizhengliang 3 tahun lalu
induk
melakukan
c9633a8ff9
28 mengubah file dengan 494 tambahan dan 114 penghapusan
  1. 16 0
      app/src/main/code/com/wdkl/app/ncs/application/Application.kt
  2. 5 4
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/AppUpdateActivity.kt
  3. 22 24
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt
  4. 3 2
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/adapter/CostItemAdapter.kt
  5. 4 2
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/BaseCallFragment.kt
  6. 4 5
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/CostFragment.kt
  7. 7 7
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/MainFragment.kt
  8. 9 12
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/QrCodeFragment.kt
  9. 12 11
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/SkyCallFragment.kt
  10. 79 0
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/helper/LocaleMangerUtils.java
  11. 3 3
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/helper/ServerConfigDialogHelper.java
  12. 11 0
      callingbed/src/main/java/com/wdkl/app/ncs/callingbed/settings/SettingConfig.java
  13. 1 1
      callingbed/src/main/res/layout/call_nurse_view.xml
  14. 6 6
      callingbed/src/main/res/layout/callingbed_main_lay.xml
  15. 2 2
      callingbed/src/main/res/layout/item_nurse_config.xml
  16. 9 9
      callingbed/src/main/res/layout/main_view.xml
  17. 11 13
      callingbed/src/main/res/layout/qrcode_view.xml
  18. 6 6
      callingbed/src/main/res/layout/server_config_dialog_lay.xml
  19. 2 2
      callingbed/src/main/res/layout/sky_voice_call_layout.xml
  20. 2 2
      callingbed/src/main/res/layout/update_lay.xml
  21. 1 1
      callingbed/src/main/res/layout/view_title_layout.xml
  22. 2 2
      callingbed/src/main/res/layout/warning_dialog_lay.xml
  23. 5 0
      common/src/main/code/com/wdkl/ncs/android/lib/utils/ExtendMethods.kt
  24. 10 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/utils/StringUtil.java
  25. 47 0
      resource/src/main/res/values-zh/arrays.xml
  26. 109 0
      resource/src/main/res/values-zh/strings.xml
  27. 47 0
      resource/src/main/res/values/arrays.xml
  28. 59 0
      resource/src/main/res/values/strings.xml

+ 16 - 0
app/src/main/code/com/wdkl/app/ncs/application/Application.kt

@@ -1,15 +1,19 @@
 package com.wdkl.app.ncs.application
 
+import android.content.Context
+import android.content.res.Configuration
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.enation.javashop.net.engine.config.NetEngineConfig
 import com.enation.javashop.net.engine.plugin.exception.RestfulExceptionInterceptor
 import com.enation.javashop.utils.base.config.BaseConfig
+import com.wdkl.app.ncs.callingbed.helper.LocaleMangerUtils
 //import com.enation.javashop.utils.base.config.BaseConfig
 //import com.wdkl.app.ncs.callingbed.helper.AnrFcExceptionUtil
 import com.wdkl.app.ncs.callingbed.helper.NetHelper
 import com.wdkl.app.ncs.callingbed.helper.Utils
 import com.wdkl.app.ncs.callingbed.helper.XCrashUtils
+import com.wdkl.app.ncs.callingbed.settings.SettingConfig
 import serialporttest.utils.SerialPortUtil
 
 /**
@@ -97,4 +101,16 @@ class Application : BaseApplication() {
 
         Utils.checkCameraSupport()
     }
+
+    override fun attachBaseContext(base: Context?) {
+        val languageId: Int = SettingConfig.getLanguageId(base)
+        LocaleMangerUtils.setApplicationLanguageByIndex(base, languageId)
+        super.attachBaseContext(base)
+    }
+
+    override fun onConfigurationChanged(newConfig: Configuration?) {
+        super.onConfigurationChanged(newConfig)
+        val languageId: Int = SettingConfig.getLanguageId(baseContext)
+        LocaleMangerUtils.setApplicationLanguageByIndex(baseContext, languageId)
+    }
 }

+ 5 - 4
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/AppUpdateActivity.kt

@@ -16,6 +16,7 @@ import com.wdkl.ncs.android.middleware.api.UrlManager
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.logic.contract.callingbed.AppUpdateContract
 import com.wdkl.ncs.android.middleware.logic.presenter.callingbed.AppUpdatePresenter
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 import kotlinx.android.synthetic.main.update_lay.*
 
 @Router(path = "/callingbed/update")
@@ -38,7 +39,7 @@ class AppUpdateActivity :BaseActivity<AppUpdatePresenter, UpdateLayBinding>(), A
             Log.e(TAG, "start download: $downloadPath")
             downLoadAPK(downloadPath)
         } else {
-            showMessage("下载路径异常")
+            showMessage(R.string.download_error)
             finish()
         }
     }
@@ -53,7 +54,7 @@ class AppUpdateActivity :BaseActivity<AppUpdatePresenter, UpdateLayBinding>(), A
             override fun onDownloadSuccess() {
                 Log.d("download", "onDownloadSuccess==" + "成功")
                 runOnUiThread {
-                    activity_calling_bed_text_download.text = "正在安装,请稍后..."
+                    activity_calling_bed_text_download.text = StringUtil.getResString(R.string.updating)
                 }
                 startInstallApk()
             }
@@ -76,14 +77,14 @@ class AppUpdateActivity :BaseActivity<AppUpdatePresenter, UpdateLayBinding>(), A
             AppUpdateHelper.updateApp(this, object : AppUpdateHelper.UpdateCallBack {
                 override fun onFailed() {
                     runOnUiThread {
-                        showMessage("升级失败")
+                        showMessage(R.string.update_fail)
                         finish()
                     }
                 }
 
                 override fun onSuccess() {
                     runOnUiThread {
-                        showMessage("升级成功")
+                        showMessage(R.string.update_success)
                         //finish()
                         android.os.Process.killProcess(android.os.Process.myPid())
                         System.exit(0)

+ 22 - 24
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -62,6 +62,7 @@ import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
 import com.wdkl.ncs.android.middleware.udp.ServerInfoUtil
 import com.wdkl.ncs.android.middleware.utils.CommonUtils
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 import com.wdkl.ncs.janus.util.JanusConstant
 import kotlinx.android.synthetic.main.callingbed_main_lay.*
 import kotlinx.android.synthetic.main.view_title_layout.*
@@ -448,8 +449,8 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
         //初始化默认护理项
         for (index in 1..5) {
             var item = NurseConfigDto()
-            item.nurseConfigName = "护理"
-            item.nurseOptionName = "暂无"
+            item.nurseConfigName = StringUtil.getResString(R.string.default_nurse_config_name)
+            item.nurseOptionName = StringUtil.getResString(R.string.str_empty)
             item.nurseColorRbg = "2F9DF1"
             configList.add(item)
         }
@@ -481,7 +482,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
     //没有网络
     override fun onNoNet() {
-        showMessage("没有网络")
+        showMessage("No network")
         //加载失败,重置customid
         //Constant.CUSTOM_ID = -1
     }
@@ -541,7 +542,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
         //开启TCP连接
         startTcp()
-        showMessage("tcp开始连接...host: " + Constant.TCP_SERVER_URL + ", port: " + Constant.TCP_PORT)
+        showMessage("tcp connect --> host: " + Constant.TCP_SERVER_URL + ", port: " + Constant.TCP_PORT)
 
         Thread(Runnable {
             while (!initialized) {
@@ -576,7 +577,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
         initialized = true
         view_title_layout_tv_hospital_name.text = deviceInfo.hospitalName + deviceInfo.partName
-        view_title_layout_tv_no.text = "设备ID:" + deviceInfo.id
+        view_title_layout_tv_no.text = "ID:" + deviceInfo.id
 
         if (deviceInfo.customerId != null) {
             Constant.CUSTOM_ID = deviceInfo.customerId
@@ -584,10 +585,10 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
         //EventBus.getDefault().post(MessageEvent("updateCustom", Constant.EVENT_UPDATE_CUSTOM))
 
         if (TextUtils.isEmpty(Constant.SIP_ID)) {
-            showMessage("SIP ID为空")
+            showMessage("SIP ID empty")
         }
         if (Constant.DEVICE_STATUS == 0) {
-            showMessage("设备未启用")
+            showMessage(StringUtil.getResString(R.string.device_disable))
         } else if (Constant.DEVICE_STATUS == 1) {
             //启动主fragment
             switchToMainFragment()
@@ -637,7 +638,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
             VoiceManagerUtil.setCallVoice(activity, partSetting.dayBedVol)
         } catch (ex: Exception) {
-            showMessage("获取设置参数信息异常" + ex.message)
+            showMessage(StringUtil.getResString(R.string.setting_params_error) + ex.message)
             ex.printStackTrace()
         }
 
@@ -799,21 +800,21 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
     override fun loadAppVersion(appInfo: AppVersionDO) {
         val newAppVersion = appInfo.versionCode.substring(1)
         Log.d("AppUpdate", "loadAppVersion =====>>  newAppVersion: " + newAppVersion + ", curAppVersion: " + BuildConfig.VERSION_NAME + ", path: " + appInfo.appPath)
-        showMessage("获取版本成功,当前版本: " + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE + ", 服务器版本: " + newAppVersion + "_" + appInfo.versionNo)
+        showMessage("current version: " + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE + ", new version: " + newAppVersion + "_" + appInfo.versionNo)
 
         if (BuildConfig.VERSION_CODE < appInfo.versionNo) {
             if (!updating) {
-                showMessage("即将升级...")
+                //showMessage("即将升级...")
                 Constant.APP_PATH = appInfo.appPath
                 updating = true
                 AppTool.Time.delay(200) {
                     push("/callingbed/update")
                 }
             } else {
-                showMessage("正在升级中...")
+                showMessage(R.string.updating)
             }
         } else {
-            showMessage("当前已是最新版本")
+            showMessage(R.string.update_no_required)
         }
     }
 
@@ -983,19 +984,16 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
         backTimeout = 0
         if (isVisible(right_menu)) {
             hideRightMenu(true)
-            showMessage("增援请求已发送!")
+            showMessage(R.string.support_sent)
             if (Constant.TCP_CONNECTED) {
                 if (Constant.DEVICE_ID != -1) {
                     OtherUtil.sendReinforce(Constant.DEVICE_ID)
                 } else {
-                    showMessage("没有设备id!")
+                    showMessage("no device id!")
                 }
             } else {
-                showMessage("网络异常,请求失败!")
+                showMessage(R.string.net_error)
             }
-
-            //switchToFragment(R.id.callingbed_main_frame, SupportFragment(), supportFragment)
-            //SoundPoolHelper.getInstance().playSound(2)
         } else {
             showRightMenu()
         }
@@ -1013,7 +1011,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                         //没有摄像头则只能拨打语音
                         startCall(Constant.VOICE_CALL)
                     } else {
-                        showMessage("当前设备可能未办理入住,不能呼叫")
+                        showMessage(R.string.no_custom)
                     }
                 } else {
                     showRightMenu()
@@ -1026,7 +1024,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                     //没有摄像头则只能拨打语音
                     startCall(Constant.VOICE_CALL)
                 } else {
-                    showMessage("当前设备可能未办理入住,不能呼叫")
+                    showMessage(R.string.no_custom)
                 }
             }
         } else if (Constant.CALL_STATE == Constant.CALL_CALLING) {
@@ -1055,7 +1053,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                 //没有摄像头则只能拨打语音
                 startCall(Constant.VOICE_CALL)
             } else {
-                showMessage("当前设备可能未办理入住,不能呼叫")
+                showMessage(R.string.no_custom)
             }
         } else if (Constant.CALL_STATE == Constant.CALL_INCOMING) {
             //来电接听
@@ -1100,7 +1098,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
             fragment.arguments = bundle
             addCallFragment(fragment)
         } else {
-            showMessage("服务未连接或sipId为空")
+            showMessage(R.string.call_init_error)
         }
     }
 
@@ -1179,7 +1177,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                                     fragment.arguments = bundle
                                     addCallFragment(fragment)
                                 } else {
-                                    showMessage("服务未连接或sipId为空")
+                                    showMessage(R.string.call_init_error)
                                     Constant.CALL_STATE = Constant.CALL_STANDBY
                                     VoiceUtil.rejectAudioCall(
                                         Constant.DEVICE_ID,
@@ -1418,7 +1416,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                     }
                 }
             } else {
-                showMessage("请重启机器!")
+                showMessage(R.string.tips_reboot)
             }
         }
     }

+ 3 - 2
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/adapter/CostItemAdapter.kt

@@ -10,6 +10,7 @@ import android.widget.TextView
 import com.wdkl.app.ncs.callingbed.R
 import com.wdkl.ncs.android.middleware.model.vo.CustomerFeeConfigByGroupNameVO
 import com.wdkl.ncs.android.middleware.model.vo.CustomerFeeConfigVO
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 
 class CostItemAdapter : RecyclerView.Adapter<CostItemAdapter.ParentViewHolder> {
 
@@ -30,7 +31,7 @@ class CostItemAdapter : RecyclerView.Adapter<CostItemAdapter.ParentViewHolder> {
 
     override fun onBindViewHolder(holder: ParentViewHolder?, position: Int) {
         holder?.costGroupName?.text = mainData.get(position).feeGroupName
-        holder?.costGroupTotal?.text = "小计: ¥" + mainData.get(position).subtotal
+        holder?.costGroupTotal?.text = StringUtil.getResString(R.string.subtotal) + mainData.get(position).subtotal
 
         val layoutManager = LinearLayoutManager(context)
         holder?.costDetail?.layoutManager = layoutManager
@@ -69,7 +70,7 @@ class CostItemAdapter : RecyclerView.Adapter<CostItemAdapter.ParentViewHolder> {
 
         override fun onBindViewHolder(holder: ChildViewHolder?, position: Int) {
             holder?.costName?.text = costData.get(position).feeName
-            holder?.costValue?.text = "¥" + costData.get(position).feeValue
+            holder?.costValue?.text = "" + costData.get(position).feeValue
             holder?.costId?.text = costData.get(position).keyCode
             holder?.costUnit?.text = costData.get(position).unit
         }

+ 4 - 2
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/BaseCallFragment.kt

@@ -8,8 +8,10 @@ import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
 import com.enation.javashop.utils.base.tool.BaseToolActivity
+import com.wdkl.app.ncs.callingbed.R
 import com.wdkl.app.ncs.callingbed.helper.RingPlayHelper
 import com.wdkl.app.ncs.callingbed.settings.SettingConfig
+import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.common.MessageEvent
@@ -90,14 +92,14 @@ abstract class BaseCallFragment: Fragment() {
             override fun onTick(millisUntilFinished: Long) {
                 if (view != null) {
                     val time = millisUntilFinished/1000
-                    view.setText("倒计时: " + time + "秒")
+                    view.setText(BaseApplication.appContext.getString(R.string.countdown_time, time))
                 }
             }
 
             override fun onFinish() {
                 //呼叫超时,返回到主界面
                 RingPlayHelper.stopRingTone()
-                showMessage("无人应答...")
+                showMessage(R.string.no_response)
                 Constant.CALL_STATE = Constant.CALL_STANDBY
                 VoiceUtil.cancelAudioCall(Constant.DEVICE_ID)
                 //backToMain()

+ 4 - 5
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/CostFragment.kt

@@ -32,16 +32,16 @@ class CostFragment : BaseFragment<CostFragmentPresenter, CostViewBinding>(), Cos
         if (Constant.CUSTOM_ID != -1) {
             presenter.loadCustomCost(Constant.CUSTOM_ID)
         } else {
-            showMessage("没有custom id")
+            showMessage("No custom id")
         }
     }
 
     override fun bindEvent() {
-        debugLog(TAG,"bindEvent")
+        //
     }
 
     override fun destory() {
-        debugLog(TAG,"destory")
+        //
     }
 
     override fun showCustomCost(cost: ArrayList<CustomerFeeConfigByGroupNameVO>) {
@@ -51,7 +51,6 @@ class CostFragment : BaseFragment<CostFragmentPresenter, CostViewBinding>(), Cos
     }
 
     override fun onError(message: String, type: Int) {
-        errorLog("error",message)
         showMessage(message)
     }
 
@@ -64,7 +63,7 @@ class CostFragment : BaseFragment<CostFragmentPresenter, CostViewBinding>(), Cos
     }
 
     override fun onNoNet() {
-        showMessage("没有网络")
+        showMessage("No network")
     }
 
     override fun networkMonitor(state: NetState) {

+ 7 - 7
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/MainFragment.kt

@@ -21,6 +21,7 @@ import com.wdkl.ncs.android.middleware.common.MessageEvent
 import com.wdkl.ncs.android.middleware.logic.contract.callingbed.MainFragmentContract
 import com.wdkl.ncs.android.middleware.logic.presenter.callingbed.MainFragmentPresenter
 import com.wdkl.ncs.android.middleware.model.vo.CustomerInfoVO
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 import kotlinx.android.synthetic.main.main_view.*
 import kotlinx.android.synthetic.main.main_view_layout.*
 import kotlinx.android.synthetic.main.view_bed_name.*
@@ -44,7 +45,7 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
     }
 
     override fun bindEvent() {
-        debugLog(TAG,"bindEvent")
+        //
     }
 
     override fun onStart() {
@@ -58,7 +59,7 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
     }
 
     override fun destory() {
-        debugLog(TAG,"destory")
+        //
     }
 
     override fun showCustomInfo(customInfo: CustomerInfoVO) {
@@ -75,10 +76,10 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
         }
         tv_custom_age.text = "" + customInfo.age + customInfo.ageUnit
         if (customInfo.inDate != null) {
-            tv_custom_indate.text = "入院日期: " + TimeHandle.getDateTime(customInfo.inDate * 1000, "yyyy.MM.dd")
+            tv_custom_indate.text = StringUtil.getResString(R.string.indate) + TimeHandle.getDateTime(customInfo.inDate * 1000, "yyyy.MM.dd")
         }
         if (TextUtils.isEmpty(customInfo.advice)) {
-            tv_order_content.text = "暂无"
+            tv_order_content.text = StringUtil.getResString(R.string.str_empty)
         } else {
             tv_order_content.text = customInfo.advice
         }
@@ -111,7 +112,6 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
     }
 
     override fun onError(message: String, type: Int) {
-        errorLog("error",message)
         showMessage(message)
     }
 
@@ -134,12 +134,12 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
     }
 
     override fun onNoNet() {
-        showMessage("没有网络")
+        showMessage("No network")
     }
 
     private fun updateInfo() {
         if (Constant.DEVICE_STATUS == 0) {
-            tv_bed_name.text = "设备未启用"
+            tv_bed_name.text = StringUtil.getResString(R.string.device_disable)
             tv_bed_name.setTextColor(resources.getColor(R.color.red_color))
         } else {
             tv_bed_name.text = Constant.BED_NAME

+ 9 - 12
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/QrCodeFragment.kt

@@ -1,6 +1,5 @@
 package com.wdkl.app.ncs.callingbed.fragment
 
-import android.graphics.BitmapFactory
 import com.enation.javashop.net.engine.model.NetState
 import com.wdkl.app.ncs.callingbed.BuildConfig
 import com.wdkl.app.ncs.callingbed.R
@@ -10,14 +9,12 @@ import com.wdkl.app.ncs.callingbed.helper.ServerConfigDialogHelper
 import com.wdkl.app.ncs.callingbed.launch.CallingbedLaunch
 import com.wdkl.ncs.android.lib.base.BaseFragment
 import com.wdkl.ncs.android.lib.utils.EcodeHelper
-import com.wdkl.ncs.android.lib.utils.debugLog
-import com.wdkl.ncs.android.lib.utils.errorLog
-import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.lib.vo.filter
 import com.wdkl.ncs.android.middleware.api.UrlManager
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.logic.contract.callingbed.QrCodeFragmentContract
 import com.wdkl.ncs.android.middleware.logic.presenter.callingbed.QrCodeFragmentPresenter
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 import kotlinx.android.synthetic.main.qrcode_view.*
 import kotlinx.android.synthetic.main.view_bed_name.*
 
@@ -35,7 +32,7 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrcodeViewBinding>(
 
     override fun init() {
         if (Constant.DEVICE_STATUS == 0) {
-            tv_bed_name.text = "设备未启用"
+            tv_bed_name.text = StringUtil.getResString(R.string.device_disable)
             tv_bed_name.setTextColor(resources.getColor(R.color.red_color))
         } else {
             tv_bed_name.text = Constant.BED_NAME
@@ -71,21 +68,21 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrcodeViewBinding>(
         val macAddr = NetHelper.getInstance().macAddress
         val ipAddr = NetHelper.getInstance().localIP
         if (Constant.DEVICE_STATUS == 0) {
-            tv_device_id.text = "设备ID: " + Constant.DEVICE_ID + " - 未启用"
+            tv_device_id.text = "Device ID: " + Constant.DEVICE_ID + " - " + StringUtil.getResString(R.string.str_disable)
         } else if (Constant.DEVICE_STATUS == 1) {
-            tv_device_id.text = "设备ID: " + Constant.DEVICE_ID + " - 已启用"
+            tv_device_id.text = "Device ID: " + Constant.DEVICE_ID + " - " + StringUtil.getResString(R.string.str_enable)
         } else {
-            tv_device_id.text = "设备ID: " + Constant.DEVICE_ID
+            tv_device_id.text = "Device ID: " + Constant.DEVICE_ID
         }
 
         var serverIp = ""
         if (UrlManager.build().base.length > 14) {
             serverIp = UrlManager.build().base.substring(7, 14)
         }
-        tv_local_ip.text = "本机IP: " + ipAddr + " - " + serverIp
-        tv_local_mac.text = "本机MAC: " + macAddr
-        tv_app_version.text = "版本信息: V" + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE
-        tv_mcu_version.text = "MCU版本: " + Constant.MCU_VERSION_NUMBER
+        tv_local_ip.text = "IP: " + ipAddr + " - " + serverIp
+        tv_local_mac.text = "MAC: " + macAddr
+        tv_app_version.text = "Version: V" + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE
+        tv_mcu_version.text = "MCU: " + Constant.MCU_VERSION_NUMBER
     }
 
     override fun bindEvent() {

+ 12 - 11
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/SkyCallFragment.kt

@@ -19,6 +19,7 @@ import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 import com.wdkl.ncs.janus.client.CallSessionCallback
 import com.wdkl.ncs.janus.client.JanusClient
 import com.wdkl.ncs.janus.client.VideoRoomCallback
@@ -169,7 +170,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
             Log.d("tcp", "call success: $callSuccess")
             if (!callSuccess) {
                 //呼叫失败
-                showMessage("呼叫失败,服务器无响应或网络故障!")
+                showMessage(R.string.call_init_error)
                 RingPlayHelper.stopRingTone()
                 cancelCall()
             }
@@ -179,7 +180,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
     //去电界面
     private fun showOutgoingCall() {
         Constant.CALL_STATE = Constant.CALL_OUTGOING
-        sky_voice_call_calling_text.text = "呼叫成功,等待接听..."
+        sky_voice_call_calling_text.text = StringUtil.getResString(R.string.call_success)
         sky_voice_call_outgoing.visibility = View.VISIBLE
         sky_voice_call_incoming.visibility = View.GONE
         sky_voice_call_timeout.visibility = View.VISIBLE
@@ -190,7 +191,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
     //来电界面
     private fun showIncomingCall() {
         Constant.CALL_STATE = Constant.CALL_INCOMING
-        sky_voice_call_calling_text.text = "有新来电..."
+        sky_voice_call_calling_text.text = StringUtil.getResString(R.string.call_incoming)
         sky_voice_call_outgoing.visibility = View.GONE
         sky_voice_call_incoming.visibility = View.GONE
         sky_voice_call_timeout.visibility = View.GONE
@@ -200,7 +201,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
 
     //开始接听
     private fun acceptCall() {
-        sky_voice_call_calling_text.text = "连接中..."
+        sky_voice_call_calling_text.text = StringUtil.getResString(R.string.call_connecting)
         sky_voice_call_outgoing.visibility = View.VISIBLE
         sky_voice_call_incoming.visibility = View.GONE
         sky_voice_call_timeout.visibility = View.GONE
@@ -231,7 +232,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
         }
 
         Constant.CALL_STATE = Constant.CALL_CALLING
-        sky_voice_call_calling_text.text = "通话中..."
+        sky_voice_call_calling_text.text = StringUtil.getResString(R.string.call_in_call)
         sky_voice_call_timeout.visibility = View.GONE
         cancelTimer()
         sky_voice_call_timer.visibility = View.VISIBLE
@@ -309,7 +310,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
         if (userId.equals(Constant.TARGET_SIP)) {
             Log.w(TAG, "didDisconnected: $userId")
             handler.post {
-                showMessage("$userId 失去连接")
+                showMessage("$userId disconnect")
                 callEnd(true)
             }
         }
@@ -322,7 +323,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
     override fun didError(error: String?) {
         Log.e(TAG, "didError: $error")
         handler.post {
-            showMessage("通话错误")
+            showMessage(R.string.call_error)
             callEnd(true)
         }
     }
@@ -382,18 +383,18 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
                                 acceptCall()
                                 if (TextUtils.isEmpty(curInteractionVO.toSipId)) {
                                     //通话失败,重置并返回主界面
-                                    showMessage("targetSipId为空!")
+                                    showMessage("targetSipId empty!")
                                     Constant.CALL_STATE = Constant.CALL_STANDBY
                                     callEnd(true)
                                 }
                             } else if (curTcpModel.getAction() == TcpAction.VoiceAction.REJECT) {
                                 //我方呼出,对方拒绝
-                                showMessage("对方已拒绝!")
+                                showMessage(R.string.call_reject)
                                 RingPlayHelper.stopRingTone()
                                 cancelCall()
                             } else if (curTcpModel.getAction() == TcpAction.VoiceAction.CALLING) {
                                 //我方呼出,对方通话中
-                                showMessage("对方正在忙线中,暂时无法接听!")
+                                showMessage(R.string.call_busy)
                                 /*AppTool.Time.delay(1000) {
                                 RingPlayHelper.stopRingTone()
                                 cancelCall()
@@ -410,7 +411,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
                             } else if (curTcpModel.getAction() == TcpAction.VoiceAction.FAILED) {
                                 //我方呼出,对方不在线,设备离线或其它错误
                                 callSuccess = true
-                                showMessage("呼叫失败,找不到设备或对方不在线!")
+                                showMessage(R.string.call_failed)
                                 AppTool.Time.delay(1500) {
                                     RingPlayHelper.stopRingTone()
                                     cancelCall()

+ 79 - 0
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/helper/LocaleMangerUtils.java

@@ -0,0 +1,79 @@
+package com.wdkl.app.ncs.callingbed.helper;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.os.Build;
+import android.util.DisplayMetrics;
+
+import com.wdkl.app.ncs.callingbed.R;
+import com.wdkl.app.ncs.callingbed.settings.SettingConfig;
+import com.wdkl.ncs.android.lib.base.BaseApplication;
+
+import java.util.Locale;
+
+public class LocaleMangerUtils {
+
+    public static Locale getSystemLocale() {
+        return Locale.getDefault();
+    }
+
+    //获取当前语言id: 0--auto, 1--English, 2--中文, 3--俄语, 4--西班牙语
+    public static int getCurrentLocaleIndex() {
+        int languageSize = BaseApplication.appContext.getResources().getStringArray(R.array.language_list).length;
+        int index = SettingConfig.getLanguageId(BaseApplication.appContext);
+        //Log.d("wzl", "current language index: " + index);
+        if (index >= 0 && index <languageSize) {
+            return index;
+        } else {
+            return 0;
+        }
+    }
+
+    public static void setApplicationLanguageByIndex(Context context, int index) {
+        Locale locale = Locale.getDefault();
+        switch (index) {
+            case 0:
+                //
+                break;
+            case 1:
+                locale = Locale.ENGLISH;
+                break;
+            case 2:
+                locale = Locale.CHINESE;
+                break;
+            case 3:
+                locale = new Locale("ru");
+                break;
+            case 4:
+                locale = new Locale("es");
+                break;
+        }
+
+        setApplicationLanguage(context, locale);
+    }
+
+    public static void setApplicationLanguage(Context context, Locale locale) {
+        //Log.d("wzl", "set locale language: " + locale.getLanguage());
+        Configuration configuration = context.getResources().getConfiguration();
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            configuration.setLocale(locale);
+        } else {
+            configuration.locale = locale;
+        }
+        // 更新context中的语言设置
+        Resources resources = context.getResources();
+        DisplayMetrics dm = resources.getDisplayMetrics();
+        resources.updateConfiguration(configuration, dm);
+    }
+
+    public static Locale getApplicationLocale() {
+        Configuration config = BaseApplication.appContext.getResources().getConfiguration();
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            return config.locale;
+        } else {
+            return config.getLocales().get(0);
+        }
+    }
+
+}

+ 3 - 3
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/helper/ServerConfigDialogHelper.java

@@ -64,7 +64,7 @@ public class ServerConfigDialogHelper {
                 } else {
                     pwd = "";
                     password.setText(pwd);
-                    password.setHint("请输入密码");
+                    password.setHint(R.string.input_password);
                 }
             }
         });
@@ -83,7 +83,7 @@ public class ServerConfigDialogHelper {
                     llPwd.setVisibility(View.GONE);
                     llServer.setVisibility(View.VISIBLE);
                 } else {
-                    Toast.makeText(activity, "密码错误", Toast.LENGTH_SHORT).show();
+                    Toast.makeText(activity, R.string.invalid_password, Toast.LENGTH_SHORT).show();
                 }
             }
         });
@@ -104,7 +104,7 @@ public class ServerConfigDialogHelper {
                 String url = editUrl.getText().toString();
                 String port = editPort.getText().toString();
                 if (TextUtils.isEmpty(url) || TextUtils.isEmpty(port)) {
-                    ExtendMethodsKt.showMessage("参数不能为空");
+                    ExtendMethodsKt.showMessage(R.string.input_empty);
                 } else {
                     //保存配置
                     CommonUtils.setUrl(BaseApplication.appContext, editUrl.getText().toString());

+ 11 - 0
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/settings/SettingConfig.java

@@ -64,6 +64,17 @@ public class SettingConfig {
     //网络异常重启次数
     private static final String KEY_SP_NET_ERR_RESET_COUNT = "KEY_SP_NET_ERR_RESET_COUNT";
 
+    //默认语言
+    private static final String KEY_LANGUAGE_ID = "KEY_LANGUAGE_ID";
+
+    public static int getLanguageId(Context context) {
+        return getSP(context).getInt(KEY_LANGUAGE_ID, 0);
+    }
+
+    public static void setLanguageId(Context context, int id) {
+        getEditor(context).putInt(KEY_LANGUAGE_ID, id).apply();
+    }
+
     /**
      * 获取分机白天亮度
      *

+ 1 - 1
callingbed/src/main/res/layout/call_nurse_view.xml

@@ -23,7 +23,7 @@
             android:layout_height="50dp"
             android:layout_marginTop="10dp"
             android:gravity="center"
-            android:text="正在呼叫,等待接听中..."
+            android:text="@string/call_in_calling"
             android:textColor="@color/white"
             android:textSize="@dimen/font_size_30" />
 

+ 6 - 6
callingbed/src/main/res/layout/callingbed_main_lay.xml

@@ -107,7 +107,7 @@
 
         <LinearLayout
             android:id="@+id/right_menu"
-            android:layout_width="110dp"
+            android:layout_width="140dp"
             android:layout_height="match_parent"
             android:layout_alignParentRight="true"
             android:background="@mipmap/bg_right"
@@ -132,7 +132,7 @@
                     android:background="@mipmap/bg_bottom_btn"
                     android:drawableLeft="@mipmap/ic_home"
                     android:drawablePadding="4dp"
-                    android:text="首页"
+                    android:text="@string/str_home"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="24sp"/>
 
@@ -153,7 +153,7 @@
                     android:background="@mipmap/bg_bottom_btn"
                     android:drawableLeft="@mipmap/ic_cost"
                     android:drawablePadding="4dp"
-                    android:text="费用"
+                    android:text="@string/str_fees"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="24sp"/>
 
@@ -174,7 +174,7 @@
                     android:background="@mipmap/bg_bottom_btn"
                     android:drawableLeft="@mipmap/ic_more"
                     android:drawablePadding="4dp"
-                    android:text="更多"
+                    android:text="@string/str_more"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="24sp"/>
 
@@ -195,7 +195,7 @@
                     android:background="@mipmap/bg_bottom_btn"
                     android:drawableLeft="@mipmap/ic_support"
                     android:drawablePadding="4dp"
-                    android:text="增援"
+                    android:text="@string/str_support"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="24sp"/>
 
@@ -216,7 +216,7 @@
                     android:background="@mipmap/bg_bottom_btn"
                     android:drawableLeft="@mipmap/ic_call"
                     android:drawablePadding="4dp"
-                    android:text="呼叫"
+                    android:text="@string/str_call"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="24sp"/>
 

+ 2 - 2
callingbed/src/main/res/layout/item_nurse_config.xml

@@ -19,7 +19,7 @@
         android:layout_weight="1"
         android:paddingLeft="6dp"
         android:paddingTop="6dp"
-        android:text="护理"
+        android:text="@string/default_nurse_config_name"
         android:textSize="20sp"
         android:textColor="#B4B4B4"/>
 
@@ -31,7 +31,7 @@
         android:paddingRight="6dp"
         android:paddingBottom="6dp"
         android:gravity="right|bottom"
-        android:text="暂无"
+        android:text="@string/str_empty"
         android:textSize="24sp"
         android:textColor="@color/main_color"/>
 

+ 9 - 9
callingbed/src/main/res/layout/main_view.xml

@@ -38,7 +38,7 @@
                     android:layout_marginTop="8dp"
                     android:textColor="#B4B4B4"
                     android:textSize="18sp"
-                    android:text="责任医生"/>
+                    android:text="@string/doctor_title"/>
                 <TextView
                     android:id="@+id/tv_doctor_name"
                     android:layout_width="wrap_content"
@@ -46,7 +46,7 @@
                     android:layout_marginTop="4dp"
                     android:textColor="@color/black"
                     android:textSize="18sp"
-                    android:text="暂无"/>
+                    android:text="@string/str_empty"/>
             </LinearLayout>
 
             <!--责任护士-->
@@ -71,7 +71,7 @@
                     android:layout_marginTop="8dp"
                     android:textColor="#B4B4B4"
                     android:textSize="18sp"
-                    android:text="责任护士"/>
+                    android:text="@string/nurse_title"/>
                 <TextView
                     android:id="@+id/tv_nurse_name"
                     android:layout_width="wrap_content"
@@ -79,7 +79,7 @@
                     android:layout_marginTop="4dp"
                     android:textColor="@color/black"
                     android:textSize="18sp"
-                    android:text="暂无"/>
+                    android:text="@string/str_empty"/>
             </LinearLayout>
         </LinearLayout>
 
@@ -104,7 +104,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="10dp"
-                    android:text=""
+                    android:text="-"
                     android:textSize="48sp"
                     android:textColor="@color/main_color"
                     android:visibility="invisible"/>
@@ -112,7 +112,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="24dp"
-                    android:text="祝您安康!"
+                    android:text="@string/empty_title"
                     android:textSize="56sp"
                     android:textColor="@color/black"/>
             </LinearLayout>
@@ -151,7 +151,7 @@
                     android:layout_marginLeft="20dp"
                     android:textSize="40sp"
                     android:textColor="#B4B4B4"
-                    android:text="--"/>
+                    android:text="--"/>
                 <TextView
                     android:id="@+id/tv_custom_indate"
                     android:layout_width="wrap_content"
@@ -160,7 +160,7 @@
                     android:layout_marginTop="20dp"
                     android:textSize="28sp"
                     android:textColor="#B4B4B4"
-                    android:text="入院日期: "/>
+                    android:text="@string/indate"/>
                 <TextView
                     android:id="@+id/tv_order_title"
                     android:layout_width="match_parent"
@@ -191,7 +191,7 @@
                     android:fadeScrollbars="true"
                     android:textSize="24sp"
                     android:textColor="#131313"
-                    android:text="暂无"
+                    android:text="@string/str_empty"
                     android:lineSpacingExtra="12dp"/>
             </RelativeLayout>
         </FrameLayout>

+ 11 - 13
callingbed/src/main/res/layout/qrcode_view.xml

@@ -28,7 +28,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="40dp"
-                android:text="设备ID:"
+                android:text="ID:"
                 android:textColor="@color/black"
                 android:textSize="20sp" />
 
@@ -38,7 +38,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="4dp"
                 android:layout_marginLeft="40dp"
-                android:text="本机IP:"
+                android:text="IP:"
                 android:textColor="@color/black"
                 android:textSize="20sp" />
 
@@ -48,7 +48,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="4dp"
                 android:layout_marginLeft="40dp"
-                android:text="本机MAC:"
+                android:text="MAC:"
                 android:textColor="@color/black"
                 android:textSize="20sp" />
 
@@ -58,7 +58,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="4dp"
                 android:layout_marginLeft="40dp"
-                android:text="版本信息:"
+                android:text="Version:"
                 android:textColor="@color/black"
                 android:textSize="20sp" />
 
@@ -97,10 +97,9 @@
                     android:padding="4dp"
                     android:background="@color/main_color"
                     android:gravity="center_horizontal"
-                    android:text="重启设备"
+                    android:text="@string/reboot_device"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
-                    android:textSize="20sp"
-                    android:visibility="gone"/>
+                    android:textSize="20sp" />
 
                 <TextView
                     android:id="@+id/tv_btn_update_app"
@@ -110,10 +109,9 @@
                     android:padding="4dp"
                     android:background="@color/main_color"
                     android:gravity="center_horizontal"
-                    android:text="检查升级"
+                    android:text="@string/check_update"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
-                    android:textSize="20sp"
-                    android:visibility="gone"/>
+                    android:textSize="20sp" />
 
                 <TextView
                     android:id="@+id/tv_btn_server_config"
@@ -123,7 +121,7 @@
                     android:padding="4dp"
                     android:background="@color/main_color"
                     android:gravity="center_horizontal"
-                    android:text="服务器配置"
+                    android:text="@string/server_config"
                     android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="20sp"/>
             </LinearLayout>
@@ -132,7 +130,7 @@
                 android:id="@+id/tv_detail_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="产品说明:"
+                android:text="@string/product_desc"
                 android:textColor="@color/black"
                 android:textSize="22sp" />
 
@@ -143,7 +141,7 @@
                 android:layout_below="@id/tv_detail_title"
                 android:layout_above="@id/ll_device_action"
                 android:layout_marginTop="10dp"
-                android:text="暂无"
+                android:text="@string/str_empty"
                 android:textColor="#949494"
                 android:textSize="20sp" />
         </RelativeLayout>

+ 6 - 6
callingbed/src/main/res/layout/server_config_dialog_lay.xml

@@ -17,7 +17,7 @@
             android:layout_height="wrap_content"
             android:gravity="center"
             android:textSize="24sp"
-            android:hint="请输入密码"
+            android:hint="@string/input_password"
             android:textColor="@color/main_color"/>
 
         <GridView
@@ -41,7 +41,7 @@
                 android:layout_weight="1"
                 android:padding="4dp"
                 android:gravity="center_horizontal"
-                android:text="删除"
+                android:text="@string/str_delete"
                 android:textSize="24sp"
                 android:textColor="@color/main_color"/>
 
@@ -52,7 +52,7 @@
                 android:layout_weight="1"
                 android:padding="4dp"
                 android:gravity="center_horizontal"
-                android:text="取消"
+                android:text="@string/str_cancel"
                 android:textSize="24sp"
                 android:textColor="@color/main_color"/>
             <TextView
@@ -62,7 +62,7 @@
                 android:layout_weight="1"
                 android:padding="4dp"
                 android:gravity="center_horizontal"
-                android:text="确定"
+                android:text="@string/str_confirm"
                 android:textSize="24sp"
                 android:textColor="@color/main_color"/>
         </LinearLayout>
@@ -171,7 +171,7 @@
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:gravity="center"
-                android:text="取消"
+                android:text="@string/str_cancel"
                 android:textSize="28sp"
                 android:textColor="@color/black"/>
 
@@ -181,7 +181,7 @@
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:gravity="center"
-                android:text="保存"
+                android:text="@string/str_save"
                 android:textSize="28sp"
                 android:textColor="@color/black" />
         </LinearLayout>

+ 2 - 2
callingbed/src/main/res/layout/sky_voice_call_layout.xml

@@ -48,7 +48,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginTop="20dp"
                     android:gravity="center"
-                    android:text="正在呼叫..."
+                    android:text="@string/call_in_calling"
                     android:textColor="#9E9E9F"
                     android:textSize="32sp" />
 
@@ -58,7 +58,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginTop="20dp"
                     android:gravity="center"
-                    android:text="倒计时: 00"
+                    android:text=""
                     android:textColor="#9E9E9F"
                     android:textSize="24sp" />
             </LinearLayout>

+ 2 - 2
callingbed/src/main/res/layout/update_lay.xml

@@ -12,7 +12,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerInParent="true"
-            android:text="正在升级中,请勿操作..."
+            android:text="@string/updating"
             android:textColor="#3D3D63"
             android:textSize="30sp" />
 
@@ -28,7 +28,7 @@
             app:isShowDesc="false"
             app:max="100"
             app:progress="0"
-            app:progressDesc="进度:"
+            app:progressDesc="progress:"
             app:progressRadius="10dp" />
 
     </RelativeLayout>

+ 1 - 1
callingbed/src/main/res/layout/view_title_layout.xml

@@ -46,7 +46,7 @@
         android:layout_centerVertical="true"
         android:layout_marginRight="4dp"
         android:layout_toLeftOf="@+id/view_title_layout_ll_right"
-        android:text="设备ID:"
+        android:text="ID:"
         android:textColor="@color/main_color"
         android:textSize="16sp" />
 

+ 2 - 2
callingbed/src/main/res/layout/warning_dialog_lay.xml

@@ -12,7 +12,7 @@
         android:layout_height="wrap_content"
         android:layout_marginTop="20dp"
         android:padding="8dp"
-        android:text="设备网络出现异常,请检查网络或尝试断电重启!"
+        android:text="@string/device_error"
         android:textColor="@color/red_color"
         android:textSize="32sp"
         android:gravity="center" />
@@ -23,5 +23,5 @@
         android:layout_height="wrap_content"
         android:layout_marginTop="20dp"
         android:padding="8dp"
-        android:text="确定" />
+        android:text="@string/str_confirm" />
 </LinearLayout>

+ 5 - 0
common/src/main/code/com/wdkl/ncs/android/lib/utils/ExtendMethods.kt

@@ -95,6 +95,11 @@ fun showMessage(message: String) {
     }
 }
 
+fun showMessage(resId: Int) {
+    val msg = BaseApplication.appContext.getString(resId)
+    showMessage(msg)
+}
+
 /**
  * @author  LDD
  * @From   com.wdkl.ncs.android.lib.utils ExtendMethods.kt

+ 10 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/utils/StringUtil.java

@@ -0,0 +1,10 @@
+package com.wdkl.ncs.android.middleware.utils;
+
+import com.wdkl.ncs.android.lib.base.BaseApplication;
+
+public class StringUtil {
+
+    public static String getResString(int resId) {
+        return BaseApplication.appContext.getString(resId);
+    }
+}

+ 47 - 0
resource/src/main/res/values-zh/arrays.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<resources>
+
+    <string-array name="language_list">
+        <item value="0">跟随系统</item>
+        <item value="1">英语</item>
+        <item value="2">中文</item>
+        <!--<item value="3">俄语</item>
+        <item value="4">西班牙语</item>-->
+    </string-array>
+
+    <string-array name="time_zones">
+        <item>GMT-11:00</item>
+        <item>GMT-10:00</item>
+        <item>GMT-09:00</item>
+        <item>GMT-08:00</item>
+        <item>GMT-07:00</item>
+        <item>GMT-06:00</item>
+        <item>GMT-05:00</item>
+        <item>GMT-04:00</item>
+        <item>GMT-03:30</item>
+        <item>GMT-02:00</item>
+        <item>GMT-01:00</item>
+        <item>GMT+00:00</item>
+        <item>GMT+01:00</item>
+        <item>GMT+02:00</item>
+        <item>GMT+03:00</item>
+        <item>GMT+03:30</item>
+        <item>GMT+04:00</item>
+        <item>GMT+04:30</item>
+        <item>GMT+05:00</item>
+        <item>GMT+05:30</item>
+        <item>GMT+05:45</item>
+        <item>GMT+06:00</item>
+        <item>GMT+06:30</item>
+        <item>GMT+07:00</item>
+        <item>GMT+08:00</item>
+        <item>GMT+09:00</item>
+        <item>GMT+09:30</item>
+        <item>GMT+10:00</item>
+        <item>GMT+10:30</item>
+        <item>GMT+11:00</item>
+        <item>GMT+12:00</item>
+        <item>GMT+13:00</item>
+        <item>GMT+14:00</item>
+    </string-array>
+</resources>

+ 109 - 0
resource/src/main/res/values-zh/strings.xml

@@ -0,0 +1,109 @@
+<resources>
+    <string name="javashop_app_name">NCS-5寸床头机</string>
+    <string name="javashop_qrcode_name">扫啊扫</string>
+    <string name="javashop_navigation_home_title">首页</string>
+    <string name="javashop_navigation_category_title">分类</string>
+    <string name="javashop_navigation_cart_title">购物车</string>
+    <string name="javashop_navigation_persion_title">我的</string>
+    <string name="javashop_cart_shop_item_title">优惠券</string>
+    <string name="javashop_group_promotion_fulldiscount">满折</string>
+    <string name="javashop_group_promotion_fullminus">满减</string>
+    <string name="javashop_group_promotion_point">积分</string>
+    <string name="javashop_group_promotion_freeship">免邮</string>
+    <string name="javashop_group_promotion_gift">赠品</string>
+    <string name="javashop_group_promotion_bonus">赠券</string>
+    <string name="javashop_group_not_full_tobuy">再逛逛</string>
+    <string name="javashop_promotion_string">促销</string>
+    <string name="javashop_singgle_promotion_edit_string">修改</string>
+    <string name="javashop_member_action_order_wait_pay">待付款</string>
+    <string name="javashop_member_action_order_wait_rog">待收货</string>
+    <string name="javashop_member_action_order_wait_comment">待评论</string>
+    <string name="javashop_member_action_aftersale">退换/售后</string>
+    <string name="javashop_member_action_order_all">我的订单</string>
+    <string name="javashop_member_action_point">积分</string>
+    <string name="javashop_member_action_bouns">优惠券</string>
+    <string name="javashop_member_action_goods">收藏商品</string>
+    <string name="javashop_member_action_shop">收藏店铺</string>
+    <string name="javashop_member_action_security">账户安全</string>
+    <string name="javashop_member_action_history">我的足迹</string>
+    <string name="javashop_member_action_address">我的地址</string>
+    <string name="javashop_member_action_user_service">客户服务</string>
+    <string name="javashop_setting_action_receipt">我的发票</string>
+    <string name="javashop_setting_action_privacy">隐私设置</string>
+    <string name="javashop_setting_action_share">应用分享</string>
+    <string name="javashop_setting_action_about">关于</string>
+    <string name="javashop_setting_action_logout">退出登录</string>
+    <string name="javashop_setting_action_cache">清除缓存</string>
+    <string name="javashop_goods_filter_all">全部</string>
+    <string name="javashop_all_brand">全部品牌</string>
+    <string name="javashop_confrim">确定</string>
+    <string name="javashop_cancel">取消</string>
+    <string name="javashop_add_cart">加入购物车</string>
+    <string name="javashop_shop">店铺</string>
+    <string name="javashop_self">自营</string>
+    <string name="javashop_collect">关注</string>
+    <string name="javashop_cart">购物车</string>
+    <string name="javashop_login">登录</string>
+    <string name="javashop_send_message">发送验证码</string>
+    <string name="javashop_use">立即使用</string>
+    <string name="javashop_get">立即领取</string>
+
+    <string name="default_nurse_config_name">护理</string>
+    <string name="str_empty">暂无</string>
+    <string name="device_disable">设备未启用</string>
+    <string name="str_disable">未启用</string>
+    <string name="str_enable">已启用</string>
+    <string name="setting_params_error">获取设置参数异常:</string>
+    <string name="support_sent">请求增援已发送</string>
+    <string name="net_error">网络异常</string>
+    <string name="no_custom">床位未入住或未绑定设备,无法呼叫</string>
+    <string name="call_init_error">网络异常或sipId异常,请稍后</string>
+    <string name="tips_reboot">请重启设备</string>
+
+    <string name="no_response">无人接听</string>
+    <string name="call_success">呼叫成功,等待接听</string>
+    <string name="call_in_calling">正在呼叫…</string>
+    <string name="call_connecting">连接中…</string>
+    <string name="call_in_call">通话中…</string>
+    <string name="call_disconnect">断开连接</string>
+    <string name="call_error">通话错误</string>
+    <string name="call_reject">对方拒绝</string>
+    <string name="call_busy">对方忙线中</string>
+    <string name="call_incoming">新来电…</string>
+    <string name="call_failed">对方离线或不存在,呼叫失败</string>
+
+    <string name="indate">入住日期: </string>
+    <string name="subtotal">小计: </string>
+    <string name="countdown_time">%d秒</string>
+    <string name="input_password">请输入密码</string>
+    <string name="invalid_password">密码错误</string>
+    <string name="input_empty">参数不能为空</string>
+    <string name="str_confirm">确定</string>
+    <string name="str_cancel">取消</string>
+    <string name="str_delete">删除</string>
+    <string name="str_save">保存</string>
+
+    <string name="download_error">下载路径异常</string>
+    <string name="download_cancel">取消下载</string>
+    <string name="update_success">升级成功</string>
+    <string name="update_fail">升级失败</string>
+    <string name="downloading">正在下载中…</string>
+    <string name="updating">正在升级中,请稍后</string>
+    <string name="update_no_required">当前已是最新版本</string>
+    <string name="detect_new_version">检测到新版本,是否升级?</string>
+
+    <string name="str_home">首页</string>
+    <string name="str_fees">费用</string>
+    <string name="str_more">更多</string>
+    <string name="str_support">增援</string>
+    <string name="str_call">呼叫</string>
+
+    <string name="doctor_title">责任医生</string>
+    <string name="nurse_title">责任护士</string>
+    <string name="empty_title">祝您安康</string>
+    <string name="reboot_device">重启设备</string>
+    <string name="check_update">检查升级</string>
+    <string name="server_config">服务器配置</string>
+    <string name="product_desc">产品说明:</string>
+    <string name="device_error">设备网络出现异常,请检查网络或尝试断电重启!</string>
+</resources>

+ 47 - 0
resource/src/main/res/values/arrays.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<resources>
+
+    <string-array name="language_list">
+        <item value="0">Auto</item>
+        <item value="1">English</item>
+        <item value="2">Chinese</item>
+        <!--<item value="3">Russian</item>
+        <item value="4">Spanish</item>-->
+    </string-array>
+
+    <string-array name="time_zones">
+        <item>GMT-11:00</item>
+        <item>GMT-10:00</item>
+        <item>GMT-09:00</item>
+        <item>GMT-08:00</item>
+        <item>GMT-07:00</item>
+        <item>GMT-06:00</item>
+        <item>GMT-05:00</item>
+        <item>GMT-04:00</item>
+        <item>GMT-03:30</item>
+        <item>GMT-02:00</item>
+        <item>GMT-01:00</item>
+        <item>GMT+00:00</item>
+        <item>GMT+01:00</item>
+        <item>GMT+02:00</item>
+        <item>GMT+03:00</item>
+        <item>GMT+03:30</item>
+        <item>GMT+04:00</item>
+        <item>GMT+04:30</item>
+        <item>GMT+05:00</item>
+        <item>GMT+05:30</item>
+        <item>GMT+05:45</item>
+        <item>GMT+06:00</item>
+        <item>GMT+06:30</item>
+        <item>GMT+07:00</item>
+        <item>GMT+08:00</item>
+        <item>GMT+09:00</item>
+        <item>GMT+09:30</item>
+        <item>GMT+10:00</item>
+        <item>GMT+10:30</item>
+        <item>GMT+11:00</item>
+        <item>GMT+12:00</item>
+        <item>GMT+13:00</item>
+        <item>GMT+14:00</item>
+    </string-array>
+</resources>

+ 59 - 0
resource/src/main/res/values/strings.xml

@@ -47,4 +47,63 @@
     <string name="javashop_send_message">发送验证码</string>
     <string name="javashop_use">立即使用</string>
     <string name="javashop_get">立即领取</string>
+
+    <string name="default_nurse_config_name">NULL</string>
+    <string name="str_empty">NULL</string>
+    <string name="device_disable">Device disabled</string>
+    <string name="str_disable">Device enable</string>
+    <string name="str_enable">Enabled</string>
+    <string name="setting_params_error">Setting params error:</string>
+    <string name="support_sent">Reinforcements sent</string>
+    <string name="net_error">Network error</string>
+    <string name="no_custom">Calling error</string>
+    <string name="call_init_error">Network or sip error, please wait</string>
+    <string name="tips_reboot">Please reboot device</string>
+
+    <string name="no_response">No response</string>
+    <string name="call_success">Call success</string>
+    <string name="call_in_calling">Calling…</string>
+    <string name="call_connecting">Connecting…</string>
+    <string name="call_in_call">Connected…</string>
+    <string name="call_disconnect">Disconnect</string>
+    <string name="call_error">Connect error</string>
+    <string name="call_reject">Reject</string>
+    <string name="call_busy">Busy</string>
+    <string name="call_incoming">New call…</string>
+    <string name="call_failed">Call error</string>
+
+    <string name="indate">In date: </string>
+    <string name="subtotal">Subtotal: </string>
+    <string name="countdown_time">%ds</string>
+    <string name="input_password">Input password</string>
+    <string name="invalid_password">Password error</string>
+    <string name="input_empty">Params error</string>
+    <string name="str_confirm">Confirm</string>
+    <string name="str_cancel">Cancel</string>
+    <string name="str_delete">Delete</string>
+    <string name="str_save">Save</string>
+
+    <string name="download_error">Download error!</string>
+    <string name="download_cancel">Download cancel</string>
+    <string name="update_success">Update success</string>
+    <string name="update_fail">Update failed</string>
+    <string name="downloading">Download…</string>
+    <string name="updating">Updating, please wait</string>
+    <string name="update_no_required">It is currently the latest version</string>
+    <string name="detect_new_version">Detected new version, update now?</string>
+
+    <string name="str_home">Home</string>
+    <string name="str_fees">Fees</string>
+    <string name="str_more">More</string>
+    <string name="str_support">Reinforce</string>
+    <string name="str_call">Call</string>
+
+    <string name="doctor_title">Doctor</string>
+    <string name="nurse_title">Nurse</string>
+    <string name="empty_title">""</string>
+    <string name="reboot_device">Reboot</string>
+    <string name="check_update">Check update</string>
+    <string name="server_config">Server config</string>
+    <string name="product_desc">Product:</string>
+    <string name="device_error">Device error, please reboot!</string>
 </resources>