Prechádzať zdrojové kódy

增加俄语,调整部分界面显示

weizhengliang 2 rokov pred
rodič
commit
2a8e2023e8

+ 6 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt

@@ -307,6 +307,12 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
                     needReboot = true
                 }
                 SettingConfig.setLanguageId(activity, 3)
+            } else if ("ru".equals(serverIpInfo.lang)) {
+                //俄语
+                if (SettingConfig.getLanguageId(activity) != 4) {
+                    needReboot = true
+                }
+                SettingConfig.setLanguageId(activity, 4)
             }
 
             if (needReboot) {

+ 2 - 0
home/src/main/res/layout/fragment_audio.xml

@@ -33,6 +33,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="20dp"
+            android:gravity="center"
             android:text=""
             android:textColor="@android:color/white" />
 
@@ -41,6 +42,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="5dp"
+            android:gravity="center"
             android:text=""
             android:textColor="@android:color/white" />
     </LinearLayout>

+ 5 - 0
home/src/main/res/layout/user_setting_layout.xml

@@ -216,6 +216,7 @@
                     android:layout_marginRight="10dp"
                     android:layout_gravity="center_horizontal"
                     android:background="@drawable/javashop_btn_balck_line_bg"
+                    android:maxLines="3"
                     android:text="@string/str_user_change"
                     android:textSize="14dp" />
 
@@ -227,6 +228,7 @@
                     android:layout_gravity="center_horizontal"
                     android:layout_toRightOf="@id/view_center_base"
                     android:background="@drawable/javashop_btn_balck_line_bg"
+                    android:maxLines="3"
                     android:text="@string/register_restart"
                     android:textSize="14dp" />
 
@@ -240,6 +242,7 @@
                     android:layout_gravity="center_horizontal"
                     android:layout_below="@id/btn_user_change"
                     android:background="@drawable/javashop_btn_balck_line_bg"
+                    android:maxLines="3"
                     android:text="@string/check_update"
                     android:textSize="14dp" />
 
@@ -253,6 +256,7 @@
                     android:layout_below="@id/btn_user_change"
                     android:layout_toRightOf="@id/view_center_base"
                     android:background="@drawable/javashop_btn_balck_line_bg"
+                    android:maxLines="3"
                     android:text="@string/str_system_settings"
                     android:textSize="14dp" />
 
@@ -266,6 +270,7 @@
                     android:layout_gravity="center_horizontal"
                     android:layout_below="@id/btn_check_update"
                     android:background="@drawable/javashop_btn_balck_line_bg"
+                    android:maxLines="3"
                     android:text="@string/str_check_net"
                     android:textSize="14dp" />
 

+ 10 - 5
home/src/main/res/layout/watch_activity_home2.xml

@@ -37,9 +37,10 @@
                         android:src="@drawable/gu_ke_lie_biao" />
 
                     <TextView
-                        android:layout_width="wrap_content"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="10dp"
+                        android:gravity="center"
                         android:text="@string/custom_title"
                         android:textColor="#ffffff"
                         android:textSize="16sp" />
@@ -61,9 +62,10 @@
                         android:src="@drawable/tong_hu_ji_lu" />
 
                     <TextView
-                        android:layout_width="wrap_content"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="10dp"
+                        android:gravity="center"
                         android:text="@string/call_list"
                         android:textColor="#ffffff"
                         android:textSize="16sp" />
@@ -109,8 +111,9 @@
                         android:orientation="vertical">
 
                         <TextView
-                            android:layout_width="wrap_content"
+                            android:layout_width="match_parent"
                             android:layout_height="wrap_content"
+                            android:gravity="center"
                             android:textColor="#ffffff"
                             android:textSize="16sp"
                             android:text="@string/group_message"/>
@@ -202,8 +205,9 @@
 
                             <TextView
                                 android:id="@+id/tv_signal_strength"
-                                android:layout_width="wrap_content"
+                                android:layout_width="match_parent"
                                 android:layout_height="wrap_content"
+                                android:gravity="center"
                                 android:textColor="#ffffff"
                                 android:textSize="12sp" />
                         </LinearLayout>
@@ -224,8 +228,9 @@
                                 android:src="@drawable/icons8_users_90" />
 
                             <TextView
-                                android:layout_width="wrap_content"
+                                android:layout_width="match_parent"
                                 android:layout_height="wrap_content"
+                                android:gravity="center"
                                 android:text="@string/colleague"
                                 android:textColor="#ffffff"
                                 android:textSize="12sp" />

+ 4 - 4
home/src/main/res/layout/watch_activity_register.xml

@@ -60,7 +60,7 @@
             <TextView
                 android:id="@+id/tv_register_ok"
                 android:layout_width="match_parent"
-                android:layout_height="40dp"
+                android:layout_height="44dp"
                 android:layout_marginLeft="30dp"
                 android:layout_marginTop="20dp"
                 android:layout_marginRight="30dp"
@@ -73,7 +73,7 @@
             <TextView
                 android:id="@+id/tv_restart_app"
                 android:layout_width="match_parent"
-                android:layout_height="40dp"
+                android:layout_height="44dp"
                 android:layout_marginLeft="30dp"
                 android:layout_marginTop="20dp"
                 android:layout_marginRight="30dp"
@@ -86,7 +86,7 @@
             <TextView
                 android:id="@+id/tv_config_server"
                 android:layout_width="match_parent"
-                android:layout_height="40dp"
+                android:layout_height="44dp"
                 android:layout_marginLeft="30dp"
                 android:layout_marginTop="20dp"
                 android:layout_marginRight="30dp"
@@ -99,7 +99,7 @@
             <TextView
                 android:id="@+id/tv_language_settings"
                 android:layout_width="match_parent"
-                android:layout_height="40dp"
+                android:layout_height="44dp"
                 android:layout_marginLeft="30dp"
                 android:layout_marginTop="20dp"
                 android:layout_marginRight="30dp"

+ 251 - 55
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

@@ -15,8 +15,9 @@ public interface TcpAction {
 
     enum CallbackAction implements TcpAction {
         SUCCESS("同步"),
-        FAILED("失败");
-        private String description;
+        FAILED("失败"),
+        NO_MATCH("没有匹配");
+        private final String description;
         CallbackAction(String description){
             this.description = description;
         }
@@ -36,24 +37,23 @@ public interface TcpAction {
         }
         public static CallbackAction fromString(String v) {
             CallbackAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? SUCCESS :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
-    enum VoiceAction implements TcpAction {
+    enum PhoneAction implements TcpAction {
         CALL("呼叫"),
         ACCEPT("接受呼叫"),
         REJECT("拒绝"),
         CALLING("通话中"),
-        TRANSFER("转接"),
         HANDOFF("挂断"),
+        DATA("数据传输"),
         CANCEL("取消"),
-        SUCCESS("呼叫成功"),
-        FAILED("呼叫失败");
+        NO_MATCH("没有匹配");
 
 
-        private String description;
-        VoiceAction(String description){
+        private final String description;
+        PhoneAction(String description){
             this.description = description;
         }
 
@@ -65,30 +65,50 @@ public interface TcpAction {
             return this.name();
         }
 
-        private final static Map<String , VoiceAction> ENUM_MAP = new HashMap<String, VoiceAction>();
+        private final static Map<String , PhoneAction> ENUM_MAP = new HashMap<String, PhoneAction>();
         static {
-            for(VoiceAction v : values()) {
+            for(PhoneAction v : values()) {
                 ENUM_MAP.put(v.toString() , v);
             }
         }
-        public static VoiceAction fromString(String v) {
-            VoiceAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+        public static PhoneAction fromString(String v) {
+            PhoneAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
-    enum PhoneAction implements TcpAction {
+    enum VoiceAction implements TcpAction {
         CALL("呼叫"),
+        VCALL("视频呼叫"),
         ACCEPT("接受呼叫"),
+        ACCEPTED("已接听"),
         REJECT("拒绝"),
         CALLING("通话中"),
+        TRANSFER("转接"),
         HANDOFF("挂断"),
-        DATA("数据传输"),
-        CANCEL("取消");
+        CANCEL("取消"),
+        PCALLING("已经通话中"),
+        VOICE_OFF("通话被接听"),
+        RS485CALL("485界面发起呼叫"),
+        RS485CANCEL("485界面呼叫取消"),
+        RS485CANCEL_BY_DOOR("485门口机取消房间内的呼叫"),
+        RS485HANDOFF("485界面挂断"),
+        RS485ACCEPT("485界面接听"),
+        RS485REJECT("485界面拒绝"),
+        CANCEL_BY_DOOR("门口机取消分机呼叫"),
+        SUCCESS("呼叫成功"),
+        FAILED("呼叫失败"),
+        GAIN_CALL("应答"),
+        GAIN_OK("应答成功"),
+        GAIN_FAIL("应答失败"),
+        GAINED("呼叫被应答"),
+        HCALL("手柄呼叫"),
+        HRESPONSE("响应手柄"),
+        NO_MATCH("没有匹配");
 
 
-        private String description;
-        PhoneAction(String description){
+        private final String description;
+        VoiceAction(String description){
             this.description = description;
         }
 
@@ -100,23 +120,34 @@ public interface TcpAction {
             return this.name();
         }
 
-        private final static Map<String , PhoneAction> ENUM_MAP = new HashMap<String, PhoneAction>();
+        private final static Map<String , VoiceAction> ENUM_MAP = new HashMap<String, VoiceAction>();
         static {
-            for(PhoneAction v : values()) {
+            for(VoiceAction v : values()) {
                 ENUM_MAP.put(v.toString() , v);
             }
         }
-        public static PhoneAction fromString(String v) {
-            PhoneAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+        public static VoiceAction fromString(String v) {
+            VoiceAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum VideoAction implements TcpAction {
-        CALL("呼叫"),
-        CANCEL("取消");
+        CALL("视频通话"),   //正常视频对讲
+        VIDEO_OUT_CALL("我方视频输出"),   //我方视频输出(我方语音,对方可视)
+        VIDEO_IN_CALL("对方视频输出"),    //对方视频输出(我方可视,对方语音)
+        VIDEO_ON("打开视频"),   //打开视频
+        VIDEO_INVITE_JOIN("邀请加入视频"),    //邀请加入视频
+        ACCEPT("接受呼叫"),
+        REJECT("拒绝"),
+        CALLING("通话中"),
+        HANDOFF("挂断"),
+        CANCEL("取消"),
+        SUCCESS("呼叫成功"),
+        FAILED("呼叫失败"),
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         VideoAction(String description){
             this.description = description;
         }
@@ -137,16 +168,37 @@ public interface TcpAction {
         }
         public static VideoAction fromString(String v) {
             VideoAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
 
     enum SOSAction implements TcpAction {
         CALL("紧急呼叫"),
-        CANCEL("取消");
-
-        private String description;
+        CANCEL("取消"),
+        TRANSFER("转接"),
+        ALARM_TEST("测试报警"),
+        ALARM_INTRUSION("侵入报警"),
+        ALARM_INFRARED_NO_TRIGGER("红外报警"),
+        ALARM_ON_EIGHT_HOURS("八小时无人报警"),
+        ALARM_ON_TWELVE_HOURS("十二小时无人报警"),
+        ALARM_ON_TWENTY_FOUR_HOURS("二十四小时无人报警"),
+        ALARM_DISASSEMBLE("防拆报警"),
+        ALARM_FAULT("故障报警"),
+        ALARM_DOOR_LOCK("门磁报警"),
+        ALARM_RESTRAINT_BAND("约束带报警"),
+        ALARM_SMOKE("烟感报警"),
+        ALARM_GAS("燃气报警"),
+        ALARM_WATER_OVERFLOW("浸水报警"),
+        ALARM_LOW_VOLTAGE("低电压报警"),
+        ALARM_TEMPERATURE("温度报警"),
+        ALARM_FALL("跌到报警"),
+        ALARM_VITAL("体征报警"),
+        AlARM_BUTTON("紧急按钮"),
+        ALARM_FALL_RADAR("跌到报警"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         SOSAction(String description){
             this.description = description;
         }
@@ -167,17 +219,48 @@ public interface TcpAction {
         }
         public static SOSAction fromString(String v) {
             SOSAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum ReinforceAction implements TcpAction {
+        CALL("增援"),
+        RESPONSED("已响应"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
+        ReinforceAction(String description){
+            this.description = description;
+        }
+
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , ReinforceAction> ENUM_MAP = new HashMap<String, ReinforceAction>();
+        static {
+            for(ReinforceAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static ReinforceAction fromString(String v) {
+            ReinforceAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
 
     enum IMAction implements TcpAction {
         MSG("语音留言"),
+        MSG_READ("语音留言已读"),
         RECEIVED("客户端收到确认"),
-        MSG_READ("语音留言已读");
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         IMAction(String description){
             this.description = description;
         }
@@ -198,7 +281,7 @@ public interface TcpAction {
         }
         public static IMAction fromString(String v) {
             IMAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? MSG_READ :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
 
     }
@@ -206,9 +289,10 @@ public interface TcpAction {
     enum CHANNELIMAction implements TcpAction {
         MSG("语音留言"),
         MSG_READ("语音留言已读"),
-        RECEIVED("接收端收到确认");
+        RECEIVED("接收端收到确认"),
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         CHANNELIMAction(String description){
             this.description = description;
         }
@@ -229,7 +313,7 @@ public interface TcpAction {
         }
         public static CHANNELIMAction fromString(String v) {
             CHANNELIMAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? MSG_READ :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
 
     }
@@ -242,9 +326,10 @@ public interface TcpAction {
         SYSTEM_SETTING("系统设置"),
         DEVICE_CHANGE("设备更换"),
         USER_CHANGE("用户绑定"),
-        SERVER_CHANGE("设备ip地址更换");
+        SERVER_CHANGE("设备ip地址更换"),
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         DeviceAction(String description){
             this.description = description;
         }
@@ -264,20 +349,20 @@ public interface TcpAction {
         }
         public static DeviceAction fromString(String v) {
             DeviceAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? RESTART :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum EventAction implements TcpAction {
         KEY_CLICK("按键事件"),
-        RECEIVED("客户端收到确认"),
         RESPONSE("已响应"),
+        RECEIVED("接收端收到确认"),
         CANCEL("取消"),
         CANCEL_CONFIRM("接收端确认收到取消"),
-        COMPLETED("完成");
+        COMPLETED("完成"),
+        NO_MATCH("没有匹配");
 
-
-        private String description;
+        private final String description;
         EventAction(String description){
             this.description = description;
         }
@@ -297,14 +382,52 @@ public interface TcpAction {
         }
         public static EventAction fromString(String v) {
             EventAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? KEY_CLICK :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
+    enum SideAction implements TcpAction {
+        CALL("呼叫"),
+        ACCEPT("接听"),
+        CANCEL("结束"),
+        SOS_CALL("紧急呼叫"),
+        SOS_CANCEL("取消"),
+        NURSING("护理"),
+        NURSING_END("护理结束"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
+        SideAction(String description){
+            this.description = description;
+        }
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , SideAction> ENUM_MAP = new HashMap<String, SideAction>();
+        static {
+            for(SideAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static SideAction fromString(String v) {
+            SideAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+
+
     enum DataAction implements TcpAction {
         REFRESH("刷新数据"),
-        INTERACTION("刷新交互列表");
-        private String description;
+        INTERACTION("刷新交互列表"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         DataAction(String description){
             this.description = description;
         }
@@ -324,14 +447,16 @@ public interface TcpAction {
         }
         public static DataAction fromString(String v) {
             DataAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? REFRESH :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum BroadcastAction implements TcpAction {
         START("开始"),
-        STOP("停止");
-        private String description;
+        STOP("停止"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         BroadcastAction(String description){
             this.description = description;
         }
@@ -351,13 +476,15 @@ public interface TcpAction {
         }
         public static BroadcastAction fromString(String v) {
             BroadcastAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? START :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum TimeAction implements TcpAction {
-        SYNC("同步");
-        private String description;
+        SYNC("同步"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         TimeAction(String description){
             this.description = description;
         }
@@ -377,7 +504,76 @@ public interface TcpAction {
         }
         public static TimeAction fromString(String v) {
             TimeAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? SYNC :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum EntraceGuardAction implements TcpAction {
+        STRANGER("陌生访客"),
+        LOCKDOOR("锁门"),
+        UNLOCKDOOR("开门"),
+        ACCEPT("主机接受视频"),//通话空闲时自动接受
+        REJECT("拒绝"), // 通话忙时自动拒接
+        OPENSPEAKER("打开麦克风"),//护士主机打开麦克风,门禁机也打开,双方停止等待音乐,打开后可以通话,默认只有视频界面,没有声音
+        CLOSESPEAKER("关闭麦克风"),//关闭音频
+        SUCCESS("连接主机成功"),
+        HANGUP("挂断"),
+        TIMEOUT("响应超时"),
+        FAILED("连接失败"),
+        NO_MATCH("没有匹配");
+
+
+        private final String description;
+
+        EntraceGuardAction(String description) {
+            this.description = description;
+        }
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , EntraceGuardAction> ENUM_MAP = new HashMap<String, EntraceGuardAction>();
+        static {
+            for(EntraceGuardAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static EntraceGuardAction fromString(String v) {
+            EntraceGuardAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum LocationAction implements TcpAction {
+        ASK("主动询问"),
+        UPDATE("上传数据"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
+        LocationAction(String description){
+            this.description = description;
+        }
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , LocationAction> ENUM_MAP = new HashMap<String, LocationAction>();
+        static {
+            for(LocationAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static LocationAction fromString(String v) {
+            LocationAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 }

+ 135 - 151
resource/src/main/res/values-ru/strings.xml

@@ -48,158 +48,142 @@
     <string name="javashop_use">立即使用</string>
     <string name="javashop_get">立即领取</string>
 
-    <string name="wdkl_app_name">Mobile App</string>
-    <string name="data_empty">Empty</string>
-    <string name="register_server_ip">Server IP:</string>
-    <string name="register_device_identifier">Identifier:</string>
-    <string name="register_done">Register OK</string>
-    <string name="register_restart">Restart app</string>
-    <string name="register_config_server">Config server</string>
-    <string name="custom_title">Customers</string>
-    <string name="call_list">Call logs</string>
-    <string name="colleague">Colleagues</string>
-    <string name="group_message">Group message</string>
-    <string name="reconnect">Reconnect</string>
-
-    <string name="str_empty">Null</string>
-    <string name="str_null">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="call_init_error">Network or sip error, please wait</string>
-    <string name="call_fail">Call failed</string>
-    <string name="tips_reboot">Please reboot device</string>
-    <string name="str_replace">Replace</string>
-    <string name="call_window_title">Call</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="call_end">Call end</string>
-    <string name="str_call_mute">Mute</string>
-    <string name="str_call_handoff">Handoff</string>
-    <string name="str_call_accept">Accept</string>
-    <string name="str_call_speaker">Speaker</string>
-    <string name="voice_call_speech">%s calling</string>
 
+    <string name="wdkl_app_name">Мобильное приложение</string>
+    <string name="data_empty">Пусто</string>
+    <string name="register_server_ip">IP-адрес сервера:</string>
+    <string name="register_device_identifier">Идентификатор:</string>
+    <string name="register_done">Зарегистрировать OK</string>
+    <string name="register_restart">Перезапустить приложение</string>
+    <string name="register_config_server">Сервер конфигурации</string>
+    <string name="custom_title">Клиенты</string>
+    <string name="call_list">журналы вызовов</string>
+    <string name="colleague">Коллеги</string>
+    <string name="group_message">Групповое сообщение</string>
+    <string name="reconnect">Повторное подключение</string>
+    <string name="str_empty">Нет</string>
+    <string name="str_null">Нет</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="call_init_error">Ошибка сети или sip, подождите</string>
+    <string name="call_fail">Вызов не выполнен</string>
+    <string name="tips_reboot">Перезагрузите устройство</string>
+    <string name="str_replace">Заменить</string>
+    <string name="call_window_title">Позвонить</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="call_end">Завершение вызова</string>
+    <string name="str_call_mute">Отключить звук</string>
+    <string name="str_call_handoff">Переключение</string>
+    <string name="str_call_speaker">Динамик</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="str_loading">Loading</string>
-    <string name="str_yes">Yes</string>
-    <string name="str_no">No</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="new_version_tips">detected new version</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="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>
-
-    <string name="str_voice_msg_start">Start record</string>
-    <string name="str_voice_msg_started">Voice recording</string>
-    <string name="str_voice_msg_end">End</string>
-    <string name="str_voice_msg_btn_title">Release to send message</string>
-    <string name="str_voice_msg_btn_text">Press to record message</string>
-    <string name="str_voice_msg_record_loss">time is too short</string>
-    <string name="str_voice_msg_record_cancel">Voice msg canceled</string>
-    <string name="str_voice_msg_send_success">send success</string>
-    <string name="str_voice_msg_send_fail">send failed</string>
-    <string name="str_voice_msg_play">play voice msg</string>
-    <string name="str_im_no_channel">Please enter IM channel</string>
-    <string name="str_im_no_media_button">media button for voice msg disabled</string>
-    <string name="str_im_media_button_unuseful">Please press record button</string>
-    <string name="str_im_stop">Stop</string>
-
-    <string name="str_select_responsible_title">Select responsible</string>
-    <string name="str_select_resposible_err">Responsible error</string>
-    <string name="str_no_resposible">No responsible</string>
-    <string name="str_set_resposible_success">Set responsible success</string>
-    <string name="str_set_resposible_fail">Set responsible failed</string>
-    <string name="str_event_handle_warning">Event need todo</string>
-    <string name="str_event_response">Responsed: %s %s</string>
-    <string name="str_event_cancel">Event canceled</string>
-    <string name="str_event_done">Event done</string>
-    <string name="str_search">Search</string>
-
-    <string name="call_phone_failed">Call failed, please check phone number</string>
-    <string name="phone_type">Mobile-%d; Extend-%d; Host-%d</string>
-    <string name="user_change_success">Change success, please wait.</string>
-    <string name="user_change_failed">Change failed, please retry.</string>
-    <string name="retry_tips">Please retry later</string>
-    <string name="tts_init_success">success</string>
-    <string name="tts_init_failed">fail</string>
-
-    <string name="event_voice_msg">Voice msg</string>
-    <string name="event_voice_call">Call</string>
-    <string name="event_undo">Undo</string>
-    <string name="event_responded">Responded</string>
-    <string name="device_change_check">Change confirm?</string>
-    <string name="device_change_tips">Changing, wait</string>
-    <string name="invalid_phone_number">Invalid phone: %s</string>
-
-    <string name="version_title">Version:</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="str_loading">Загрузка</string>
+    <string name="str_yes">Да</string>
+    <string name="str_no">Нет</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="new_version_tips">обнаружена новая версия</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="reboot_device">Перезагрузить</string>
+    <string name="check_update">Проверить обновление</string>
+    <string name="server_config">Конфигурация сервера</string>
+    <string name="product_desc">Продукт:</string>
+    <string name="device_error">Ошибка устройства, перезагрузите компьютер!</string>
+    <string name="str_voice_msg_start">Начать запись</string>
+    <string name="str_voice_msg_started">Запись голоса</string>
+    <string name="str_voice_msg_end">Конец</string>
+    <string name="str_voice_msg_btn_title">Отпустите, чтобы отправить сообщение</string>
+    <string name="str_voice_msg_btn_text">Нажмите, чтобы записать сообщение</string>
+    <string name="str_voice_msg_record_loss">слишком мало времени</string>
+    <string name="str_voice_msg_record_cancel">Голосовое сообщение отменено</string>
+    <string name="str_voice_msg_send_success">успешная отправка</string>
+    <string name="str_voice_msg_send_fail">отправить не удалось</string>
+    <string name="str_voice_msg_play">воспроизвести голосовое сообщение</string>
+    <string name="str_im_no_channel">Введите канал обмена мгновенными сообщениями</string>
+    <string name="str_im_no_media_button">кнопка мультимедиа для голосового сообщения отключена</string>
+    <string name="str_im_media_button_unuseful">Пожалуйста, нажмите кнопку записи</string>
+    <string name="str_im_stop">Остановить</string>
+    <string name="str_select_responsible_title">Выберите ответственного</string>
+    <string name="str_select_resposible_err">Ответственная ошибка</string>
+    <string name="str_no_resposible">Не несет ответственности</string>
+    <string name="str_set_resposible_success">Установлена отвественность</string>
+    <string name="str_set_resposible_fail">Не удалось установить ответственного</string>
+    <string name="str_event_handle_warning">Необходимо обработать событие</string>
+    <string name="str_event_response">Ответ: %s %s</string>
+    <string name="str_event_cancel">Событие отменено</string>
+    <string name="str_event_done">Событие выполнено</string>
+    <string name="str_search">Поиск</string>
+    <string name="call_phone_failed">Не удалось выполнить вызов, проверьте номер телефона</string>
+    <string name="phone_type">Мобильный-%d; Расширить-%d; Хост-%d</string>
+    <string name="user_change_success">Изменение выполнено, подождите.</string>
+    <string name="user_change_failed">Не удалось изменить, повторите попытку.</string>
+    <string name="retry_tips">Повторите попытку позже</string>
+    <string name="tts_init_success">успешно</string>
+    <string name="tts_init_failed">сбой</string>
+    <string name="event_voice_msg">Голосовое сообщение</string>
+    <string name="event_voice_call">Позвонить</string>
+    <string name="event_undo">Отменить</string>
+    <string name="event_responded">Отвечено</string>
+    <string name="device_change_check">Подтвердить изменение?</string>
+    <string name="device_change_tips">Изменение, подождите</string>
+    <string name="invalid_phone_number">Неверный номер телефона: %s</string>
+    <string name="version_title">Версия:</string>
     <string name="device_id">ID:</string>
-    <string name="device_identifier">Identifier:</string>
-    <string name="server_title">Server:</string>
-    <string name="device_ip">IP:</string>
-    <string name="tts_state">TTS:</string>
-    <string name="call_type">Call type:</string>
-    <string name="str_user_change">User change</string>
-    <string name="str_check_update">Check update</string>
-    <string name="str_system_settings">System settings</string>
-    <string name="str_check_net">Net check</string>
-    <string name="media_button_message">Enable media button message:</string>
-
-    <string name="permission_tips">Please grant permissions</string>
-    <string name="device_not_register">Device not registered, please contact your administrator</string>
-    <string name="device_not_register_tips">Device not registered, please contact your administrator, than click register OK button</string>
-    <string name="init_data_error">Init data error, please contact your administrator</string>
-    <string name="init_server_data_error">Init server data error</string>
-    <string name="str_reload">Reload</string>
-    <string name="device_user_empty">Please set device user</string>
-    <string name="tcp_connect_success">Connected</string>
-    <string name="tcp_connect_failed">Disconnected</string>
-    <string name="net_disconnect">Disconnected, please check net</string>
-    <string name="device_user_not_register">User not register</string>
-    <string name="click_twice_start_settings">Click twice open settings</string>
-    <string name="click_twice_to_back">Click again to back</string>
-    <string name="low_power">Low power</string>
-
-    <string name="language_set_title">Language set:</string>
-    <string name="language_set_mode">Sync language from server:</string>
-    <string name="str_language_settings">Language set</string>
+    <string name="device_identifier">IMEI:</string>
+    <string name="server_title">Сервер:</string>
+    <string name="device_ip">IP-адрес:</string>
+    <string name="tts_state">ТТС:</string>
+    <string name="call_type">Тип звонка:</string>
+    <string name="str_user_change">Смена пользователя</string>
+    <string name="str_check_update">Проверить обновление</string>
+    <string name="str_system_settings">Системные настройки</string>
+    <string name="media_button_message">Включить сообщение кнопки мультимедиа:</string>
+    <string name="permission_tips">Предоставьте разрешения</string>
+    <string name="device_not_register">Устройство не зарегистрировано, обратитесь к администратору</string>
+    <string name="device_not_register_tips">Устройство не зарегистрировано. Обратитесь к администратору, а затем нажмите кнопку OK для регистрации</string>
+    <string name="init_data_error">Ошибка инициализации данных, обратитесь к администратору</string>
+    <string name="init_server_data_error">Ошибка данных сервера инициализации</string>
+    <string name="str_reload">Перезагрузить</string>
+    <string name="device_user_empty">Укажите пользователя устройства</string>
+    <string name="tcp_connect_success">Подключено</string>
+    <string name="tcp_connect_failed">Отключено</string>
+    <string name="net_disconnect">Отключено, проверьте сеть</string>
+    <string name="device_user_not_register">Пользователь не зарегистрирован</string>
+    <string name="click_twice_start_settings">Дважды нажмите, чтобы открыть настройки</string>
+    <string name="low_power">Низкое энергопотребление</string>
+    <string name="language_set_title">Набор языков:</string>
+    <string name="language_set_mode">Синхронизировать язык с сервера:</string>
+    <string name="str_language_settings">Языковые настройки</string>
 </resources>