diff --git a/Android.mk b/Android.mk
index 916b0128a..ce4d98d67 100644
--- a/Android.mk
+++ b/Android.mk
@@ -29,6 +29,8 @@ LOCAL_SRC_FILES += \
LOCAL_PACKAGE_NAME := Phone
LOCAL_CERTIFICATE := platform
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+
include $(BUILD_PACKAGE)
# Build the test package
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 06a06e2dd..cc8ed03ca 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -42,7 +42,9 @@
+
+
@@ -58,6 +60,7 @@
+
@@ -79,6 +82,7 @@
+
+
+
+
+
+
@@ -135,8 +148,9 @@
@@ -253,9 +267,9 @@
-
+
@@ -264,6 +278,9 @@
+
+
@@ -394,7 +411,7 @@
-
+
@@ -443,6 +460,9 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/dial_num_1_no_vm.xml b/lint.xml
similarity index 70%
rename from res/drawable/dial_num_1_no_vm.xml
rename to lint.xml
index 84a93940c..77207455b 100644
--- a/res/drawable/dial_num_1_no_vm.xml
+++ b/lint.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
+
+
+
+
+
+
diff --git a/proguard.flags b/proguard.flags
new file mode 100644
index 000000000..c5f4c7229
--- /dev/null
+++ b/proguard.flags
@@ -0,0 +1,6 @@
+# Keep names that are used only by animation framework.
+-keepclasseswithmembers class com.android.phone.AnimationUtils$CrossFadeDrawable {
+ *** setCrossFadeAlpha(...);
+}
+
+-verbose
\ No newline at end of file
diff --git a/res/anim/activity_close_enter.xml b/res/anim/activity_close_enter.xml
new file mode 100644
index 000000000..a526fe1b3
--- /dev/null
+++ b/res/anim/activity_close_enter.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
diff --git a/res/anim/activity_close_exit.xml b/res/anim/activity_close_exit.xml
new file mode 100644
index 000000000..b879bdb49
--- /dev/null
+++ b/res/anim/activity_close_exit.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
diff --git a/res/color/dialer_button_text.xml b/res/color/dialer_button_text.xml
deleted file mode 100644
index a841adc82..000000000
--- a/res/color/dialer_button_text.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/drawable-hdpi/btn_dial_textfield_normal.9.png b/res/drawable-hdpi/btn_dial_textfield_normal.9.png
deleted file mode 100644
index 1718372d0..000000000
Binary files a/res/drawable-hdpi/btn_dial_textfield_normal.9.png and /dev/null differ
diff --git a/res/drawable-hdpi/btn_dial_textfield_pressed.9.png b/res/drawable-hdpi/btn_dial_textfield_pressed.9.png
deleted file mode 100644
index eb1fda0f9..000000000
Binary files a/res/drawable-hdpi/btn_dial_textfield_pressed.9.png and /dev/null differ
diff --git a/res/drawable-hdpi/btn_dial_textfield_selected.9.png b/res/drawable-hdpi/btn_dial_textfield_selected.9.png
deleted file mode 100644
index 5ad7b563b..000000000
Binary files a/res/drawable-hdpi/btn_dial_textfield_selected.9.png and /dev/null differ
diff --git a/res/drawable-hdpi/dialog_bg_calling_via.9.png b/res/drawable-hdpi/dialog_bg_calling_via.9.png
deleted file mode 100644
index ab5ded71c..000000000
Binary files a/res/drawable-hdpi/dialog_bg_calling_via.9.png and /dev/null differ
diff --git a/res/drawable-hdpi/endcall_active.png b/res/drawable-hdpi/endcall_active.png
new file mode 100644
index 000000000..38f1e1ce1
Binary files /dev/null and b/res/drawable-hdpi/endcall_active.png differ
diff --git a/res/drawable-hdpi/endcall_disable.png b/res/drawable-hdpi/endcall_disable.png
new file mode 100644
index 000000000..6a0f65867
Binary files /dev/null and b/res/drawable-hdpi/endcall_disable.png differ
diff --git a/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png b/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png
index 341c630cc..f4a08bea0 100644
Binary files a/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png and b/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png differ
diff --git a/res/drawable-hdpi/ic_button_conference_end.png b/res/drawable-hdpi/ic_button_conference_end.png
deleted file mode 100644
index a07599936..000000000
Binary files a/res/drawable-hdpi/ic_button_conference_end.png and /dev/null differ
diff --git a/res/drawable-hdpi/ic_button_conference_private.png b/res/drawable-hdpi/ic_button_conference_private.png
deleted file mode 100644
index 76090895d..000000000
Binary files a/res/drawable-hdpi/ic_button_conference_private.png and /dev/null differ
diff --git a/res/drawable-hdpi/ic_dial_action_search.png b/res/drawable-hdpi/ic_dial_action_search.png
deleted file mode 100644
index e87152d7d..000000000
Binary files a/res/drawable-hdpi/ic_dial_action_search.png and /dev/null differ
diff --git a/res/drawable-hdpi/ic_dial_end_call.png b/res/drawable-hdpi/ic_dial_end_call.png
new file mode 100644
index 000000000..ab3adb443
Binary files /dev/null and b/res/drawable-hdpi/ic_dial_end_call.png differ
diff --git a/res/drawable-hdpi/ic_end_call.png b/res/drawable-hdpi/ic_end_call.png
deleted file mode 100644
index be6cdfc8b..000000000
Binary files a/res/drawable-hdpi/ic_end_call.png and /dev/null differ
diff --git a/res/drawable-hdpi/ic_end_call_holo_dark.png b/res/drawable-hdpi/ic_end_call_holo_dark.png
new file mode 100644
index 000000000..0f373bb26
Binary files /dev/null and b/res/drawable-hdpi/ic_end_call_holo_dark.png differ
diff --git a/res/drawable-hdpi/ic_lockscreen_answer_activated.png b/res/drawable-hdpi/ic_lockscreen_answer_activated.png
new file mode 100644
index 000000000..3d2752fa7
Binary files /dev/null and b/res/drawable-hdpi/ic_lockscreen_answer_activated.png differ
diff --git a/res/drawable-hdpi/ic_lockscreen_answer_normal.png b/res/drawable-hdpi/ic_lockscreen_answer_normal.png
new file mode 100644
index 000000000..9e26edaf5
Binary files /dev/null and b/res/drawable-hdpi/ic_lockscreen_answer_normal.png differ
diff --git a/res/drawable-hdpi/ic_lockscreen_decline_activated.png b/res/drawable-hdpi/ic_lockscreen_decline_activated.png
new file mode 100644
index 000000000..b7a438f2e
Binary files /dev/null and b/res/drawable-hdpi/ic_lockscreen_decline_activated.png differ
diff --git a/res/drawable-hdpi/ic_lockscreen_decline_normal.png b/res/drawable-hdpi/ic_lockscreen_decline_normal.png
new file mode 100644
index 000000000..a687ae3ee
Binary files /dev/null and b/res/drawable-hdpi/ic_lockscreen_decline_normal.png differ
diff --git a/res/drawable-hdpi/ic_lockscreen_text_activated.png b/res/drawable-hdpi/ic_lockscreen_text_activated.png
new file mode 100644
index 000000000..22cf07c5d
Binary files /dev/null and b/res/drawable-hdpi/ic_lockscreen_text_activated.png differ
diff --git a/res/drawable-hdpi/ic_lockscreen_text_normal.png b/res/drawable-hdpi/ic_lockscreen_text_normal.png
new file mode 100644
index 000000000..db6c05d6c
Binary files /dev/null and b/res/drawable-hdpi/ic_lockscreen_text_normal.png differ
diff --git a/res/drawable-hdpi/ic_split_holo_dark.png b/res/drawable-hdpi/ic_split_holo_dark.png
new file mode 100644
index 000000000..5b10cf948
Binary files /dev/null and b/res/drawable-hdpi/ic_split_holo_dark.png differ
diff --git a/res/drawable-hdpi/ic_text_holo_dark.png b/res/drawable-hdpi/ic_text_holo_dark.png
new file mode 100644
index 000000000..6d21e42c5
Binary files /dev/null and b/res/drawable-hdpi/ic_text_holo_dark.png differ
diff --git a/res/drawable-hdpi/stat_sys_phone_call.png b/res/drawable-hdpi/stat_sys_phone_call.png
index d6f921c48..7eda84ca5 100644
Binary files a/res/drawable-hdpi/stat_sys_phone_call.png and b/res/drawable-hdpi/stat_sys_phone_call.png differ
diff --git a/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png b/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
deleted file mode 100644
index aec4efc49..000000000
Binary files a/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png and /dev/null differ
diff --git a/res/drawable-hdpi/stat_sys_phone_call_end.png b/res/drawable-hdpi/stat_sys_phone_call_end.png
new file mode 100644
index 000000000..bc7493751
Binary files /dev/null and b/res/drawable-hdpi/stat_sys_phone_call_end.png differ
diff --git a/res/drawable-hdpi/stat_sys_phone_call_ringing.png b/res/drawable-hdpi/stat_sys_phone_call_ringing.png
deleted file mode 100644
index d6f921c48..000000000
Binary files a/res/drawable-hdpi/stat_sys_phone_call_ringing.png and /dev/null differ
diff --git a/res/drawable-hdpi/stat_sys_vp_phone_call_bluetooth.png b/res/drawable-hdpi/stat_sys_vp_phone_call_bluetooth.png
deleted file mode 100644
index ad74cb596..000000000
Binary files a/res/drawable-hdpi/stat_sys_vp_phone_call_bluetooth.png and /dev/null differ
diff --git a/res/drawable-mdpi/btn_dial_textfield_normal.9.png b/res/drawable-mdpi/btn_dial_textfield_normal.9.png
deleted file mode 100644
index 277400bf9..000000000
Binary files a/res/drawable-mdpi/btn_dial_textfield_normal.9.png and /dev/null differ
diff --git a/res/drawable-mdpi/btn_dial_textfield_pressed.9.png b/res/drawable-mdpi/btn_dial_textfield_pressed.9.png
deleted file mode 100644
index 57a8dd977..000000000
Binary files a/res/drawable-mdpi/btn_dial_textfield_pressed.9.png and /dev/null differ
diff --git a/res/drawable-mdpi/btn_dial_textfield_selected.9.png b/res/drawable-mdpi/btn_dial_textfield_selected.9.png
deleted file mode 100644
index 5956668ce..000000000
Binary files a/res/drawable-mdpi/btn_dial_textfield_selected.9.png and /dev/null differ
diff --git a/res/drawable-mdpi/dialog_bg_calling_via.9.png b/res/drawable-mdpi/dialog_bg_calling_via.9.png
deleted file mode 100644
index 809560474..000000000
Binary files a/res/drawable-mdpi/dialog_bg_calling_via.9.png and /dev/null differ
diff --git a/res/drawable-mdpi/endcall_active.png b/res/drawable-mdpi/endcall_active.png
new file mode 100644
index 000000000..a82738bfc
Binary files /dev/null and b/res/drawable-mdpi/endcall_active.png differ
diff --git a/res/drawable-mdpi/endcall_disable.png b/res/drawable-mdpi/endcall_disable.png
new file mode 100644
index 000000000..bd1a2f380
Binary files /dev/null and b/res/drawable-mdpi/endcall_disable.png differ
diff --git a/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png b/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png
index 880cf343e..6ff8e4844 100644
Binary files a/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png and b/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png differ
diff --git a/res/drawable-mdpi/ic_button_conference_end.png b/res/drawable-mdpi/ic_button_conference_end.png
deleted file mode 100644
index 389c7c0bc..000000000
Binary files a/res/drawable-mdpi/ic_button_conference_end.png and /dev/null differ
diff --git a/res/drawable-mdpi/ic_button_conference_private.png b/res/drawable-mdpi/ic_button_conference_private.png
deleted file mode 100644
index 4ee6050d8..000000000
Binary files a/res/drawable-mdpi/ic_button_conference_private.png and /dev/null differ
diff --git a/res/drawable-mdpi/ic_dial_action_search.png b/res/drawable-mdpi/ic_dial_action_search.png
deleted file mode 100644
index 0b0e0dad7..000000000
Binary files a/res/drawable-mdpi/ic_dial_action_search.png and /dev/null differ
diff --git a/res/drawable-mdpi/ic_dial_end_call.png b/res/drawable-mdpi/ic_dial_end_call.png
new file mode 100644
index 000000000..c47664226
Binary files /dev/null and b/res/drawable-mdpi/ic_dial_end_call.png differ
diff --git a/res/drawable-mdpi/ic_end_call.png b/res/drawable-mdpi/ic_end_call.png
deleted file mode 100644
index e76553bef..000000000
Binary files a/res/drawable-mdpi/ic_end_call.png and /dev/null differ
diff --git a/res/drawable-mdpi/ic_end_call_holo_dark.png b/res/drawable-mdpi/ic_end_call_holo_dark.png
new file mode 100644
index 000000000..e090cc806
Binary files /dev/null and b/res/drawable-mdpi/ic_end_call_holo_dark.png differ
diff --git a/res/drawable-mdpi/ic_lockscreen_answer_activated.png b/res/drawable-mdpi/ic_lockscreen_answer_activated.png
new file mode 100644
index 000000000..6a78f817e
Binary files /dev/null and b/res/drawable-mdpi/ic_lockscreen_answer_activated.png differ
diff --git a/res/drawable-mdpi/ic_lockscreen_answer_normal.png b/res/drawable-mdpi/ic_lockscreen_answer_normal.png
new file mode 100644
index 000000000..da15c33c7
Binary files /dev/null and b/res/drawable-mdpi/ic_lockscreen_answer_normal.png differ
diff --git a/res/drawable-mdpi/ic_lockscreen_decline_activated.png b/res/drawable-mdpi/ic_lockscreen_decline_activated.png
new file mode 100644
index 000000000..649662681
Binary files /dev/null and b/res/drawable-mdpi/ic_lockscreen_decline_activated.png differ
diff --git a/res/drawable-mdpi/ic_lockscreen_decline_normal.png b/res/drawable-mdpi/ic_lockscreen_decline_normal.png
new file mode 100644
index 000000000..27fe09306
Binary files /dev/null and b/res/drawable-mdpi/ic_lockscreen_decline_normal.png differ
diff --git a/res/drawable-mdpi/ic_lockscreen_text_activated.png b/res/drawable-mdpi/ic_lockscreen_text_activated.png
new file mode 100644
index 000000000..e3e4fc13d
Binary files /dev/null and b/res/drawable-mdpi/ic_lockscreen_text_activated.png differ
diff --git a/res/drawable-mdpi/ic_lockscreen_text_normal.png b/res/drawable-mdpi/ic_lockscreen_text_normal.png
new file mode 100644
index 000000000..4a2a54b01
Binary files /dev/null and b/res/drawable-mdpi/ic_lockscreen_text_normal.png differ
diff --git a/res/drawable-mdpi/ic_split_holo_dark.png b/res/drawable-mdpi/ic_split_holo_dark.png
new file mode 100644
index 000000000..3980acbb8
Binary files /dev/null and b/res/drawable-mdpi/ic_split_holo_dark.png differ
diff --git a/res/drawable-mdpi/ic_text_holo_dark.png b/res/drawable-mdpi/ic_text_holo_dark.png
new file mode 100644
index 000000000..80b95eec1
Binary files /dev/null and b/res/drawable-mdpi/ic_text_holo_dark.png differ
diff --git a/res/drawable-mdpi/stat_sys_phone_call.png b/res/drawable-mdpi/stat_sys_phone_call.png
index 76ca72013..70a4bbe71 100644
Binary files a/res/drawable-mdpi/stat_sys_phone_call.png and b/res/drawable-mdpi/stat_sys_phone_call.png differ
diff --git a/res/drawable-mdpi/stat_sys_phone_call_bluetooth.png b/res/drawable-mdpi/stat_sys_phone_call_bluetooth.png
deleted file mode 100644
index 6ca152c7d..000000000
Binary files a/res/drawable-mdpi/stat_sys_phone_call_bluetooth.png and /dev/null differ
diff --git a/res/drawable-mdpi/stat_sys_phone_call_end.png b/res/drawable-mdpi/stat_sys_phone_call_end.png
new file mode 100644
index 000000000..15e7e67fc
Binary files /dev/null and b/res/drawable-mdpi/stat_sys_phone_call_end.png differ
diff --git a/res/drawable-mdpi/stat_sys_phone_call_ringing.png b/res/drawable-mdpi/stat_sys_phone_call_ringing.png
deleted file mode 100644
index 76ca72013..000000000
Binary files a/res/drawable-mdpi/stat_sys_phone_call_ringing.png and /dev/null differ
diff --git a/res/drawable-mdpi/stat_sys_vp_phone_call_bluetooth.png b/res/drawable-mdpi/stat_sys_vp_phone_call_bluetooth.png
deleted file mode 100644
index 339fe4349..000000000
Binary files a/res/drawable-mdpi/stat_sys_vp_phone_call_bluetooth.png and /dev/null differ
diff --git a/res/drawable-xhdpi/btn_dial_textfield_normal.9.png b/res/drawable-xhdpi/btn_dial_textfield_normal.9.png
deleted file mode 100644
index 990362415..000000000
Binary files a/res/drawable-xhdpi/btn_dial_textfield_normal.9.png and /dev/null differ
diff --git a/res/drawable-xhdpi/btn_dial_textfield_pressed.9.png b/res/drawable-xhdpi/btn_dial_textfield_pressed.9.png
deleted file mode 100644
index 00e2e7ea7..000000000
Binary files a/res/drawable-xhdpi/btn_dial_textfield_pressed.9.png and /dev/null differ
diff --git a/res/drawable-xhdpi/btn_dial_textfield_selected.9.png b/res/drawable-xhdpi/btn_dial_textfield_selected.9.png
deleted file mode 100644
index bf2e27f5b..000000000
Binary files a/res/drawable-xhdpi/btn_dial_textfield_selected.9.png and /dev/null differ
diff --git a/res/drawable-xhdpi/dialog_bg_calling_via.9.png b/res/drawable-xhdpi/dialog_bg_calling_via.9.png
deleted file mode 100644
index 15e46f85c..000000000
Binary files a/res/drawable-xhdpi/dialog_bg_calling_via.9.png and /dev/null differ
diff --git a/res/drawable-xhdpi/endcall_active.png b/res/drawable-xhdpi/endcall_active.png
new file mode 100644
index 000000000..5347ed29e
Binary files /dev/null and b/res/drawable-xhdpi/endcall_active.png differ
diff --git a/res/drawable-xhdpi/endcall_disable.png b/res/drawable-xhdpi/endcall_disable.png
new file mode 100644
index 000000000..fa10196c7
Binary files /dev/null and b/res/drawable-xhdpi/endcall_disable.png differ
diff --git a/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png b/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png
index 64fd89e25..0211d69b9 100644
Binary files a/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png and b/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png differ
diff --git a/res/drawable-xhdpi/ic_button_conference_end.png b/res/drawable-xhdpi/ic_button_conference_end.png
deleted file mode 100644
index c31e6f015..000000000
Binary files a/res/drawable-xhdpi/ic_button_conference_end.png and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_button_conference_private.png b/res/drawable-xhdpi/ic_button_conference_private.png
deleted file mode 100644
index 19b17b2e0..000000000
Binary files a/res/drawable-xhdpi/ic_button_conference_private.png and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_dial_action_search.png b/res/drawable-xhdpi/ic_dial_action_search.png
deleted file mode 100644
index 020fab560..000000000
Binary files a/res/drawable-xhdpi/ic_dial_action_search.png and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_dial_end_call.png b/res/drawable-xhdpi/ic_dial_end_call.png
new file mode 100644
index 000000000..c24ec9872
Binary files /dev/null and b/res/drawable-xhdpi/ic_dial_end_call.png differ
diff --git a/res/drawable-xhdpi/ic_end_call.png b/res/drawable-xhdpi/ic_end_call.png
deleted file mode 100644
index c464a6dc5..000000000
Binary files a/res/drawable-xhdpi/ic_end_call.png and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_end_call_holo_dark.png b/res/drawable-xhdpi/ic_end_call_holo_dark.png
new file mode 100644
index 000000000..f64f5e3d9
Binary files /dev/null and b/res/drawable-xhdpi/ic_end_call_holo_dark.png differ
diff --git a/res/drawable-xhdpi/ic_lockscreen_answer_activated.png b/res/drawable-xhdpi/ic_lockscreen_answer_activated.png
new file mode 100644
index 000000000..cd6a6abb2
Binary files /dev/null and b/res/drawable-xhdpi/ic_lockscreen_answer_activated.png differ
diff --git a/res/drawable-xhdpi/ic_lockscreen_answer_normal.png b/res/drawable-xhdpi/ic_lockscreen_answer_normal.png
new file mode 100644
index 000000000..983d5d941
Binary files /dev/null and b/res/drawable-xhdpi/ic_lockscreen_answer_normal.png differ
diff --git a/res/drawable-xhdpi/ic_lockscreen_decline_activated.png b/res/drawable-xhdpi/ic_lockscreen_decline_activated.png
new file mode 100644
index 000000000..317b3296c
Binary files /dev/null and b/res/drawable-xhdpi/ic_lockscreen_decline_activated.png differ
diff --git a/res/drawable-xhdpi/ic_lockscreen_decline_normal.png b/res/drawable-xhdpi/ic_lockscreen_decline_normal.png
new file mode 100644
index 000000000..2cb03e7b1
Binary files /dev/null and b/res/drawable-xhdpi/ic_lockscreen_decline_normal.png differ
diff --git a/res/drawable-xhdpi/ic_lockscreen_text_activated.png b/res/drawable-xhdpi/ic_lockscreen_text_activated.png
new file mode 100644
index 000000000..41ea18af0
Binary files /dev/null and b/res/drawable-xhdpi/ic_lockscreen_text_activated.png differ
diff --git a/res/drawable-xhdpi/ic_lockscreen_text_normal.png b/res/drawable-xhdpi/ic_lockscreen_text_normal.png
new file mode 100644
index 000000000..15e477934
Binary files /dev/null and b/res/drawable-xhdpi/ic_lockscreen_text_normal.png differ
diff --git a/res/drawable-xhdpi/ic_split_holo_dark.png b/res/drawable-xhdpi/ic_split_holo_dark.png
new file mode 100644
index 000000000..db558e49a
Binary files /dev/null and b/res/drawable-xhdpi/ic_split_holo_dark.png differ
diff --git a/res/drawable-xhdpi/ic_text_holo_dark.png b/res/drawable-xhdpi/ic_text_holo_dark.png
new file mode 100644
index 000000000..e80a04234
Binary files /dev/null and b/res/drawable-xhdpi/ic_text_holo_dark.png differ
diff --git a/res/drawable-xhdpi/stat_sys_phone_call.png b/res/drawable-xhdpi/stat_sys_phone_call.png
index db42b7cd9..1bb434076 100644
Binary files a/res/drawable-xhdpi/stat_sys_phone_call.png and b/res/drawable-xhdpi/stat_sys_phone_call.png differ
diff --git a/res/drawable-xhdpi/stat_sys_phone_call_bluetooth.png b/res/drawable-xhdpi/stat_sys_phone_call_bluetooth.png
deleted file mode 100644
index b0ecb9101..000000000
Binary files a/res/drawable-xhdpi/stat_sys_phone_call_bluetooth.png and /dev/null differ
diff --git a/res/drawable-xhdpi/stat_sys_phone_call_end.png b/res/drawable-xhdpi/stat_sys_phone_call_end.png
new file mode 100644
index 000000000..b0b1bc1c8
Binary files /dev/null and b/res/drawable-xhdpi/stat_sys_phone_call_end.png differ
diff --git a/res/drawable-xhdpi/stat_sys_phone_call_ringing.png b/res/drawable-xhdpi/stat_sys_phone_call_ringing.png
deleted file mode 100644
index db42b7cd9..000000000
Binary files a/res/drawable-xhdpi/stat_sys_phone_call_ringing.png and /dev/null differ
diff --git a/res/drawable-xhdpi/stat_sys_vp_phone_call_bluetooth.png b/res/drawable-xhdpi/stat_sys_vp_phone_call_bluetooth.png
deleted file mode 100644
index 833cd1fa6..000000000
Binary files a/res/drawable-xhdpi/stat_sys_vp_phone_call_bluetooth.png and /dev/null differ
diff --git a/res/drawable/btn_call.xml b/res/drawable/btn_call.xml
index 73ff87b11..abce98313 100644
--- a/res/drawable/btn_call.xml
+++ b/res/drawable/btn_call.xml
@@ -17,8 +17,7 @@
-
+
diff --git a/res/drawable/btn_compound_audio.xml b/res/drawable/btn_compound_audio.xml
index 30251ae85..c348c98c1 100644
--- a/res/drawable/btn_compound_audio.xml
+++ b/res/drawable/btn_compound_audio.xml
@@ -80,12 +80,18 @@
android:gravity="center" />
-
-
+
+
+
+
+
+
+
@@ -96,13 +102,4 @@
-->
-
-
-
-
diff --git a/res/drawable/dial_num_2.xml b/res/drawable/clickable_dim_effect.xml
similarity index 68%
rename from res/drawable/dial_num_2.xml
rename to res/drawable/clickable_dim_effect.xml
index ceb868961..e4b4f6fd6 100644
--- a/res/drawable/dial_num_2.xml
+++ b/res/drawable/clickable_dim_effect.xml
@@ -1,5 +1,5 @@
-
+
-
-
+
+
+
+
diff --git a/res/drawable/dial_num_1_no_vm_wht.xml b/res/drawable/dial_num_1_no_vm_wht.xml
deleted file mode 100644
index 84a93940c..000000000
--- a/res/drawable/dial_num_1_no_vm_wht.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_3.xml b/res/drawable/dial_num_3.xml
deleted file mode 100644
index 62528e7bc..000000000
--- a/res/drawable/dial_num_3.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_4.xml b/res/drawable/dial_num_4.xml
deleted file mode 100644
index 9e1b168e2..000000000
--- a/res/drawable/dial_num_4.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_5.xml b/res/drawable/dial_num_5.xml
deleted file mode 100644
index 7c1fdcc0f..000000000
--- a/res/drawable/dial_num_5.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_6.xml b/res/drawable/dial_num_6.xml
deleted file mode 100644
index 3ed5052e3..000000000
--- a/res/drawable/dial_num_6.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_7.xml b/res/drawable/dial_num_7.xml
deleted file mode 100644
index cd5624a9b..000000000
--- a/res/drawable/dial_num_7.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_8.xml b/res/drawable/dial_num_8.xml
deleted file mode 100644
index b93567be1..000000000
--- a/res/drawable/dial_num_8.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_9.xml b/res/drawable/dial_num_9.xml
deleted file mode 100644
index c12d98922..000000000
--- a/res/drawable/dial_num_9.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_pound.xml b/res/drawable/dial_num_pound.xml
deleted file mode 100644
index c9c1e6f8c..000000000
--- a/res/drawable/dial_num_pound.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/res/drawable/dial_num_star.xml b/res/drawable/dial_num_star.xml
deleted file mode 100644
index af3c20e5b..000000000
--- a/res/drawable/dial_num_star.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/res/drawable/end_call_background.xml b/res/drawable/end_call_background.xml
index efd13a425..33ec22fa1 100644
--- a/res/drawable/end_call_background.xml
+++ b/res/drawable/end_call_background.xml
@@ -14,6 +14,32 @@
limitations under the License.
-->
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_in_call_touch_handle.xml b/res/drawable/ic_in_call_touch_handle.xml
index 5c52fe7d7..e657e92ed 100644
--- a/res/drawable/ic_in_call_touch_handle.xml
+++ b/res/drawable/ic_in_call_touch_handle.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-
+
-
-
+
+ android:state_enabled="true" android:state_active="false" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_answer_normal_layer"/>
+
+
diff --git a/res/drawable/ic_lockscreen_answer_activated_layer.xml b/res/drawable/ic_lockscreen_answer_activated_layer.xml
new file mode 100644
index 000000000..6889581c7
--- /dev/null
+++ b/res/drawable/ic_lockscreen_answer_activated_layer.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_lockscreen_answer_normal_layer.xml b/res/drawable/ic_lockscreen_answer_normal_layer.xml
new file mode 100644
index 000000000..083fe3fbd
--- /dev/null
+++ b/res/drawable/ic_lockscreen_answer_normal_layer.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/btn_dial_textfield.xml b/res/drawable/ic_lockscreen_decline.xml
similarity index 52%
rename from res/drawable/btn_dial_textfield.xml
rename to res/drawable/ic_lockscreen_decline.xml
index 4eabf1856..6643816d9 100644
--- a/res/drawable/btn_dial_textfield.xml
+++ b/res/drawable/ic_lockscreen_decline.xml
@@ -1,5 +1,5 @@
-
-
+
-
-
+ android:state_enabled="true" android:state_active="false" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_decline_normal_layer" />
+
+
-
diff --git a/res/drawable/ic_lockscreen_decline_activated_layer.xml b/res/drawable/ic_lockscreen_decline_activated_layer.xml
new file mode 100644
index 000000000..e3606d1e7
--- /dev/null
+++ b/res/drawable/ic_lockscreen_decline_activated_layer.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_lockscreen_decline_normal_layer.xml b/res/drawable/ic_lockscreen_decline_normal_layer.xml
new file mode 100644
index 000000000..2896bef80
--- /dev/null
+++ b/res/drawable/ic_lockscreen_decline_normal_layer.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/dial_num_0_no_plus.xml b/res/drawable/ic_lockscreen_text.xml
similarity index 52%
rename from res/drawable/dial_num_0_no_plus.xml
rename to res/drawable/ic_lockscreen_text.xml
index 470ddf469..f9caac818 100644
--- a/res/drawable/dial_num_0_no_plus.xml
+++ b/res/drawable/ic_lockscreen_text.xml
@@ -1,5 +1,5 @@
-
-
+
+ android:state_enabled="true" android:state_active="false" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_text_normal_layer" />
+
+
diff --git a/res/drawable/ic_lockscreen_text_activated_layer.xml b/res/drawable/ic_lockscreen_text_activated_layer.xml
new file mode 100644
index 000000000..95141e5ce
--- /dev/null
+++ b/res/drawable/ic_lockscreen_text_activated_layer.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_lockscreen_text_normal_layer.xml b/res/drawable/ic_lockscreen_text_normal_layer.xml
new file mode 100644
index 000000000..42fd51de6
--- /dev/null
+++ b/res/drawable/ic_lockscreen_text_normal_layer.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout-land/emergency_dialer.xml b/res/layout-land/emergency_dialer.xml
index d6b8eaa6f..7d8ed3ffa 100644
--- a/res/layout-land/emergency_dialer.xml
+++ b/res/layout-land/emergency_dialer.xml
@@ -19,26 +19,61 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
->
+ android:layout_marginLeft="@dimen/dialpad_horizontal_margin"
+ android:layout_marginRight="@dimen/dialpad_horizontal_margin">
-
-
-
-
-
+ android:background="@drawable/dialpad_background" >
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/adn_list.xml b/res/layout/adn_list.xml
index 233221a04..8bb3ebb14 100644
--- a/res/layout/adn_list.xml
+++ b/res/layout/adn_list.xml
@@ -14,11 +14,7 @@
limitations under the License.
-->
-
-
+
-
+
diff --git a/res/layout/call_card.xml b/res/layout/call_card.xml
index 45da49e8d..aac9c1c29 100644
--- a/res/layout/call_card.xml
+++ b/res/layout/call_card.xml
@@ -14,27 +14,23 @@
limitations under the License.
-->
-
-
+ android:orientation="vertical">
-
+
- This is because the the in-call visual design is still in
- flux, and it's easier to shuffle layouts around this way
- rather than having sub-components in separate XML files.
+
+
- But once the in-call visual design is final, let's
- rearrange this XML to be more object-oriented:
-
- - Have the "call banners" (or at least the banner for call
- #1) come from separate XML files that get d when
- needed. Consider making "CallBanner" an actual widget.
-
- (Note: if we end up including the same XML file multiple
- times, like for both call banners, we won't have separate
- XML ids for (for example) "name" and "secondaryCallName".
- So CallCard.java will need to look up those views
- separately by calling findViewById on the specific
- container around each banner.)
-
- - Move any remaining hardcoded margin / padding / size
- constants (both here and in incall_touch_ui.xml) out to
- dimens.xml or styles.xml.
- -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/res/layout/caller_in_conference.xml b/res/layout/caller_in_conference.xml
index 93406ec91..f4aa6095e 100644
--- a/res/layout/caller_in_conference.xml
+++ b/res/layout/caller_in_conference.xml
@@ -4,9 +4,9 @@
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -14,102 +14,94 @@
limitations under the License.
-->
-
-
+
-
-
+
+ android:contentDescription="@string/goPrivate"/>
-
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="8dp"
+ android:gravity="center_vertical"
+ android:orientation="vertical">
+ android:id="@+id/conferenceCallerName"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:textSize="18sp"
+ android:singleLine="true"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_marginRight="2dp"
+ />
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:gravity="bottom">
+
+
+
-
-
-
+ android:textAllCaps="true"
+ android:gravity="left" />
+
-
-
-
-
-
-
-
+
+
-
+
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
index bdb135ab9..e112e1c93 100644
--- a/res/layout/dialpad.xml
+++ b/res/layout/dialpad.xml
@@ -33,13 +33,13 @@
android:layout_height="0px"
android:layout_weight="1">
@@ -47,13 +47,13 @@
android:layout_height="0px"
android:layout_weight="1">
@@ -61,13 +61,13 @@
android:layout_height="0px"
android:layout_weight="1">
@@ -75,13 +75,13 @@
android:layout_height="0px"
android:layout_weight="1">
diff --git a/res/layout/dialpad_additional_buttons.xml b/res/layout/dialpad_additional_buttons.xml
deleted file mode 100644
index 9f5f27a5e..000000000
--- a/res/layout/dialpad_additional_buttons.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index 7216e7ed9..1f2b6eda3 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -24,25 +24,67 @@
android:layout_marginRight="@dimen/dialpad_horizontal_margin">
-
-
+ android:background="@drawable/dialpad_background" >
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
diff --git a/res/layout/extra_button_row.xml b/res/layout/extra_button_row.xml
new file mode 100644
index 000000000..1144661cf
--- /dev/null
+++ b/res/layout/extra_button_row.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/get_pin2_screen.xml b/res/layout/get_pin2_screen.xml
index 27073a954..35c20c6ab 100644
--- a/res/layout/get_pin2_screen.xml
+++ b/res/layout/get_pin2_screen.xml
@@ -34,15 +34,27 @@
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/enter_pin2_text" />
-
+ android:orientation="horizontal">
+
+
+
diff --git a/res/layout/incall_screen.xml b/res/layout/incall_screen.xml
index 732c33c21..da9a50960 100644
--- a/res/layout/incall_screen.xml
+++ b/res/layout/incall_screen.xml
@@ -16,39 +16,28 @@
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/incall_touch_ui.xml b/res/layout/incall_touch_ui.xml
index 4404e2ac5..598707e6d 100644
--- a/res/layout/incall_touch_ui.xml
+++ b/res/layout/incall_touch_ui.xml
@@ -19,64 +19,26 @@
This layout is a fullscreen overlay, drawn on top of the
non-touch-sensitive parts of the in-call UI (i.e. the call card).
- The top-level View here is a FrameLayout with 2 children:
- (1) incomingCallWidget: the UI displayed while an incoming call is ringing
- (2) inCallControls: the widgets visible while a regular call (or calls) is in progress
- Exactly one of these is visible at any given moment.
+ The top-level View here is a InCallTouchUi (FrameLayout) with 2 children:
+ (1) inCallControls: the widgets visible while a regular call (or calls) is in progress
+ (2) incomingCallWidget: the UI displayed while an incoming call is ringing
+ In usual cases, one of these is visible at any given moment.
+ One exception is when incomingCallWidget is fading-out. At that moment, we show
+ inCallControls beneath incomingCallWidget for smoother transition.
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+ android:contentDescription="@string/onscreenEndCallText" />
-
+
+
@@ -217,11 +111,8 @@
android:contentDescription="@string/onscreenShowDialpadText"
/>
-
-
+
+
+
@@ -248,10 +137,8 @@
android:contentDescription="@string/onscreenMuteText"
/>
-
+
+
+ style="@style/VerticalSeparator" />
+
@@ -305,4 +189,52 @@
-
+
+
+
+
+
+
+
diff --git a/res/layout/manage_conference_panel.xml b/res/layout/manage_conference_panel.xml
index b819f090a..7baf09b39 100644
--- a/res/layout/manage_conference_panel.xml
+++ b/res/layout/manage_conference_panel.xml
@@ -48,29 +48,36 @@
android:visibility="gone"/>
-
-
+
+
-
-
-
+ android:background="?android:attr/selectableItemBackground"
+ android:clickable="true"
+ android:orientation="horizontal">
+
+
-
+
+
+
+
@@ -78,16 +85,16 @@
android:id="@+id/conferenceList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_below="@id/manageConferenceHeader"
- android:layout_marginTop="8dip"
- android:layout_marginBottom="60dip">
+ android:layout_below="@id/manageConferenceHeader">
+ android:layout_height="wrap_content"
+ android:showDividers="middle|end"
+ android:divider="?android:attr/listDivider">
@@ -121,25 +128,4 @@
-
-
-
-
-
-
diff --git a/res/layout/ongoing_call_notification.xml b/res/layout/ongoing_call_notification.xml
deleted file mode 100644
index 8b6992e9c..000000000
--- a/res/layout/ongoing_call_notification.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/outgoing_call_broadcaster.xml b/res/layout/outgoing_call_broadcaster.xml
new file mode 100644
index 000000000..eb1464732
--- /dev/null
+++ b/res/layout/outgoing_call_broadcaster.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/res/layout/primary_call_info.xml b/res/layout/primary_call_info.xml
new file mode 100644
index 000000000..73718ee83
--- /dev/null
+++ b/res/layout/primary_call_info.xml
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/secondary_call_info.xml b/res/layout/secondary_call_info.xml
new file mode 100644
index 000000000..0e6e65f81
--- /dev/null
+++ b/res/layout/secondary_call_info.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/sim_ndp.xml b/res/layout/sim_ndp.xml
index 64b33734f..f2a543039 100644
--- a/res/layout/sim_ndp.xml
+++ b/res/layout/sim_ndp.xml
@@ -4,9 +4,9 @@
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,7 +20,7 @@
android:layout_height="match_parent"
android:paddingLeft="20dip"
android:paddingRight="20dip">
-
+
-
+
+ android:paddingRight="20dip" />
@@ -59,8 +58,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="20dip"
- android:paddingRight="20dip"
- android:layout_centerHorizontal="true" />
+ android:paddingRight="20dip" />
@@ -81,5 +79,5 @@
android:colorBackground="#80808080"
android:text="@string/requesting_unlock" />
-
+
diff --git a/res/mipmap-hdpi/ic_launcher_contacts.png b/res/mipmap-hdpi/ic_launcher_contacts.png
index d73031991..e0136f666 100644
Binary files a/res/mipmap-hdpi/ic_launcher_contacts.png and b/res/mipmap-hdpi/ic_launcher_contacts.png differ
diff --git a/res/mipmap-mdpi/ic_launcher_contacts.png b/res/mipmap-mdpi/ic_launcher_contacts.png
index c79ae14e9..3d490c388 100644
Binary files a/res/mipmap-mdpi/ic_launcher_contacts.png and b/res/mipmap-mdpi/ic_launcher_contacts.png differ
diff --git a/res/mipmap-xhdpi/ic_launcher_contacts.png b/res/mipmap-xhdpi/ic_launcher_contacts.png
index ca3aa6374..dde3cbb8d 100644
Binary files a/res/mipmap-xhdpi/ic_launcher_contacts.png and b/res/mipmap-xhdpi/ic_launcher_contacts.png differ
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 1c544b815..6ae8c32cc 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -25,39 +25,27 @@
"Privaat nommer""Betaalfoon""Hou aan"
- "Huidige oproep""Lyn is besig""Netwerk besig""Geen reaksie nie, uitgetel""Bediener onbereikbaar""Nommer onbereikbaar""Verkeerde gebruikernaam of wagwoord"
- "Geskakel van buite netwerk"
+ "Geskakel van buite netwerk""Bedienerfout. Probeer later weer.""Geen sein""ACM-grens oorskry""Radio af"
- "Geen SIM of SIM-fout"
+ "Geen SIM of SIM-fout""Buite diensarea""Uitgaande oproepe word beperk deur FDN."
- "Jy kan nie uitgaande oproepe maak terwyl oproepblokkeer aan is nie."
+ "Jy kan nie uitgaande oproepe maak terwyl oproepblokkeer aan is nie.""Alle oproepe word deur toegangbeheer beperk.""Noodoproepe word beperk deur toegangbeheer.""Gewone oproepe word beperk deur toegangbeheer."
- "CDMA: Foon gesluit tot kragsiklus."
- "CDMA: Oproep verlore."
- "CDMA: Oproep onderskep."
- "CDMA: herrangskik."
- "CDMA: Diensopsie verwerp."
- "CDMA: herprobeer-bevel."
- "CDMA: Toegang onsuksesvol."
- "CDMA: Voorgespring."
- "Net noodoproepe is moontlik."
- "Ongeldige nommer"
+ "Ongeldige nommer""Konferensie-oproep""Oproep is verlore."
- "Herprobeer"
- "Oproep verlore""OK""MMI-kode begin""USSD-kode loop tans…"
@@ -69,23 +57,14 @@
"Bedraade kopfoon""Bluetooth""Stuur die volgende tone?"\n
- "Stuur tone"\n
+ "Stuur luitone"\n"Stuur""Ja""Nee"
- "Vervang die wilde karakter met"
+ "Vervang die plekhouerkarakter met""Vermiste stemboodskapnommer""Geen stemboodskapnommer is op die SIM-kaart gestoor nie.""Voeg nommer by"
- "Laai tans…"
- "Sleutel PIN-kode in om SIM-kaart te ontsluit."
- "SIM ontsluit"
- "Nuwe SIM PIN-kode"
- "Voer nuwe SIM PIN-kode weer in om te bevestig"
- "Die SIM-PIN\'s wat jy ingesleutel het stem nie ooreen nie. Probeer asseblief weer."
- "Voer PUK-kode in om SIM-kaart te ontsluit"
- "Verkeerde PUK-kode!"
- "Gaan voort""Jou SIM-kaart is oopgesluit. Jou foon sluit tans oop…""SIM-netwerk ontsluit PIN""Ontsluit"
@@ -93,8 +72,6 @@
"Versoek tans netwerkontsluiting…""Netwerkaanvraag onsuksesvol ontsluit.""Netwerkontsluiting suksesvol."
- "IMEI"
- "MEID""GSM-oproepinstellings""CDMA-oproepinstellings""Toegangspuntname"
@@ -109,6 +86,7 @@
"Bykomende net-CDMA-oproepinstellings""Netwerkdiensinstellings""Beller-ID"
+ "Laai tans instellings...""Nommer versteek in uitgaande oproepe""Nommer wat vertoon in uitgaande oproepe""Gebruik verstek beheerinstellings om my nommer te vertoon in uitgaande oproepe"
@@ -127,17 +105,17 @@
"Nommer wanneer besig""Stuur aan na {0}""Gedeaktiveer"
- "Jou draer ondersteun nie die deaktivering van oproepaanstuur wanneer jou foon beset is nie."
+ "Jou diensverskaffer ondersteun nie die deaktivering van oproepaanstuur wanneer jou foon beset is nie.""Stuur aan wanneer nie beantwoord nie""Nommer wanneer onbeantwoord""Stuur aan na {0}""Gedeaktiveer"
- "Jou draer ondersteun nie die deaktivering van oproepaanstuur wanneer jou foon nie geantwoord word nie."
+ "Jou diensverskaffer ondersteun nie deaktivering van oproepaanstuur wanneer jou foon nie antwoord nie.""Stuur aan wanneer onbereikbaar""Nommer wanneer onbereikbaar""Stuur aan na {0}""Gedeaktiveer"
- "Jou draer ondersteun nie die deaktiveer van oproepaanstuur wanneer jou foon onbereikbaar is nie."
+ "Jou diensverskaffer ondersteun nie die deaktivering van oproepaanstuur wanneer jou foon onbereikbaar is nie.""Belinstellings""Oproepinstellingsfout""Lees tans instellings…"
@@ -145,8 +123,8 @@
"Stel tans instellings terug…""Onverwagte antwoord van netwerk.""Netwerk- of SIM-kaartfout."
- "Bewerkings word net vir belbeperking-nommers toegelaat."
- "Skakel asseblief die radio aan voor jy na hierdie instellings kyk."
+ "Die instelling op jou foonprogram se belperking-nommers is aangeskakel. As gevolg hiervan werk sommige oproepverwante kenmerke nie."
+ "Skakel die radio aan voordat jy na hierdie instellings kyk.""OK""Aktiveer""Deaktiveer"
@@ -156,10 +134,9 @@
"Versteek nommer""Wys nommer"
- "Stoor stemboodskapnommer""Stemboodskapnommer verander."
- "Verandering van stemboodskapsnommer onsuksesvol."\n"Kontak asseblief jou draer as die probleem voortduur."
- "Verandering van aanstuurnommer onsuksesvol."\n"Kontak asseblief jou draer as hierdie probleem voortduur."
+ "Kon nie die stemboodskapnommer verander nie."\n" Kontak jou diensverskaffer indien hierdie probleem voortduur."
+ "Kon nie die aanstuurnommer verander nie."\n"Kontak jou diensverskaffer indien hierdie probleem voortduur.""Kon nie die huidige aanstuur-instellings opspoor en stoor nie."\n"Skakel oor na nuwe diensverskaffer in elk geval?""Geen veranderinge is gemaak nie.""Kies stemboodskapdiens"
@@ -171,14 +148,14 @@
"Deursoek netwerke""Fout het voorgekom terwyl netwerke gesoek is.""Registreer op %s…"
- "Jou SIM-kaart laat nie \'n verbinding na hierdie netwerk toe nie."
- "Kan nie tans aan hierdie netwerk koppel nie. Probeer later weer."
+ "Jou SIM-kaart laat nie \'n verbinding na hierdie netwerk toe nie."
+ "Kan nie nou aan hierdie netwerk koppel nie. Probeer later weer.""Geregistreer op die netwerk."
- "Kies \'n netwerkoperateur"
+ "Kies \'n netwerkoperateur""Soek alle beskikbare netwerke"
- "Kies outomaties"
- "Kies voorkeurnetwerk outomaties"
- "Outomatiese registrasie..."
+ "Kies outomaties"
+ "Kies voorkeurnetwerk outomaties"
+ "Outomatiese registrasie...""Netwerkmodus""Verander die netwerkbedryfsmodus""Voorkeurnetwerk-modus"
@@ -192,17 +169,17 @@
"Voorkeurnetwerk-modus: net EvDo""Voorkeurnetwerk-modus: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""Net EvDo""CDMA sonder EvDo"
- "CDMA / EvDo outomaties"
- "GSM / WCDMA outomaties"
+ "CDMA/EvDo outomaties"
+ "GSM/WCDMA outomaties""Net WCDMA""Net GSM"
- "GSM / WCDMA verkies"
+ "GSM/WCDMA verkies"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Data geaktiveer"
@@ -210,12 +187,11 @@
"Dataswerwing""Verbind met datadienste tydens swerwing""Verbind met datadienste tydens swerwing"
- "Jy het dataverbinding verloor, want jy het jou tuisnetwerk verlaat met dataswerwing afgeskakel."
+ "Jy het dataverbinding verloor omdat jy wegbeweeg het van jou tuisnetwerk af sonder om dataswerwing weer aan te skakel.""Laat dataswerwing toe? Dit kan baie duur wees!""GSM//UMTS-opsies""CDMA-opsies""Datagebruik"
- "Draer-databeleid""Data in huidige tydperk gebruik""Datagebruiksperiode""Datatempobeleid"
@@ -230,7 +206,6 @@
"Datatempo verminder na %1$d Kb/s as datagebruiklimiet oorskry word""Meer inligting oor jou draer se mobielenetwerk-datagebruikbeleid"
- "Seluitsending-SMS""Seluitsending-SMS""Seluitsending-SMS""Seluitsending-SMS geaktiveer"
@@ -271,15 +246,6 @@
"Koreaans""Chinees""Hebreeus"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Tale""Plaaslike weer"
@@ -309,9 +275,9 @@
"Werksgeleenthede""Werksgeleenthede geaktiveer""Werksgeleenthede gedeaktiveer"
- "Medies, gesondheid en hospitaal"
- "Medies, gesondheid en hospitaal geaktiveer"
- "Medies, gesondheid en hospitaal gedeaktiveer"
+ "Medies, gesondheid en hospitaal"
+ "Medies, gesondheid en hospitaal geaktiveer"
+ "Medies, gesondheid en hospitaal gedeaktiveer""Tegnologienuus""Tegnologienuus geaktiveer""Tegnologienuus gedeaktiveer"
@@ -326,35 +292,17 @@
"Net WCDMA""Net GSM""GSM/WCDA (WCDMA word verkies)"
-
-
- "0"
- "1"
- "2"
- "3""Gebruik slegs 2G-netwerke""Spaar battery""Stelselkeuse"
- "Verander die cdma-swerfmodus"
+ "Verander die CDMA-swerfmodus""Stelselkeuse""Net tuis""Outomaties"
- "CDMA-swerfmodus"
- "Verander die cdma-swerfmodus"
- "CDMA-swerfmodus"
-
- "Net tuisnetwerke"
- "Geaffilieerde netwerke"
- "Enige netwerk"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-intekening""CDMA-netwerkvoorkeure""Nog nie geïmplementeer nie!""CDMA-netwerkvoorkeure"
@@ -363,21 +311,11 @@
"Net CDMA""Net EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-intekening""Wissel tussen RUIM/SIM en NV""intekening""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktiveer toestel""Stel datadiens op"
@@ -394,18 +332,16 @@
"Bestuur vaste skakelnommers""Verander PIN vir FDN-toegang""Bestuur lys van foonnommers"
- "Stemprivaatheid"
+ "Stemprivaatheid""Aktiveer verbeterde privaatheidsmodus"
- "TTY-modus"
- "Aktiveer TTY-modus""TTY-modus""Stel TTY-modus"
- "Outoherprobeer"
- "Aktiveer outoherprobeer-modus"
+ "Outoherprobeer"
+ "Aktiveer outoherprobeer-modus""Voeg kontak by""Verander kontak""Vee kontak uit"
- "Sleutel PIN2 in"
+ "Voer PIN2 in""Naam""Nommer""Stoor"
@@ -418,56 +354,50 @@
"Vee belbeperking-nommer uit""Verwyder belbeperking-nommer…""Belbeperking-nommer uitgevee."
- "FDN nie opgedateer nie: jy het \'n verkeerde PIN ingevoer."
- "FDN nie opgedateer nie: nommer mag nie meer as 20 syfers wees nie."
+ "FDN is nie opgedateer nie omdat jy \'n verkeerde PIN ingevoer het."
+ "FDN is nie opgedateer nie, omdat die getal nie 20 syfers kan oorskry nie."
+ "FDN is nie bygewerk nie. Die PIN2 was verkeerd of die foonnommer is verwerp.""Lees tans van SIM-kaart af…""Geen kontakte op jou SIM-kaart nie.""Kies kontakte om in te voer"
- "Skakel asseblief vliegtuigmodus af om kontakte in te voer vanaf SIM-kaart."
+ "Skakel vliegtuigmodus af om kontakte in te voer vanaf die SIM-kaart.""Aktiveer/deaktiveer SIM-PIN""Verander SIM-PIN""SIM PIN:""Ou PIN""Nuwe PIN""Bevestig nuwe PIN"
- "Die ou PIN wat jy ingesleutel het is verkeerd. Probeer asseblief weer."
- "Die PIN\'s wat jy ingesleutel het stem nie ooreen nie. Probeer asseblief weer."
+ "Die ou PIN wat jy ingevoer het, is verkeerd. Probeer weer."
+ "Die PIN\'s wat jy ingevoer het, stem nie ooreen nie. Probeer weer.""Sleutel \'n PIN wat 4 to 8 nommers lank is, in.""Deaktiveer SIM-PIN""Aktiveer SIM-PIN""Wag asseblief…"
- "SIM-PIN geaktiveer"
- "SIM-PIN gedeaktiveer"
- "Die PIN wat jy ingesleutel het is verkeerd"
- "SIM-PIN suksesvol verander"
+ "SIM-PIN geaktiveer"
+ "SIM-PIN gedeaktiveer."
+ "Die PIN wat jy ingevoer het, is verkeerd."
+ "SIM-PIN suksesvol verander.""Wagwoord verkeerd, SIM is gesluit! PUK2 versoek.""PIN2""Ou PIN2""Nuwe PIN2""Bevestig nuwe PIN2"
- "Die PUK2 wat jy ingevoer het is verkeerd. Probeer asseblief weer."
- "Die ou PIN2 wat jy ingesleutel het is verkeerd. Probeer asseblief weer."
- "Die PIN2\'s wat jy ingesleutel het stem nie ooreen nie. Probeer asseblief weer."
+ "Die PUK2 wat jy ingevoer het, is verkeerd. Probeer asseblief weer."
+ "Die ou PIN2 wat jy ingevoer het, is verkeerd. Probeer asseblief weer."
+ "Die PIN2\'s wat jy ingevoer het, stem nie ooreen nie. Probeer asseblief weer.""Sleutel \'n PIN2 wat 4 to 8 nommers lank is, in.""Sleutel \'n 8-nommer-PUK2 in."
- "PIN2 suksesvol verander"
+ "PIN2 suksesvol verander""Sleutel PUK2-kode in"
- "Wagwoord verkeerd, verander asseblief PIN2 en probeer weer!"
- "Wagwoord verkeerd, SIM is gesluit! PUK2 versoek."
+ "Wagwoord verkeerd. Verander PIN2 en probeer weer!"
+ "Wagwoord verkeerd, SIM is gesluit. PUK2 word versoek.""Klaar""Konferensie-oproep %s"
- "Terug na oproep"
- "Gaan voort sonder SIM-kaart"
- "Geen SIM-kaart gevind nie. Sit asseblief \'n SIM-kaart in die foon."
- "Maak toe"
- "Ontsluit"
- "Bevestig tans PIN…""Stemboodskapnommer""Bel""Probeer weer""Konferensie-oproep""Inkomende oproep"
- "Cdma-oproepwag""Oproep beëindig""Hou aan""Lui af"
@@ -477,7 +407,7 @@
"Gemiste oproepe""%s gemiste oproepe""Gemiste oproep van %s"
- "Huidige oproep (%s)"
+ "Oproep aan die gang""Hou aan""Inkomende oproep""Nuwe stemboodskap"
@@ -486,13 +416,15 @@
"Stemboodskapnommer onbekend""Geen diens nie""Gekose netwerk (%s) nie beskikbaar nie"
+ "Lui af"
+ "Bel terug"
+ "Boodskap""Om \'n oproep te maak, skakel eers vliegtuigmodus af.""Nie geregistreer op netwerk nie.""Mobiele netwerk nie beskikbaar nie.""Oproep nie gestuur nie, geen geldige nommer ingevoer nie.""Oproep nie gestuur nie.""Begin MMI-volgorde…"
- "Begin tans kenmerkode-proses...""Nieondersteunde diens.""Kan nie oproepe wissel nie.""Kan nie oproep verdeel nie."
@@ -504,18 +436,13 @@
"Noodoproep""Skakel tans radio aan…""Buite diensarea, probeer tans weer…"
- "Oproep nie gestuur nie, %s is nie \'n noodnommer nie!"
- "Oproep nie gestuur nie, bel asseblief \'n noodnommer!"
+ "Oproep nie gestuur nie. %s is nie \'n noodnommer nie!"
+ "Oproep nie gestuur nie. Bel asseblief \'n noodnommer!""Gebruik sleutelbord om te bel"
- "Raak-nommerbord""Hou aan"
- "Ontaanhou""Einde""Nommerbord"
- "Versteek"
- "Spreker""Demp"
- "Bluetooth""Voeg oproep by""Voeg oproepe saam""Ruil"
@@ -534,36 +461,31 @@
"TTY HCO""TTY VCO"
- "ERI-teks"
- "STMF-tone"
+ "STMF-tone""Stel die lengte van STMF-tone in""Normaal""Lank"
- "Netwerkboodskap"
+ "Netwerkboodskap""Aktiveer jou foon""\'n Spesiale oproep moet gemaak word om jou foondiens te aktiveer. "\n\n"Druk \"Aktiveer\" en luister dan na die instruksies om jou foon te aktiveer."
- "Raak \"Aktiveer\" om \'n spesiale oproep te maak wat jou foon op jou draer se mobiele netwerk aktiveer sodat jy oproepe kan maak en aan mobiele datanetwerke kan koppel.""Slaan aktivering oor?""As jy aktivering oorslaan, kan jy nie oproepe maak of aan mobiele datanetwerke koppel nie (hoewel jy aan Wi-Fi-netwerke kan koppel). Tot tyd en wyl jy jou foon aktiveer, word jy gevra om dit te aktiveer elke keer wat jy dit aanskakel.""Slaan oor"
- "Aktiveer""Aktiveer"
- "Foon is geaktiveer!"
+ "Foon is geaktiveer.""Probleem met aktivering""Volg die gesproke instruksies tot jy hoor dat aktivering afgehandel is."
- "Nommerbord""Spreker"
- "Wag asseblief terwyl jou foon geprogrammeer word."
- "Programmering onsuksesvol"
+ "Wag terwyl jou foon geprogrammeer word."
+ "Programmering onsuksesvol""Jou foon is nou geaktiveer. Dit kan tot 15 minute duur vir die diens om te begin."
- "Jou foon het nie geaktiveer nie. "\n"Jy moet dalk \'n area met beter dekking probeer (naby \'n venster, of buite). "\n\n"Probeer asseblief weer of skakel kliëntediens vir meer opsies."
+ "Jou foon het nie geaktiveer nie. "\n"Jy moet dalk \'n area met beter dekking probeer (naby \'n venster of buite). "\n\n"Probeer weer of skakel kliëntediens vir meer opsies.""OORMAAT SPC-MISLUKKINGS""Terug""Probeer weer""Volgende"
- "Terug""EcmExitDialoog""Noodterugbel-modus betree""Noodterugbel-modus"
@@ -573,87 +495,69 @@
"Geen dataverbinding vir %s minute nie"
- "Die foon sal in noodterugbel-modus wees vir %s minuut. Terwyl dit in dié modus is kan geen programme gebruik word wat \'n dataverbinding benodig nie. Wil jy graag nou verlaat?"
- "Die foon sal in noodterugbel-modus wees vir %s minute. Terwyl jy in dié modus is kan geen programme gebruik word wat \'n dataverbinding gebruik nie. Wil jy graag nou verlaat?"
+ "Die telefoon sal in Noodterugbel-modus wees vir %s minuut. Terwyl in hierdie modus kan geen programme wat \'n dataverbinding nodig het, gebruik word nie. Wil jy nou uitgaan?"
+ "Die telefoon sal in Noodterugbel-modus wees vir %s minute. Terwyl in hierdie modus kan geen programme wat \'n dataverbinding nodig het, gebruik word nie. Wil jy nou uitgaan?"
- "Die gekose handeling is nie beskikbaar terwyl jy in noodterugbel-modus is nie. Die foon sal in dié modus wees vir %s minuut. Wil jy graag nou verlaat?"
- "Die gekose handeling is nie beskikbaar tydens noodterugbel-modus nie. Die foon sal in dié modus wees vir %s minute. Wil jy graag nou verlaat?"
+ "Die geselekteerde aksie is nie beskikbaar terwyl in die Noodterugbelmodus is nie. Die foon sal in hierdie modus vir %s minuut wees. Wil jy nou uitgaan?"
+ "Die geselekteerde aksie is nie beskikbaar terwyl in die Noodterugbelmodus is nie. Die foon sal in hierdie modus vir %s minuut wees. Wil jy nou uitgaan?"
- "Die gekose handeling is nie beskikbaar tydens \'n noodoproep nie"
- "Verlaat noodterugbel-modus"
+ "Die gekose handeling is nie beskikbaar tydens \'n noodoproep nie."
+ "Verlaat noodterugbel-modus""Ja""Nee""Maak toe"
- "Stemboodskapinstellings"
- "<not set>"
- "Stemboodskapdiens"
- "Instellings vir %s"
+ "Diens"
+ "Opstelling"
+ "<Nie gestel nie>""Ander oproepinstellings"
- "Bel"
- "Bel via ^1"\n"^2"
- "Trek regs om te antwoord"
- "Trek links om luitoestel stil te maak"
- "Trek links om af te wys"
- "Trek regs om te antwoord en"\n"aktiewe oproep aan te hou"
- "Trek regs om te antwoord en"\n"aktiewe oproep te beëindig"
- "Trek regs om te antwoord en"\n"die aangehoude oproep te beëindig"
- "Antwoord"
- "Wys af"
+ "Bel via %s""kontakfoto""gaan privaat""kies kontak""Internetoproep-instellings""Internetoproep-rekeninge (SIP-rekeninge)""Rekeninge"
- "Bestuur internetoproep-rekeninge (SIP-rekeninge) en -status""Ontvang inkomende oproepe""Verminder batteryleeftyd"
- "Stel oproepopsies op""Gebruik internetoproepe""Gebruik internetbel (net Wi-Fi)""Vir alle oproepe wanneer datanetwerk beskikbaar is""Net vir internetoproepe""Vra vir elke oproep""Vir alle oproepe"
- "Outoregistrasie"
- "Uitgaande oproep via SIP""Maak oproep""Gebruik internetoproep-rekening:""Gebruik altyd om internetoproepe te maak"
- "Jy kan die oproepinstellings gebruik om die verstek internetoproep-rekening te verander deur \'n ander rekening te kies onder Internetoproep-instellings"
+ "Jy kan verander watter Internetoproep-rekening om by verstek te gebruik vanaf die Foon > Instellings> Internetoproep-instellings > Rekeningeskerm.""Selfoonoproep""Internetoproep""Geen internetoproep-rekening nie"
- "Daar is geen internetoproep-rekeninge op hierdie foon nie. Voeg nou een by?"
+ "Daar is geen internetoproep-rekeninge op die selfoon nie. Wil jy nou een byvoeg?""Voeg by""Voeg rekening by""Verwyder rekening""SIP-rekeninge"
- "Stoor tans die rekening..."
- "Verwyder tans die rekening..."
+ "Stoor tans die rekening..."
+ "Verwyder tans die rekening...""Stoor""Gooi weg""Sluit die profiel""OK""Sluit"
- "Primêre"
- "Maak hierdie my primêre rekening"
- "Gebruik vir uitgaande oproepe"
- "Gevorderde instellings""Primêre rekening. %s""Kontroleer tans status..."
- "Registreer tans..."
- "Probeer nog steeds..."
- "Ontvang nie oproepe nie"
- "Rekeningregistrasie gestop omdat daar geen internetverbinding is nie"
- "Rekeningregistrasie gestaak omdat daar geen Wi-Fi-verbinding is nie"
- "Rekeningregistrasie het misluk"
- "Ontvang oproepe"
+ "Registreer tans..."
+ "Probeer nog steeds..."
+ "Ontvang nie oproepe nie."
+ "Rekeningregistrasie is gestop omdat daar geen internetverbinding is nie."
+ "Rekeningregistrasie is gestaak omdat daar geen Wi-Fi-verbinding is nie."
+ "Rekeningregistrasie het misluk."
+ "Ontvang oproepe.""Rekeningregistrasie het misluk: (%s); sal later probeer"
- "Rekeningregistrasie het misluk: verkeerde gebruikernaam of wagwoord"
- "Rekening registrasie onsuksesvol: kontroleer die bedienernaam"
- "Hierdie rekening word tans gebruik deur die %s program"
+ "Rekeningregistrasie het misluk: Verkeerde gebruikernaam of wagwoord"
+ "Rekening registrasie onsuksesvol: Kontroleer die bedienernaam."
+ "Hierdie rekening word tans gebruik deur die %s-program.""SIP-rekeningdetails""SIP-rekeningdetails""Bediener"
@@ -664,9 +568,6 @@
"Poortnommer""Vervoertipe""Stuur lewendighou"
- "Stuur SIP lewendighou-boodskappe"
- "Outoregistrasie"
- "Registreer die profiel outomaties""Stel as primêre rekening""Gebruik vir uitgaande oproepe""Opsionele instellings"
@@ -677,12 +578,12 @@
"<Opsioneel>""▷ Raak om almal te wys""▽ Raak om almal te versteek"
- "%s word vereis, kan nie leeg wees nie"
- "Poortnommer moet tussen 1000 en 65534 wees"
+ "%s word vereis, kan nie leeg wees nie."
+ "Poortnommer moet tussen 1 000 en 65 534 wees.""Geen internetverbinding nie""Geen Wi-Fi-verbinding nie"
- "Om \'n internetoproep te maak, kontroleer eers jou internetverbinding"
- "Jy moet aan \'n Wi-Fi-netwerk gekoppel wees vir internetoproepe (gebruik draadloos-en-netwerkinstellings)"
+ "Om \'n internetoproep te maak, kontroleer eers jou internetverbinding."
+ "Jy moet aan \'n Wi-Fi-netwerk gekoppel wees vir internetoproepe (gebruik Wi-Fi- en netwerkinstellings)""Internetoproepe nie ondersteun nie""Outomaties""Stuur altyd"
@@ -691,7 +592,7 @@
"Ek bel jou nou-nou terug.""Ek bel jou later.""Kan nie nou praat nie. Bel my later?"
- "Gepasmaakte boodskap..."
+ "Gepasmaakte boodskap""Vinnige antwoorde""Redigeer vinnige antwoorde"
@@ -709,7 +610,6 @@
"ster""nul""huts"
- "soek""bel""terugvee""Luidsprekerfoon geaktiveer."
@@ -719,9 +619,14 @@
"Wys af""Vibreer""Vibreer"
+ "Luitoon""Altyd""Net wanneer stil""Nooit"
+ "Foon-luitoon"
+ "Vibreer wanneer lui"
+ "Belblad-raaktone"
+ "Luitoon"
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 6db0859f7..71872e168 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -25,39 +25,27 @@
"የግል ቁጥር""የክፍያ ስልክ""ያዝናቆይ"
- "የአሁን ጥሪ""መስመሩ ተይዟል""አውታረመረብ ተይዟል""ምንም ምላሽ የለም፣ ጊዜው አልቋል""አገልጋይ አይደረስበትም""ቁጥር አይደረስበትም""የተሳሳየ ተጠቃሚ ስም እና ይለፍ ቃል"
- "ከአውታረ መረብ ውጪ የተደወለ"
+ "ከአውታረ መረብ ውጪ የተደወለ""የአግልጋይ ስህተት፣ እባክዎ በድጋሚ ቆይተው ይሞክሩ።""ምንም አመልካች የለም""ACM ወሰንአልፏል""ሬዲዮ ጠፍቷል"
- "ምንም SIM ፣ ወይም የSIM ስህተት የለም"
+ "ምንም SIM ፣ ወይም የSIM ስህተት የለም""ከአገልግሎት መስጫ ክልል ውጪ""ወጪ ጥሪዎች በFDN ተከልክለዋል።"
- "የጥሪ ክልከላበርቶ ወጪ ጥሪ ማድረግ አይችሉም።"
+ "የጥሪ ክልከላ በርቶ ሳለ የወጪ ጥሪ ማድረግ አትችልም።""ሁሉም ጥሪዎች በመድረሻ መቆጣጠሪያ የተከለከሉ ናቸው።""የአደጋ ጊዜ ጥሪዎች በድረስ መቆጣጠሪያተከልክልዋል።""መደበኛ ጥሪዎች በድረስ መቆጣጠሪያ ተከልክልዋል።"
- "CDMA: እስከኃይል ዑዸት ስልክ ተቆልፏል።"
- "CDMA፡ጥሪ ተቋርጧል"
- "CDMA፡ጥሪ ተስተጓጉሏል"
- "CDMA:ዳግምስርዓትአስይዝ።"
- "CDMA: የአገልግሎት አማራጭ አትቀበል።"
- "CDMA:ትዕዛዝ ዳግም ሞክር።"
- "CDMA፤ መዳረሻ ስኬታማ አልነበረም፡፡"
- "CDMA: አስቀድሞ ያዘ።"
- "የአደጋ ጊዜ ጥሪዎች ብቻ የሚቻሉ ናቸው።"
- "ትክክል ያልሆነ ቁጠር"
+ "ተቀባይነት የሌለው ቁጥር""የስብሰባ ጥሪ""ጥሪ ተቋርጣል።"
- "እንደገና ሞክር"
- "ጥሪ ተቋርጣል""እሺ""የMMI ኮድ ጀምሯል""የUSSD ኮድ አሂድ ላይ ነው..."
@@ -69,23 +57,14 @@
"ባለ ገመድ የጆሮ ማዳመጫ""ብሉቱዝ""የሚከተሉትንድምፆች ላክ?"\n
- "ድምፆች በመላክ ላይ"\n
+ "ድምፆች በመላክ ላይ "\n" ላክ""አዎ""አይ"
- "የልቅ ምልክትተካ"
+ "የልቅ ምልክት ተካ በ""የድምፅመልዕክት ቁጥርአመለጠ""በSIM ካርዱ ላይምንም የድምፅመልዕክት ቁጥር አልከተቀመጠም።""ቁጥር አክል"
- "በመስቀል ላይ…"
- "SIM ካርድ ለማስከፈት PUK ኮድ ተይብ።"
- "SIM ተከፍቷል"
- "አዲስSIM PIN ኮድ"
- "ለማረጋገጥ አዲስ SIM PIN ኮድ እንደገና ተይብ"
- "ያስገቡዋቸው የSIM PINኦች አይዛመዱም።እባክዎ እንደገና ይሞክሩ።"
- "SIM ካርድ ለማስከፈት PUK ኮድ ተይብ"
- "የተሳሳተ PUK ኮድ!"
- "ቀጥል""የSIM ካርድዎ አልታገደም። ስልክዎ በመከፈት ላይነው...""የSIM አውታረመረብ መክፈቻ PIN""ክፈት"
@@ -93,8 +72,6 @@
"አውታረመረብ ለማስከፈት በመጠየቅ ላይ...""የአውታረ መረብ ክፈትጥየቃአል ተሳካም።""የአውታረ መረብክፈት ተሳክቷል።"
- "IMEI"
- "MEID""የGSM ጥሪ ቅንብሮች""CDMA የጥሪ ቅንብሮች""የድረስ ነጥብ ስም"
@@ -109,6 +86,7 @@
"ተጨማሪCDMA ጥሪ ቅንብሮችብቻ""የአውታረ መረብአገልግሎት ቅንብሮች""የደዋይ ID"
+ "ቅንብሮች በመጫን ላይ...""በወጪ ጥሪዎች ላይ ቁጥርተደብቋል""በወጪ ጥሪዎች ላይ ቁጥር ታይቷል""በወጪ ጥሪዎች ቁጥሬን ለማሳየት የነባሪ ከዋኝቅንብሮችን ተጠቀም"
@@ -127,17 +105,17 @@
"ቁጥሩ ሲያዝ""ወደ {0}በማስተላለፍ ላይ""ቦዝኗል"
- "ስልክዎ ስራ ሲበዛበት የድምጽ ተያያዥ ሞደምዎ የጥሪ-ማስተላለፍ ማንቂያውን አይደግፍም።"
+ "ስልክህ ስራ ሲበዛበት የድምጽ ተያያዥ ሞደም አቅራቢህ የጥሪ-ማስተላለፍን አይደግፍም።""ካልተነሳ አስላልፍ""ቁጥሩ ሳይነሳ""ወደ {0}በማስተላለፍ ላይ""ቦዝኗል"
- "ስልክዎ ስራ ሲበዛበት የድምጽ ተያያዥ ሞደምዎ የጥሪ-ማስተላለፍ ማንቂያውን አይደግፍም።"
+ "ስልክህ በማይመልስበት ጊዜ የድምጽ ተያያዥ ሞደም አቅራቢህ የጥሪ-ማስተላለፍን አይደግፍም።""ሳይገኝአስተላልፍ""ቁጥሩሳይገኝ""ወደ {0}በማስተላለፍ ላይ""ቦዝኗል"
- "ስልክዎ ሳይደረስበት የድምጽ ተያያዥ ሞደምዎ የጥሪ-ማስተላለፍ ማንቂያውን አይደግፍም።"
+ "ስልክህ በማይደረስበት ጊዜ የድምጽ ተያያዥ ሞደምህ የጥሪ-ማስተላለፍን አይደግፍም።""የጥሪ ቅንብሮች""የጥሪ ቅንብሮች ስህተት""ቅንብሮች በማንበብ ላይ..."
@@ -145,8 +123,8 @@
"ቅንብሮችን በማህደር ላይ...""ከአውታረ መረብ ያልተጠበቀ ምላሽ""አውታረ መረብ ወይም SIM ካርድ ስህተት።"
- "በቋሚ መደወያ ቁጥሮች ላይ ብቻ ክወናዎች ተፈቅደዋል።"
- "እባክዎ እነዚህን ቅንብሮች ከማየትዎ በፊት ሬዲዮዎን ያብሩ።"
+ "የስልክህ መተግበሪያ የተወሰነ ስልክ ቁጥሮች ቅንብር የበራ ነው። በዚህም ውጤት መሰረት፣ ከጥሪ ጋር የተያያዙ አንዳንድ ባህሪያት እየሰሩ አይደለም።"
+ " እነዚህን ቅንብሮች ከማየትህ በፊት ሬዲዮኑን አብራ።""እሺ""አንቃ""አቦዝን"
@@ -156,10 +134,9 @@
"ቁጥር ደብቅ""ቁጥርአሳይ"
- "የድምፅመልዕክት ቁጥር አስቀምጥ""የድምፅ መልዕክት ቁጥርተለውጧል።"
- "የድምፅ መልዕክት ቁጠር ለውጥ አልተሳካም።"\n"እባክዎ ይህ ችግር ከቀጠለ የድምጽ ተያያዥ ሞደምዎን ያግኙ።"
- "የአስተላላፊ ቁጥር ለውጥ አልተሳካም። "\n" እባክዎ ይህ ችግር ከቀጠለ የድምጽ ተያያዥ ሞደምዎን ያግኙ።"
+ "የድምጽ ፖስታ ቁጥርን መለወጥ አልተቻለም፡፡ ይህ ችግር በዚህ ከቀጠለ የድምጸ ተያያዥ ሞደም አቅራቢህን "\n"አግኝ፡፡"
+ "የማስተላለፊያ ቁጥርን መለወጥ አልተቻለም፡፡ ይህ ችግር በዚህ ከቀጠለ የድምጸ ተያያዥ ሞደም አቅራቢህን "\n"አግኝ፡፡""አሁን ያሉትን ማስተላለፊያ ቁጥሮች ቅንጅቶችን ሰርስሮ ማውጣትና ማስቀመጥ አልተቻለም፡፡"\n"ወደ አዲስ አቅራቢ የሆነ ሆኖ ቀይር?""ምንም ለውጥ አልተደረገም።""የድምፅ መልዕክት አገልግሎት ምረጥ"
@@ -171,14 +148,14 @@
"አውታረመረቦች ፈልግ""አውታረ መረቦች በመፈለግ ላይ ስህተት""በ%s ላይ በመመዝገብ ላይ..."
- "የSIM ካርድዎወደዚህ አውታረመረብ ተያያዥ አይፈቅድም።"
- "በዚህ ሰዓት እዚህ አውታረ መረብ ላይ ለመያያዝ አልተቻለም። እባክዎ ትንሽ ቆይተው እንደገና ይሞክሩ።"
+ "የSIM ካርድህ ወደዚህ አውታረመረብ ግንኙነት አይፈቅድም።"
+ "በአሁን ጊዜ ወደዚህ አውታረ መረብ ማገናኘት አልተቻለም፡፡ በኋላ እንደገና ሞክር፡፡""በአውታረ መረብ ላይ የተመዘገበ።"
- "የአውታረመረብ ከዋኝ ምረጥ"
+ "የአውታረ መረብ ከዋኝ ምረጥ""የሚገኙ አውታረመረቦች በሙሉ ፈልግ"
- "በራስ ሰር ምረጥ"
- "በራስሰር ተመራጭ አውታረ መረብ ምረጥ"
- "ራስ ሰር ምዝገባ...."
+ "በራስ ሰር ምረጥ"
+ "ተመራጭ አውታረ መረብን በራስ ሰር ምረጥ"
+ "ራስ ሰር ምዝገባ....""የአውታረ መረብ ሁነታ""የአውታረመረቡንመከወኛ ሁነታ ለውጥ""ተመራጭ የአውታረ መረብ ሁነታ"
@@ -192,17 +169,17 @@
"ተመራጭ የአውታረመረብ ፡EvDo ሁነታ ብቻ""ተመራጭ የአውታረመረብ ፡LTE / CDMA ሁነታ"
- "LTE / CDMA"
+ "LTE / CDMA""EvDo ብቻ""CDMA ያለ EvDo"
- "CDMA/EvDo ራስ"
- "GSM / WCDMA ራስ"
+ "CDMA/EvDo በራስ"
+ "GSM / WCDMA ራስ""WCDMA ብቻ""GSM ብቻ"
- "GSM / WCDMA ተመራጭ"
+ "GSM / WCDMA ተመራጭ"
- "LTE / CDMA"
+ "LTE / CDMA""CDMA""ውሂብ ነቅቷል"
@@ -210,12 +187,11 @@
"ውሂብ በእንቅስቃሴ ላይ""በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ""በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ"
- "የውሂብዎ ተያያዥነት ጠፍቷል ምክንያቱም የቤትዎን አውታረመረብ በእንቅስቃሴ ላይ አጥፋተው በመተዎ ነው።"
+ "የውሂብ ተያያዥነት የጠፋበት ምክንያት የቤትህን አውታረ መረብ እንቅስቃሴ ውሂብ በማጥፋትህ ነው።""የእንቅስቃሴ ላይ ውሂብ ይፈቀድ? ላቅ ያለ የእንቅስቃሴ ላይ ክፍያ ሊያክሉ ይችላሉ!""GSM/UMTS አማራጮች""CDMA አማራጮች""የውሂብ አጠቃቀም"
- "የድምጽ ተያያዥ ሞደም ውሂብ ፖሊሲ""የውሂብ በአሁኑ ክፍለ ጊዜ ተጠቅሟል""የውሂብ አጠቃቀም ክፍለ ጊዜ""የውሂብ ደረጃ ፖሊሲ"
@@ -226,7 +202,6 @@
"የ%1$d٪ ዙር ሄዷል "\n"ቀጣይ ክፍለ ጊዜ በ%2$d ቀናት(%3$s) ይጀምራል""የውሂብ አጠቃቀም ወሰን ከበለጠየውሂብ ደረጃ ወደ %1$dKb/s ቀንሷል።""ተጨማሪ መረጃ ስለ ድምጸ ተያያዥ ሞደምዎ ተንቀሳቃሽ ስልክ አውታረ መረብዎ ውሂብ አጠቃቀም ፖሊሲ"
- "የተንቀሳቃሽ ስልክ SMS ስርጭት""የተንቀሳቃሽ ስልክ SMS ስርጭት""የተንቀሳቃሽ ስልክ SMS ስርጭት""የ SMS ህዋስ ማሰራጫ አልነቃም"
@@ -267,15 +242,6 @@
"ኮሪያኛ""ቻይናዊ""እብራይስጥ"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"" ቋንቋዎች"" የአካባቢው አየር ሁኔታ"
@@ -305,9 +271,9 @@
"የቅጥር ዕድሎች""የቅጥር ዕድሎች ነቅተዋል""የቅጥር ዕድሎች አልነቃም"
- "ሕክምና፣ጤናእናሆስፒታል"
- "ሕክምና፣ጤና እና ሆስፒታል ነቅቷል"
- "ሕክምና፣ጤናእናሆስፒታል አልነቃም"
+ "ሕክምና፣ጤና እና ሆስፒታል"
+ "ሕክምና፣ጤና እና ሆስፒታል ነቅተዋል"
+ "ሕክምና፣ ጤና እና ሆስፒታል አልነቃም""የቴክኖሎጂ ዜና""የቴክኖሎጂ ዜና ነቅቷል""የቴክኖሎጂ ዜና አልነቃም"
@@ -322,35 +288,17 @@
"WCDMA ብቻ""GSM ብቻ""GSM/WCDA (WCDMA ይመረጣል)"
-
-
- "0"
- "1"
- "2"
- "3""የ2G አውታረመረቦችን ብቻ ተጠቀም""ባትሪ ይቆጥባል""የሥርዓት ምርጫ"
- "የCDMA በእንቅስቃሴ ላይሁነታ ለውጥ"
+ "የCDMA በእንቅስቃሴ ላይ ሁኔታ ለውጥ""የሥርዓት ምርጫ""መነሻ ብቻ""ራስ ሰር"
- " CDMA እንቅስቃሴሁነታ"
- "የCDMA በእንቅስቃሴ ላይሁነታ ለውጥ"
- " CDMA እንቅስቃሴሁነታ"
-
- "መነሻ አውታረመረቦች ብቻ"
- "ተባባሪ አውታረመረቦች"
- "ማንኛውም አውታረመረብ"
-
-
- "0"
- "1"
- "2"
-
+ "የCDMA ደንበኝነት ምዝገባ""CDMA የአውታረ መረብ አማራጮች""ገና አልተተገበረም!""CDMA የአውታረ መረብ አማራጮች"
@@ -359,21 +307,11 @@
"CDMA ብቻ""EvDo ብቻ"
-
- "0"
- "1"
- "2"
-
- "የCDMA ምዝገባ""በRUIM/SIM እና NV መካከል ለውጥ""ምዝገባ""RUIM/SIM""NV"
-
-
- "0"
- "1""መሣሪያ አግብር""የውሂብ አግልግሎት አዋቅር"
@@ -390,18 +328,16 @@
"የቋሚ መደወያቁጥሮችአደራጅ""ለFDN ድረስ PIN ለውጥ""የስልክ ቁጥር ዝርዝር አደራጅ"
- "የድምፅብሕትውነት"
+ "የድምፅ ብቸኝነት""የተሻሻለውን የብሕትውነት ሁነታ አስችል"
- "TTY ሁነታ"
- "TTY ሁነታ አስችል""TTY ሁነታ""TTY ሁነት አዘጋጅ"
- "ራስዳግም ሞክር"
- "ራስ ድጋሚ አስጀምር ሁነታ አስችል"
+ "ራስ ዳግም ሞክር"
+ "ራስ ድጋሚ አስጀምር ሁናቴ አስችል""እውቅያዎች አክል""እውቅያ አርትዕ""እውቅያ ሰርዝ"
- "PIN2 አስገባ"
+ "ፒን2 ተይብ""ስም""ቁጥር""አስቀምጥ"
@@ -414,56 +350,50 @@
"በቋሚ መደወያ ቁጥር ሰርዝ""በቋሚ መደወያ ቁጥር በመሰረዝ ላይ...""ቋሚ መደወያ ቁጥር ተሰርዟል።"
- "FDN አልነቃም፡ የተሳሳተ PIN አስገብተዋል።"
- "FDN አልነቃም፡ ቁጥር ከ 20 አሀዝ መብለጥ አይችልም።"
+ "የተሳሳተ ፒን ስላስገባህ FDN አልዘመነም፡፡"
+ "ቁጥሩ ከ20 አሀዞች በላይ መብለጥ ስለማይችል FDN አልዘመነም፡፡"
+ "FDN አልዘመነም። ፒን2 ትክክል አልነበረም፣ ወይም የስልክ ቁጥሩ ተቀባይነት አላገኘም።""ከSIM ካርድ ላይ በማንበብ ላይ...""በ SIM ካርድዎ ላይ ዕውቂያዎች የሉም።""ለማስገባት ዕውቂያዎች ምረጥ"
- "ከሲም ካርድ ላይ ዕውቂያዎችን ለማስመጣት፣ የአይሮፕላን ሁኔታን እባክህ አጥፋ፡፡"
+ "ከሲም ካርድ ላይ ዕውቂያዎችን ለማስመጣት፣ የአይሮፕላን ሁኔታን መጀመሪያ አጥፋ፡፡""SIM PIN አንቃ/አቦዝን""የSIM PIN ለውጥ""SIM PIN:""የድሮ PIN""አዲስPIN""አዲስ PIN አረጋግጥ"
- "የተየቡት የድሮ PIN ትክክል አይደለም። እባክዎ እንደገና ይሞክሩ።"
- "ያስገቡዋቸው PINኦች አይዛመዱም።እባክዎ እንደገና ይሞክሩ።"
+ "የተየበከው የድሮ ፒን ትክክል አይደለም። እባክህ እንደገና ሞክር።"
+ "ያስገባኸው ፒኖች አይዛመዱም። እንደገና ሞክር።""ከ4 እስከ 8 ቁጥሮች የያዘ PIN ተይብ""የSIM PIN አቦዝን""SIM PIN አንቃ""እባክዎ ይጠብቁ…"
- "SIM PIN ነቅቷል"
- "SIM PIN ቦዝኗል"
- "የተየቡት PIN የተሳሳተ ነበር።"
- "SIM PIN በተሳካ ተለውጧል"
+ "SIM PIN ነቅቷል"
+ "SIM ፒን ቦዝኗል"
+ "የተየብከው PIN የተሳሳተ ነበር።"
+ "SIM PIN በተሳካ ተለውጧል""የተሳሳተይለፍ ቃል፣SIM ተቆልፏል! PUK2 ይጠየቃል።""PIN2""የድሮ PIN2""አዲስPIN2""አዲስ PIN አረጋግጥ"
- "የተየቡት PUK2 ኮድ ትክክል አይደለም።እባክዎ እንደገና ይሞክሩ።"
- "የተየቡት የድሮ PIN2 ትክክል አይደለም። እባክዎ እንደገና ይሞክሩ።"
- "ያስገቡት PIN2 አይዛመድም። እባክዎ እንደገና ይሞክሩ።"
+ "የተየብክው PUK2 ኮድ ትክክል አይደለም።እንደገና ሞክር።"
+ "የተየብከው የድሮ PIN2 ትክክል አይደለም።እባክህ እንደገና ሞክር።"
+ "ያስገባኸው PIN2 አይዛመድም። እንደገና ሞክር።""ከ4 እስከ 8 ቁጥሮች የሆኑPIN2 ተይብ።""8 ቁጥሮች የሆኑ PUK2 ተይብ።"
- "PIN2 በተሳካ ተለውጧል"
+ "PIN2 በተሳካ ተለውጧል""የPUK2 ኮድ ተይብ"
- "የተሳሳተ የይለፍ ቃል፣ እባክዎ PIN2 ይለውጡ እና ድጋሚ ይሞክሩ!"
- "የተሳሳተይለፍ ቃል፣SIM ተቆልፏል! PUK2 ተጠይቋል።"
+ "የተሳሳተ የይለፍ ቃል፣ ፒን2 ለውጥ እና ድጋሚ ሞክር!"
+ "የተሳሳተ ይለፍ ቃል፣ SIM ተቆልፏል! PUK2 ይጠየቃል።""ተከናውኗል""የስብሰባ ጥሪ%s"
- "ወደ ጥሪ ተመለስ"
- "ያለSIM ካርድ ቀጥል"
- "ምንም SIM ካርድ አልተገኘም።እባክዎ ወደ ስልኩ SIM ካርድ ያስገቡ።"
- "አጥፋ"
- "ክፈት"
- "PIN በማረጋገጥ ላይ…""የድምፅ መልዕክት ቁጥር""በመደወል ላይ""እንደገና በመሞከር ላይ""የስብሰባ ጥሪ""ገቢ ጥሪ"
- "CDMA ጥሪ በመጠበቅ ላይ""ጥሪ አብቅቷል""ያዝናቆይ""በመዝጋት ላይ"
@@ -473,7 +403,7 @@
"ያመለጡ ጥሪዎች""%s ያመለጡ ጥሪዎች""ከ%s ያመለጠ ጥሪ"
- "የአሁኑ ጥሪ (%s)"
+ "እየተካሄደ ያለ ጥሪ""ያዝናቆይ""ገቢ ጥሪ""አዲስ የድምፅ መልዕክት"
@@ -482,13 +412,15 @@
"የማይታወቅ የድምፅ መልዕክት ቁጥር""ምንም አገልግሎት የለም""የተመረጠ አውታረመረብ(%s) የለም"
+ "ዝጋ"
+ "መልሰህ ደውል"
+ "መልዕክት""ለመደወል፣ መጀመሪያየአውሮፕላኑን ሁነታ አጥፋ።""በአውታረ መረቡ ላይ አልተመዘገበም።""የተንቀሳቃሽ አደራጅ የለም።""ጥሪ አልተላከም፣ ትክክለኛ ቁጥር አልገባም።""ጥሪ አልተላከም።""የMMI sequence…"
- "የኮድቅደም ተከተልባህሪይ ማስጀመር...""የማይደገፍ አገልግሎት።""ጥሪዎችን ለመቀያየር አልተቻለም።""ጥሪዎችን ለመለየት አልተቻለም።"
@@ -500,18 +432,13 @@
"የአደጋ ጊዜ ጥሪ""ሬዲዮ ክፈት""ከአገልግሎት መስጫ ክልል ውጪ፣ ድጋሚ በመሞከር ላይ..."
- "ጥሪ አልተላከም፣%s የአደጋ ጊዜ ቁጥር አይደለም!"
- "ጥሪ አልተላከም፣እባክዎ የአደጋ ጊዜ ቁጥር ይደውሉ።"
+ "ጥሪ አልተላከም፣ %s የአደጋ ቁጥር አይደለም!"
+ "ጥሪ አልተላከም፣ እባክህ የአደጋ ጊዜ ቁጥር ደውል።""ለመደወል የሰሌዳ ቁልፍ ተጠቀም"
- "የድምፅ ቁልፍ ሰሌዳን ንካ""ያዝ"
- "አትያዝ""መጨረሻ""የመደወያ ሰሌዳ"
- "ደብቅ"
- "ድምጽ ማጉያ""ድምፀ-ከል አድርግ"
- "ብሉቱዝ""ጥሪ ያክሉ""ጥሪዎችን አዋህድ""ማገላበጥ"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI ፅሁፍ"
- "የDTMF ድምፅ"
+ "የDTMF ድምጾች""የDTMF ድምፆች ርዝመት አዘጋጅ""መደበኛ""ረጅም"
- "የአውታረ መረብ መልዕክት"
+ "የአውታረ መረብ መልዕክት""ስልክዎን ያግብሩ""የስልክዎን አገለግሎት ለማግበር ልዩ ጥሪ ያስፈልጋል።"\n\n" \"አግብር\" ከተጫኑ በኋላ ስልክዎን ለማግበር የቀረቡትን መመሪያዎች ያዳምጡ።"
- "በስልክዎ ልዩ ጥሪ ለማድረግ ስልክዎን በድምጽ ተያያዥ ሞደም ተንቀሳቃሽ ስልክ አውታረ መረብ ላይ የሚያገብረውን የስልክዎን \"አግብር\" ይንኩ፣ ጥሪዎችን ማድረግ እና ወደ ተንቀሳቃሽ ስልክ ውሂብ አውታረመረብ መገናኘት ይችላሉ።""አግብር ይዝለል?"
- "ማግበር ካዘለሉ፣ ጥሪ ማድረግ ወይም ተንቀሳቃሽ ስልክ ውሂብ አውታረ መረብ(በWi-Fi አውታረ መረቦች ማያያዝ ቢችሉም እንኳ) ማያያዝ አይችሉም። ስልክዎን እስኪያገብሩ ድረስ፣ ባበሩት ቁጥር እንዲያገብሩት ይጠየቃሉ።"
+ "ማግበር ካዘለሉ፣ ጥሪ ማድረግ ወይም ተንቀሳቃሽ ስልክ ውሂብ አውታረ መረብ(በWi-Fi አውታረ መረቦች ማያያዝ ቢችሉም እንኳን ) ማያያዝ አይችሉም። ስልክዎን እስኪያገብሩ ድረስ፣ ባበሩት ቁጥር እንዲያገብሩት ይጠየቃሉ።""ዝለል"
- "አግብር""አግብር"
- "ስልክ አግብርዋል!"
+ "ስልክ አግብረሃል!""ከአግብር ጋር ያለ ችግር""አግብር መጠናቀቁን እስኪሰሙ የተነገሩትን መመሪያዎች ይከተሉ።"
- "ቁልፍ ሰሌዳ""ድምጽ ማጉያ"
- "እባክዎ ስልክዎ ፍርግም የተደረገእስኪሆን ድረስ ይቆዩ።"
- "መፈርገም አልተሳካም"
+ "ስልክህ ፍርግም የተደረገ እስኪሆን ድረስ ቆይ።"
+ "መፈርገም አልተሳካም""አሁን ስልክዎ አግብሯል።አገልግሎቱ ለመጀመር እስከ 15 ደቂቃዎች ሊፈጅ ይችላል።"
- "ስልክዎ አላገበረም።"\n" ጥሩ ሽፋን ያለበት አካባቢ ማግኘት ያስፈልግዎታል(መስኮት፣ ወይም ውጪ አካባቢ)።"\n\n"ለበለጠ አማራጮች የደንበኞች አገልግሎት ይደውሉ ወይም እንደገና ይሞክሩ።"
+ "ስልክህ አላገበረም።"\n" ጥሩ ሽፋን ያለበት አካባቢ ማግኘት ያስፈልግሃል (መስኮት፣ ወይም ውጪ አካባቢ)።ለበለጠ አማራጮች የደንበኞች አገልግሎት ደውል ወይም "\n\n"እንደገና ሞክር።""ከልክ ያለፈ የSPC መታወክ""ተመለስ""በድጋሚ ሞክር""በመቀጠል"
- "ተመለስ""EcmExitDialog""የአደጋጊዜ ተዘዋዋሪ ጥሪ ሁነታ ገብቷል""የአደጋጊዜ ተዘዋዋሪጥሪ ሁነታ"
@@ -569,87 +491,69 @@
"ለ %s ደቂቃ ምንም የውሂብ ተያያዥነት የለም"
- "ለ%s ደቂቃ ስልኩ የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁነታ ላይ ይሆናል። በዚህ ሁነታ ላይ ሲሆን ምንም ትግበራዎች በውሂብ ተያየዥነት መጠቀም አይቻልም።አሁን መውጣት ፈለጉ?"
- "ለ%sደቂቃ ስልኩ የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁነታ ላይ ይሆናል። በዚህ ሁነታ ላይ ሲሆን ምንም ትግበራዎች በውሂብ ተያየዥ መጠቀም አይቻልም።አሁን መውጣት ፈለጉ?"
+ "ለ%s ደቂቃ ስልኩ በየአደጋ ጥሪ ሁናቴ ውስጥ ይሆናል፡፡ በዚህ ሁናቴ ውስጥ ምንም መተግበሪያዎች የውሂብ ግንኙነት በመጠቀም መጠቀም አይቻልም፡፡ አሁን መውጣት ትፈልጋለህ?"
+ "ለ%sደቂቃዎች ስልኩ በየአደጋ ጥሪ ሁናቴ ውስጥ ይሆናል፡፡ በዚህ ሁናቴ ውስጥ ምንም መተግበሪያዎች የውሂብ ግንኙነት በመጠቀም መጠቀም አይቻልም፡፡ አሁን መውጣት ትፈልጋለህ?"
- "የተመረጠው ርምጃ በአደጋ ተዘዋዋሪ ጥሪ ሁነታ ጊዜ የለም።ስልኩ በዚህ ሁነታ ለ%s ደቂቃ ይሆናል።አሁን መውጣት ፈለጉ?"
- "የተመረጠው ርምጃ በአደጋ ተዘዋዋሪ ጥሪ ሁነታ ጊዜ የለም።ስልኩ በዚህ ሁነታ ለ%sደቂቃዎች ይሆናል።አሁን መውጣት ፈለጉ?"
+ "የአደጋ ጥሪ ሁናቴ በሚሆንበት ጊዜ የተመረጠው እርምጃ አይገኝም፡፡ ስልኩ ለ%s ደቂቃ በዚህ ሁናቴ ውስጥ ይሆናል፡፡ አሁን መውጣት ትፈልጋለህ?"
+ "የአደጋ ጥሪ ሁናቴ በሚሆንበት ጊዜ የተመረጠው እርምጃ አይገኝም፡፡ ስልኩ ለ%s ደቂቃዎች በዚህ ሁናቴ ውስጥ ይሆናል፡፡ አሁን መውጣት ትፈልጋለህ?"
- "የተመረጠው ርምጃ በአደጋ ጥሪ ጊዜ ለክንውን ሊገኝ አይችልም።"
- "የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁነታ ወጥቷል"
+ "የተመረጠው እርምጃ በአደጋ ጥሪ ጊዜ ለክንውን ሊገኝ አይችልም።"
+ "የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁኔታ ወጥቷል""አዎ""አይ""እንቢበል"
- "የድምፅመልዕክት ቅንብሮች"
- "<አልተዘጋጀም>"
- "የድምፅመልዕክት አገልግሎት"
- "የ%s ቅንብሮች"
+ "አገልግሎት"
+ "አዋቅር"
+ "<አልተዘጋጀም >""ሌላ ጥሪ ቅንብሮች"
- "ደውል"
- "በ^1"\n"^2""በኩል መደወል"
- "ለመመለስ ወደ ቀኝ ጎትት"
- "መጥሪያን ፀጥ ለማድረግ ወደ ግራ ጎትት"
- "ለማውረድ ወደ ግራ ጎትት"
- "ለመመለስ ወደ ቀኝ ጎትት እና "\n" ገባሪ ጥሪ ጨርስ"
- "ለመመለስ ወደ ቀኝ ጎትት እና "\n" ገባሪ ጥሪ ጨርስ"
- "ለመመለስ ወደ ቀኝ ጎትት እና"\n" በቆይ ላይ ያለ ጥሪ ጨርስ"
- "መልስ"
- "ውድቅ"
+ "በ%s በኩል በመደወል ላይ""የዕውቂያ ፎቶ""ወደ ብሕታዊነት ሂድ""ዕውቂያ ምረጥ""የበይነ መረብ ጥሪ ቅንብሮች""የበይነ መረብ ጥሪ (SIP) መለያ""መለያዎች"
- "የበይነ መረብ ጥሪ (SIP) መለያዎች እና ሁኔታዎችን አደራጅ""ገቢ ጥሪዎች ተቀበል""የባትሪ ህይወት ይቀንሳል"
- "የጥሪ አማራጮችን አዋቅር""የበየነ መረብ ጥሪ ተጠቀም""የበይነመረብ ጥሪ(Wi-Fi ብቻ) ተጠቀም""ለሁሉም ጥሪዎች የውሂብ አውታረመረብ ሲኖር""ለበይነ መረብ ጥሪዎች ብቻ""ለእያንዳንዱ ጥሪ ጠይቅ""ለሁሉም ጥሪዎች"
- "ራስ-ምዝገባ"
- "በSIP በኩል ወጪ ጥሪ""ጥሪ አድርግ""የበየነ መረብ ጥሪ መለያ ተጠቀም፡""ሁልጊዜ የበይነመረብ ጥሪዎችን ለማድረግ ተጠቀም"
- "በበይነ መረብ ቅንብሮች ስር የተለየ መለያ ለመጠቀም በመምረጥ የትኛው በየነመረብ ጥሪ መለያ የጥሪ ቅንብሮችን ለመለወጥ በነባሪ ጥሪ ሲደረግ መጠቀም ይችላሉ፣"
+ "የትኛውን የበየነ መረብ የመደወያ መለያ ለመጠቀም በነባሪ ከስልኩ> ቅንብሮች > የበየነ መረብ ቅንብሮች > የመለያዎች ማሳያ መለወጥ ትችላለህ፡፡""የተንቀሳቃሽ ስልክ ጥሪ""የበይነመረብ ጥሪ""ምንም የበይነ መረብ ጥሪ መለያ"
- "በዚህ ስልክ ላይ ምንም የበይነመረብ መለያዎች የሉም። አሁን አንድ ይታከል?"
+ "በዚህ ስልክ ላይ ምንም የበየነ መረብ መደወያ መለያዎች የሉም፡፡ አሁን አንድ ማከል ትፈልጋለህ?""አክል""መለያ አክል""መለያ አስወግድ""SIP መለያዎች"
- "መለያውን በማስቀመጥ ላይ.."
- "መለያውን በማስወገድ ላይ..."
+ "መለያውን በማስቀመጥ ላይ.."
+ "መለያውን በማስወገድ ላይ...""አስቀምጥ""አስወግድ""መገለጫውን ዝጋ""ይሁን""ዝጋ"
- "ቀዳሚ"
- "ይህን የኔን ቀዳሚ መለያ አድርግ"
- "ለወደ ውጪ ጥሪዎች ይጠቅማል"
- "የላቁ ቅንብሮች""ቀዳሚ መለያ፡%s""ሁኔታን በመመልከት ላይ..."
- "በመመዝገብ ላይ...."
- "አሁንም በመሞከር ላይ..."
- "ጥሪዎች አይቀበልም"
- "የበይነመረብ ተያያዥነት ስለሌለ የመለያ ምዝገባ ቆሟል"
- "ምንም የWi-Fi ተያያዥ ስለሌለ የመለያ ምዝገባ ቆሟል"
- "የመለያ ምዝገባ ስኬታማ አልነበረም"
- "ጥሪዎች በመቀበል ላይ"
+ "በመመዝገብ ላይ...."
+ "አሁንም በመሞከር ላይ..."
+ "ጥሪዎች አይቀበልም"
+ "የበይነመረብ ግኑኝነት ስለሌለ የመለያ ምዝገባ ቆሟል፡፡"
+ "ምንም የWi-Fi ተያያዥ ስለሌለ የመለያ ምዝገባ ቆሟል"
+ "የመለያ ምዝገባ ስኬታማ አልነበረም"
+ "ጥሪዎች በመቀበል ላይ""የመለያ ምዝገባ ስኬታማ አልነበረም፤ (%s)፣ ኋላ ላይ እንደገና ይሞከራል"
- "የመለያ ምዝገባ ስኬታማ አልነበረም፤ የተሳሳተ ተጠቃሚ ስም ወይም ይለፍ ቃል"
- "የመለያ ምዝገባ ስኬታማ አልነበረም፤ የአገልጋዩን ስም ትክክለኛነት አረጋግጥ"
- "ይህ መለያ በአሁኑ ጊዜ በ%s ትግበራ ጥቅም ላይ ነው።"
+ "የመለያ ምዝገባ ስኬታማ አልነበረም፤ የተሳሳተ ተጠቃሚ ስም ወይም ይለፍ ቃል፡፡"
+ "የመለያ ምዝገባ ስኬታማ አልነበረም፤ የአገልጋዩን ስም ትክክለኛነት አረጋግጥ፡፡"
+ "ይህ መለያ በአሁኑ ጊዜ በ %sትግበራ ጥቅም ላይ ነው።""SIP መለያ ዝርዝሮች""SIP መለያ ዝርዝሮች""አገልጋይ"
@@ -660,9 +564,6 @@
"ወደብ ቁጥር""የማጓጓዣ አይነት""keep-alive ላክ"
- "የ SIP keep-alive መልዕክቶች ላክ"
- "ራስ-ምዝገባ"
- "መገለጫውን በራስ ሰር መዝግብ""እንደ ቀዳሚ መለያ አዘጋጅ""ለወደ ውጪ ጥሪዎች ይጠቅማል""አማራጭ ቅንብሮች"
@@ -673,12 +574,12 @@
"<አማራጭ>""▷ ሁሉን ለማሳየት ንካ""ሁሉንም ለመደበቅ ▽ ንካ"
- "%s ይጠበቃል፣ ባዶ ቦታ መተው አልተቻለም።"
- "የወደብ ቁጥር በ1000 እና 65534 ውስጥ መሆን አለበት።"
+ "%sይጠይቃል፣ ባዶ ቦታ መተው አልተቻለም።"
+ "የወደብ ቁጥር በ1000 እና 65534 ውስጥ መሆን አለበት።""ምንም በይነ መረብ ተያያዥ የለም""ምንምWi-Fi ትይይዝ የለም"
- "የበይነ መረብ ጥሪ ለማድረግ፣ የበይነ መረብ መጀመሪያ ተያያዥነት ይመልከቱ"
- "ለአውታረ መረብ(የገመድ አልባ & አውታረ መረብ ቅንብሮችን ይጠቀሙ) ጥሪዎች ወደ Wi-Fi አውታረ መረብ መያያዝ አለብዎ።"
+ "የበይነ መረብ ጥሪ ለማድረግ፣ የበይነ መረብ መጀመሪያ ተያያዥነት ተመልከት"
+ "ለአውታረ መረብ(የገመድ አልባ & አውታረ መረብ ቅንጅቶችን ተጠቀም) ጥሪዎች ወደ Wi-Fi አውታረ መረብ ማገናኘት አለብሀ።""የበይነ መረብ ጥሪ አይደገፍም""ራስ ሰር""ሁልጊዜ ላክ"
@@ -687,7 +588,7 @@
"ወዲያው መልሼ እደውላለሁ።""ኋላ እደውላለሁ።""አሁን ማውራት አልችልም። ትንሽ ቆይተው ይደውሉ?"
- "ብጁ መልዕክት..."
+ "ብጁ መልዕክት""ፈጣን ምላሾች""ፈጣን ምላሾች አርትዕ"
@@ -705,7 +606,6 @@
"ኮከብ""ዜሮ""ፓውንድ"
- "ፈልግ""ደውል""የኋሊት ደምሳሽ""የስልክ ድምፅ ማጉያ ነቅቷል።"
@@ -715,9 +615,14 @@
"አትቀበል""ንዘር""ንዘር"
+ "የደውል ቅላጼ""ዘወትር"
- "ፀጥታ ሲሆን ብቻ"
- "በፍፁም"
+ "በፀጥታ ሲሆን ብቻ"
+ "በፍጹም"
+ "የስልክ ጥሪ ድምፅ"
+ "በሚደወልበት ጊዜ ንዘር"
+ "የመደወያ ሰሌዳ ድምፆች ዳስ"
+ "የደውል ቅላጼ"
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index aae36bc63..e96e27d41 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -25,39 +25,27 @@
"رقم خاص""هاتف الدفع""معلقة"
- "الاتصال الحالي""الخط مشغول""الشبكة مشغولة""ليس هناك استجابة، انقضت المهلة المحددة""لا يمكن الوصول إلى الخادم""الرقم لا يمكن الوصول إليه""اسم المستخدم غير صحيح أو كلمة المرور غير صحيحة"
- "تم الاتصال من خارج الشبكة"
+ "تم الاتصال من خارج الشبكة""خطأ بالخادم: إعادة المحاولة لاحقًا.""لا إشارة""تم تعدي حد ACM""تم إيقاف اللاسلكي"
- "لا توجد بطاقة SIM أو يوجد خطأ في بطاقة SIM"
+ "لا تتوفر بطاقة SIM أو حدث خطأ في البطاقة""خارج نطاق الخدمة""يتم تقييد المكالمات الصادرة بواسطة FDN."
- "لا يمكنك إجراء مكالمات صادرة أثناء تشغيل حظر المكالمات."
+ "لا يمكنك إجراء مكالمات صادرة أثناء تشغيل حظر المكالمات.""تم تقييد كل المكالمات بواسطة التحكم في الدخول.""تم تقييد مكالمات الطوارئ بواسطة التحكم في الدخول.""تم تقييد المكالمات العادية بواسطة التحكم في الدخول."
- "CDMA: تم تأمين الهاتف حتى دورة الطاقة."
- "CDMA: تم قطع الاتصال."
- "CDMA: تم اعتراض الاتصال."
- "CDMA: إعادة طلب."
- "CDMA: رفض خيار الخدمة."
- "CDMA: إعادة محاولة الطلب."
- "CDMA: لم يتم الدخول بنجاح."
- "CDMA: له الأولوية."
- "لا يمكن إجراء سوى مكالمات الطوارئ فقط."
- "رقم غير صالح"
+ "الرقم غير صالح""مكالمة جماعية""تم فقد الاتصال."
- "إعادة المحاولة"
- "تم فقد الاتصال""موافق""بدأ رمز MMI""جارٍ تشغيل رمز USSD..."
@@ -69,23 +57,14 @@
"سماعة رأس سلكية""بلوتوث""هل تريد إرسال النغمات التالية؟"\n
- "إرسال النغمات"\n
+ "إرسال النغمات"\n"إرسال""نعم""لا"
- "استبدال حرف البدل بـ"
+ "استبدال حرف البدل بـ""رقم البريد الصوتي مفقود""لم يتم تخزين رقم بريد صوتي على بطاقة SIM.""إضافة رقم"
- "جارٍ التحميل…"
- "اكتب رقم التعريف الشخصي لإلغاء تأمين بطاقة SIM."
- "تم إلغاء تأمين بطاقة SIM"
- "كود رقم تعريف شخصي جديد لبطاقة SIM"
- "اكتب رقم التعريف الشخصي الجديد لبطاقة SIM مرة أخرى للتأكيد"
- "أرقام التعريف الشخصي التي كتبتها غير مطابقة. الرجاء المحاولة مرة أخرى."
- "اكتب الرمز PUK لإلغاء تأمين بطاقة SIM"
- "رمز PUK غير صحيح!"
- "متابعة""تم إلغاء حظر بطاقة SIM. جارٍ إلغاء تأمين الهاتف...""رقم التعريف الشخصي لإلغاء تأمين شبكة SIM""إلغاء تأمين"
@@ -93,8 +72,6 @@
"جارٍ طلب إلغاء تأمين الشبكة...""لم ينجح طلب إلغاء تأمين الشبكة.""نجح إلغاء تأمين الشبكة."
- "IMEI"
- "MEID""إعدادات اتصال نظام GSM""إعدادات اتصال CDMA""الدخول إلى أسماء النقاط"
@@ -109,6 +86,7 @@
"إعدادات اتصال CDMA الإضافية فقط""إعدادات خدمة الشبكة""معرف المتصل"
+ "جارٍ تحميل الإعدادات…""الرقم مخفي في المكالمات الصادرة""الرقم المعروض في المكالمات الصادرة""استخدام إعدادات المشغل الافتراضية لعرض رقمي في المكالمات الصادرة"
@@ -127,17 +105,17 @@
"الرقم عندما يكون مشغولاً""إعادة التوجيه إلى {0}""معطّل"
- "لا يتيح مشغل شبكة الجوال تعطيل إعادة توجيه الاتصال عندما يكون هاتفك مشغولاً."
+ "لا يتيح مشغل شبكة الجوال تعطيل إعادة توجيه الاتصال عندما يكون هاتفك مشغولاً.""إعادة التوجيه عند عدم الرد""الرقم عندما لا يتم الرد""إعادة التوجيه إلى {0}""معطّل"
- "لا يتيح مشغل شبكة الجوال تعطيل إعادة توجيه الاتصال عند عدم رد هاتفك."
+ "لا يتيح مشغل شبكة الجوال تعطيل إعادة توجيه الاتصال عند عدم رد هاتفك.""إعادة التوجيه عندما لا يمكن الوصول""الرقم عندما لا يمكن الوصول""إعادة التوجيه إلى {0}""معطّل"
- "لا يتيح مشغل شبكة الجوال تعطيل إعادة توجيه الاتصال عند عدم التمكن من الوصول إلى هاتفك."
+ "لا يتيح مشغل شبكة الجوال تعطيل إعادة توجيه الاتصال عند عدم التمكن من الوصول إلى هاتفك.""إعدادات الاتصال""خطأ في إعدادات الاتصال""جارٍ قراءة الإعدادات..."
@@ -145,8 +123,8 @@
"جارٍ إعادة الإعدادات...""رد غير متوقع من الشبكة.""خطأ في الشبكة أو في بطاقة SIM"
- "غير مسموح سوى بعمليات التشغيل على أرقام الاتصال الثابت فقط."
- "الرجاء تشغيل اللاسلكي قبل عرض هذه الإعدادات."
+ "تم تشغيل إعداد أرقام الاتصال الثابتة بالتطبيق المثبت على هاتفك. ونتيجة لذلك، لن تعمل بعض الميزات المرتبطة بالمكالمات."
+ "شغّل اللاسلكي قبل عرض هذه الإعدادات.""موافق""تمكين""تعطيل"
@@ -156,10 +134,9 @@
"إخفاء الرقم""إظهار الرقم"
- "حفظ رقم البريد الصوتي""تم تغيير رقم البريد الصوتي."
- "تم تغيير رقم البريد الصوتي بنجاح."\n"الرجاء الاتصال بمشغل شبكة الجوال إذا استمرت المشكلة."
- "لم ينجح تغيير رقم إعادة التوجيه."\n"الرجاء الاتصال بمشغل شبكة الجوال إذا استمرت المشكلة."
+ "تعذر تغيير رقم البريد الصوتي."\n"يمكنك الاتصال بمشغل شبكة الجوال إذا استمرت هذه المشكلة في الظهور."
+ "تعذر تغيير رقم إعادة التوجيه."\n"اتصل بمشغل شبكة الجوّال إذا استمرت هذه المشكلة في الظهور.""تتعذر عملية استعادة إعدادات إعادة توجيه الأرقام الحالية وحفظها."\n"هل تريد الانتقال إلى الموزع الجديد على أي حال؟""لم يتم إجراء أية تغييرات.""اختيار خدمة البريد الصوتي"
@@ -171,14 +148,14 @@
"بحث في الشبكات""حدث خطأ أثناء البحث عن شبكات.""جارٍ التسجيل على %s..."
- "لا تسمح بطاقة SIM بالاتصال بهذه الشبكة."
- "يتعذر الاتصال بهذه الشبكة حاليًا. الرجاء المحاولة مرة أخرى لاحقًا."
+ "لا تسمح بطاقة SIM بالاتصال بهذه الشبكة."
+ "يتعذر الاتصال بهذه الشبكة في الوقت الحالي. حاول مرة أخرى لاحقًا.""مسجل على الشبكة."
- "تحديد مشغل شبكة"
+ "اختر مشغل شبكة جوال""البحث عن كل الشبكات المتاحة"
- "تحديد تلقائي"
- "تحديد الشبكة المفضلة تلقائيًا"
- "التسجيل التلقائي..."
+ "اختيار تلقائي"
+ "اختيار الشبكة المفضلة تلقائيًا"
+ "التسجيل التلقائي...""وضع الشبكة""تغيير وضع تشغيل الشبكة""وضع الشبكة المفضل"
@@ -192,17 +169,17 @@
"وضع الشبكة المفضل: EvDo فقط""وضع الشبكة المفضل: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo فقط""CDMA w/o EvDo"
- "CDMA / EvDo تلقائي"
- "GSM / WCDMA تلقائي"
+ "CDMA/EvDo تلقائي"
+ "GSM/WCDMA تلقائي""WCDMA فقط""نظام GSM فقط"
- "GSM / WCDMA المفضلة"
+ "GSM/WCDMA المفضلة"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""تم تمكين البيانات"
@@ -210,12 +187,11 @@
"تجوال البيانات""اتصال بخدمات البيانات عند التجوال""اتصال بخدمات البيانات عند التجوال"
- "لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تشغيل تجوال البيانات بشبكتك الرئيسية."
+ "لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تشغيل تجوال البيانات بشبكتك الرئيسية.""هل تريد السماح بتجوال البيانات؟ قد يكلفك ذلك رسوم تجوال مرتفعة!""خيارات نظام GSM/النظام العالمي لاتصالات الجوال عن بعد (UMTS)""خيارات CDMA""استخدام البيانات"
- "سياسة بيانات مشغل شبكة الجوال""البيانات المستخدمة في المدة الحالية""مدة استخدام البيانات""سياسية معدل البيانات"
@@ -226,7 +202,6 @@
"انقضت نسبة %1$d٪ من الدورة"\n"تبدأ الفترة التالية خلال %2$d يوم (%3$s)""تخفيض معدل البيانات إلى %1$d كيلوبايت/ثانية إذا تم تعدي حد البيانات""مزيد من المعلومات حول سياسة استخدام بيانات شبكة جوال مشغل شبكة الجوال"
- "الرسائل القصيرة SMS لبث الخلية""الرسائل القصيرة SMS لبث الخلية""الرسائل القصيرة SMS لبث الخلية""تم تمكين الرسائل القصيرة SMS لبث الخلية"
@@ -305,9 +280,9 @@
"فرص وظائف""تم تمكين فرص الوظائف""تم تعطيل فرص الوظائف"
- "طبي، الصحة والمستشفى"
- "تم تمكين الطبي والصحة والمستشفى"
- "تم تعطيل الطبي والصحة والمستشفى"
+ "طبي والصحة والمستشفى"
+ "تم تمكين الطبي والصحة والمستشفى"
+ "تم تعطيل الطبي والصحة والمستشفى""أخبار التكنولوجيا""تم تمكين أخبار التكنولوجيا""تم تعطيل أخبار التكنولوجيا"
@@ -322,35 +297,17 @@
"WCDMA فقط""نظام GSM فقط""GSM/WCDA (WCDMA المفضل)"
-
-
- "0"
- "1"
- "2"
- "3""استخدام شبكات 2G فقط""لحفظ البطارية""تحديد النظام"
- "تغيير وضع التجوال عبر CDMA"
+ "تغيير وضع التجوال عبر CDMA""تحديد النظام""الرئيسية فقط""تلقائي"
- "وضع التجوال عبر CDMA"
- "تغيير وضع التجوال عبر CDMA"
- "وضع التجوال CDMA"
-
- "الشبكات المنزلية فقط"
- "الشبكات التابعة"
- "أي شبكة"
-
-
- "0"
- "1"
- "2"
-
+ "اشتراك CDMA""تفضيلات شبكة CDMA""لم ينفذ بعد!""تفضيلات شبكة CDMA"
@@ -359,21 +316,11 @@
"CDMA فقط""EvDo فقط"
-
- "0"
- "1"
- "2"
-
- "اشتراك CDMA""تغيير بين RUIM/SIM وNV""الاشتراك""بطاقة RUIM/SIM""NV"
-
-
- "0"
- "1""تنشيط الجهاز""إعداد خدمة البيانات"
@@ -390,18 +337,16 @@
"إدارة أرقام الاتصال الثابتة""تغيير رقم التعريف الشخصي للدخول إلى FDN""إدارة قائمة أرقام الهاتف"
- "خصوصية الصوت"
+ "خصوصية الصوت""تمكين وضع الخصوصية المحسن"
- "وضع TTY"
- "تمكين وضع TTY""وضع TTY""تعيين وضع TTY"
- "إعادة المحاولة تلقائيًا"
- "تمكين وضع إعادة المحاولة التلقائي"
+ "إعادة المحاولة تلقائيًا"
+ "تمكين وضع إعادة المحاولة التلقائي""إضافة جهة اتصال""تعديل جهة الاتصال""حذف جهة الاتصال"
- "أدخل رقم التعريف الشخصي PIN2"
+ "اكتب رقم تعريف شخصي PIN2""الاسم""الرقم""حفظ"
@@ -414,56 +359,50 @@
"حذف رقم الاتصال الثابت""جارٍ حذف رقم الاتصال الثابت...""تم حذف رقم الاتصال الثابت."
- "لم يتم تحديث FDN: لقد أدخلت رقم تعريف شخصي غير صحيح."
- "لم يتم تحديث FDN: لا يمكن للرقم أن يتعدى 20 رقمًا"
+ "لم يتم تحديث FDN لأنك كتبت رقم تعريف شخصي غير صحيح."
+ "لم يتم تحديث FDN لأن العدد لا يمكن أن يتجاوز 20 رقمًا."
+ "لم يتم تحديث FDN. رقم PIN2 غير صحيح، أو تم رفض رقم الهاتف.""جارٍ القراءة من بطاقة SIM...""ليس هناك جهات اتصال على بطاقة SIM.""حدد جهات اتصال لاستيرادها"
- "لاستيراد جهات الاتصال من بطاقة SIM، الرجاء إيقاف وضع الطائرة."
+ "لاستيراد جهات اتصال من بطاقة SIM، الرجاء إيقاف وضع الطائرة أولاً.""تمكين/تعطيل رقم التعريف الشخصي لبطاقة SIM""تغيير رقم التعريف الشخصي لبطاقة SIM""رقم التعريف الشخصي لبطاقة SIM:""رقم التعريف الشخصي القديم""رقم التعريف الشخصي الجديد""تأكيد رقم التعريف الشخصي الجديد"
- "رقم التعريف الشخصي القديم الذي كتبته غير صحيح. الرجاء المحاولة مرة أخرى."
- "أرقام التعريف الشخصي التي أدخلتها غير مطابقة. الرجاء المحاولة مرة أخرى لاحقًا."
+ "رقم التعريف الشخصي القديم الذي كتبته غير صحيح. حاول مرة أخرى."
+ "أرقام التعريف الشخصي PIN2 التي كتبتها غير متطابقة. حاول مرة أخرى.""اكتب رقم التعريف الشخصي المكون من 4 إلى 8 أرقام.""تعطيل رقم التعريف الشخصي لبطاقة SIM""تمكين رقم التعريف الشخصي لبطاقة SIM""يُرجى الانتظار…"
- "تم تمكين رقم التعريف الشخصي لبطاقة SIM"
- "تم تعطيل رقم التعريف الشخصي لبطاقة SIM"
- "رقم التعريف الشخصي الذي كتبته غير صحيح"
- "تم تغيير رقم التعريف الشخصي لبطاقة SIM بنجاح"
+ "تم تمكين رقم التعريف الشخصي لبطاقة SIM."
+ "تم تعطيل رقم التعريف الشخصي لبطاقة SIM."
+ "رقم التعريف الشخصي الذي كتبته ليس صحيحًا."
+ "تم تغيير رقم التعريف الشخصي لبطاقة SIM بنجاح.""كلمة المرور غير صحيحة، تم تأمين بطاقة SIM! رقم PUK2 مطلوب.""PIN2""رقم التعريف الشخصي PIN2 القديم""رقم تعريف شخصي PIN2 جديد""تأكيد رقم التعريف الشخصي PIN2 الجديد"
- "رقم PUK2 الذي كتبته غير صحيح. الرجاء المحاولة مرة أخرى."
- "رقم التعريف الشخصي PIN2 الذي كتبته غير صحيح. الرجاء المحاولة مرة أخرى."
- "أرقام التعريف الشخصي PIN2 التي أدخلتها غير مطابقة. الرجاء المحاولة مرة أخرى لاحقًا."
+ "رقم PUK2 الذي كتبته غير صحيح. حاول مرة أخرى."
+ "رقم التعريف الشخصي PIN2 القديم الذي كتبته غير صحيح. الرجاء المحاولة مرة أخرى."
+ "أرقام التعريف الشخصي PIN2 التي كتبتها غير متطابقة. حاول مرة أخرى.""اكتب رقم التعريف الشخصي PIN2 المكون من 4 إلى 8 أرقام.""اكتب PUK2 يتكون من 8 أحرف."
- "تم تغيير رقم التعريف الشخصي PIN2 بنجاح"
+ "تم تغيير رقم التعريف الشخصي PIN2 بنجاح.""اكتب رمز PUK2"
- "كلمة المرور غير صحيحة، الرجاء تغيير رقم التعريف الشخصي PIN2 وإعادة المحاولة!"
- "كلمة المرور غير صحيحة، تم تأمين بطاقة SIM! رقم PUK2 مطلوب."
+ "كلمة المرور غير صحيحة.غيّر رقم التعريف الشخصي PIN2 وأعد المحاولة."
+ "كلمة المرور غير صحيحة، تم تأمين بطاقة SIM. رقم PUK2 مطلوب.""تم""مكالمة جماعية %s"
- "رجوع إلى المكالمة"
- "متابعة بدون بطاقة SIM"
- "لم يتم العثور على بطاقة SIM. الرجاء إدراج بطاقة SIM في الهاتف."
- "استبعاد"
- "إلغاء تأمين"
- "جارٍ مصادقة رقم التعريف الشخصي…""رقم البريد الصوتي""طلب""جارٍ إعادة المحاولة""مكالمة جماعية""مكالمة واردة"
- "انتظار مكالمات Cdma""تم إنهاء الاتصال""معلقة""إنهاء المكالمة"
@@ -473,7 +412,7 @@
"المكالمات الفائتة""%s من المكالمات الفائتة""مكالمة فائتة من %s"
- "المكالمة الحالية (%s)"
+ "مكالمة حالية""معلقة""مكالمة واردة""بريد صوتي جديد"
@@ -482,13 +421,15 @@
"رقم البريد الصوتي غير معروف""لا خدمة""الشبكة المحددة (%s) غير متاحة"
+ "قطع الاتصال"
+ "معاودة الاتصال"
+ "رسالة""لإجراء مكالمة، أوقف تشغيل وضع الطائرة أولاً.""غير مسجل على الشبكة.""شبكة الجوال غير متاحة.""لم يتم إرسال الاتصال، لم يتم إدخال رقم صالح.""لم يتم إرسال الاتصال.""جارٍ بدء تسلسل MMI..."
- "جارٍ بدء تسلسل رمز الميزة...""خدمة غير معتمدة.""يتعذر تبديل المكالمات.""يتعذر فصل المكالمة."
@@ -500,18 +441,13 @@
"مكالمة الطوارئ""جارٍ تشغيل اللاسلكي...""خارج نطاق الخدمة، جارٍ إعادة المحاولة..."
- "لم يتم إرسال المكالمة، %s ليس رقم طوارئ!"
- "لم يتم إرسال الاتصال، الرجاء طلب رقم طوارئ!"
+ "لم يتم إرسال المكالمة. %s ليس رقم طوارئ."
+ "لم يتم إرسال الاتصال. اطلب رقم طوارئ.""استخدام لوحة المفاتيح للطلب"
- "المس لوحة مفاتيح النغمات""تعليق"
- "إلغاء التعليق""الانتهاء""لوحة الاتصال"
- "إخفاء"
- "مكبر الصوت""كتم الصوت"
- "بلوتوث""إضافة مكالمة""دمج المكالمات""تبديل"
@@ -530,36 +466,31 @@
"TTY HCO""TTY VCO"
- "نص مؤشر التجوال المحسن (ERI)"
- "نغمات DTMF"
+ "نغمات DTMF""تعيين طول نغمات DTMF""عادي""طويلة"
- "رسالة الشبكة"
+ "رسالة الشبكة""تنشيط الهاتف""يلزم إجراء اتصال خاص لتنشيط خدمة الهاتف. "\n\n"بعد الضغط على \"تنشيط\"، استمع إلى الإرشادات المقدمة لتنشيط هاتفك."
- "المس \"تنشيط\" لإجراء مكالمة خاصة تؤدي إلى تنشيط هاتفك على شبكة الجوال لمشغل شبكة الجوال، كي تتمكن من إجراء الاتصالات والاتصال بشبكات بيانات الجوال.""هل تريد تخطي التنشيط؟""إذا تخطيت التنشيط، فلن تتمكن من إجراء مكالمات أو الاتصال بشبكات بيانات الجوال (ومع ذلك، يمكنك الاتصال بشبكات Wi-Fi). إلى أن تنشط هاتفك، ستتم مطالبتك بتنشيطه في كل مرة تشغله فيها.""تخطٍ"
- "تنشيط""تنشيط"
- "تم تنشيط الهاتف!"
+ "تم تنشيط الهاتف.""مشكلة في التنشيط""اتبع الإرشادات المنطوقة حتى تسمع ما يفيد بانتهاء التنشيط."
- "لوحة المفاتيح""مكبر الصوت"
- "الرجاء الانتظار حتى تتم برمجة هاتفك."
- "لم تنجح البرمجة"
+ "انتظر حتى تتم برمجة هاتفك."
+ "لم تنجح البرمجة""تم تنشيط هاتفك الآن. قد يستغرق بدء الخدمة ما يصل إلى 15 دقيقة."
- "لم يتم تنشيط الهاتف. "\n"ربما يلزمك البحث عن منطقة بها تغطية أفضل (بجانب نافذة أو بالخارج). "\n\n"حاول مرة أخرى أو اتصل بخدمة العملاء للحصول على مزيد من الخيارات."
+ "لم يتم تنشيط الهاتف. "\n"ربما يلزمك البحث عن منطقة بها تغطية أفضل (بجانب نافذة أو بالخارج). "\n\n"حاول مرة أخرى أو اتصل بخدمة العملاء للحصول على مزيد من الخيارات.""إخفاقات في المواصفات الزائدة""رجوع""حاول مرة أخرى""التالي"
- "رجوع""EcmExitDialog""تم الدخول إلى وضع هاتف معاودة الاتصال بالطوارئ""وضع هاتف معاودة الاتصال بالطوارئ"
@@ -569,87 +500,69 @@
"لا اتصال بيانات لمدة %s دقيقة"
- "سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة %s دقيقة. لا يمكن استخدام التطبيقات التي تستخدم اتصال البيانات أثناء تشغيل هذا الوضع. هل تريد الخروج الآن؟"
- "سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة %s دقيقة. لا يمكن استخدام التطبيقات التي تستخدم اتصال البيانات أثناء تشغيل هذا الوضع. هل تريد الخروج الآن؟"
+ "سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة %s دقائق. لا يمكن استخدام تطبيقات أثناء استخدام هذا الوضع. هل تريد الخروج الآن؟"
+ "سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة %s دقائق. لا يمكن استخدام تطبيقات تستخدم اتصال البيانات أثناء استخدام هذا الوضع. هل تريد الخروج الآن؟"
- "لا يتوفر الإجراء المحدد أثناء تشغيل وضع هاتف معاودة الاتصال بالطوارئ. سيظل الهاتف في هذا الوضع لمدة %s دقيقة. هل تريد الخروج الآن؟"
- "لا يتوفر الإجراء المحدد أثناء تشغيل وضع هاتف معاودة الاتصال بالطوارئ. سيظل الهاتف في هذا الوضع لمدة %s دقيقة. هل تريد الخروج الآن؟"
+ "الإجراء المحدد ليس متاحًا أثناء استخدام وضع معاودة الاتصال بالطوارئ. سيظل الهاتف في هذا الوضع لمدة %s دقائق. هل تريد الخروج الآن؟"
+ "الإجراء المحدد ليس متاحًا أثناء استخدام وضع معاودة الاتصال بالطوارئ. سيظل الهاتف في هذا الوضع لمدة %s دقائق. هل تريد الخروج الآن؟"
- "الإجراء المحدد لا يتوفر أثناء إجراء مكالمة طوارئ."
- "الخروج من وضع هاتف معاودة الاتصال بالطوارئ"
+ "الإجراء المحدد ليس متاحًا أثناء إجراء اتصال بالطوارئ."
+ "الخروج من وضع معاودة الاتصال بالطوارئ""نعم""لا""استبعاد"
- "إعدادات البريد الصوتي"
- "<غير معين>"
- "خدمة البريد الصوتي"
- "إعدادات \"%s\""
+ "الخدمة"
+ "الإعداد"
+ "<لم يتم التعيين>""إعدادات الاتصال الأخرى"
- "طلب"
- "الاتصال عبر ^1"\n"^2"
- "اسحب لليسار للإجابة"
- "اسحب لليمين لجعل الرنين صامتًا"
- "اسحب لليمين للرفض"
- "سحب لليسار للرد "\n"وتعليق المكالمة النشطة"
- "اسحب لليسار للرد "\n"وإنهاء المكالمة النشطة"
- "سحب لليسار للرد و"\n"وإنهاء المكالمة المعلقة"
- "إجابة"
- "رفض"
+ "الاتصال عبر %s""صورة جهة الاتصال""انتقال إلى مكالمة خاصة""تحديد جهة اتصال""إعدادات الاتصال عبر الإنترنت""حسابات الاتصال عبر الإنترنت (SIP)""الحسابات"
- "إدارة حسابات وحالات الاتصال عبر الإنترنت (SIP)""تلقي المكالمات الواردة""يقلل من عمر البطارية"
- "تهيئة خيارات الاتصال""استخدام الاتصال عبر الإنترنت""استخدام الاتصال عبر الإنترنت (Wi-Fi فقط)""لكل المكالمات عند توفر شبكة البيانات""فقط للمكالمات عبر الإنترنت""المطالبة لكل اتصال""لكل المكالمات"
- "التسجيل التلقائي"
- "مكالمة صادرة عبر SIP""إجراء اتصال""استخدام حساب الاتصال عبر الإنترنت:""الاستخدام دومًا لإجراء مكالمات عبر الإنترنت"
- "يمكنك استخدام إعدادات الاتصال لتغيير حساب الاتصال عبر الإنترنت الذي يتم استخدامه افتراضيًا عند إجراء مكالمات، من خلال تحديد حساب مختلف ضمن إعدادات الاتصال عبر الإنترنت"
+ "يمكنك تغيير حساب مكالمات الإنترنت الذي تريد استخدامه افتراضيًا من الهاتف > إعدادات > إعدادات مكالمات لإنترنت > شاشة الحسابات.""اتصال عبر هاتف خلوي""مكالمة عبر الإنترنت""ليس هناك حساب اتصال عبر الإنترنت"
- "لا توجد حسابات اتصال عبر الإنترنت على هذا الهاتف. هل تريد إضافة حساب الآن؟"
+ "لا توجد حسابات مكالمات الإنترنت على هذا الهاتف. هل تريد إضافة حساب الآن؟""إضافة""إضافة حساب""إزالة الحساب""حسابات SIP"
- "جارٍ حفظ الحساب..."
- "جارٍ إزالة الحساب..."
+ "جارٍ حفظ الحساب..."
+ "جارٍ إزالة الحساب...""حفظ""تجاهل""إغلاق الملف الشخصي""موافق""إغلاق"
- "أساسي"
- "جعل هذا حسابي الأساسي"
- "مستخدمة للمكالمات الصادرة"
- "الإعدادات المتقدمة""حساب أساسي. %s""جارٍ فحص الحالة..."
- "جارٍ التسجيل..."
- "ما زالة المحاولة مستمرة..."
- "عدم استلام مكالمات"
- "توقف تسجيل الحساب نظرًا لعدم توفر اتصال بالإنترنت"
- "توقف تسجيل الحساب نظرًا لعدم توفر اتصال Wi-Fi"
- "لم يتم تسجيل الحساب بنجاح"
- "استلام مكالمات"
+ "جارٍ التسجيل..."
+ "لا تزال المحاولة مستمرة..."
+ "عدم استلام مكالمات."
+ "توقف تسجيل الحساب نظرًا لعدم توفر اتصال بالإنترنت."
+ "توقف تسجيل الحساب نظرًا لعدم توفر اتصال Wi-Fi."
+ "لم يتم تسجيل الحساب بنجاح."
+ "جارٍ استلام مكالمات.""لم يتم تسجيل الحساب بنجاح: (%s)؛ ستتم المحاولة لاحقًا"
- "لم يتم تسجيل الحساب بنجاح: اسم المستخدم أو كلمة المرور غير صحيحة"
- "لم يتم تسجيل الحساب بنجاح: تحقق من اسم الخادم"
- "هذا الحساب قيد الاستخدام حاليًا من خلال تطبيق %s"
+ "لم يتم تسجيل الحساب بنجاح: اسم مستخدم غير صحيح أو كلمة مرور غير صحيحة."
+ "لم يتم تسجيل الحساب بنجاح: تحقق من اسم الخادم."
+ "هذا الحساب قيد الاستخدام حاليًا من خلال تطبيق %s.""تفاصيل حساب SIP""تفاصيل حساب SIP""الخادم"
@@ -660,9 +573,6 @@
"رقم المنفذ""نوع النقل""إرسال رسالة للتحقق من الاتصال"
- "إرسال رسائل عبر SIP للتحقق من الاتصال"
- "التسجيل التلقائي"
- "تسجيل الملف الشخصي تلقائيًا""تعيين كحساب أساسي""مستخدمة للمكالمات الصادرة""الإعدادات الاختيارية"
@@ -673,12 +583,12 @@
"<اختياري>""▷ المس لإظهار الكل""▽ المس لإخفاء الكل"
- "حقل %s مطلوب، لا يمكن تركه فارغًا"
- "يجب أن يكون رقم المنفذ ما بين 1000 و65534"
+ "%s مطلوب ولا يمكن تركه فارغًا."
+ "يجب أن يكون رقم المنفذ ما بين 1000 و65534.""لا يوجد اتصال بالإنترنت""ليس هناك اتصال Wi-Fi"
- "لإجراء اتصالٍ عبر الإنترنت، تحقق من الاتصال بالإنترنت أولاً"
- "يجب الاتصال بشبكة Wi-Fi لإجراء مكالمات عبر الإنترنت (استخدم إعدادات اللاسلكي والشبكة)"
+ "لإجراء مكالمة إنترنت، تحقق من اتصالك بالإنترنت أولاً."
+ "يلزمك الاتصال بشبكة Wi-Fi لإجراء مكالمات عبر الإنترنت (استخدم إعدادات اللاسلكي والشبكة).""الاتصال عبر الإنترنت غير معتمد""تلقائي""الإرسال دائمًا"
@@ -687,7 +597,7 @@
"سأعاود الاتصال بك.""سأتصل بك لاحقًا.""لا يمكنني التحدث الآن. اتصل بي لاحقًا."
- "تخصيص رسالة..."
+ "رسالة مخصصة""الردود السريعة""تعديل الردود السريعة"
@@ -705,7 +615,6 @@
"نجمة""صفر""رنين"
- "بحث""طلب""مسافة للخلف""تم تمكين مكبر صوت الهاتف."
@@ -713,11 +622,16 @@
"رد""إرسال رسائل قصيرة SMS""رفض"
- "اهتزاز"
- "اهتزاز"
+ "الاهتزاز"
+ "الاهتزاز"
+ "نغمة الرنين"
- "دومًا"
+ "دائمًا""فقط عندما يكون صامتًا"
- "مطلقًا"
+ "أبدًا"
+ "نغمة رنين الهاتف"
+ "اهتزاز عند الرنين"
+ "نغمات لمس لوحة الطلب"
+ "نغمة الرنين"
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 2f1e2aabf..41b95607d 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -25,39 +25,27 @@
"Прыватны нумар""Таксафон""У чаканні"
- "Гэты выклік""Лінія занятая""Сетка занятая""Няма адказу, тайм-аўт""Сервер недаступны""Колькасць недаступная""Няправільнае імя ці пароль"
- "Выклікаецца з-за межаў сеткі"
+ "Выклік з-за межаў сеткі""Памылка сервера. Паспрабуйце пазней.""Няма сігналу""Ліміт ACM перавышаны""Радыё выключанае"
- "Няма SIM-карты ці памылка чытання SIM- карты"
+ "Няма SIM-карты або памылка яе чытання""Па-за зонай абслугоўвання""Выходныя выклікі абмежаваныя FDN."
- "Вы не можаце рабіць выходныя выклікі, калі ўключана забарона выклікаў."
+ "Вы не можаце рабіць выходныя выклікi, калі ўключана забарона выклікаў.""Усе выклікі абмежаваныя кантролем доступу.""Экстраныя выклікі абмежаваныя кантролем доступу.""Звычайныя выклікі абмежаваныя кантролем доступу."
- "CDMA: тэлефон заблакаваны да наступнага цыклу зарадкі."
- "CDMA: Выклік абарваны."
- "CDMA: выклік перахоплены."
- "CDMA: пераўпарадкаванне."
- "CDMA: адмова параметру абслугоўвання."
- "CDMA: паўтарыць парадак."
- "CDMA: Няўдалы доступ."
- "CDMA: перапынена."
- "Магчымы толькі выклікі служб экстранай дапамогі."
- "Несапраўдны нумар"
+ "Несапраўдны нумар""Канферэнц-выклік""Выклік быў страчаны."
- "Паўтарыць"
- "Выклік страчаны""ОК""Пачалося выкананне MMI кода""Запускаецца USSD-код..."
@@ -69,23 +57,14 @@
"Правадная гарнітура""Bluetooth""Адправіць наступныя тоны?"\n
- "Адпраўка сігналаў"\n
+ "Адпраўка сігналаў"\n"Адправіць""Так""Не"
- "Змяніць сімвал на"
+ "Замяніце выпадковы сімвал:""Адсутнічае нумар галасавой пошты""На SIM-карце няма нумару галасавой пошты.""Дадаць нумар"
- "Загрузка..."
- "Увядзіце PIN-код, каб разблакаваць SIM-карту."
- "SIM-карта разблакаваная"
- "Новы PIN-код SIM-карты"
- "Зноў увядзіце PIN-код SIM-карты для пацверджання"
- "PIN-коды SIM-карты, якія вы ўвялі, не супадаюць. Паспрабуйце яшчэ раз."
- "Увядзіце PUK-код, каб разблакаваць SIM-карту."
- "Няправільны код PUK!"
- "Працягнуць""Ваша SIM-карта была разблакаваная. Ваш тэлефон разблакоўваецца...""PIN-код разблакавання сеткі SIM""Разблакаваць"
@@ -93,8 +72,6 @@
"Запыт разблакавання сеткі...""Запыт разблакавання сеткі няўдалы.""Сетка паспяхова разблакавана."
- "IMEI"
- "MEID""Налады выклікаў GSM""Налады выклікаў CDMA""Назвы кропак доступу"
@@ -109,6 +86,7 @@
"Дадатковыя налады толькі для выклікаў CDMA""Налады сеткавых паслуг""АВН"
+ "Загрузка налад...""Нумар схаваны з выходных выклікаў""Нумар, якi паказваецца ў выходных выкліках""Выкарыстоўваць налады па змаўчаннi, каб аператар мог адлюстроўваць мой нумар у выходных выкліках"
@@ -127,17 +105,17 @@
"Нумар, калі занята""Пераадрасацыя на {0}""Адключана"
- "Ваш аператар не падтрымлівае адключэнне пераадрасацыі выклікаў, калі тэлефон заняты."
+ "Ваш аператар не падтрымлівае адключэнне перанакіравання выклікаў, калі тэлефон заняты.""Пераадрасацыя, калі няма адказу""Нумар, калі няма адказу""Пераадрасацыя на {0}""Адключана"
- "Ваш аператар не падтрымлівае адключэнне пераадрасацыі выклікаў, калі тэлефон не адказвае."
+ "Ваш аператар не падтрымлівае адключэнне перанакіравання выклікаў, калі тэлефон не адказвае.""Пераадрасоўваць, калі недаступны""Нумар, калі недаступны""Пераадрасацыя на {0}""Адключана"
- "Ваш аператар не падтрымлівае адключэнне пераадрасацыі выклікаў, калі тэлефон недаступны."
+ "Ваш аператар не падтрымлівае адключэнне пераадрасацыi выклікаў, калі тэлефон недаступны.""Налады выклікаў""Памылка налад выкліку""Чытанне налад..."
@@ -145,8 +123,8 @@
"Вяртанне налад...""Нечаканы адказ ад сеткі.""Памылка сеткі ці SIM-карты."
- "Аперацыі дапускаюцца толькі для дазволеных нумароў."
- "Перш чым праглядаць гэтыя параметры, уключыце радыё"
+ "Уключаны дазволеныя нумары. У выніку некаторыя функцыі адносна званкоў не працуюць."
+ "Перад праглядам гэтых параметраў уключыце радыё.""ОК""Уключыць""Адключыць"
@@ -156,10 +134,9 @@
"Схаваць нумар""Паказаць нумар"
- "Захаваць нумар галасавой пошты""Нумар галасавой пошты змяніўся."
- "Змена нумару галасавой пошты не выканана."\n"Звяжыцеся са сваім аператарам, калі праблема застаецца."
- "Змена нумару перанакіравання не выканана."\n"Звяжыцеся са сваім аператарам, калі праблема застаецца."
+ "Не атрымалася змяніць нумар галасавой пошты."\n"Калі праблема не вырашыцца, звярніцеся да свайго аператара."
+ "Не атрымалася змяніць нумар для пераадрасацыi."\n"Калі гэтая праблема не вырашыцца, звярніцеся да свайго аператара.""Немагчыма атрымаць і захаваць бягучыя налады пераадрасацыі нумару."\n"Усё роўна пераключыць на новага пастаўшчыка?""Змены не выкананы.""Выберыце службу галасавой пошты"
@@ -171,14 +148,14 @@
"Шукаць сеткі""Памылка падчас пошуку сетак.""Рэгістрацыя ў сетцы %s..."
- "Ваша SIM-карта не дазваляе падключэнне да гэтай сеткі."
- "Зараз немагчыма падлучыцца да гэтай сеткі. Паспрабуйце пазней."
+ "Ваша SIM-карта не дазваляе падключацца да гэтай сеткі."
+ "Зараз немагчыма падключыцца да гэтай сеткі. Паўтарыце спробу пазней.""Зарэгістраваны ў сетцы."
- "Выбраць аператара сеткі"
+ "Выберыце аператара сеткі""Пошук усіх даступных сетак"
- "Выбіраць аўтаматычна"
- "Аўтаматычна выбіраць пераважную сетку"
- "Аўтаматычная рэгістрацыя..."
+ "Выбраць аўтаматычна"
+ "Аўтаматычна выбраць прыярытэтную сетку"
+ "Аўтаматычная рэгістрацыя...""Сеткавы рэжым""Змяніць рэжым работы сеткі""Пераважны сеткавы рэжым"
@@ -192,17 +169,17 @@
"Пераважны рэжым сеткі: толькі EvDo""Пераважны рэжым сеткі: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Толькі EVDO""CDMA без EvDo"
- "CDMA/EVDO аўтаматычна"
- "GSM/WCDMA аўтаматычна"
+ "Аўтаматычны выбар CDMA/EvDo"
+ "Аўтаматычны выбар GSM/WCDMA""Толькі WCDMA""Толькі GSM"
- "GSM/WCDMA пажадана"
+ "Пажадана GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Дадзеныя ўключаныя"
@@ -210,12 +187,11 @@
"Перадача дадзеных у роўмінгу""Злучацца з паслугамі перадачы дадзеных ў роўмінгу""Злучацца з паслугамі перадачы дадзеных у роўмінгу"
- "Вы страцілі падключэнне перадачы дадзеных, таму што вы пакінулі хатнюю сетку з адключаным параметрам перадачы дадзеных у роўмінгу."
+ "Падлучэнне для перадачы дадзеных страчана, таму што вы выйшлі з зоны пакрыцця сваёй сеткі, а перадача дадзеных у роўмінгу адключана.""Дазволіць перадачу дадзеных у роўмінгу? Гэта можа прывесці да значных дадатковых выплат.""Параметры GSM/UMTS""Параметры CDMA""Выкарыстанне дадзеных"
- "Палітыка дадзеных аператара""Выкарыстанне дадзеных у бягучы перыяд""Перыяд выкарыстання дадзеных""Палітыка хуткасці перадачы дадзеных"
@@ -226,7 +202,6 @@
"%1$d?? цыклу прайшло"\n"Наступны перыяд пачнецца праз %2$d д. (%3$s)""Хуткасць перадачы дадзеных зніжаецца да %1$d Кб/с, калі абмежаванне выкарыстання дадзеных перавышанае""Больш падрабязная інфармацыя аб палітыцы выкарыстання дадзеных у сетцы вашага мабільнага аператара"
- "Перадача SMS на сотавыя""Перадача SMS на сотавыя""Перадача SMS на сотавыя""Перадача SMS на сотавыя ўключана"
@@ -267,15 +242,6 @@
"Карэйская""Кітайская""Іўрыт"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Мовы""Мясцовае надвор\'е"
@@ -305,9 +271,9 @@
"Магчымасці працаўладкавання""Магчымасці працаўладкавання ўключаны""Магчымасці працаўладкавання адключаныя"
- "Медыцына, здароўе і бальніцы"
- "Медыцына, здароўе і бальніцы ўключаныя"
- "Медыцына, здароўе і бальніцы адключаны"
+ "Медыцына, здароўе і бальніцы"
+ "Уключаны раздзел \"Медыцына, здароўе і бальніцы\""
+ "Адключаны раздзел \"Медыцына, здароўе і бальніцы\"""Навіны тэхналогій""Навіны тэхналогій уключаны""Навіны тэхналогій адключаны"
@@ -322,35 +288,17 @@
"Толькі WCDMA""Толькі GSM""GSM/WCDA (пажадана WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Карыстацца толькі сеткамі 2G""Эканоміць батарэю""Выбар сістэмы"
- "Змена рэжыму роўмінгу CDMA"
+ "Змяніць рэжым роўмінгу CDMA""Выбар сістэмы""Толькі галоўная""Аўтаматычна"
- "Рэжым роўмінгу CDMA"
- "Змяніць рэжым роўмінгу CDMA"
- "Рэжым роўмінгу CDMA"
-
- "Толькі хатнія сеткі"
- "Звязаныя сеткі"
- "Любая сетка"
-
-
- "0"
- "1"
- "2"
-
+ "Падпіска CDMA""Параметры сеткі CDMA""Яшчэ не ўведзена.""Параметры сеткі CDMA"
@@ -359,21 +307,11 @@
"Толькі CDMA""Толькі EVDO"
-
- "0"
- "1"
- "2"
-
- "Рэгістрацыя CDMA""Пераключацца паміж RUIM/SIM і NV""падпіска""RUIM/SIM""NV"
-
-
- "0"
- "1""Актывацыя прылады""Налады службы перад. дадзеных"
@@ -390,18 +328,16 @@
"Кіраванне зафіксаванымі нумарамі""Змяніць PIN-код для доступу FDN""Кіраванне спісам тэлефонных нумароў"
- "Прыватнасць голасу"
+ "Палiтыка прыватнасцi Voice""Уключыць пашыраны рэжым прыватнасці"
- "Рэжым TTY"
- "Уключыць рэжым TTY""TTY рэжым""Задаць рэжым TTY"
- "Аўтаматычны паўтор"
- "Уключыць рэжым аўтаматычнага паўтарэння"
+ "Аўтаматычны паўтор"
+ "Уключыць рэжым аўтаматычнага паўтору""Дадаць кантакт""Рэдагаваць кантакт""Выдаліць кантакт"
- "Увядзіце PIN2"
+ "Увядзіце код PIN2""Імя""Нумар""Захаваць"
@@ -414,56 +350,50 @@
"Выдаліць дазволены нумар""Выдаленне дазволенага нумару...""Дазволены нумар выдалены."
- "Дазволены нумар не абноўлены: вы ўвялі няправільны PIN-код."
- "Дазволены нумар не абноўлены: даўжыня нумару не можа перавышаць 20 знакаў."
+ "FDN не быў абноўлены, таму што вы набралі няправільны PIN-код."
+ "FDN не абноўлены, таму што нумар не можа бвць больш за 20 знакаў."
+ "Cпiс дазволеных нумароў не адноўлены. PIN2 ўведзены няправiльна, або нумар быў адхiлены.""Чытанне з SIM-карты...""На вашай SIM-карце няма кантактаў.""Выберыце кантакты для імпарту"
- "Каб імпартаваць кантакты з SIM-карты, адключыце рэжым палёту."
+ "Каб імпартаваць кантакты з SIM-карты, спачатку адключыце рэжым палёту.""Уключэнне/адключэнне PIN-коду SIM-карты""Змена PIN-коду SIM-карты""PIN-код SIM-карты:""Стары PIN""Новы PIN""Пацвердзіць новы PIN"
- "Стары PIN-код уведзены няправільна. Паспрабуйце яшчэ раз."
- "Уведзеныя PIN-коды не супадаюць. Паспрабуйце яшчэ раз."
+ "Стары PIN-код, які вы ўвялі, няправільны. Паспрабуйце яшчэ раз."
+ "PIN-коды, якія вы ўвялі, не супадаюць. Паспрабуйце яшчэ раз.""Увядзіце PIN-код, які змяшчае ад 4 да 8 лічбаў.""Адключыць PIN-код SIM-карты""Уключыць PIN-код SIM-карты""Пачакайце..."
- "PIN-код SIM-карты ўключаны"
- "PIN-код SIM-карты адключаны"
- "Вы набралі няправільны PIN-код"
- "PIN-код SIM-карты паспяхова зменены"
+ "PIN-код SIM-карты актываваны."
+ "PIN-код SIM-карты адключаны."
+ "Вы набралі няправільны PIN-код."
+ "PIN-код SIM-карты паспяхова зменены.""Пароль няправільны, SIM заблакаваная! Патрабуецца PUK2.""PIN2""Стары PIN2""Новы PIN2""Пацвердзіць новы PIN2"
- "PUK2 уведзены няправільна. Паспрабуйце яшчэ раз."
- "Стары код PIN2 уведзены няправільна. Паспрабуйце яшчэ раз."
- "Уведзеныя коды PIN2 не супадаюць. Паспрабуйце яшчэ раз."
+ "Код PUK2 уведзены няправільна. Паспрабуйце яшчэ раз."
+ "Стары код PIN2 уведзены няяправільна. Паспрабуйце яшчэ раз."
+ "Коды PIN2, якія вы ўвялі, не супадаюць. Паспрабуйце яшчэ раз.""Увядзіце PUK2, які ўключае 4-8 лічбаў.""Увядзіце PUK2, які складаецца з 8 лічбаў."
- "PIN2 паспяхова зменены"
+ "Код PIN2 паспяхова зменены.""Увядзіце PUK2-код"
- "Няправільны пароль, змяніце PIN2 і паспрабуйце яшчэ раз!"
- "Пароль няправільны, SIM-карта заблакаваная! Патрабуецца PUK2."
+ "Няправільны пароль. Змяніце код PIN2 і паспрабуйце яшчэ раз."
+ "Няправiльны пароль. SIM-карта заблакавана. Патрабуецца код PUK2.""Гатова""Канферэнц-выклік %s"
- "Вярнуцца да выкліку"
- "Працягваць без SIM-карты"
- "SIM-карта не знойдзена. Устаўце SIM-карту ў тэлефон."
- "Адхіліць"
- "Разблакаваць"
- "Праверка PIN-коду...""Нумар галасавой пошты""Набор""Паўторная спроба...""Канферэнц-выклік""Уваходны выклік"
- "Чаканне выкліку CDMA""Выклік скончаны""У чаканні""Завяршэнне"
@@ -473,7 +403,7 @@
"Прапушчаныя выклікі""Прапушчаных выклікаў: %s""Прапушчаны выклік ад %s"
- "Бягучы выклік (%s)"
+ "Бягучы выклік""У чаканні""Уваходны выклік""Новая галасавая пошта"
@@ -482,13 +412,15 @@
"Невядомы нумар галасавой пошты""Не абслугоўваецца""Выбраная сетка (%s) недаступная"
+ "Скончыць размову"
+ "Адказаць"
+ "Паведамленне""Каб зрабіць выклік, спачатку выключыце рэжым \"У самалёце\".""Не зарэгістраваны ў сетцы.""Мабільная сетка недаступная.""Выклік не адпраўлены. Уведзены несапраўдны нумар.""Выклік не дасланы.""Пачатак паслядоўнасці MMI..."
- "Пачынаецца ідэнтыфікацыйная паслядоўнасць...""Паслуга не падтрымліваецца.""Немагчыма пераключыць выклікі.""Немагчыма аддзяліць выклік."
@@ -500,18 +432,13 @@
"Экстраны выклік""Уключэнне радыё...""Па-за зонай абслугоўвання, спрабую зноў..."
- "Выклік не адпраўлены, %s не з\'яўляецца экстраным нумарам."
- "Выклік не адпраўлены, набярыце нумар службы экстранай дапамогі"
+ "Выклік не зроблены. %s не з\'яўляецца экстраным нумарам."
+ "Выклік не зроблены. Набярыце экстраны нумар.""Выкарыстоўвайце клавіятуру, каб набраць нумар"
- "Танальны рэжым клавіятуры""Утрымліваць"
- "Зняць утрыманне""Скончыць""Кнопкі набору"
- "Схаваць"
- "Дынамік""Выключыць гук"
- "Bluetooth""Дадаць выклік""Аб\'яднаць выклікі""Пераключыць"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Тэкст ERI"
- "Тоны DTMF"
+ "Сігналы DTMF""Задаць даўжыню тонаў DTMF""Звычайны""Доўгі"
- "Сеткавае паведамленне"
+ "Паведамленне сеткі""Актываваць тэлефон""Каб актываваць абслугоўванне вашага тэлефона, трэба выканаць спецыяльны выклік. "\n\n"Націсніце \"Актываваць\" і слухайце інструкцыі, неабходныя для актывацыі тэлефона."
- "Націсніце \"Актываваць\", каб размясціць спецыяльны выклік, які актывуе тэлефон у мабільнай сетцы вашага аператара, каб вы маглі рабіць выклікі і падлучацца да мабільных сетак перадачы дадзеных.""Прапусціць актывацыю?""Калі прапусціць актывацыю, вы не зможаце здзяйсняць званкі або падлучэнні да мабільных сетак перадачы дадзеных (хаця вы зможаце падлучыцца да Wi-Fi). Кожны раз пры ўключэнні тэлефона вам будзе прапанавана актываваць яго.""Прапусціць"
- "Актываваць""Актываваць"
- "Тэлефон актываваны"
+ "Тэлефон актываваны.""Праблема з актывацыяй""Выконвайце гукавыя інструкцыі, пакуль не пачуеце, што актывацыя завершаная."
- "Клавіятура""Дынамік"
- "Пачакайце, пакуль ваш тэлефон праграмуецца."
- "Праграмаванне не выканана"
+ "Пачакайце, пакуль ваш тэлефон праграмуецца."
+ "Няўдалае праграмаванне""Цяпер тэлефон актываваны. Запуск службы можа заняць да 15 хвілін."
- "Ваш тэлефон не актываваны. "\n"Магчыма, вам спатрэбіцца знайсці вобласць з лепшым пакрыццём (каля акна ці на вуліцы). "\n\n"Паспрабуйце яшчэ раз ці звярнiцеся ў цэнтр абслугоўвання кліентаў, каб атрымаць дадатковую інфармацыю."
+ "Ваш тэлефон не актываваны. "\n"Магчыма, вам спатрэбіцца знайсці вобласць з лепшым пакрыццём (каля акна ці на вуліцы). "\n\n"Паўтарыце спробу ці звярнiцеся ў цэнтр абслугоўвання кліентаў, каб атрымаць дадатковую інфармацыю.""ПАМЫЛКІ ПЕРАВЫШЭННЯ SPC""Назад""Паспрабаваць яшчэ раз""Далей"
- "Назад""EcmExitDialog""У рэжыме аварыйнага зваротнага выкліку""Рэжым аварыйнага зваротнага выкліку"
@@ -569,87 +491,69 @@
"Няма злучэння для перадачы дадзеных на працягу %s хв."
- "Тэлефон будзе знаходзіцца ў рэжыме аварыйнага зваротнага выкліку на працягу %s хв. У гэтым рэжыме нельга запускаць прыкладанні, якія выкарыстоўваюць перадачу дадзеных. Выйсці?"
- "Тэлефон будзе знаходзіцца ў рэжыме аварыйнага зваротнага выкліку на працягу %s хв. У гэтым рэжыме нельга запускаць прыкладанні, якія выкарыстоўваюць перадачу дадзеных. Выйсці?"
+ "Тэлефон будзе ў рэжыме экстранага выкліку на працягу наступнай колькасці хвілін: %s. У гэтым рэжыме нельга выкарыстоўваць прыкладанні, якія карыстаюцца злучэннем для перадачы дадзеных. Выйсці зараз?"
+ "Тэлефон будзе ў рэжыме экстранага выкліку на працягу наступнай колькасці хвілін: %s. У гэтым рэжыме нельга запускаць прыкладанні, якія карыстаюцца злучэннем для перадачы дадзеных. Выйсці зараз?"
- "Выбранае дзеянне недаступнае ў рэжыме экстранага выкліку. Тэлефон будзе ў гэтым рэжыме на працягу %s хв. Выйсці зараз?"
- "Выбранае дзеянне недаступнае ў рэжыме экстранага выкліку. Тэлефон будзе ў гэтым рэжыме на працягу %s хв. Выйсці зараз?"
+ "Выбранае дзеянне недаступнае падчас экстранага выкліку. Тэлефон будзе ў гэтым рэжыме на працягу %s хв. Выйсці зараз?"
+ "Выбранае дзеянне недаступнае падчас экстранага выкліку. Тэлефон будзе ў гэтым рэжыме на працягу наступнай колькасці хвілін: %s. Выйсці зараз?"
- "Выбранае дзеянне недаступнае падчас экстранага выкліку"
- "Выхад з рэжыму аварыйнага зваротнага выкліку"
+ "Выбранае дзеянне недаступнае падчас экстранага выкліку."
+ "Выхад з рэжыму экстранага выкліку""Так""Не""Скасаваць"
- "Налады галасавой пошты"
- "<не зададзена>"
- "Галасавая пошта"
- "Налады аператара %s"
+ "Служба"
+ "Налады"
+ "<Не заданы>""Іншыя налады выкліку"
- "Набраць"
- "Выклік праз ^1"\n"^2"
- "Каб адказаць, перацягніце направа"
- "Перацягніце ўлева, каб прымусова сцішыць сігнал выкліку"
- "Перацягніце налева, каб адхіліць"
- "Перацягніце направа, каб адказваць і"\n"ўтрымліваць актыўны выклік"
- "Перацягніце направа, каб адказаць і"\n"завяршыць актыўны выклік"
- "Перацягніце направа, каб адказаць i"\n"завяршыць выклік на ўтрыманні"
- "Адказаць"
- "Адхіліць"
+ "Званкі праз правайдара %s""фатаграфія кантакта""перайсці да прыватнай гаворкі""выбраць кантакт""Налады iнтэрнэт-выклікаў""Уліковыя запісы iнтэрнэт-тэлефаніі (SIP)""Уліковыя запісы"
- "Кіраваць уліковымі запісамі iнтэрнэт-тэлефаніі (SIP) і станам""Прыём уваходных выклікаў""Зніжае тэрмін службы батарэі"
- "Налада функцый апрацоўкі выклікаў""Выкарыстанне iнтэрнэт-тэлефаніі""Выкарыстанне iнтэрнэт-тэлефаніі (толькі Wi-Fi)""Для ўсіх выклікаў, калі маецца сетка перадачы дадзеных""Толькі для iнтэрнэт-выклікаў""Пытацца для кожнага выкліку""Для ўсіх выклікаў"
- "Аўтаматычная рэгістрацыя"
- "Выходны выклік праз SIP""Размясціць выклік""Выкарыстоўваць уліковы запіс iнтэрнэт-тэлефаніі:""Заўсёды выкарыстоўваць, каб рабіць iнтэрнэт-выклікі"
- "Вы можаце выкарыстоўваць налады выклікаў, каб змяніць уліковы спіс iнтэрнэт-тэлефаніі, які выкарыстоўваецца па змаўчанні пры размяшчэнні выклікаў, выбраўшы іншы ўліковы запіс у наладах iнтэрнэт-выклікаў"
+ "Вы можаце змяніць уліковы запіс iнтэрнэт-тэлефаніі, які выкарыстоўваецца па змаўчанні, у раздзеле \"Тэлефон > Налады > Налады iнтэрнэт-тэлефаніі\", на экране \"Ўліковыя запісы\".""Выклік з сотавага тэлефона""Інтэрнэт-выклік""Няма ўліковага запісу iнтэрнэт-тэлефаніі"
- "На гэтым тэлефоне няма ўліковых запісаў iнтэрнэт-тэлефаніі. Дадаць зараз?"
+ "На гэтым тэлефоне няма выклікаў праз уліковыя запісы iнтэрнэт-тэлефаніі. Дадаць такі ўліковы запіс зараз?""Дадаць""Дадаць уліковы запіс""Выдаліць уліковы запіс""Уліковыя запісы SIP"
- "Захаванне ўліковага запісу..."
- "Выдаленне ўліковага запісу"
+ "Захаванне ўліковага запісу..."
+ "Выдаленне ўліковага запісу...""Захаваць""Адхіліць""Закрыць профіль""ОК""Закрыць"
- "Першасны"
- "Зрабіць гэты ўліковы запіс маім першасным ўліковым запісам"
- "Выкарыстоўваецца для выходных выклікаў"
- "Адмысловыя налады""Першасны ўліковы запіс. %s""Правяраецца стан..."
- "Рэгістрацыя..."
- "Усё яшчэ спрабую..."
- "Не прымаць выклікі"
- "Рэгістрацыя ўліковага запісу спыненая, таму што няма падключэння да Інтэрнэту"
- "Рэгістрацыя ўліковага запісу спыненая, таму што няма падключэння да сеткі Wi-Fi"
- "Няўдалая рэгістрацыя ўліковага запісу"
- "Прыём выклікаў"
+ "Рэгістрацыя..."
+ "Спроба рэгістрацыі..."
+ "Выклікі не прымаюцца."
+ "Рэгістрацыя ўліковага запісу спынена, таму што няма падключэння да Інтэрнэту."
+ "Рэгістрацыя ўліковага запісу спынена, таму што няма падлучэння да Wi-Fi."
+ "Няўдалая рэгістрацыя ўліковага запісу."
+ "Прыём выклікаў.""Няўдалая рэгістрацыя ўліковага запісу: (%s). Спроба будзе паўтораная пазней"
- "Рэгістрацыя ўліковага запісу няўдалая: няправільнае імя карыстальніка або пароль"
- "Рэгістрацыя ўліковага запісу няўдалая: праверце імя сервера"
- "Гэты ўліковы запіс зараз выкарыстоўваецца прыкладаннем карыстальнiка %s"
+ "Няўдалая рэгістрацыя ўліковага запісу: няправільнае імя карыстальніка або пароль."
+ "Няўдалая рэгістрацыя ўліковага запісу: праверце імя сервера."
+ "Гэты ўліковы запіс зараз выкарыстоўваецца прыкладаннем %s.""Інфармацыя ўліковага запісу SIP""Інфармацыя ўліковага запісу SIP""Сервер"
@@ -660,9 +564,6 @@
"Нумар порта""Тып транспарту""Адправіць Keep-Alive"
- "Адпраўляць паведамленні Keep-Alive SIP"
- "Аўтаматычная рэгістрацыя"
- "Рэгістраваць профіль аўтаматычна""Усталяваць у якасці першаснага ўліковага запісу""Выкарыстоўваецца для выходных выклікаў""Дадатковыя налады"
@@ -673,12 +574,12 @@
"Дадатковы""... Націсніце, каб паказаць усё""... Дакраніцеся, каб схаваць усё"
- "Поле %s з\'яўляецца абавязковым, не можа быць пустым"
- "Нумар порта павінен быць у межах 1000 і 65534"
+ "Поле %s з\'яўляецца абавязковым для запаўнення, яго нельга пакідаць пустым."
+ "Порт павінен мець нумар ад 1000 да 65534""Няма падключэння да Інтэрнэту""Няма падключэння да Wi-Fi"
- "Каб зрабіць iнтэрнэт-выклік, спачатку праверце падключэнне да Інтэрнэту"
- "Вы павінны быць падключаны да сеткі Wi-Fi, каб рабіць iнтэрнэт-выклікі (выкарыстанне бесправадной сеткі і налад сеткі)"
+ "Каб зрабіць iнтэрнэт-выклік, спачатку праверце падключэнне да Інтэрнэту."
+ "Каб рабіць iнтэрнэт-выклікі, вы павінны падключыцца да сеткі Wi-Fi (скарыстайцеся раздзелам \"Бесправадныя сеткі i налады\").""Інтэрнэт-тэлефанія не падтрымліваецца""Аўтаматычна""Заўсёды адсылаць"
@@ -687,7 +588,7 @@
"Я ператэлефаную.""Я патэлефаную пазней.""Не магу размаўляць. Набяры пазней."
- "Паведамленне па змаўчаннi"
+ "Карыстальніцкае паведамленне""Хуткія адказы""Рэдагаваць хуткія адказы"
@@ -705,7 +606,6 @@
"зорка""нуль""фунт"
- "пошук""набор""забой""Уключаная гучная сувязь."
@@ -715,9 +615,14 @@
"Адхіліць""Вібрацыя""Вібрацыя"
+ "Рынгтон""Заўсёды"
- "Толькі ў рэжыме без гуку"
+ "Толькі ў бязгучным рэжыме""Ніколі"
+ "Мелодыя тэлефона"
+ "Вібрацыя падчас званка"
+ "Набор гукаў сэнсарнай панэлі"
+ "Рынгтон"
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 52c3c731a..9296a8070 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -25,39 +25,27 @@
"Частен номер""Импулсен телефон""Задържане на обаждането"
- "Текущо обаждане""Линията е заета""Мрежата е заета""Няма отговор – времето за изчакване изтече""Няма връзка със сървъра""Няма достъп до номера""Неправилно потребителско име или парола"
- "Обаждане извън мрежата"
+ "Обаждане извън мрежата""Грешка в сървъра. Опитайте отново по-късно.""Няма сигнал""Надвишено ограничение за ACM""Радиото е изкл."
- "Няма SIM карта или грешка на SIM картата"
+ "Няма SIM карта или грешка в SIM картата""Район без покритие""Изходящите обаждания са ограничени от FDN."
- "Изходящите ви обаждания са ограничени."
+ "Не можете да провеждате изходящи обаждания, докато има забрана за обаждания.""Всички обаждания са ограничени от контрола за достъп.""Спешните обаждания са ограничени от контрола за достъп.""Нормалните обаждания са ограничени от контрола за достъп."
- "CDMA: Телефонът е заключен до следващия цикъл на захранване."
- "CDMA: Обаждането пропадна."
- "CDMA: Обаждането прекъсна."
- "CDMA: Пренареждане."
- "CDMA: Отказване на опция за услуга."
- "CDMA: Повторен опит за нареждане."
- "CDMA: Достъпът не бе успешен."
- "CDMA: Прекъснато."
- "Възможни са само спешни обаждания."
- "Невалиден номер"
+ "Невалиден номер""Конферентно обаждане""Разговорът се загуби."
- "Повторен опит"
- "Загубено обаждане""OK""MMI кодът бе стартиран""USSD кодът се изпълнява…"
@@ -69,23 +57,14 @@
"Слушалки с кабел""Bluetooth""Да се изпратят ли следните мелодии? "\n
- "Мелодиите се изпращат"\n
+ "Мелодиите се изпращат"\n"Изпращане""Да""Не"
- "Замяна на заместващия символ с:"
+ "Замяна на заместващия символ със:""Липсващ номер на гласова поща""На SIM картата няма съхранен номер за гласова поща.""Добавяне на номер"
- "Зарежда се…"
- "Въведете PIN код, за да отблокирате SIM картата."
- "SIM картата е отключена"
- "Нов PIN за SIM карта"
- "Въведете пак новия PIN код за SIM картата, за да потвърдите"
- "Въведените от вас PIN кодове за SIM картата не са идентични. Моля, опитайте отново."
- "Въведете PUK код, за да отблокирате SIM картата"
- "Грешен PUK код!"
- "Напред""SIM картата ви е отблокирана. Телефонът ви се отключва…""PIN за отключване на SIM мрежа""Отключване"
@@ -93,8 +72,6 @@
"Изпраща се заявка за отключване на мрежата...""Заявката за отключване на мрежата не бе успешна.""Отключването на мрежата бе успешно."
- "IMEI"
- "MEID""Настройки за обаждане с GSM""Настройки за обаждане в CDMА""Имена на точки за достъп"
@@ -109,6 +86,7 @@
"Допълнителни настройки само за обаждане в CDMА""Настройки на мрежата за услуги""Идентификация на обаждането"
+ "Настройките се зареждат…""Скриване на номера при изходящи обаждания""Показване на номера при изходящи обаждания""Използване на стандартните ннастройки на оператора за извеждане на номера ми при изходящи обаждания"
@@ -127,17 +105,17 @@
"Показва номер, при заета мрежа""Пренасочва се към {0}""Деактивирано"
- "Операторът ви не поддържа деактивиране на пренасочване на обаждането по време на разговор."
+ "Операторът ви не поддържа деактивиране на пренасочването на обаждания по време на разговор.""Пренасочване, когато няма отговор""Показва номер, когато няма отговор""Пренасочва се към {0}""Деактивирано"
- "Операторът ви не поддържа деактивиране на пренасочване на обаждането, когато телефонът ви не отговаря."
+ "Операторът ви не поддържа деактивиране на пренасочването на обаждания, когато телефонът ви не отговаря.""Пренасочване, когато няма връзка""Показва номер, когато няма достъп""Пренасочва се към {0}""Деактивирано"
- "Операторът ви не поддържа деактивиране на пренасочване на обаждането, когато няма връзка с телефона."
+ "Операторът ви не поддържа деактивиране на пренасочването на обаждания, когато няма връзка с телефона.""Настройки за обаждане""Грешка в настройките за обаждане""Извършва се четене на настройки…"
@@ -145,8 +123,8 @@
"Настройките се променят в първоначалното състояние…""Неочакван отговор от мрежата.""Грешка в мрежата или SIM картата."
- "Действията са разрешени само за фиксирани номера за набиране."
- "Моля, включете радиото, преди да разгледате настройките."
+ "Настройката „Фиксирани номера за набиране“ на приложението ви Телефон е включена. В резултат на това някои функции, свързани с обажданията, не работят."
+ "Включете радиото, преди да разгледате тези настройки.""OK""Активиране""Деактивиране"
@@ -156,10 +134,9 @@
"Скриване на номера""Номерът да се показва"
- "Запазване на номера на гласовата поща""Номерът за гласова поща бе променен."
- "Промяната на номера за гласовата поща не бе успешна."\n"Моля, свържете се с оператора си, ако проблемът не се отстрани."
- "Промяната на номера за пренасочване не бе успешна."\n"Моля, свържете се с оператора си, ако проблемът не се отстрани."
+ "Номерът за гласовата поща не можа да се промени."\n"Свържете се с оператора си, ако проблемът не се отстрани."
+ "Пренасочващият номер не можа да се промени."\n"Свържете се с оператора си, ако проблемът не се отстрани.""Текущите настройки за пренасочващи номера не можаха да бъдат извлечени и запазени."\n"Искате ли да превключите към новия доставчик?""Не бяха направени промени.""Избор на услугата за гласова поща"
@@ -171,14 +148,14 @@
"Търсене на мрежи""Грешка при търсенето на мрежи.""Извършва се регистрация на %s…"
- "SIM картата ви не позволява връзка към тази мрежа."
- "В момента няма връзка към тази мрежа. Моля, опитайте по-късно."
+ "SIM картата ви не позволява връзка с тази мрежа."
+ "В момента не може да се осъществи връзка с тази мрежа. Опитайте отново по-късно.""Регистрация в мрежа."
- "Избиране на мрежов оператор"
+ "Избиране на мрежов оператор""Търсене на всички налични мрежи"
- "Да се избира автоматично"
- "Автоматичен избор на предпочитана мрежа"
- "Извършва се автоматична регистрация..."
+ "Автоматичен избор"
+ "Автоматичен избор на предпочитана мрежа"
+ "Регистрира се автоматично...""Режим на мрежата""Промяна на операционния режим на мрежата""Предпочитан режим на мрежата"
@@ -192,17 +169,17 @@
"Предпочитан режим на мрежата: Само EvDo""Предпочитан режим на мрежата: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""Само EvDo""CDMA без EvDo"
- "Авт. CDMA / EvDo"
- "Авт. GSM / WCDMA"
+ "Авт. CDMA/EvDo"
+ "Авт. GSM/WCDMA""Само WCDMA""Само GSM"
- "Предпочита се GSM / WCDMA"
+ "Предпочита се GSM/WCDMA"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Данните са активирани"
@@ -210,12 +187,11 @@
"Роуминг на данни""Свързване с услуги за данни при роуминг""Свързване с услуги за данни при роуминг"
- "Изгубихте връзката за данни, защото сте оставили домашната си мрежа с изключен роуминг."
+ "Изгубихте връзката за данни, защото сте излезли от домашната си мрежа при изключен роуминг.""Да се разреши ли роуминг на данни? Това може да доведе до висока такса за роуминг!""Опции за GSM/UMTS""Опции на CDMA""Използване на данни"
- "Правила за данните на оператора""Използвани данни за текущия период""Период за използване на данни""Правила за скоростта на данните"
@@ -226,7 +202,6 @@
"%1$d٪ от цикъла са изтекли"\n"Следващият период започва след %2$d дни (%3$s)""Намаляване на скоростта на данните до %1$d Кб/сек, ако се превиши съответното ограничение""Още информация за правилата за използване на данни на оператора ви"
- "SMS с клетъчно предаване""SMS с клетъчно предаване""SMS с клетъчно предаване""SMS съобщението с клетъчно предаване е активирано"
@@ -267,15 +242,6 @@
"корейски""китайски""иврит"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Езици""Времето в района"
@@ -305,9 +271,9 @@
"Възможности за работа""Възможностите за работа са активирани""Възможностите за работа са деактивирани"
- "Лекар, здравна помощ и болница"
- "„Лекар, здравна помощ и болница“ е активирано"
- "„Лекар, здравна помощ и болница“ е деактивирано"
+ "Лекар, здравна помощ и болница"
+ "„Лекар, здравна помощ и болница“ е активирано"
+ "„Лекар, здравна помощ и болница“ е деактивирано""Технологични новини""Технологични новини са активирани""Технологичните новини са деактивирани"
@@ -322,35 +288,17 @@
"Само WCDMA""Само GSM""GSM/WCDA (предпочита се WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Да се използват само 2G мрежи""Запазва батерията""Избор на система"
- "Промяна на режима на роуминг на cdma"
+ "Промяна на режима на роуминг на CDMA""Избор на система""Само „Начало“""Автоматично"
- "Режим на роуминг на CDMA"
- "Промяна на режима на роуминг на cdma"
- "Режим на роуминг на CDMA"
-
- "Само домашни мрежи"
- "Партньорски мрежи"
- "Всяка мрежа"
-
-
- "0"
- "1"
- "2"
-
+ "Абонамент за CDMA""Предпочитания за мрежата на CDMA""Още не е внедрено!""Предпочитания за мрежата на CDMA"
@@ -359,21 +307,11 @@
"Само CDMA""Само EvDo"
-
- "0"
- "1"
- "2"
-
- "Абонамент за CDMA""Промяна между RUIM/SIM и NV""абонамент""RUIM/SIM""NV"
-
-
- "0"
- "1""Активиране на устройството""Настройка на услугата за данни"
@@ -390,18 +328,16 @@
"Управление на фиксираните номера за набиране""Промяна на PIN за достъп до FDN""Управление на списъка с телефонни номера"
- "Гласова поверителност"
+ "Гласова поверителност""Активиране на разширен режим на поверителност"
- "Режим TTY"
- "Активиране на режим TTY""Режим TTY""Задаване на режим TTY"
- "Автоматичен повторен опит"
- "Активиране на режим „Авт. повторен опит“"
+ "Автоматичен нов опит"
+ "Активиране на режим „Автоматичен нов опит“""Добавяне на контакт""Редактиране на контакт""Изтриване на контакта"
- "Въвеждане на PIN2"
+ "Въведете PIN2""Име""Номер""Запазване"
@@ -414,56 +350,50 @@
"Изтриване на фиксирани номера за набиране""Фиксираните номера за набиране се изтриват…""Фиксираните номера за набиране са изтрити."
- "FDN не е актуализирано – въвели сте неправилен PIN."
- "FDN не е актуализирано – номерът не може да надвишава 20 цифри."
+ "FDN не бе актуализирано, защото сте въвели неправилен ПИН."
+ "FDN не бе актуализирано, защото номерът не може да надвишава 20 цифри."
+ "FDN не е актуализирано. PIN2 бе неправилен или телефонният номер бе отхвърлен.""Извършва се четене на данни от SIM картата…""Няма контакти в SIM картата ви.""Избиране на контакти за импортиране"
- "За да импортирате контакти от SIM картата, моля, изключете самолетния режим."
+ "За да импортирате контакти от SIM картата, първо изключете самолетния режим.""Активиране/деактивиране на PIN за SIM карта""Промяна на PIN за SIM карта""PIN код за SIM карта:""Стар PIN""Нов PIN""Потвърждаване на новия PIN"
- "Въведеният от вас стар PIN не е правилен. Моля, опитайте отново."
- "Въведените от вас PIN кодове не са идентични. Моля, опитайте отново."
+ "Въведеният от вас стар ПИН не е правилен. Опитайте отново."
+ "Въведените от вас ПИН кодове не са идентични. Опитайте отново.""Въведете PIN с четири до осем цифри.""Деактивиране на PIN кода за SIM карта""Активиране на PIN за SIM карта""Моля, изчакайте…"
- "PIN кодът за SIM картата бе активиран"
- "PIN кодът за SIM картата бе деактивиран"
- "Въведеният от вас PIN не беше правилен"
- "PIN кодът за SIM картата бе променен успешно"
+ "ПИН кодът за SIM картата бе активиран."
+ "ПИН кодът за SIM картата бе деактивиран."
+ "Въведеният ПИН не e правилен."
+ "ПИН кодът за SIM картата бе променен успешно.""Паролата не е правилна. SIM картата е заключена! Въведете PUK2.""PIN2""Стар PIN2""Нов PIN2""Потвърждаване на новия PIN2"
- "Въведеният от вас PUK2 код не е правилен. Моля, опитайте отново."
- "Въведеният от вас стар PIN2 не е правилен. Моля, опитайте отново."
- "Въведените от вас PIN2s не са идентични. Моля, опитайте отново."
+ "Въведеният от вас PUK2 код не е правилен. Опитайте отново."
+ "Въведеният от вас стар PIN2 не е правилен. Опитайте отново."
+ "Въведените от вас PIN2 кодове не са идентични. Опитайте отново.""Въведете PIN2 с четири до осем цифри.""Въведете PUK2 код с осем цифри."
- "PIN2 бе променен успешно"
+ "PIN2 бе променен успешно.""Въвеждане на PUK2 код"
- "Паролата не е правилна. Моля, променете PIN2 и опитайте отново!"
- "Паролата не е правилна. SIM картата е заключена! Въведете PUK2."
+ "Паролата не е правилна. Променете PIN2 и опитайте отново."
+ "Паролата не е правилна. SIM картата е заключена. Въведете PUK2.""Готово""Конферентно обаждане%s"
- "Назад към обаждането"
- "Продължаване без SIM карта"
- "Не е намерена SIM карта. Моля, поставете SIM карта в телефона."
- "Отхвърляне"
- "Отключване"
- "PIN кодът се удостоверява…""Номер за гласова поща""Набиране""Извършва се повторен опит""Конферентно обаждане""Вх. обаждане"
- "Изчакващо обаждане в Cdma""Обаждането завърши""Задържане на обаждането""Приключване на разговора"
@@ -473,7 +403,7 @@
"Пропуснати обаждания""%s пропуснати обаждания""Пропуснато обаждане от %s"
- "Текущо обаждане от (%s)"
+ "Текущо обаждане""Задържане на обаждането""Входящо обаждане""Нова гласова поща"
@@ -482,13 +412,15 @@
"Неизвестен номер за гласова поща""Няма покритие""Избраната мрежа (%s) не е налична"
+ "Затваряне"
+ "Обратно обаждане"
+ "Съобщение""Първо изключете самолетния режим, за да може да осъществите обаждане.""Няма регистрация в мрежата.""Няма мобилна мрежа.""Обаждането не е изпратено, не е въведен валиден номер.""Обаждането не е изпратено.""Стартира се последователността MMI…"
- "Стартира на кодовата последователност на функцията…""Неподдържана услуга.""Обажданията не могат да се превключат.""Обаждането не може да се отдели."
@@ -500,18 +432,13 @@
"Спешно обаждане""Радиото се включва…""Район без покритие, извършва се повторен опит..."
- "Обаждането не е изпратено, %s не е номер за спешен номер!"
- "Обаждането не е изпратено, моля наберете спешен номер!"
+ "Обаждането не е извършено. %s не е спешен номер!"
+ "Обаждането не е извършено. Наберете спешен номер!""Използвайте клавиатурата за набиране"
- "Сензорна тонална цифрова клавиатура""Задържане"
- "Отмяна на задържането""Край""Клавиатура за набиране"
- "Скриване"
- "Говорител""Без звук"
- "Bluetooth""Добавяне на обаждане""Обединяване на обаждания""Размяна"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Текст на ERI"
- "DTMF мелодии"
+ "DTMF мелодии""Настройване на дължината на мелодиите DTMF""Нормална""Продължително"
- "Мрежово съобщение"
+ "Мрежово съобщение""Активиране на вашия телефон""За активиране на телефонните услуги трябва да направите специално обаждане. "\n\n"След като натиснете „Активиране“, чуйте предоставените инструкции за тази цел."
- "Докоснете „Активиране“, за да активирате телефона си в мобилната мрежа на оператора си. Така ще можете да осъществявате обаждания и да се свързвате с мобилни мрежи от данни.""Да се пропусне ли активацията?""Ако пропуснете активирането, не може да осъществявате обаждания или свързване към мобилни мрежи с данни (възможно е свързване към мрежи с Wi-Fi). Докато не активирате телефона си, от вас ще се иска да го правите при всяко включване.""Пропускане"
- "Активиране""Активиране"
- "Телефонът е активиран!"
+ "Телефонът е активиран.""Проблем с активацията""Следвайте устните инструкции, докато чуете, че активацията е завършена."
- "Цифрова клавиатура""Говорител"
- "Моля, изчакайте докато телефонът ви се програмира."
- "Програмирането не бе успешно"
+ "Изчакайте, докато телефонът ви се програмира."
+ "Програмирането не бе успешно""Телефонът ви вече е активиран. Стартирането на услугата може да отнеме до 15 минути."
- "Телефонът ви не се активира. "\n"Потърсете място с по-добро покритие (близо до прозорец или навън). "\n\n"Опитайте отново или се обадете за отдела за обслужване на клиенти за още опции."
+ "Телефонът ви не се активира. "\n"Намерете място с по-добро покритие (близо до прозорец или навън). "\n\n"Опитайте отново или се обадете за отдела за обслужване на клиенти за още опции.""ПРЕКАЛЕНО МНОГО ГРЕШКИ В SPC""Назад""Опитайте отново""Следващ"
- "Назад""EcmExitDialog""Влизане в режим на обратно обаждане при спешност""Режим на обратно обаждане при спешност"
@@ -569,87 +491,69 @@
"Няма връзка за данни в продължение на %s минути"
- "Телефонът ще бъде в режим на обратно обаждане при спешност в продължение на %s минути. През това време не може да се използват приложения за връзка с данни. Искате ли да излезете сега?"
- "Телефонът ще бъде в режим на обратно обаждане при спешност в продължение на %s минути. През това време не може да се използват приложения за връзка с данни. Искате ли да излезете сега?"
+ "Телефонът ще бъде в режим на спешно обратно обаждане в продължение на %s минута. През това време не може да се използват приложения за връзка с данни. Искате ли да излезете сега?"
+ "Телефонът ще бъде в режим на спешно обратно обаждане в продължение на %s минути. През това време не може да се използват приложения за връзка с данни. Искате ли да излезете сега?"
- "Избраното действие не е налично в режим на обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на %s минута. Искате ли да излезете сега?"
- "Избраното действие не е налично в режим на обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на %s минути. Искате ли да излезете сега?"
+ "Избраното действие не е налично в режим на обратно спешно обаждане. Телефонът ще бъде в този режим в продължение на %s минута. Искате ли да излезете сега?"
+ "Избраното действие не е налично в режим на спешно обратно обаждане. Телефонът ще бъде в този режим в продължение на %s минути. Искате ли да излезете сега?"
- "Избраното действието не е налично по време на спешно обаждане"
- "Излизане от режим на обратно обаждане при спешност"
+ "Избраното действие не е налично по време на спешно обаждане."
+ "Излиза се от режим на спешно обратно обаждане""Да""Не""Отхвърляне"
- "Настройки на гласовата поща"
- "<не е зададен>"
- "Услуга за гласова поща"
- "Настройки за „%s“"
+ "Услуга"
+ "Настройка"
+ "<Не е зададено>""Други настройки за обаждане"
- "Набиране"
- "Обаждане чрез ^1"\n"^2"
- "Плъзнете надясно за отговор"
- "Плъзнете наляво за заглушаване на звъненето"
- "Плъзнете наляво за отказ"
- "Плъзнете надясно за отговор и"\n"задържане на активно обаждане"
- "Плъзнете надясно за отговор и"\n"край на активно обаждане"
- "Плъзнете надясно за отговор и"\n"край на задържано обаждане"
- "Отговор"
- "Отхвърляне"
+ "Обаждане чрез %s""снимка на контакта""към частно""избиране на контакта""Настройки за интернет обаждания""Профили за интернет обаждания (SIP)""Профили"
- "Управление на профилите и състоянието на интернет обажданията (SIP)""Получаване на входящи обаждания""Намалява живота на батерията"
- "Конфигуриране на опциите за обаждане""Използване на интернет обаждания""Използване на интернет обаждания (само при Wi-Fi)""За всички обаждания, когато е налице мрежа за данни""Само за интернет обаждания""Да се пита за всяко обаждане""За всички обаждания"
- "Автоматична регистрация"
- "Изходящо обаждане чрез SIP""Провеждане на обаждане""Използване на профил за интернет обаждания:""Да се използва винаги за провеждане на интернет обаждания"
- "Можете да използвате настройките за обаждане, за да промените кой профил да се използва по подразбиране за интернет обаждания, като изберете друг в „Настройки за интернет обаждания“"
+ "Можете да промените кой профил да се използва по подразбиране за интернет обаждания от екрана „Телефон“ > „Настройки“ > „Настройки за интернет обаждания“ > „Профили“.""Обаждане по клетъчен телефон""Интернет обаждане""Няма профил за интернет обаждания"
- "Няма профили за интернет обаждания на този телефон. Искате ли да добавите сега?"
+ "Няма профили за интернет обаждания на този телефон. Искате ли да добавите сега?""Добавяне""Добавяне на профил""Премахване на профила""Профили за SIP"
- "Профилът се запазва..."
- "Профилът се премахва..."
+ "Профилът се запазва..."
+ "Профилът се премахва...""Запазване""Отхвърляне""Затваряне на потребителския профил""OK""Затваряне"
- "Основен"
- "Нека това да бъде основният ми профил"
- "Използва се за изходящи обаждания"
- "Разширени настройки""Основен профил. %s""Състоянието се проверява..."
- "Извършва се регистрация..."
- "Още се опитва..."
- "Не се получават обаждания"
- "Регистрацията на профила спря, защото няма връзка с интернет"
- "Регистрацията на профила спря, защото няма връзка с Wi-Fi"
- "Регистрацията на профила не бе успешна"
- "Получават се обаждания"
+ "Регистрира се..."
+ "Още се опитва..."
+ "Не се получават обаждания."
+ "Регистрирането на профила спря, защото няма връзка с интернет."
+ "Регистрирането на профила спря, защото няма връзка с Wi-Fi."
+ "Профилът не бе регистриран успешно."
+ "Получават се обаждания.""Регистрацията на профила не бе успешна: (%s). Ще се опита по-късно"
- "Регистрацията на профила не бе успешна: Неправилно потребителско име или парола"
- "Регистрацията на профила не бе успешна: Проверете името на сървъра"
- "Този профил понастоящем се използва от приложението „%s“"
+ "Профилът не бе регистриран успешно: Неправилно потребителско име или парола."
+ "Профилът не бе регистриран успешно: Проверете името на сървъра."
+ "Този профил понастоящем се използва от приложението %s.""Подробности за профила за SIP""Подробности за профила за SIP""Сървър"
@@ -660,9 +564,6 @@
"Номер на порта""Тип транспорт""Изпращане на съобщение за проверка на връзката"
- "Изпращане на съобщения от SIP за проверка на връзката"
- "Автоматична регистрация"
- "Автоматично регистриране на потребителския профил""Задаване като основен профил""Използва се за изходящи обаждания""Незадължителни настройки"
@@ -673,12 +574,12 @@
"<По избор>""▷ Докоснете за показване на всички""▽ Докоснете за скриване на всички"
- "„%s“ е задължително, трябва да се попълни"
- "Номерът на порта трябва да бъде между 1000 и 65534"
+ "„%s“ е задължително и трябва да се попълни."
+ "Номерът на порта трябва да бъде между 1000 и 65534.""Няма връзка с интернет""Няма връзка с Wi-Fi"
- "За да проведете интернет обаждане, първо проверете връзката си с интернет"
- "За интернет обаждания трябва да сте свързани с Wi-Fi мрежа (използвайте настройките за кабелна и безжична мрежа)"
+ "За да проведете интернет обаждане, първо проверете връзката си с интернет."
+ "За интернет обаждания трябва да сте свързани с Wi-Fi мрежа (използвайте настройките за кабелна и безжична мрежа).""Интернет обажданията не се поддържат""Автоматично""Да се изпращат винаги"
@@ -687,7 +588,7 @@
"Ще ви се обадя веднага обратно.""Ще ви се обадя по-късно.""Сега не мога да говоря. По-късно?"
- "Персонализирано съобщение..."
+ "Персонализирано съобщение""Бързи отговори""Редактиране на бързи отговори"
@@ -705,7 +606,6 @@
"звездичка""нула""диез"
- "търсене""набиране""backspace""Високоговорителят бе активиран."
@@ -715,9 +615,14 @@
"Отхвърлям""Вибриране""Вибриране"
+ "Мелодия""Винаги""Само при тих режим""Никога"
+ "Мелодия на телефона"
+ "Вибриране при звънене"
+ "Тонове при набиране"
+ "Мелодия"
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 00490cb98..deb011f89 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -25,39 +25,27 @@
"Número privat""Telèfon de monedes""En espera"
- "Trucada actual""Línia ocupada""Xarxa ocupada""No hi ha resposta, s\'ha esgotat el temps d\'espera""No es pot accedir al servidor""No es pot contactar amb aquest número""Nom d\'usuari o contrasenya incorrectes"
- "Trucada des de fora de la xarxa"
+ "Trucada des de fora de la xarxa""Error del servidor. Torna-ho a provar més tard.""Sense senyal""Límit d\'ACM superat""Ràdio desactivada"
- "Cap SIM o error de la SIM"
+ "Cap SIM o error de la SIM""Fora de l\'àrea de servei""FDN restringeix les trucades de sortida."
- "No podeu fer trucades de sortida mentre la restricció de trucades estigui activa."
+ "No pots fer trucades de sortida mentre la restricció de trucades estigui activada.""Totes les trucades estan restringides pel control d\'accés.""Les trucades d\'emergència estan restringides pel control d\'accés.""Les trucades normals estan restringides pel control d\'accés."
- "CDMA: telèfon bloquejat fins el següent cicle d\'energia."
- "CDMA: trucada descartada."
- "CDMA: trucada interceptada."
- "CDMA: torna a ordenar."
- "CDMA: rebuig d\'opció de servei."
- "CDMA: ordre de reintents."
- "CDMA: s\'ha produït un error en accedir-hi."
- "CDMA: invalidat."
- "Només es poden fer trucades d\'emergència."
- "Número no vàlid"
+ "Número no vàlid""Trucada de conferència""S\'ha perdut la trucada."
- "Torna-ho a provar"
- "Trucada perduda""D\'acord""Codi MMI iniciat""S\'està executant el codi USSD..."
@@ -69,23 +57,14 @@
"Auricular amb cable""Bluetooth""Voleu enviar els codis següents?"\n
- "S\'estan enviant els tons"\n
+ "S\'estan enviant els tons"\n"Envia""Sí""No"
- "Substitueix el caràcter comodí per"
+ "Substitueix el caràcter comodí per""Falta el número de correu de veu""No hi ha cap número de correu de veu emmagatzemat a la targeta SIM.""Afegeix número"
- "S\'està carregant…"
- "Escriviu el codi PIN per desbloquejar la targeta SIM."
- "SIM desbloquejada"
- "Codi PIN de la SIM nou"
- "Torneu a escriure el codi PIN de la SIM per confirmar-lo"
- "Els PIN de la SIM que heu escrit no coincideixen. Torneu-ho a provar."
- "Escriviu el codi PUK per desbloquejar la targeta SIM"
- "Codi PUK incorrecte"
- "Continua""La targeta SIM s\'ha desbloquejat. El telèfon s\'està desbloquejant...""PIN de desbloqueig de xarxa SIM""Desbloqueja"
@@ -93,8 +72,6 @@
"S\'està sol·licitant el desbloqueig de la xarxa...""Sol·licitud de desbloqueig de xarxa incorrecta.""Desbloqueig de la xarxa correcte."
- "IMEI"
- "MEID""Configuració de trucades GSM""Configuració de trucades CDMA""Noms de punts d\'accés"
@@ -109,6 +86,7 @@
"Configuració addicional de trucades només CDMA""Configuració del servei de xarxa""Identificació de trucada"
+ "Carregant la configuració...""Número amagat en trucades sortints""Número mostrat a les trucades de sortida""Utilitza la configuració predeterminada de l\'operador per mostrar el meu número a les trucades de sortida"
@@ -127,17 +105,17 @@
"Número quan comunica""S\'està desviant a {0}""Desactivat"
- "El teu operador no permet desactivar la desviació de trucades quan el telèfon està ocupat."
+ "El teu operador no permet desactivar la desviació de trucades quan el telèfon està ocupat.""Desvia quan no hi hagi resposta""Número quan no hi ha resposta""S\'està desviant a {0}""Desactivat"
- "El teu operador no permet desactivar la desviació de trucades quan el telèfon no respon."
+ "El teu operador no permet desactivar la desviació de trucades quan el telèfon no respon.""Desvia quan no s\'hi pugui connectar""Número quan no es pugui establir la connexió""S\'està desviant a {0}""Desactivat"
- "El teu operador no permet desactivar la desviació de trucades quan el telèfon no pot establir la trucada."
+ "El teu operador de telefonia mòbil no permet desactivar la desviació de trucades quan el telèfon no pot establir la trucada.""Configuració de trucada""Error de configuració de trucada""S\'està llegint la configuració…"
@@ -145,8 +123,8 @@
"S\'està tornant la configuració als valors originals…""Resposta inesperada de la xarxa.""Error de xarxa o de targeta SIM."
- "Les operacions només es permeten a números de marcatge fixos."
- "Activeu la ràdio abans de visualitzar aquesta configuració."
+ "La configuració dels números de marcatge fix de l\'aplicació Telèfon està activada. En conseqüència, algunes funcions relacionades amb les trucades no funcionen."
+ "Activa la ràdio abans de visualitzar aquesta configuració.""D\'acord""Activa""Desactiva"
@@ -156,10 +134,9 @@
"Amaga el número""Mostra el número"
- "Desa el número del correu de veu""Número del correu de veu canviat."
- "No s\'ha pogut canviar el número del correu de veu."\n"Contacteu amb l\'operador si el problema continua."
- "No s\'ha pogut canviar el número de desviament de trucades."\n"Contacteu amb l\'operador si el problema continua."
+ "No s\'ha pogut canviar el número de bústia de veu."\n"Contacta amb el teu operador de telefonia mòbil si el problema continua."
+ "No s\'ha pogut canviar el número de desviació."\n"Contacta amb el teu operador de telefonia mòbil si el problema continua.""No s\'ha pogut recuperar ni desar la configuració actual del número de desviació."\n"Vols canviar al proveïdor nou igualment?""No s\'ha fet cap canvi.""Trieu un servei de correu de veu"
@@ -171,14 +148,14 @@
"Cerca xarxes""S\'ha produït un error en cercar xarxes.""S\'està registrant a %s..."
- "La targeta SIM no permet connectar-se a aquesta xarxa."
- "En aquests moments no es pot connectar a la xarxa. Torneu-ho a provar més tard."
+ "La targeta SIM no et permet connectar-te a aquesta xarxa."
+ "Ara mateix no es pot connectar a aquesta xarxa. Torna-ho a provar més tard.""Registrat a la xarxa."
- "Seleccioneu un operador de xarxa"
+ "Selecciona un operador de xarxa""Cerca totes les xarxes disponibles"
- "Selecció automàtica"
- "Selecciona automàticament la xarxa preferida"
- "Registre automàtic..."
+ "Selecció automàtica"
+ "Selecciona automàticament la xarxa preferida"
+ "Registre automàtic...""Mode de xarxa""Canvia el mode de funcionament de la xarxa""Mode de xarxa preferit"
@@ -192,17 +169,17 @@
"Mode de xarxa preferit: només EvDo""Mode de xarxa preferit: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Només EvDo""CDMA sense EvDo"
- "CDMA / EvDo autom."
- "GSM / WCDMA autom."
+ "CDMA/EvDo automàtic"
+ "GSM/WCDMA automàtic""Només WCDMA""Només GSM"
- "GSM / WCDMA preferit"
+ "GSM/WCDMA preferit"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Dades activades"
@@ -210,12 +187,11 @@
"Itinerància de dades""Connecta\'t als serveis de dades en itinerància""Connecta\'t als serveis de dades en itinerància"
- "Heu perdut la connectivitat de dades perquè heu abandonat la xarxa local amb la itinerància de dades desactivada."
+ "Has perdut la connectivitat de dades perquè has abandonat la xarxa local amb la itinerància de dades desactivada.""Voleu permetre la itinerància de dades? Els costos poden ser molt alts.""Opcions de GSM/UMTS""Opcions de CDMA""Ús de dades"
- "Política de dades de l\'operador""Dades utilitzades al període actual""Període d\'ús de dades""Política de velocitat de dades"
@@ -226,7 +202,6 @@
"%1$d٪ del cicle transcorregut"\n"El període següent comença d\'aquí a %2$d dies (%3$s)""La velocitat de dades es redueix a %1$d kbps si se supera el límit d\'ús de dades""Més informació sobre la política d\'us de dades de la xarxa mòbil de l\'operador"
- "SMS de difusió de cel·la""SMS de difusió de cel·la""SMS de difusió de cel·la""SMS de difusió de cel·la activat"
@@ -267,15 +242,6 @@
"Coreà""Xinès""Hebreu"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Idiomes""Informació del temps local"
@@ -305,9 +271,9 @@
"Oportunitats de feina""Oportunitats de feina activades""Oportunitats de feina desactivades"
- "Medicina, salut i hospitals"
- "Medicina, salut i hospitals activat"
- "Medicina, salut i hospitals desactivat"
+ "Medicina, salut i hospitals"
+ "Medicina, salut i hospitals activat"
+ "Medicina, salut i hospitals desactivat""Notícies de tecnologia""Notícies de tecnologia activades""Notícies de tecnologia desactivades"
@@ -322,35 +288,17 @@
"Només WCDMA""Només GSM""GSM/WCDA (preferència: WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Utilitza només les xarxes 2G""Estalvia bateria""Selecció del sistema"
- "Canvia el mode d\'itinerància cdma"
+ "Canvia el mode d\'itinerància CDMA""Selecció del sistema""Només local""Automàtic"
- "Mode d\'itinerància CDMA"
- "Canvia el mode d\'itinerància cdma"
- "Mode d\'itinerància CDMA"
-
- "Només xarxes locals"
- "Xarxes afiliades"
- "Qualsevol xarxa"
-
-
- "0"
- "1"
- "2"
-
+ "Subscripció CDMA""Preferències de xarxa CDMA""Encara no s\'ha implementat.""Preferències de xarxa CDMA"
@@ -359,21 +307,11 @@
"Només CDMA""Només EvDo"
-
- "0"
- "1"
- "2"
-
- "Subscripció CDMA""Canvia entre RUIM/SIM i NV""subscripció""RUIM/SIM""NV"
-
-
- "0"
- "1""Activació del dispositiu""Configuració del servei de dades"
@@ -390,18 +328,16 @@
"Gestiona els números de marcatge fix""Canvia el PIN per a l\'accés FDN""Gestiona la llista de números de telèfon"
- "Privadesa de veu"
+ "Privadesa de veu""Activa el mode de privadesa millorat"
- "Mode TTY"
- "Activa el mode TTY""Mode TTY""Defineix el mode TTY"
- "Reintent automàtic"
- "Activa el mode de reintent automàtic"
+ "Reintent automàtic"
+ "Activa el mode de reintent automàtic""Afegeix un contacte""Edita el contacte""Suprimeix el contacte"
- "Introduïu el PIN2"
+ "Escriu el PIN2""Nom""Número""Desa"
@@ -414,56 +350,50 @@
"Suprimeix el número de marcatge fix""S\'està suprimint el número de marcatge fix...""Número de marcatge fix suprimit."
- "FDN no actualitzat: heu introduït un PIN incorrecte."
- "FDN no actualitzat: el número no pot superar els 20 dígits."
+ "FDN no s\'ha actualitzat ja que has escrit un PIN incorrecte."
+ "FDN no s\'ha actualitzat ja que el nombre no pot excedir els 20 dígits."
+ "El número FDN no s\'ha actualitzat. El PIN2 no és correcte o bé s\'ha rebutjat el número de telèfon.""S\'està llegint de la targeta SIM...""No hi ha cap contacte a la targeta SIM.""Seleccioneu contactes per importar-los"
- "Per importar contactes des de la targeta SIM, apaga el mode avió."
+ "Per importar contactes des de la targeta SIM, primer has de desactivar el mode d\'avió.""Activa/Desactiva el PIN de la SIM""Canvia el PIN de la SIM""PIN de la SIM:""PIN antic""PIN nou""Confirmeu el PIN nou"
- "El PIN antic que heu escrit no és correcte. Torneu-ho a provar."
- "Els PIN que heu introduït no coincideixen. Torneu-ho a provar."
+ "El PIN antic que has escrit no és correcte. Torna-ho a provar."
+ "Els PIN que has introduït no coincideixen. Torna-ho a provar.""Escriviu un PIN que tingui de 4 a 8 números.""Desactiva el PIN de la SIM""Activació del PIN de la SIM""Espereu-vos…"
- "PIN de la SIM activat"
- "PIN de la SIM desactivat"
- "El PIN que heu escrit és incorrecte"
- "PIN de la SIM canviat correctament"
+ "PIN de la SIM activat."
+ "PIN de la SIM desactivat."
+ "El PIN que has escrit és incorrecte."
+ "El PIN de la SIM s\'ha modificat correctament.""Contrasenya incorrecta; s\'ha bloquejat la SIM. S\'ha sol·licitat el codi PUK2.""PIN2""PIN2 antic""PIN2 nou""Confirmeu el PIN2 nou"
- "El PUK2 que heu escrit no és correcte. Torneu-ho a provar."
- "El PIN2 antic que heu escrit no és correcte. Torneu-ho a provar."
- "Els PIN2 que heu introduït no coincideixen. Torneu-ho a provar."
+ "El PUK2 que has escrit no és correcte. Torna-ho a provar."
+ "El PIN2 antic que has escrit no és correcte. Torna-ho a provar."
+ "Els PIN2 que has escrit no coincideixen. Torna-ho a provar.""Escriviu un PIN2 que tingui de 4 a 8 números.""Escriviu un PUK2 de 8 números."
- "PIN2 canviat correctament"
+ "El PIN2 s\'ha modificat correctament.""Escriviu el codi PUK2"
- "Contrasenya incorrecta. Canvieu el PIN2 i torneu-ho a provar."
- "Contrasenya incorrecta; s\'ha bloquejat la SIM. S\'ha sol·licitat el codi PUK2."
+ "Contrasenya incorrecta. Canvia el PIN2 i torna-ho a provar."
+ "Contrasenya incorrecta; s\'ha bloquejat la SIM. S\'ha sol·licitat el codi PUK2.""Fet""Trucada de conferència %s"
- "Torna a la trucada"
- "Continua sense cap targeta SIM"
- "No s\'ha trobat cap targeta SIM. Inseriu-ne una al telèfon."
- "Omet"
- "Desbloqueja"
- "S\'està autenticant el PIN…""Número del correu de veu""S\'està marcant""S\'està tornant a provar""Trucada de conferència""Trucada entrant"
- "Trucada en espera CDMA""Trucada finalitzada""En espera""S\'està penjant"
@@ -473,7 +403,7 @@
"Trucades perdudes""%s trucades perdudes""Trucada perduda de %s"
- "Trucada actual (%s)"
+ "Trucada en procés""En espera""Trucada entrant""Correu de veu nou"
@@ -482,13 +412,15 @@
"Número del correu de veu desconegut""Sense servei""La xarxa seleccionada (%s) no està disponible"
+ "Penja"
+ "Torna la trucada"
+ "Missatge""Per fer una trucada, primer apagueu el mode d\'avió.""No registrat a la xarxa.""La xarxa mòbil no està disponible.""No s\'ha enviat la trucada perquè no s\'ha introduït cap número vàlid.""No s\'ha enviat la trucada.""S\'està iniciant la seqüència MMI..."
- "S\'està iniciant la seqüència de codis de funció...""Servei no compatible.""No es poden canviar les trucades.""No es pot separar la trucada."
@@ -500,18 +432,13 @@
"Trucada d\'emergència""S\'està activant la ràdio...""Fora de l\'àrea de servei; s\'està tornant a provar..."
- "No s\'ha enviat la trucada, perquè %s no és un número d\'emergència."
- "Trucada no enviada. Marqueu un número d\'emergència."
+ "No s\'ha enviat la trucada. %s no és un número d\'emergència."
+ "Trucada no enviada. Marca un número d\'emergència.""Utilitzeu el teclat per marcar"
- "Teclat de tons""Posa en espera"
- "Allibera""Final""Teclat"
- "Amaga"
- "Altaveu""Silencia"
- "Bluetooth""Afegeix una trucada""Combina les trucades""Canvia"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Text ERI"
- "Tons DTMF"
+ "Tons DTMF""Defineix la durada dels tons DTMF""Normal""Llarg"
- "Missatge de xarxa"
+ "Missatge de xarxa""Activació del telèfon""Cal fer una trucada especial per activar el servei del telèfon. "\n\n"Després de prémer \"Activa\", escolteu les instruccions proporcionades per activar el telèfon."
- "Toqueu \"Activa\" per fer una trucada especial que activa el telèfon a la xarxa mòbil de l\'operador per tal que pugueu fer trucades i connectar-vos a les xarxes de dades mòbils.""Voleu ometre l\'activació?""Si ometeu l\'activació, no podreu fer trucades ni connectar-vos a xarxes de dades mòbils (tot i que podreu connectar-vos a xarxes Wi-fi). Fins que activeu el telèfon, se us demanarà que ho feu cada cop que l\'engegueu.""Omet"
- "Activa""Activa"
- "El telèfon s\'ha activat."
+ "El telèfon està activat.""Problema d\'activació""Seguiu les instruccions parlades fins que escolteu que s\'ha completat l\'activació."
- "Teclat""Altaveu"
- "Espereu-vos mentre es programa el telèfon."
- "Programació incorrecta"
+ "Espera mentre es programa el telèfon."
+ "Programació incorrecta""El telèfon s\'ha activat. El servei pot trigar fins a 15 minuts en iniciar-se."
- "El telèfon no s\'ha activat. "\n"Pot ser que hàgiu de trobar una àrea amb millor cobertura (a prop d\'una finestra o a l\'exterior). "\n\n"Torneu-ho a provar o truqueu al servei d\'atenció al client per a més opcions."
+ "El telèfon no s\'ha activat. "\n"Pot ser que t\'hagis de desplaçar a una zona amb més cobertura (a prop d\'una finestra o a l\'exterior). "\n\n"Torna-ho a provar o truca al servei d\'atenció al client per obtenir més opcions.""ERRORS SPC EN EXCÉS""Enrere""Torna-ho a provar""Següent"
- "Enrere""EcmExitDialog""S\'ha entrat al mode de crida de retorn d\'emergència""Mode de crida de retorn d\'emergència"
@@ -569,87 +491,69 @@
"No hi ha hagut connexió de dades durant %s minuts"
- "El telèfon estarà en el mode de crida de retorn d\'emergència durant %s minut. En aquest mode no es poden utilitzar aplicacions que facin servir una connexió de dades. Voleu sortir ara?"
- "El telèfon estarà en el mode de crida de retorn d\'emergència durant %s minuts. En aquest mode no es poden utilitzar aplicacions que facin servir una connexió de dades. Voleu sortir ara?"
+ "El telèfon estarà en mode de devolució de trucades d\'emergència durant %s minut. Mentre estigui en aquest mode, no es podran utilitzar aplicacions que utilitzin una connexió de dades. En vols sortir ara?"
+ "El telèfon estarà en mode de devolució de trucades d\'emergència durant %s minuts. Mentre estigui en aquest mode, no es podran utilitzar aplicacions que utilitzin una connexió de dades. En vols sortir ara?"
- "L\'acció seleccionada no està disponible en mode de crida de retorn d\'emergència. El telèfon estarà en aquest mode durant %s minut. Voleu sortir ara?"
- "L\'acció seleccionada no està disponible en mode de crida de retorn d\'emergència. El telèfon estarà en aquest mode durant %s minuts. Voleu sortir ara?"
+ "L\'acció seleccionada no està disponible mentre estiguis en mode de devolució de trucades d\'emergència. El telèfon estarà en aquest mode durant %s minuts. En vols sortir ara?"
+ "L\'acció seleccionada no està disponible mentre estiguis en mode de devolució de trucades d\'emergència. El telèfon estarà en aquest mode durant %s minuts. En vols sortir ara?"
- "L\'acció seleccionada no està disponible en una trucada d\'emergència"
- "S\'està sortint del mode de crida de retorn d\'emergència"
+ "L\'acció seleccionada no està disponible en una trucada d\'emergència."
+ "S\'està sortint del mode de devolució de trucades d\'emergència""Sí""No""Omet"
- "Configuració del correu de veu"
- "<no definit>"
- "Servei de correu de veu"
- "Configuració de %s"
+ "Servei"
+ "Configuració"
+ "<No definit>""Altres opcions de configuració de trucades"
- "Marca"
- "S\'està trucant mitjançant ^1"\n"^2"
- "Arrossegueu-ho cap a la dreta per respondre"
- "Arrossegueu-ho cap a l\'esquerra per silenciar el timbre"
- "Arrossegueu-ho cap a l\'esquerra per rebutjar-la"
- "Arrossegueu-ho cap a la dreta per respondre i"\n"posar en espera la trucada activa"
- "Arrossegueu-ho cap a la dreta per respondre i"\n"finalitzar la trucada activa"
- "Arrossegueu-ho cap a la dreta per respondre i"\n"finalitzar la trucada en espera"
- "Respon"
- "Rebutja"
+ "Trucada mitjançant %s""foto de contacte""passa a privat""selecciona el contacte""Configuració de les trucades per Internet""Comptes per a trucades per Internet (SIP)""Comptes"
- "Gestió dels comptes i estats de les trucades per Internet (SIP)""Recepció de trucades entrants""Redueix la durada de la bateria"
- "Configura les opcions de trucada""Utilitza la trucada per Internet""Utilitza la trucada per Internet (només Wi-Fi)""Per a totes les trucades quan hi hagi disponible una xarxa de dades""Només per a trucades per Internet""Pregunta-ho per a cada trucada""Per a totes les trucades"
- "Registre automàtic"
- "Trucada sortint per SIP""Fes una trucada""Utilitza el compte per a trucades per Internet:""Utilitza-ho sempre per fer trucades per Internet"
- "Pots utilitzar les Opcions de trucada per canviar quin compte de trucada per Internet s\'ha d\'utilitzar de forma predeterminada en fer trucades, seleccionant un compte diferent a les opcions de trucades per Internet"
+ "Pots canviar quin compte vols utilitzar com a opció predeterminada per a les trucades per Internet del telèfon a la pantalla > Configuració > Configuració de les trucades per Internet > Comptes.""Trucada amb telèfon mòbil""Trucada per Internet""No hi ha cap compte per a trucades per Internet"
- "No hi ha comptes per a trucades per Internet en aquest telèfon. Vols afegir-ne un ara?"
+ "En aquest telèfon no hi ha comptes de trucades per Internet. Vols afegir-n\'hi un?""Afegeix""Afegeix un compte""Elimina el compte""Comptes SIP"
- "S\'està desant el compte..."
- "S\'està eliminant el compte..."
+ "S\'està desant el compte..."
+ "S\'està eliminant el compte...""Desa""Descarta""Tanca el perfil""D\'acord""Tanca"
- "Principal"
- "Defineix-lo com el meu compte principal"
- "Utilitzat per a trucades sortints"
- "Configuració avançada""Compte principal. %s""S\'està comprovant l\'estat..."
- "S\'està registrant..."
- "Encara s\'està provant..."
- "No s\'estan rebent trucades"
- "S\'ha aturat el registre del compte perquè no hi ha connexió a Internet"
- "S\'ha aturat el registre del compte perquè no hi ha una connexió Wi-Fi"
- "S\'ha produït un error en registrar el compte"
- "Recepció de trucades"
+ "S\'està registrant..."
+ "Encara s\'està provant..."
+ "No s\'estan rebent trucades."
+ "S\'ha aturat el registre del compte perquè no hi ha connexió a Internet."
+ "S\'ha aturat el registre del compte perquè no hi ha cap connexió Wi-Fi."
+ "S\'ha produït un error en registrar el compte."
+ "S\'estan rebent trucades.""S\'ha produït un error en registrar el compte: (%s); ho tornarem a provar més tard"
- "S\'ha produït un error en el registre del compte: el nom d\'usuari o la contrasenya no són correctes"
- "S\'ha produït un error en el registre del compte: comprova el nom del servidor"
- "L\'aplicació %s està utilitzant aquest compte actualment"
+ "S\'ha produït un error en el registre del compte: el nom d\'usuari o la contrasenya no són correctes."
+ "S\'ha produït un error en el registre del compte: comprova el nom del servidor."
+ "L\'aplicació %s està utilitzant aquest compte actualment.""Detalls del compte SIP""Detalls del compte SIP""Servidor"
@@ -660,9 +564,6 @@
"Número de port""Tipus de transport""Envia mantenir en línia"
- "Envia missatges SIP de manteniment"
- "Registre automàtic"
- "Registra automàticament el perfil""Defineix com a compte principal""Utilitzat per a trucades sortints""Configuració opcional"
@@ -673,12 +574,12 @@
"<Opcional>""▷ Toca per mostrar-ho tot""▽ Toca per amagar-ho tot"
- "%s és obligatori, no es pot deixar en blanc"
- "El número de port hauria de ser entre 1000 i 65534"
+ "%s és obligatori, no es pot deixar en blanc."
+ "El número de port hauria de ser entre 1000 i 65534.""No hi ha connexió a Internet""No hi ha connexió Wi-Fi"
- "Per fer una trucada per Internet, en primer lloc comprova la connexió a Internet"
- "Has d\'estar connectat a una xarxa Wi-Fi per fer trucades per Internet (utilitza la configuració Wi-Fi i Xarxa)"
+ "Per fer una trucada per Internet, primer comprova la connexió a Internet."
+ "Has d\'estar connectat a una xarxa Wi-Fi per fer trucades per Internet (utilitza la configuració Wi-Fi i Xarxa)""No s\'admeten les trucades per Internet""Automàtic""Envia sempre"
@@ -687,7 +588,7 @@
"Et truco de seguida.""Et truco més tard.""Ara no puc parlar. Truques després?"
- "Missatge personalitzat..."
+ "Personalitza el missatge""Respostes ràpides""Edita les respostes ràpides"
@@ -705,7 +606,6 @@
"estrella""zero""coixinet"
- "cerca""marca""retrocés""Altaveu activat."
@@ -715,9 +615,14 @@
"Rebutja""Vibra""Vibra"
+ "To""Sempre""Només quan està en silenci""Mai"
+ "To del telèfon"
+ "Vibra quan soni"
+ "Tons en tocar el teclat per marcar"
+ "To"
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 631eaef38..97912e50f 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -25,39 +25,27 @@
"Soukromé číslo""Veřejný telefon""Přidržený hovor"
- "Aktuální hovor""Linka je obsazená.""Síť je zaneprázdněna.""Bez odezvy, vypršel časový limit""Server je nedostupný""Volané číslo je nedostupné""Nesprávné uživatelské jméno nebo heslo"
- "Volání z vně sítě"
+ "Volání z vně sítě""Chyba serveru: Zkuste to znovu později.""Není signál.""Byl dosažen limit ACM.""Rádio je vypnuto"
- "Karta SIM chybí nebo nefunguje."
+ "SIM karta chybí nebo nefunguje.""Nepokrytá oblast.""Odchozí hovory jsou omezeny na povolená telefonní čísla."
- "Pokud je zapnuto blokování hovorů, nelze provádět odchozí hovory."
+ "Pokud je zapnuto blokování hovorů, nelze provádět odchozí hovory.""Všechny hovory jsou omezeny řízením přístupu.""Tísňová volání jsou omezena řízením přístupu.""Běžné hovory jsou omezeny řízením přístupu."
- "CDMA: Telefon uzamčen do dalšího cyklu nabíjení."
- "CDMA: Hovor přerušen."
- "CDMA: Hovor přerušen."
- "CDMA: přeuspořádání."
- "CDMA: Odmítnutí možnosti služby."
- "CDMA: Pořadí opakování."
- "CDMA: Chyba přístupu."
- "CDMA: Zabráněno."
- "Jsou možná jen tísňová volání."
- "Neplatné číslo"
+ "Neplatné číslo""Konferenční hovor""Hovor byl ztracen."
- "Zkusit znovu"
- "Hovor byl ztracen""OK""Kód MMI byl spuštěn""Kód USSD je spuštěn..."
@@ -69,37 +57,28 @@
"Kabelová náhlavní soupr.""Bluetooth""Odeslat následující tóny?"\n
- "Odesílání tónů"\n
+ "Odesílání tónů"\n"Odeslat""Ano""Ne"
- "Nahradit zástupný znak znakem"
+ "Nahradit zástupné znaky jinými znaky""Chybí číslo hlasové schránky"
- "Na kartě SIM není uloženo žádné číslo hlasové schránky."
+ "Na SIM kartě není uloženo žádné číslo hlasové schránky.""Přidat číslo"
- "Načítání..."
- "Kartu SIM odblokujete zadáním kódu PIN:"
- "Karta SIM byla odblokována."
- "Nový kód PIN karty SIM"
- "Potvrďte nový kód PIN karty SIM"
- "Zadané kódy PIN karty SIM se neshodují. Zkuste to znovu."
- "Kartu SIM odblokujete zadáním kódu PUK"
- "Zadaný kód PUK je nesprávný."
- "Pokračovat"
- "Karta SIM byla odblokována. Telefon se odblokovává..."
- "Kód PIN odblokování sítě pro kartu SIM"
+ "SIM karta byla odblokována. Telefon se odblokovává..."
+ "Kód PIN odblokování sítě pro SIM kartu""Odemknout""Zavřít""Žádost o odblokování sítě...""Požadavek na odblokování sítě se nezdařil.""Síť byla úspěšně odblokována."
- "IMEI"
- "MEID""Nastavení hovorů GSM""Nastavení hovorů CDMA"
- "Názvy přístupových bodů"
+ "Názvy přístupových bodů (APN)""Nastavení sítě""Hlasová schránka"
+ Upozornění příchozí zprávy
+ Pro zobrazení zprávy počkejte na zvukové upozornění hlasové schránky"HS:""Síťoví operátoři""Nastavení hovorů"
@@ -109,6 +88,7 @@
"Další nastavení hovorů, pouze CDMA""Nastavení síťové služby""ID volajícího"
+ "Načítání nastavení...""Číslo je v odchozích hovorech skryto""Číslo je v odchozích hovorech zobrazeno""Zobrazení čísla v odchozích hovorech se bude řídit výchozím nastavením operátora"
@@ -127,26 +107,26 @@
"Číslo při obsazené lince""Hovory budou přesměrovány na číslo {0}""Vypnuto"
- "Váš operátor neumožňuje deaktivaci přesměrování, je-li telefon obsazen."
+ "Váš operátor neumožňuje deaktivovat přesměrování hovorů, když je telefon obsazen.""Přesměrovat – nečinnost""Číslo při nečinnosti""Hovory budou přesměrovány na číslo {0}""Vypnuto"
- "Váš operátor neumožňuje deaktivaci přesměrování, jestliže telefon neodpovídá."
+ "Váš operátor neumožňuje deaktivovat přesměrování hovorů, když telefon neodpovídá.""Přesměrovat – nedostupnost""Číslo při nedostupnosti""Hovory budou přesměrovány na číslo {0}""Vypnuto"
- "Váš operátor neumožňuje deaktivaci přesměrování, je-li telefon nedostupný."
+ "Váš operátor neumožňuje deaktivovat přesměrování hovorů, když je telefon nedostupný.""Nastavení hovorů""Chyba nastavení hovorů""Načítání nastavení...""Probíhá aktualizace nastavení...""Probíhá vrácení předchozích nastavení…""Neočekávaná odpověď sítě."
- "Došlo k chybě sítě nebo karty SIM."
- "Operace lze provádět pouze na povolená telefonní čísla."
- "Před zobrazením nastavení zapněte rádio."
+ "Došlo k chybě sítě nebo SIM karty."
+ "Nastavení Povolených telefonních čísel v aplikaci vašeho telefonu je zapnuto. Z tohoto důvodu nefungují některé funkce spojené s voláním."
+ "Před zobrazením těchto nastavení prosím zapněte bezdrátový modul.""OK""Povolit""Vypnout"
@@ -156,10 +136,9 @@
"Skrýt číslo""Zobrazit číslo"
- "Uložit číslo hlasové schránky""Číslo hlasové schránky bylo změněno."
- "Změna čísla hlasové schránky se nezdařila."\n"Pokud problém přetrvává, obraťte se na svého operátora."
- "Změna čísla pro přesměrování se nezdařila."\n"Pokud problém přetrvává, obraťte se na svého operátora."
+ "Číslo hlasové schránky se nepodařilo změnit."\n"Pokud problém přetrvá, obraťte se na operátora."
+ "Číslo pro přesměrování se nepodařilo změnit."\n"Pokud tento problém přetrvá, obraťte se na operátora.""Načtení a uložení aktuálních nastavení čísla přesměrování se nezdařilo."\n"Chcete přesto změnit poskytovatele?""Nebyly provedeny žádné změny.""Zvolte službu hlasové schránky"
@@ -171,14 +150,14 @@
"Vyhledávání sítí""Při vyhledávání sítí došlo k chybě.""Probíhá registrace v síti %s..."
- "Vaše karta SIM nepovoluje připojení k této síti."
- "K této síti se nyní nelze připojit. Zkuste to znovu později."
+ "Vaše SIM karta nepovoluje připojení k této síti."
+ "K této síti se momentálně nelze přihlásit. Zkuste to znovu později.""Přihlášení k síti bylo úspěšné."
- "Umožňuje vybrat síťového operátora"
+ "Vybrat síťového operátora""Vyhledá všechny dostupné sítě"
- "Automatická volba"
- "Upřednostňovaná síť je volena automaticky"
- "Automatická registrace..."
+ "Zvolit automaticky"
+ "Automaticky zvolit upřednostňovanou síť"
+ "Automatická registrace...""Režim sítě""Změnit provozní režim sítě""Upřednostňovaný režim sítě"
@@ -191,31 +170,43 @@
"Upřednostňovaný režim sítě: pouze CDMA""Upřednostňovaný režim sítě: pouze EvDo""Upřednostňovaný režim sítě: LTE / CDMA"
+ Upřednostňované sítě: LTE / GSM/WCDMA
+ Upřednostňované sítě: LTE/CDMA/EvDo
+ Upřednostňované sítě: LTE/CMDA/EvDo / GSM/WCDMA
- "LTE / CDMA"
+ "LTE/CDMA""Pouze EvDo""CDMA bez EvDo"
- "CDMA / EvDo – automaticky"
- "GSM / WCDMA – automaticky"
+ "CDMA/EvDo – automaticky"
+ "GSM/WCDMA – automaticky""Pouze WCDMA""Pouze GSM"
- "GSM / WCDMA – upřednostňováno"
+ "GSM/WCDMA – upřednostňováno"
- "LTE / CDMA"
- "CDMA"
+ Pouze LTE
+ LTE/CMDA/EvDo/GSM/WCDMA
+ LTE/CDMA/EvDo
+ LTE/CDMA
+ CDMA/EvDo automaticky
+
+
+ LTE/GSM/WCDMA
+ Upřednostňovat GSM/WCDMA"Dat. přenosy aktivovány"
- "Aktivuje datový přístup prostřednictvím mobilní sítě"
- "Datové služby při roamingu"
- "Datové služby se mohou připojovat při roamingu"
- "Datové služby se mohou připojovat při roamingu"
- "Připojení datových služeb bylo přerušeno, protože jste opustili domovskou síť a datové služby při roamingu máte vypnuty."
- "Opravdu chcete povolit datové služby při roamingu? Vystavujete se nebezpečí vysokých poplatků."
+ "Aktivovat datový přístup prostřednictvím mobilní sítě"
+ "Datový roaming"
+ "Používat datové služby při roamingu"
+ "Používat datové služby při roamingu"
+ Vnitrostátní datový roaming
+ Používat datové služby při vnitrostátním roamingu
+ Nepoužívat datové služby při vnitrostátním roamingu
+ "Datové připojení bylo přerušeno, protože jste opustili domovskou síť a máte vypnutý datový roaming."
+ "Opravdu chcete povolit datový roaming? Vystavujete se nebezpečí vysokých poplatků.""Možnosti GSM/UMTS""Možnosti CDMA""Využití dat"
- "Zásady operátora pro data""Data využitá v aktuálním období""Období využití dat""Zásady pro přenosovou rychlost"
@@ -226,7 +217,6 @@
"Uplynulo %1$d٪ cyklu"\n"Počet dní do začátku dalšího období: %2$d (%3$s)""V případě překročení limitu využití dat se přenosová rychlost sníží na %1$d kb/s""Další informace o zásadách využití dat v mobilní síti vašeho mobilního operátora"
- "SMS Cell Broadcast""SMS Cell Broadcast""SMS Cell Broadcast""SMS Cell Broadcast povoleny"
@@ -242,7 +232,7 @@
"Údržba povolena""Údržba zakázána""Obecné zprávy"
- "Obchodní a finanční zprávy"
+ "Ekonomika a finance""Sportovní zprávy""Zprávy z kultury""Místní"
@@ -267,15 +257,6 @@
"korejština""čínština""hebrejština"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Jazyky""Místní počasí"
@@ -305,9 +286,9 @@
"Pracovní příležitosti""Pracovní příležitosti povoleny""Pracovní příležitosti zakázány"
- "Lékařství, zdraví a nemocnice"
- "Lékařství, zdraví a nemocnice povoleny"
- "Lékařství, zdraví a nemocnice zakázány"
+ "Lékařství, zdraví a nemocnice"
+ "Lékařství, zdraví a nemocnice – povoleno"
+ "Lékařství, zdraví a nemocnice – zakázáno""Technologické zprávy""Technologické zprávy povoleny""Technologické zprávy zakázány"
@@ -322,35 +303,17 @@
"Pouze WCDMA""Pouze GSM""GSM/WCDA (preferováno WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Používat pouze sítě 2G""Šetří baterii""Výběr systému"
- "Změnit režim roamingu CDMA"
+ "Změnit režim roamingu CDMA""Výběr systému""Pouze plocha""Automaticky"
- "Režim roamingu CDMA"
- "Změnit režim roamingu CDMA"
- "Režim roamingu CDMA"
-
- "Pouze domovské sítě"
- "Partnerské sítě"
- "Jakákoli síť"
-
-
- "0"
- "1"
- "2"
-
+ "Odběr CDMA""Nastavení sítě CDMA""Dosud neimplementováno""Nastavení sítě CDMA"
@@ -359,21 +322,11 @@
"Pouze CDMA""Pouze EvDo"
-
- "0"
- "1"
- "2"
-
- "Odběr CDMA""Přepnout mezi RUIM/SIM a NV""odběr""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktivovat zařízení""Nastavit datovou službu"
@@ -390,18 +343,16 @@
"Umožňuje spravovat povolená telefonní čísla""Umožňuje změnit kód PIN pro přístup k povoleným telefonním číslům""Správa telefonního seznamu"
- "Ochrana soukromí hlasové pošty"
+ "Ochrana osobních údajů v hlasové poště""Povolit režim vylepšené ochrany soukromí"
- "Režim TTY"
- "Povolit režim TTY""Režim TTY""Nastavit režim TTY"
- "Automaticky zkusit znovu"
- "Aktivovat režim Automaticky zkusit znovu"
+ "Automaticky zkusit znovu"
+ "Aktivovat režim Automaticky zkusit znovu""Přidat kontakt""Upravit kontakt""Smazat kontakt"
- "Zadat kód PIN2"
+ "Zadejte kód PIN2""Jméno""Číslo""Uložit"
@@ -414,56 +365,50 @@
"Smazat povolené telefonní číslo""Mazání povoleného telefonního čísla...""Povolené telefonní číslo bylo smazáno."
- "Povolené telefonní číslo nebylo aktualizováno: Zadali jste nesprávný kód PIN."
- "Povolené telefonní číslo nebylo aktualizováno: Délka čísla nemůže přesahovat 20 číslic."
- "Čtení z karty SIM..."
- "Na kartě SIM nejsou žádné kontakty."
+ "Funkce Povolená telefonní čísla nebyla aktualizována, protože jste zadali chybný kód PIN."
+ "Funkce Povolená telefonní čísla nebyla aktualizována, protože číslo nesmí obsahovat více než 20 číslic."
+ "Povolená telefonní čísla (FDN) nebyla aktualizována. Kód PIN2 byl nesprávný nebo bylo telefonní číslo odmítnuto."
+ "Čtení ze SIM karty..."
+ "Na SIM kartě nejsou žádné kontakty.""Vybrat kontakty pro import"
- "Chcete-li importovat kontakty z karty SIM, vypněte prosím režim V letadle."
- "Povolit nebo zakázat kód PIN karty SIM"
- "Změnit kód PIN karty SIM"
- "Kód PIN karty SIM:"
+ "Chcete-li importovat kontakty ze SIM karty, vypněte nejprve režim V letadle."
+ "Povolit nebo zakázat PIN SIM karty"
+ "Změnit PIN SIM karty"
+ "PIN SIM karty:""Původní kód PIN""Nový kód PIN""Potvrďte nový kód PIN"
- "Původní kód PIN byl zadán nesprávně. Zkuste to znovu."
- "Zadané kódy PIN se neshodují. Zkuste to znovu."
+ "Původní kód PIN byl zadán nesprávně. Zkuste to znovu."
+ "Zadané kódy PIN se neshodují. Zkuste to znovu.""Zadejte kód PIN o délce 4-8 číslic."
- "Zakázat kód PIN karty SIM"
- "Povolit kód PIN karty SIM"
+ "Zakázat PIN SIM karty"
+ "Povolit PIN SIM karty""Čekejte prosím..."
- "Kód PIN karty SIM je povolen."
- "Kód PIN karty SIM je zakázán."
- "Zadaný kód PIN je nesprávný."
- "Kód PIN karty SIM byl úspěšně změněn."
- "Neplatné heslo, karta SIM je zablokována. Zadejte kód PUK2."
+ "PIN SIM karty je povolen."
+ "PIN SIM karty je zakázán."
+ "Zadaný kód PIN není správný."
+ "PIN SIM karty byl úspěšně změněn."
+ "Neplatné heslo, SIM karta je zablokována. Zadejte kód PUK2.""PIN2""Původní kód PIN2""Nový kód PIN2""Potvrdit nový kód PIN2"
- "Původní kód PUK2 byl zadán nesprávně. Zkuste to znovu."
- "Původní kód PIN2 byl zadán nesprávně. Zkuste to znovu."
- "Zadané kódy PIN2 se neshodují. Zkuste to znovu."
+ "Zadaný kód PUK2 není správný. Zkuste to znovu."
+ "Zadaný původní kód PIN2 není správný. Zkuste to znovu."
+ "Zadané kódy PIN2 se neshodují. Zkuste to znovu.""Zadejte kód PIN2 o délce 4-8 číslic.""Zadejte 8místný kód PUK2."
- "Kód PIN2 byl úspěšně změněn."
+ "Kód PIN2 byl úspěšně změněn.""Zadejte kód PUK2"
- "Heslo je nesprávné. Změňte kód PIN2 a zkuste to znovu."
- "Neplatné heslo, karta SIM je zablokována. Zadejte kód PUK2."
+ "Heslo není správné. Změňte kód PIN2 a zkuste to znovu."
+ "Neplatné heslo, SIM karta je zablokována. Je požadován kód PUK2.""Hotovo""Konferenční hovor %s"
- "Zpět k hovoru"
- "Pokračovat bez karty SIM"
- "Karta SIM nebyla nalezena. Vložte do telefonu kartu SIM."
- "Zavřít"
- "Odemknout"
- "Ověřování kódu PIN...""Číslo hlasové schránky""Vytáčení""Nový pokus""Konferenční hovor""Příchozí hovor"
- "Čekající hovor CDMA""Hovor ukončen""Přidržený hovor""Zavěšování"
@@ -473,7 +418,7 @@
"Zmeškané hovory""Zmeškané hovory: %s.""Zmeškaný hovor od volajícího %s."
- "Aktuální hovor (%s)"
+ "Probíhající hovor""Přidržený hovor""Příchozí hovor""Nová hlasová zpráva"
@@ -482,13 +427,15 @@
"Číslo hlasové schránky je neznámé.""Žádný signál""Vybraná síť (%s) není k dispozici"
+ "Zavěsit"
+ "Zavolat zpět"
+ "Zpráva""Chcete-li telefonovat, vypněte nejprve režim V letadle.""Přihlášení k síti nebylo úspěšné.""Mobilní síť je nedostupná.""Hovor nelze spojit, nebylo zadáno platné číslo.""Hovor nebyl spojen.""Spouštění sekvence MMI..."
- "Spouštění sekvence kódu funkce…""Nepodporovaná služba.""Hovory nelze přepnout.""Hovor nelze oddělit."
@@ -500,18 +447,13 @@
"Tísňové volání""Zapínání rádia...""Nepokrytá oblast, opakování pokusu..."
- "Hovor nelze spojit, %s není číslo nouzového volání."
- "Hovor nebyl spojen, vytočte číslo tísňového volání."
+ "Hovor nelze spojit, %s není číslo nouzového volání."
+ "Hovor nebyl spojen. Vytočte prosím číslo tísňového volání.""Číslo vytočíte pomocí klávesnice."
- "Tónová klávesnice""Přidržet"
- "Pokračovat""Ukončit""Číselník"
- "Skrýt"
- "Hlasitě""Ztlumit"
- "Bluetooth""Přidat hovor""Spojit hovory""Zaměnit"
@@ -520,7 +462,7 @@
"Zvuk""Importovat""Importovat vše"
- "Importování kontaktů z karty SIM"
+ "Importování kontaktů ze SIM karty""Import z kontaktů""Naslouchátka""Zapnout režim kompatibility s naslouchátkem"
@@ -530,36 +472,31 @@
"TTY HCO""TTY VCO"
- "Text ERI"
- "Tóny DTMF"
+ "Tóny DTMF""Nastavit délku tónů DTMF""Normální""Dlouhé"
- "Zpráva sítě"
+ "Zpráva sítě""Aktivujte svůj telefon""K aktivaci telefonní služby je potřeba uskutečnit speciální hovor. "\n\n"Stiskněte tlačítko Aktivovat a aktivujte telefon podle pokynů, které vám budou sděleny."
- "Dotkněte se tlačítka Aktivovat. Uskutečníte tak zvláštní hovor, kterým telefon aktivujete v mobilní síti svého operátora, abyste mohli volat a připojovat se k mobilním datovým sítím.""Přeskočit aktivaci?""Pokud přeskočíte aktivaci, nemůžete volat ani se připojovat k mobilním datovým sítím (můžete se ale připojit k sítím WiFi). Dokud svůj telefon neaktivujete, bude se zobrazovat výzva k aktivaci při každém zapnutí.""Přeskočit"
- "Aktivovat""Aktivovat"
- "Telefon je aktivován."
+ "Telefon je aktivován.""Problém s aktivací""Postupujte podle hlasových pokynů, dokud nebudete informováni o dokončení aktivace."
- "Klávesnice""Hlasitě"
- "Počkejte prosím, než bude telefon naprogramován."
- "Programování se nezdařilo"
+ "Počkejte prosím, než bude telefon naprogramován."
+ "Programování se nezdařilo""Váš telefon je nyní aktivován. Spuštění služby může trvat až 15 minut."
- "Váš telefon nebyl aktivován."\n"Možná bude nutné vyhledat oblast s lepším pokrytím (blízko okna nebo venku). "\n\n"Zkuste to znovu nebo kontaktujte oddělení zákaznických služeb, kde získáte další možnosti."
+ "Váš telefon nebyl aktivován."\n"Možná bude nutné vyhledat místo s lepším pokrytím (blízko okna nebo venku). "\n\n"Zkuste to znovu nebo kontaktujte oddělení zákaznických služeb, kde získáte další možnosti.""PŘÍLIŠ MNOHO SELHÁNÍ CERTIFIKÁTŮ SPC""Zpět""Zkuste to znovu""Další"
- "Zpět""Dialog ukončení režimu tísňového zpětného volání""Byl aktivován režim tísňového zpětného volání""Režim tísňového zpětného volání"
@@ -569,87 +506,71 @@
"Žádné datové připojení po dobu %s min"
- "Telefon bude v režimu tísňového zpětného volání po dobu %s min. V tomto režimu nelze použít žádné aplikace využívající datové připojení. Chcete režim ukončit nyní?"
- "Telefon bude v režimu tísňového zpětného volání po dobu %s min. V tomto režimu nelze použít žádné aplikace využívající datové připojení. Chcete režim ukončit nyní?"
+ "Telefon bude v režimu tísňového zpětného volání po dobu %s minuty. Dokud je telefon v tomto režimu, nelze použít žádnou aplikaci, která využívá datové připojení. Chcete tento režim ukončit?"
+ "Telefon bude v režimu tísňového zpětného volání po dobu %s minut. Dokud je telefon v tomto režimu, nelze použít žádnou aplikaci, která využívá datové připojení. Chcete tento režim ukončit?"
- "Vybraná akce není v režimu tísňového zpětného volání dostupná. Telefon bude v tomto režimu po dobu %s min. Chcete režim ukončit nyní?"
- "Vybraná akce není v režimu tísňového zpětného volání dostupná. Telefon bude v tomto režimu po dobu %s min. Chcete režim ukončit nyní?"
+ "Vybraná akce není v režimu tísňového zpětného volání dostupná. Telefon bude v tomto režimu po dobu %s minuty. Chcete aplikaci nyní ukončit?"
+ "Vybraná akce není v režimu tísňového zpětného volání dostupná. Telefon bude v tomto režimu po dobu %s minut. Chcete tento režim nyní ukončit?"
- "Během tísňového volání není vybraná akce k dispozici"
- "Ukončení režimu tísňového zpětného volání"
+ "Během tísňového volání není vybraná akce k dispozici."
+ "Ukončení režimu tísňového zpětného volání""Ano""Ne""Zavřít"
- "Nastavení hlasové schránky"
- "<nenastaveno>"
- "Služba hlasové schránky"
- "Nastavení pro poskytovatele %s"
+ "Služba"
+ "Konfigurace"
+ "<Nenastaveno>""Další nastavení hovorů"
- "Vytočit"
- "Volání prostřednictvím ^1"\n"^2"
- "Přetažením doprava hovor přijmete"
- "Přetažením doleva ztlumíte vyzvánění"
- "Přetažením doleva hovor odmítnete"
- "Přetažením doprava hovor přijmete"\n"a aktivní přidržíte"
- "Přetažením doprava hovor přijmete"\n"a aktivní ukončíte"
- "Přetažením doprava hovor přijmete"\n"a přidržený ukončíte"
- "Přijmout"
- "Odmítnout"
+ Nastavení číselníku
+ Nastavení číselníku
+ "Volání prostřednictvím poskytovatele %s""fotografie kontaktu""přepnout na soukromé""vybrat kontakt""Nastavení internetových hovorů""Účty pro internetové hovory (SIP)""Účty"
- "Správa a stav účtů pro internetové hovory""Přijímat příchozí hovory""Snižuje výdrž baterie"
- "Konfigurace možností hovorů""Použít internetový hovor""Použít internetový hovor (pouze s připojením Wi-Fi)""Pro všechny hovory, pokud je k dispozici datová síť""Pouze pro internetové hovory""Pokaždé se zeptat""Pro všechny hovory"
- "Automatická registrace"
- "Odchozí hovory pomocí protokolu SIP""Uskutečnit hovor""Použít účet pro internetové hovory:""Vždy používat pro internetové hovory"
- "V části Nastavení hovorů můžete pomocí možnosti Nastavení internetových hovorů změnit účet pro internetové hovory, který chcete při volání používat jako výchozí."
+ "Výchozí účet pro internetové hovory můžete změnit na obrazovce Telefon > Nastavení > Nastavení internetových hovorů > Účty.""Hovor z mobilního telefonu""Internetový hovor""Žádný účet pro internetové hovory:"
- "V tomto telefonu nejsou žádné účty pro internetové hovory. Chcete účet přidat?"
+ "V tomto telefonu není žádný účet pro internetové volání. Chcete jej nyní vytvořit?""Přidat""Přidat účet""Odebrat účet""Účty SIP"
- "Ukládání účtu..."
- "Odebírání účtu..."
+ "Ukládání účtu..."
+ "Odebírání účtu...""Uložit"
- "Zrušit"
+ "Zahodit""Zavřít profil""OK""Zavřít"
- "Primární"
- "Nastavit tento účet jako primární"
- "Použito pro odchozí hovory"
- "Upřesnit nastavení""Primární účet. %s""Kontrola stavu..."
- "Probíhá registrace..."
- "Probíhají další pokusy..."
- "Hovory nejsou přijímány"
- "Registrace účtu byla zastavena, protože není k dispozici připojení k internetu"
- "Registrace účtu byla zastavena, protože není k dispozici připojení Wi-Fi"
- "Registrace účtu se nezdařila"
- "Příjem hovorů"
+ "Registrace..."
+ "Stále funkci zkouším..."
+ "Hovory nejsou přijímány."
+ "Registrace účtu byla zastavena, protože není k dispozici připojení k internetu."
+ "Registrace účtu byla zastavena, protože není k dispozici připojení Wi-Fi."
+ "Registrace účtu se nezdařila."
+ "Příjem hovorů.""Registrace účtu se nezdařila: (%s). Pokus bude opakován později"
- "Registrace účtu se nezdařila: nesprávné uživatelské jméno nebo heslo"
- "Registrace účtu se nezdařila. Zkontrolujte prosím název serveru."
- "Tento účet je aktuálně používán aplikací %s."
+ "Registrace účtu se nezdařila: nesprávné uživatelské jméno nebo heslo."
+ "Registrace účtu se nezdařila. Zkontrolujte prosím název serveru."
+ "Tento účet je aktuálně používán aplikací %s.""Podrobnosti o účtu SIP""Podrobnosti o účtu SIP""Server"
@@ -660,9 +581,6 @@
"Číslo portu""Typ přenosu""Odesílat zprávy pro zachování připojení"
- "Odesílat zprávy protokolu SIP pro zachování připojení"
- "Automatická registrace"
- "Automaticky zaregistrovat profil""Nastavit jako primární účet""Použito pro odchozí hovory""Nepovinná nastavení"
@@ -673,12 +591,12 @@
"<Nepovinné>""▷ Výběrem této položky zobrazíte všechna nastavení""▽ Výběrem této položky skryjete všechna nastavení"
- "Pole %s je vyžadováno. Nelze je ponechat prázdné."
- "Číslo portu by mělo být od 1000 do 65534"
+ "Pole %s je povinné. Nelze je ponechat prázdné."
+ "Číslo portu by mělo být od 1000 do 65534.""Žádné připojení k internetu""Připojení Wi-Fi není k dispozici"
- "Chcete-li uskutečnit internetový hovor, zkontrolujte, zda jste připojeni k internetu"
- "Abyste mohli uskutečnit internetový hovor musíte být připojeni k síti WiFi (viz část Nastavení bezdrátového připojení a sítě)."
+ "Chcete-li uskutečnit internetový hovor, zkontrolujte, zda jste připojeni k internetu."
+ "Abyste mohli uskutečnit internetový hovor, musíte být připojeni k síti Wi-Fi (použijte sekci Nastavení bezdrátového připojení a sítě).""Internetové hovory nejsou podporovány""Automaticky""Odesílat vždy"
@@ -687,7 +605,7 @@
"Zavolám zpátky.""Zavolám později.""Nemůžu telefonovat, volejte jindy."
- "Vlastní zpráva..."
+ "Vlastní zpráva""Rychlé odpovědi""Upravit rychlé odpovědi"
@@ -705,7 +623,6 @@
"hvězdička""nula""libra"
- "vyhledat""vytáčení""backspace""Reproduktor je zapnutý."
@@ -715,9 +632,30 @@
"Odmítnout""Vibrace""Vibrace"
+ "Vyzvánění""Vždy""Pouze v tichém režimu""Nikdy"
+ "Vyzváněcí tón telefonu"
+ "Vibrace při vyzvánění"
+ "Tóny při dotyku číselníku"
+ "Vyzvánění"
+ Změnit typ sítě (2G/3G)
+ Aplikace s tímto oprávněním může kdykoliv změnit mezi 2G data a 3G data. 3G je rychlejší, ale náročnější na využití baterie a také může stát více peněz.
+ Potlačení šumu
+ Povolit potlačení šumu při volání
+ Moje telefonní číslo
+ Nastavit telefonní číslo tohoto zařízení
+ Pokročilé nastavení
+ Nevypínat senzor přiblížení
+ Nevypínat senzor přiblížení během volání pomocí headsetu
+ Uzamknout po skončení hovoru
+ Automaticky uzamknout pokud skončí hovor a obrazovka je vypnutá
+ Vibrace při odpovědi
+ Vibrace při dalším hovoru
+ Vibrace po zavěšení
+ Vibrovat každých 45 sekund
+ Při odchozím hovoru vibrovat každých 45 sekund.
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c02670868..669555124 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -25,39 +25,27 @@
"Privat nummer""Betalingstelefon""Ventende"
- "Aktuelt opkald""Linjen er optaget""Netværket er optaget""Intet svar, timeout""Serveren er ikke tilgængelig""Nummeret er ikke tilgængeligt""Forkert brugernavn eller adgangskode"
- "Opkald fra netværk"
+ "Opkald uden for netværk""Serverfejl. Prøv igen senere.""Der er intet signal""ACM-grænsen er overskredet""Slå radio fra"
- "Der er intet SIM-kort, eller der er SIM-kortfejl"
+ "Der er intet SIM-kort, eller der er SIM-kortfejl""Området er uden for netværksdækning""Udgående opkald er begrænset af faste opkaldsnumre."
- "Du kan ikke foretage udgående opkald, mens opkaldsspærring er slået til."
+ "Du kan ikke foretage udgående opkald, mens opkaldsspærring er slået til.""Alle opkald er begrænset af adgangskontrol.""Nødopkald er begrænset af adgangskontrol.""Normale opkald er begrænset af adgangskontrol."
- "CDMA: Telefon låst indtil strømcyklus."
- "CDMA: Opkald opgivet."
- "CDMA: Opkald aflyttet."
- "CDMA: genkald."
- "CDMA: Servicemulighed afvist."
- "CDMA: prøv genkald igen."
- "CDMA: Adgangen mislykkedes."
- "CDMA: Flyttet."
- "Det er kun muligt at foretage nødopkald."
- "Ugyldigt nummer"
+ "Ugyldigt antal""Telefonmøde""Opkaldet er mistet."
- "Prøv igen"
- "Mistet opkald""OK""MMI-nummer er startet""USSD-kode kører ..."
@@ -69,23 +57,14 @@
"Headset med ledning""Bluetooth""Send følgende toner?"\n
- "Sender toner"\n
+ "Sender toner"\n"Send""Ja""Nej"
- "Erstat jokertegnet med"
+ "Erstat jokertegnet med""Manglende voicemailnummer""Der er ikke gemt noget voicemailnummer på SIM-kortet.""Tilføj nummer"
- "Indlæser ..."
- "Indtast PIN-kode for at låse SIM-kortet op."
- "SIM-kortet er låst op"
- "Ny PIN-kode til SIM-kortet"
- "Indtast ny PIN-kode igen for at bekræfte"
- "De PIN-koder til SIM-kortet, du indtastede, stemmer ikke overens. Prøv igen."
- "Indtast PUK-kode for at låse SIM-kortet op."
- "Forkert PUK-kode."
- "Fortsæt""Blokeringen af dit SIM-kort er blevet ophævet. Din telefon låser op ...""PIN-kode til oplåsning af SIM-netværket""Lås op"
@@ -93,8 +72,6 @@
"Anmoder om oplåsning af netværk ...""Anmodningen om oplåsning af netværk mislykkedes.""Netværket blev låst op."
- "IMEI-nummer"
- "MEID""Indstillinger for GSM-opkald""Indstillinger for CDMA-opkald""Navn på adgangspunkt"
@@ -109,6 +86,7 @@
"Yderligere indstillinger for opkald er for kun CDMA""Indstillinger for netværkstjeneste""Opkalds-id"
+ "Indlæser indstillinger…""Nummer skjules i udgående opkald""Nummer vises i udgående opkald""Brug udbyderens standardindstillinger til at vise mine numre i udgående opkald"
@@ -127,17 +105,17 @@
"Nummer ved optaget""Viderestiller til {0}""Deaktiveret"
- "Din udbyder understøtter ikke, deaktivering af viderestilling af opkald, når telefonen er optaget."
+ "Din udbyder understøtter ikke deaktivering af viderestilling af opkald, når telefonen er optaget.""Viderestil ved ubesvaret""Nummer ved ubesvaret""Viderestiller til {0}""Deaktiveret"
- "Din udbyder understøtter ikke, deaktivering af viderestilling af opkald, når telefonen ikke bliver taget."
+ "Dit mobilselskab understøtter ikke deaktivering af viderestilling af opkald, når telefonen ikke bliver taget.""Viderestil ved utilgængelig""Nummer ved utilgængelig""Viderestiller til {0}""Deaktiveret"
- "Din udbyder understøtter ikke, deaktivering af viderestilling af opkald, når telefonen er utilgængelig."
+ "Dit mobilselskab understøtter ikke deaktivering af viderestilling af opkald, når telefonen ikke er tilgængelig.""Indstillinger for opkald""Fejl i indstillinger for opkald""Læser indstillinger ..."
@@ -145,10 +123,10 @@
"Tilbagefører indstillinger …""Uventet svar fra netværk.""Fejl på netværk eller SIM-kort."
- "Du kan kun foretage handlinger med dine faste opkaldsnumre."
- "Slå radioen til, inden du viser disse indstillinger."
+ "Din telefons appindstilling Faste opkaldsnumre er slået til. Som et resultat heraf fungerer nogle opkaldsrelaterede funktioner ikke."
+ "Tænd radioen, inden du får vist disse indstillinger.""OK"
- "Aktiver"
+ "Aktivér""Deaktiver""Opdater"
@@ -156,29 +134,28 @@
"Skjul nummer""Vis nummer"
- "Gem voicemailnummer""Voicemailnummeret blev ændret."
- "Nummeret til voicemail blev ikke ændret."\n"Kontakt din udbyder, hvis problemet fortsætter."
- "Nummeret til viderestilling blev ikke ændret."\n"Kontakt din udbyder, hvis problemet fortsætter."
+ "Telefonsvarernummeret kunne ikke ændres."\n"Kontakt dit mobilselskab, hvis problemet vedbliver."
+ "Telefonsvarernummeret kunne ikke ændres."\n"Kontakt dit mobilselskab, hvis problemet vedbliver.""De aktuelle indstillinger til viderestillingsnummer kunne ikke hentes og gemmes."\n"Vil du skifte til den nye udbyder alligevel?""Der blev ikke foretaget nogen ændringer.""Vælg voicemail-tjeneste""Min udbyder""Indstillinger for mobilnetværk""Tilgængelige netværk"
- "Søger ..."
+ "Søger...""Der blev ikke fundet nogen netværk.""Søg efter netværk""Der opstod en fejl, mens der blev søgt efter netværk.""Registrerer på %s ..."
- "Dit SIM-kort tillader ikke en forbindelse til dette netværk."
- "Der kan ikke oprettes forbindelse til dette netværk lige nu. Prøv igen senere."
+ "Dit SIM-kort tillader ikke en forbindelse til dette netværk."
+ "Der kan ikke oprettes forbindelse til dette netværk lige nu. Prøv igen senere.""Registreret på netværket."
- "Vælg en netværksudbyder"
+ "Vælg en netværksudbyder""Søg efter alle tilgængelige netværk"
- "Vælg automatisk"
- "Vælg automatisk det foretrukne netværk"
- "Automatisk registrering ..."
+ "Vælg automatisk"
+ "Vælg automatisk det foretrukne netværk"
+ "Automatisk registrering...""Netværkstilstand""Skift netværksdriftstilstand""Foretrukken netværkstilstand"
@@ -192,30 +169,29 @@
"Foretrukken netværkstilstand: kun EvDo""Foretrukken netværkstilstand: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Kun EvDo""CDMA u. EvDo"
- "Automatisk CDMA/EvDo"
- "Automatisk GSM/WCDMA"
+ "Automatisk CDMA/EvDo"
+ "Automatisk GSM/WCDMA""Kun WCDMA""Kun GSM"
- "GSM/WCDMA foretrækkes"
+ "GSM/WCDMA foretrækkes"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Data aktiveret"
- "Aktiver dataadgang via mobilnetværk"
+ "Aktivér dataadgang via mobilnetværk""Dataroaming""Opret forbindelse til datatjenester under roaming""Opret forbindelse til datatjenester under roaming"
- "Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk, og dataroaming er slået fra."
+ "Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk, og dataroaming er slået fra.""Tillad dataroaming? Der kan være væsentlige gebyrer for dataroaming.""Indstillinger for GSM/UMTS""Indstillinger for CDMA""Databrug"
- "Mobilselskabets datapolitik""Databrug i denne periode""Periode for databrug""Politik om datahastighed"
@@ -232,7 +208,6 @@
"Datahastigheden er nedsat til %1$d Kb/s, hvis datagrænsen overskrides""Oplysninger om mobilselskabets politik om databrug på netværket"
- "Celletransmissions-sms""Celletransmissions-sms""Celletransmissions-sms""Celletransmissions-sms er aktiveret"
@@ -273,15 +248,6 @@
"Koreansk""Kinesisk""Hebraisk"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Sprog""Lokalt vejr"
@@ -311,9 +277,9 @@
"Jobmuligheder""Jobmuligheder er aktiveret""Jobmuligheder er deaktiveret"
- "Læger, sundhed og hospital"
- "Læger, sundhed og hospital er aktiveret"
- "Læger, sundhed og hospital er deaktiveret"
+ "Læger, sundhed og hospital"
+ "Læger, sundhed og hospital er aktiveret"
+ "Læger, sundhed og hospital er deaktiveret""Teknologinyheder""Teknologinyheder er deaktiveret""Teknologinyheder er deaktiveret"
@@ -328,35 +294,17 @@
"Kun WCDMA""Kun GSM""GSM/WCDA (WCDMA foretrukken)"
-
-
- "0"
- "1"
- "2"
- "3""Brug kun 2G-netværk""Spar på batteriet""Vælg system"
- "Skift cdma-roamingtilstand"
+ "Skift CDMA-roamingtilstand""Vælg system""Kun hjemme""Automatisk"
- "CDMA-roamingtilstand"
- "Skift cdma-roamingtilstand"
- "CDMA-roamingtilstand"
-
- "Kun hjemmenetværk"
- "Tilknyttede netværk"
- "Alle netværk"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-abonnement""CDMA-netværkspræferencer""Ikke implementeret endnu!""CDMA-netværkspræferencer"
@@ -365,12 +313,6 @@
"Kun CDMA""Kun EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-abonnement""Skift mellem RUIM/SIM og NV""abonnement"
@@ -381,33 +323,31 @@
"0""1"
- "Aktiver enhed"
+ "Aktivér enhed""Opsætning af datatjeneste""Faste opkaldsnumre""Liste over faste opkald""Aktivering af faste opkald""Faste opkaldsnumre er aktiveret""Faste opkaldsnumre er deaktiveret"
- "Aktiver faste opkald"
+ "Aktivér faste opkald""Deaktiver faste opkald""Skift PIN2-kode""Deaktiver faste opkald"
- "Aktiver faste opkald"
+ "Aktivér faste opkald""Administrer faste opkaldsnumre""Skift PIN-kode for at få adgang til faste opkald.""Administrer telefonnummerliste"
- "Stemme Fortrolighed"
- "Aktiver øget fortrolighedstilstand"
- "TTY-tilstand"
- "Aktiver TTY-tilstand"
+ "Privat talekommunikation"
+ "Aktivér øget fortrolighedstilstand""TTY-tilstand""Angiv TTY-tilstand"
- "Prøv automatisk igen"
- "Aktiver automatisk gentagelsestilstand"
+ "Prøv automatisk igen"
+ "Aktivér automatisk gentagelsestilstand""Tilføj kontakt""Rediger kontakt""Slet kontakt"
- "Indtast PIN2-kode"
+ "Indtast PIN2-kode""Navn""Nummer""Gem"
@@ -420,56 +360,50 @@
"Slet fast opkaldsnummer""Sletter fast opkaldsnummer...""Det faste opkaldsnummer blev slettet."
- "Fast opkaldsnummer er ikke opdateret: Du har indtastet en forkert PIN-kode."
- "Fast opkaldsnumner er ikke opdateret: Nummer kan højst indeholde 20 tal."
+ "Fast opkaldsnummer blev ikke opdateret, fordi du har indtastet en forkert PIN-kode."
+ "FDN blev ikke opdateret, fordi antallet ikke må overstige 20 cifre."
+ "FDN blev ikke opdateret. PIN2-koden var forkert, eller telefonnummeret blev afvist.""Læser fra SIM-kort ...""Der er ingen kontakter på dit SIM-kort.""Vælg kontakter, der skal importeres"
- "Sluk flytilstanden for at importere kontaktpersoner fra SIM-kortet."
+ "Du skal først slukke Flytilstand for at importere kontaktpersoner fra SIM-kortet.""Aktiver/deaktiver PIN-kode til SIM-kort""Skift PIN-kode til SIM-kort""PIN-kode til SIM-kort:""Nuværende PIN-kode""Ny PIN-kode""Bekræft ny PIN-kode"
- "Den gamle PIN-kode, du indtastede, er forkert. Prøv igen."
- "De PIN-koder, du indtastede, stemmer ikke overens. Prøv igen."
+ "Den gamle pinkode, du har indtastet, er forkert. Prøv igen."
+ "PIN-koderne, som du har indtastet, stemmer ikke overens. Prøv igen.""Indtast en PIN-kode på mellem 4 og 8 tal.""Deaktiver PIN-kode til SIM-kort"
- "Aktiver PIN-kode til SIM-kort"
- "Vent ..."
- "PIN-koden til SIM-kortet blev aktiveret"
- "PIN-koden til SIM-kortet er deaktiveret"
- "Den indtastede PIN-kode er forkert"
- "PIN-kode til SIM-kort blev ændret."
+ "Aktivér PIN-kode til SIM-kort"
+ "Vent..."
+ "Pinkoden til SIM-kortet blev aktiveret."
+ "Pinkoden til SIM-kortet er deaktiveret."
+ "Den indtastede pinkode var forkert."
+ "Pinkoden til SIM-kortet er ændret.""Adgangskoden er forkert. SIM-kortet er låst. PUK2-kode er påkrævet.""PIN2-kode""Nuværende PIN2-kode""Ny PIN2-kode""Bekræft ny PIN2-kode"
- "Den indtastede PUK2-kode er forkert. Prøv igen."
- "Den gamle PIN2-kode, du indtastede, er forkert. Prøv igen."
- "De PIN2-koder, du indtastede, stemmer ikke overens. Prøv igen."
+ "Den indtastede PUK2-kode er forkert. Prøv igen."
+ "Den gamle PIN2-kode, du har indtastet, er forkert. Prøv igen."
+ "PIN2-koderne, du har indtastet, stemmer ikke overens. Prøv igen.""Indtast en PIN2-kode på mellem 4 og 8 tal.""Indtast en PUK2-kode på 8 tal."
- "PIN2-koden blev ændret"
+ "PIN2-koden blev ændret.""Indtast PUK2-kode"
- "Forkert adgangskode. Skift PIN2-kode, og prøv igen."
- "Adgangskoden er forkert. SIM-kortet er låst. PUK2 er påkrævet."
+ "Forkert adgangskode. Skift PIN2-kode, og prøv igen."
+ "Adgangskoden er forkert. SIM-kortet er låst. PUK2-kode er påkrævet.""Udfør""Telefonmøde %s"
- "Tilbage til opkald"
- "Fortsæt uden SIM-kort"
- "Der blev ikke fundet noget SIM-kort. Indsæt et SIM-kort i telefonen."
- "Annuller"
- "Lås op"
- "Autentificerer PIN-kode ...""Voicemailnummer""Ringer op""Prøver igen""Telefonmøde""Indgående opkald"
- "Cdma opkaldventer""Opkaldet er afsluttet""Ventende""Lægger på"
@@ -479,7 +413,7 @@
"Ubesvarede opkald""%s ubesvarede opkald""Ubesvarede opkald fra %s"
- "Aktuelt opkald (%s)"
+ "Igangværende opkald""Ventende""Indgående opkald""Ny voicemail"
@@ -488,13 +422,15 @@
"Voicemailnummeret er ukendt""Ingen dækning""Det valgte netværk (%s) er ikke tilgængeligt"
+ "Læg på"
+ "Ring tilbage"
+ "Besked""Slå Flytilstand fra først for at foretage et opkald.""Ikke registreret på netværk.""Mobilnetværket er ikke tilgængeligt.""Opkaldet blev ikke sendt. Der blev ikke indtastet et gyldigt nummer.""Opkaldet blev ikke sendt.""Starter MMI-sekvens ..."
- "Starter funktionskodesekvens ...""Tjenesten understøttes ikke.""Der kan ikke skiftes mellem opkald.""Opkaldet kunne ikke separeres."
@@ -506,18 +442,13 @@
"Nødopkald""Tænder for radio ...""Området er ude af drift. Prøver igen ..."
- "Opkaldet blev ikke sendt. %s er ikke et nødnummer."
- "Opkaldet blev ikke sendt. Indtast et nødnummer."
+ "Opkaldet blev ikke sendt. %s er ikke et nødnummer."
+ "Opkaldet blev ikke sendt. Indtast et nødnummer.""Brug tastatur til at ringe op"
- "Touch-tone-tastatur""Hold"
- "Hold fra""Afslut""Nummerblok"
- "Skjul"
- "Højttaler""Lyd fra"
- "Bluetooth""Tilføj opkald""Slå opkald sammen""Skift"
@@ -536,36 +467,31 @@
"TTY HCO""TTY VCO"
- "ERI-tekst"
- "DTMF-toner"
+ "DTMF-toner""Angiv længden på DTMF-toner""Normal""Lang"
- "Netværksbesked"
- "Aktiver din telefon"
- "Der skal foretages et særligt opkald for at aktivere din telefontjeneste. "\n\n" Lyt til instruktionerne, når du har trykket på “Aktiver” for at aktivere din telefon."
- "Tryk på “Aktiver” for at foretage et særligt opkald, der aktiverer din telefon på dit telefonselskabs mobilnetværk, så du kan foretage opkald og oprette forbindelse til mobile datanetværk."
+ "Netværksbesked"
+ "Aktivér din telefon"
+ "Der skal foretages et særligt opkald for at aktivere din telefontjeneste. "\n\n" Lyt til instruktionerne, når du har trykket på “Aktivér” for at aktivere din telefon.""Spring aktivering over?""Hvis du springer aktiveringen over, kan du ikke foretage opkald eller oprette forbindelse til mobildatanetværk (du kan dog godt oprette forbindelse til Wi-Fi-netværk). Du vil blive bedt om at aktivere din telefon, hver gang du tænder den, indtil du gør det.""Spring over"
- "Aktiver"
- "Aktiver"
- "Telefonen er aktiveret!"
+ "Aktivér"
+ "Telefonen er aktiveret.""Der opstod et problem med aktiveringen""Følg talevejledningen, indtil du hører, at aktiveringen er gennemført."
- "Tastatur""Højttaler"
- "Vent, mens din telefon bliver programmeret."
- "Programmering mislykkedes"
+ "Vent, mens din telefon programmeres."
+ "Programmering mislykkedes""Din telefon er nu aktiveret. Det kan tage op til 15 minutter, før tjenesten begynder."
- "Din telefon blev ikke aktiveret. "\n"Du skal muligvis finde et område med bedre dækning (ved et vindue eller udenfor). "\n\n"Prøv igen, eller ring til kundeservice for at få flere oplysninger om andre muligheder."
+ "Din telefon blev ikke aktiveret. "\n"Du skal muligvis finde et område med bedre dækning (ved et vindue eller udenfor). "\n\n"Prøv igen, eller ring til kundeservice for at få flere oplysninger om andre muligheder.""FOR MANGE SPC-FEJL""Tilbage""Prøv igen""Næste"
- "Tilbage""NttAfslutDialog""Gik i nødtilbagekaldstilstand""Nødtilbagekaldstilstand"
@@ -575,87 +501,69 @@
"Ingen dataforbindelse i %s minutter"
- "Telefonen vil være i nødtilbagekaldstilstand i %s minut. I denne tilstand kan der ikke anvendes applikationer, der anvender en dataforbindelse. Vil du afslutte nu?"
- "Telefonen vil være i nødtilbagekaldstilstand i %s minutter. I denne tilstand kan der ikke anvendes applikationer, der anvender en dataforbindelse. Vil du afslutte nu?"
+ "Telefonen vil være i nødtilbagekaldstilstand i %s minut. Mens du er i denne tilstand kan ingen apps, der bruger en dataforbindelse, anvendes. Vil du afslutte nu?"
+ "Telefonen vil være i nødtilbagekaldstilstand i %s minutter. Mens du er i denne tilstand kan ingen applikationer, der bruger en dataforbindelse, anvendes. Vil du afslutte nu?"
- "Den valgte handling er ikke tilgængelig, når telefonen er i nødtilbagekaldstilstand. Telefonen vil være i denne tilstand i %s minut. Ønsker du at afslutte?"
- "Den valgte handling er ikke tilgængelig, når telefonen er i nødtilbagekaldstilstand. Telefonen vil være i denne tilstand i %s minutter. Ønsker du at afslutte?"
+ "Den valgte handling er ikke tilgængelig i nødtilbagekaldstilstand. Telefonen vil være i denne tilstand i %s minut. Vil du afslutte nu?"
+ "Den valgte handling er ikke tilgængelig i nødtilbagekaldstilstand. Telefonen vil være i denne tilstand i %s minutter. Vil du afslutte nu?"
- "Den valgte handling er ikke tilgængelig ved nødopkald"
- "Eksisterende nødtilbagekaldstilstand"
+ "Den valgte handling er ikke tilgængelig ved nødopkald"
+ "Eksisterende nødtilbagekaldstilstand""Ja""Nej""Annuller"
- "Indstillinger for voicemail"
- "<ikke indstillet>"
- "Voicemail-tjeneste"
- "Indstillinger for %s"
+ "Tjeneste"
+ "Konfiguration"
+ "<Ikke angivet>""Andre indstillinger for opkald"
- "Ring til"
- "Ringer op via ^1"\n"^2"
- "Træk til højre for at besvare"
- "Træk til venstre for at sætte ringetonen på lydløs"
- "Træk til venstre for at afvise"
- "Træk til højre for at besvare og"\n"stille aktivt opkald på hold"
- "Træk til højre for at besvare og"\n"afslutte aktivt opkald"
- "Træk til højre for at besvare og"\n"afslutte ventende opkald"
- "Svar"
- "Afvis"
+ "Opkald via %s""billede af kontaktperson""gør privat""vælg kontaktperson""Indstillinger for internetopkald""Konti til internetopkald (SIP)""Konti"
- "Administrer status og konti til internetopkald (SIP)""Modtag opkald""Reducerer batteriets levetid"
- "Konfigurer opkaldsindstillinger""Benyt internetopkald""Benyt internetopkald (kun Wi-Fi)""Gælder alle opkald, når datanetværk er tilgængeligt""Kun til internetopkald""Spørg ved hvert opkald""Gælder alle opkald"
- "Automatisk tilmelding"
- "Udgående opkald via SIP""Foretag opkald""Benyt internetopkaldskonto:""Benyt altid til at foretage internetopkald"
- "Hvis du ønsker at ændre standardkontoen for internetopkald, kan du vælge en anden konto under Indstillinger for internetopkald"
+ "Du kan ændre, hvilken internetopkaldskonto der skal bruges som standard fra Telefon > Indstillinger > Indstillinger for internetopkald > skærmen Konti.""Mobiltelefonopkald""Internetopkald""Ingen internetopkaldskonto"
- "Der er ingen konti til internetopkald på denne telefon. Vil du tilføje en nu?"
+ "Der er ingen internetopkaldskonti på denne telefon. Vil du tilføje en nu?""Tilføj""Tilføj konto""Fjern konto""SIP-konti"
- "Kontoen gemmes..."
- "Kontoen fjernes..."
+ "Kontoen gemmes..."
+ "Kontoen fjernes...""Gem""Kassér""Luk profilen""OK""Luk"
- "Primær"
- "Gør dette til min primære konto"
- "Bruges til udgående opkald"
- "Avancerede indstillinger""Primær konto. %s""Tjekker status..."
- "Tilmelder..."
- "Prøver stadig..."
- "Modtager ikke opkald"
- "Kontotilmeldingen blev afbrudt, fordi der ikke er nogen internetforbindelse"
- "Kontotilmeldingen blev afbrudt, fordi der ikke er nogen Wi-Fi-forbindelse"
- "Registreringen af konto mislykkedes"
- "Modtager opkald"
+ "Registrerer..."
+ "Forsøger stadig..."
+ "Modtager ikke opkald."
+ "Kontoregistreringen blev afbrudt, fordi der ikke er nogen internetforbindelse."
+ "Kontotilmeldingen blev afbrudt, fordi der ikke er nogen Wi-Fi-forbindelse"
+ "Registreringen af kontoen mislykkedes."
+ "Modtager opkald.""Registreringen af konto mislykkedes: (%s). Vi prøver igen senere."
- "Registreringen af konto mislykkedes: forkert brugernavn eller adgangskode"
- "Registreringen af konto mislykkedes: Kontroller servernavn"
- "Denne konto benyttes i øjeblikket af applikationen %s"
+ "Registreringen af kontoen mislykkedes: forkert brugernavn eller adgangskode."
+ "Registreringen af kontoen mislykkedes. Kontroller servernavn."
+ "Denne konto benyttes i øjeblikket af applikationen %s.""Oplysninger om SIP-konto""Oplysninger om SIP-konto""Server"
@@ -666,9 +574,6 @@
"Portnummer""Transporttype""Send keepalive"
- "Send SIP-keepalive-meddelelser"
- "Automatisk tilmelding"
- "Registrer profilen automatisk""Angiv som primær konto""Bruges til udgående opkald""Valgfri indstillinger"
@@ -679,12 +584,12 @@
"<Valgfrit>""▷ Tryk for at vise alle""▽ Tryk for at skjule alle"
- "%s skal udfyldes. Feltet må ikke være tomt."
- "Portnummeret skal være mellem 1000 og 65534"
+ "%s skal udfyldes. Feltet må ikke være tomt."
+ "Portnummeret skal være mellem 1000 og 65534.""Ingen internetforbindelse""Ingen Wi-FI-forbindelse"
- "Kontroller din internetforbindelse, før du foretager et internetopkald"
- "Du skal have forbindelse til et Wi-Fi-netværk for internetopkald (brug Indstillinger for trådløs og netværk)"
+ "Kontroller din internetforbindelse, før du foretager et internetopkald."
+ "Du skal have forbindelse til et Wi-Fi-netværk for at kunne foretage internetopkald (brug Indstillinger for trådløs og netværk)""Internetopkald understøttes ikke""Automatisk""Send altid"
@@ -693,7 +598,7 @@
"Jeg ringer tilbage lige om lidt.""Jeg ringer til dig senere.""Kan ikke tale nu. Ringer du senere?"
- "Tilpasset besked..."
+ "Tilpasset besked""Hurtige svar""Rediger hurtige svar"
@@ -711,7 +616,6 @@
"stjerne""nul""pund"
- "søg""ring op""tilbage""Højttalertelefon aktiveret."
@@ -721,9 +625,56 @@
"Afvis""Vibration""Vibration"
+ "Ringetone""Altid""Kun ved lydløs""Aldrig"
+ "Ringetone for opkald"
+ "Vibrer ved opringning"
+ "Tastaturtoner"
+ "Ringetone"
+
+
+ Indikator for ventende beskeder
+ Vis notifikationer for indikator for ventende beskeder i voicemail
+
+ Foretrukket netværkstilstand: LTE / WCDMA / GSM
+ Foretrukket netværkstilstand: LTE / CDMA / EvDo
+ Foretrukket netværkstilstand: LTE / CMDA / EvDo / GSM/WCDMA
+
+ %1$s (%2$d\u066A) af %3$s periode-maksimum\nNæste periode starter om %4$d dage (%5$s)
+ %1$s (%2$d\u066A) af %3$s periode-maksimum
+ %1$d\u066A af cyklus gået\nNæste periode starter om %2$d dage (%3$s)
+
+ Opkaldsprogram-indstillinger
+ Indstillinger for opkaldsprogram
+
+ Skift netværk (2G/3G)
+ Apps med denne tilladelse kan, til alle tider, skifte mellem 2G-data og 3G-data. 3G er hurtigere, bruger mere batteri, og kan også koste dig flere penge.
+
+ Undertrykkelse af støj
+ Slå undertrykkelse af støj for opkald til
+
+ National data-roaming
+ Tilslut til datatjenester, når der roames nationalt
+ Tilslut til datatjenester, når der roames nationalt
+
+ Mit telefonnummer
+ Angiv telefonnummeret for denne enhed
+
+ Avancerede indstillinger
+ Vibrér ved opkald
+ Vibrér hver 45 sekunder
+ Vibrér ved 45-sekundersmærket i hvert minut under udgående opkald
+ Vibrér ved endt opkald
+ Vibrér ventende opkald
+
+ Hold nærhedsføler tændt
+ Sluk ikke for nærhedsføleren under opkald ved brug af headset
+
+ Lås, når opkald afsluttes
+ Lås automatisk, når et opkald afsluttes, og skærmen er slukket
+
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index ad35d117a..e99772646 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -18,46 +18,34 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
"Mobile Daten""Telefon"
- "Notrufwählprogramm"
+ "Notruf""Telefon""Anrufbegrenzung""Unbekannt""Private Nummer""Telefonzelle""Gehaltener Anruf"
- "Aktueller Anruf""Leitung besetzt""Netzwerk ausgelastet""Keine Antwort, Timeout""Server nicht erreichbar""Nummer nicht erreichbar""Ungültiger Nutzername oder ungültiges Passwort"
- "Anruf außerhalb des Netzwerks"
+ "Anruf außerhalb des Netzwerks""Serverfehler. Bitte versuchen Sie es später erneut.""Kein Signal""ACM-Grenzwert überschritten""Mobilfunkverbindung aus"
- "Keine SIM-Karte, SIM-Kartenfehler"
+ "Keine SIM-Karte oder SIM-Kartenfehler""Gebiet ohne Netzabdeckung""Ausgehende Anrufe unterliegen der Anrufbegrenzung."
- "Sie können keine Anrufe tätigen, wenn die Anrufsperre aktiviert ist."
+ "Sie können keine Anrufe tätigen, wenn die Anrufsperre aktiviert ist.""Alle Anrufe werden durch die Zugriffssteuerung beschränkt.""Notrufe werden durch die Zugriffssteuerung beschränkt.""Normale Anrufe werden durch die Zugriffssteuerung beschränkt."
- "CDMA: Telefon bis zum Einschalten gesperrt"
- "CDMA: Anruf beendet"
- "CDMA: Anruf unterbrochen"
- "CDMA: Erneuter Aufruf"
- "CDMA: Ablehnung der Serviceoption"
- "CDMA: Wiederholungsaufruf"
- "CDMA: Zugriff fehlgeschlagen"
- "CDMA: Vorzeitig entfernt"
- "Es sind nur Notrufe möglich."
- "Ungültige Nummer"
+ "Ungültige Nummer""Telefonkonferenz""Anruf ist verloren gegangen."
- "Wiederholen"
- "Anruf verloren""OK""MMI-Code gestartet""USSD-Code wird ausgeführt..."
@@ -69,23 +57,14 @@
"Kabelgebundenes Headset""Bluetooth""Folgende Töne senden?"\n
- "Töne werden gesendet"\n
+ "Töne werden gesendet."\n"Senden""Ja""Nein"
- "Platzhalter ersetzen durch"
+ "Platzhalter ersetzen durch""Fehlende Mailbox-Nummer""Auf der SIM-Karte ist keine Mailbox-Nummer gespeichert.""Nummer hinzufügen"
- "Wird geladen..."
- "Geben Sie zum Entsperren der SIM-Karte den PIN-Code ein."
- "SIM-Karte entsperrt"
- "Neuer PIN-Code der SIM-Karte"
- "Neuen PIN-Code für SIM-Karte zur Bestätigung erneut eingeben"
- "Die von Ihnen eingegebenen PIN-Codes für die SIM-Karte stimmen nicht überein. Versuchen Sie es erneut."
- "Geben Sie zum Entsperren der SIM-Karte den PUK ein"
- "Falscher PUK-Code!"
- "Fortfahren""Ihre SIM-Karte wurde entsperrt. Ihr Telefon wird nun entsperrt...""PIN zur Entsperrung des SIM-Netzwerks""Entsperren"
@@ -93,11 +72,9 @@
"Netzwerkentsperrung wird angefordert...""Anfrage für Entsperrung des Netzwerks war nicht erfolgreich.""Entsperrung des Netzwerks nicht erfolgreich."
- "IMEI"
- "MEID""GSM-Anrufeinstellungen""CDMA-Anrufeinstellungen"
- "Zugangspunkte"
+ "Zugangspunkte (APNs)""Netzwerkeinstellungen""Mailbox""MB:"
@@ -109,12 +86,13 @@
"Zusätzliche Anrufeinstellungen nur für CDMA""Einstellungen für Netzwerkservice""Anrufer-ID"
+ "Einstellungen werden geladen…""Nummer bei abgehenden Anrufen unterdrückt""Nummer bei abgehenden Anrufen angezeigt""Standardeinst. zur Anzeige meiner Nr. bei abgehenden Anrufen verwenden""Anklopfen"
- "Mich während eines Anrufs über eingehende Anrufe benachrichtigen"
- "Mich während eines Anrufs über eingehende Anrufe benachrichtigen"
+ "Während eines Anrufs über eingehende Anrufe benachrichtigen"
+ "Während eines Anrufs über eingehende Anrufe benachrichtigen""Einstellungen""Rufweiterleitung""Immer weiterleiten"
@@ -127,17 +105,17 @@
"Nummer falls besetzt""Weiterleitung an {0}""Deaktiviert"
- "Ihr Netzbetreiber unterstützt die Deaktivierung der Anrufweiterleitung bei besetzter Leitung nicht."
+ "Ihr Mobilfunkanbieter unterstützt die Deaktivierung der Anrufweiterleitung bei besetzter Leitung nicht.""Weiterl. falls keine Antw.""Nummer falls keine Antwort""Weiterleitung an {0}""Deaktiviert"
- "Ihr Netzbetreiber unterstützt die Deaktivierung der Anrufweiterleitung bei Nichtbeantwortung nicht."
+ "Ihr Mobilfunkanbieter unterstützt die Deaktivierung der Anrufweiterleitung bei Nichtbeantwortung nicht.""Weiterl. falls n. erreichb.""Nummer falls nicht erreichbar""Weiterleitung an {0}""Deaktiviert"
- "Ihr Netzbetreiber unterstützt die Deaktivierung der Anrufweiterleitung bei Nichterreichbarkeit nicht."
+ "Ihr Mobilfunkanbieter unterstützt die Deaktivierung der Anrufweiterleitung bei Nichterreichbarkeit nicht.""Anrufeinstellungen""Fehler bei Anrufeinstellungen""Einstellungen werden gelesen…"
@@ -145,8 +123,8 @@
"Einstellungen werden zurückgesetzt...""Unerwartete Antwort von Netzwerk""Netzwerk- oder SIM-Kartenfehler"
- "Vorgänge sind nur für Ihre zugelassenen Rufnummern möglich."
- "Aktivieren Sie Ihre Mobilfunkverbindung, bevor Sie diese Einstellungen anzeigen."
+ "Da die Anrufbegrenzung in Ihrer Telefon-App aktiviert ist, funktionieren nicht alle Anruffunktionen."
+ "Aktivieren Sie Ihre Mobilfunkverbindung, bevor Sie diese Einstellungen anzeigen.""OK""Aktivieren""Deaktivieren"
@@ -156,10 +134,9 @@
"Rufnummer unterdrücken""Rufnummer anzeigen"
- "Mailbox-Nummer speichern""Mailboxnummer geändert."
- "Die Mailbox-Nummer konnte nicht geändert werden."\n"Kontaktieren Sie Ihren Netzbetreiber, wenn dieses Problem weiterhin besteht."
- "Die Weiterleitungsnummer konnte nicht geändert werden."\n"Kontaktieren Sie Ihren Netzbetreiber, wenn dieses Problem weiterhin besteht."
+ "Die Mailbox-Nummer konnte nicht geändert werden."\n"Falls dieses Problem weiterhin besteht, setzen Sie sich mit Ihrem Mobilfunkanbieter in Verbindung."
+ "Die Weiterleitungsnummer konnte nicht geändert werden."\n"Falls dieses Problem weiterhin besteht, setzen Sie sich mit Ihrem Mobilfunkanbieter in Verbindung.""Die aktuellen Einstellungen der Weiterleitungsnummern konnten nicht abgerufen und gespeichert werden."\n"Möchten Sie trotzdem zum neuen Anbieter wechseln?""Es wurden keine Änderungen vorgenommen.""Mailbox-Dienst auswählen"
@@ -171,14 +148,14 @@
"Netzwerke suchen""Fehler bei der Netzwerksuche""Registrierung in %s läuft..."
- "Ihre SIM-Karte unterstützt keine Verbindung mit diesem Netzwerk."
- "Es kann zurzeit keine Verbindung zu diesem Netzwerk hergestellt werden. Versuchen Sie es später erneut."
+ "Ihre SIM-Karte unterstützt keine Verbindung mit diesem Netzwerk."
+ "Momentan kann keine Verbindung zu diesem Netzwerk aufgebaut werden. Bitte versuchen Sie es später erneut.""In Netzwerk registriert."
- "Netzbetreiber auswählen"
+ "Mobilfunkanbieter auswählen""Nach allen verfügbaren Netzwerken suchen"
- "Automatisch auswählen"
- "Bevorzugtes Netzwerk automatisch auswählen"
- "Automatische Registrierung..."
+ "Automatisch auswählen"
+ "Bevorzugtes Netzwerk automatisch auswählen"
+ "Automatische Registrierung...""Netzwerkmodus""Netzwerkbetriebsmodus ändern""Bevorzugter Netzwerkmodus"
@@ -192,30 +169,32 @@
"Bevorzugter Netzwerkmodus: nur EvDo""Bevorzugter Netzwerkmodus: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Nur EvDo""CDMA ohne EvDo"
- "CDMA/EvDo (automatisch)"
- "GSM/WCDMA (automatisch)"
+ "CDMA/EvDo (automatisch)"
+ "GSM/WCDMA (automatisch)""Nur WCDMA""Nur GSM"
- "GSM/WCDMA bevorzugt"
+ "GSM/WCDMA bevorzugt"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Daten aktiviert"
- "Datenzugriff über Mobilfunknetz aktivieren"
+ "Datenzugriff über Mobilfunknetz""Daten-Roaming""Bei Roaming mit Datendienst verbinden""Bei Roaming mit Datendienst verbinden"
- "Die Datenverbindung wurde unterbrochen, da Sie Ihr Mobilfunknetz verlassen haben und Daten-Roaming nicht aktiviert ist."
+ Nationales Daten-Roaming
+ Bei nationalem Roaming mit Datendienst verbinden
+ Bei nationalem Roaming nicht mit Datendienst verbinden
+ "Die Datenverbindung wurde unterbrochen, weil Sie Ihr privates Netzwerk verlassen haben und Daten-Roaming nicht aktiviert ist.""Daten-Roaming zulassen? Es können beträchtliche Roaming-Gebühren anfallen!""GSM-/UMTS-Optionen""CDMA-Optionen""Datenverbrauch"
- "Datenrichtlinien des Mobilfunkanbieters""Im aktuellen Zeitraum verwendete Daten""Zeitraum des Datenverbrauchs""Richtlinien zur Datenrate"
@@ -230,7 +209,6 @@
"%1$d % des Zyklus sind verstrichen. "\n"Der nächste Zeitraum beginnt in %2$d Tagen (%3$s).""Datenrate wird auf %1$d kbit/s reduziert, wenn Datennutzungslimit überschritten wird.""Weitere Informationen über die Richtlinien Ihres Mobilfunkanbieters zur Nutzung der Mobilfunknetzdaten"
- "Cell Broadcast SMS""Cell Broadcast SMS""Cell Broadcast SMS""Cell Broadcast SMS aktiviert"
@@ -271,15 +249,6 @@
"Koreanisch""Chinesisch""Hebräisch"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Sprachen""Lokalwetter"
@@ -309,9 +278,9 @@
"Jobmöglichkeiten""Jobmöglichkeiten aktiviert""Jobmöglichkeiten deaktiviert"
- "Medizin, Gesundheit und Krankenhäuser"
- "Medizin, Gesundheit und Krankenhäuser aktiviert"
- "Medizin, Gesundheit und Krankenhäuser deaktiviert"
+ "Medizin, Gesundheit und Krankenhäuser"
+ "Medizin, Gesundheit und Krankenhäuser aktiviert"
+ "Medizin, Gesundheit und Krankenhäuser deaktiviert""Technologienachrichten""Technologienachrichten aktiviert""Technologienachrichten deaktiviert"
@@ -326,35 +295,17 @@
"Nur WCDMA""Nur GSM""GSM/WCDA (WCDMA bevorzugt)"
-
-
- "0"
- "1"
- "2"
- "3""Nur 2G-Netzwerke""Energiesparend""Systemauswahl"
- "CDMA-Roamingmodus ändern"
+ "CDMA-Roamingmodus ändern""Systemauswahl""Nur Heimatnetz""Automatisch"
- "CDMA-Roamingmodus"
- "CDMA-Roamingmodus ändern"
- "CDMA-Roamingmodus"
-
- "Nur private Netzwerke"
- "Zugehörige Netzwerke"
- "Beliebiges Netzwerk"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-Abonnement""CDMA-Netzwerkeinstellungen""Noch nicht implementiert""CDMA-Netzwerkeinstellungen"
@@ -363,21 +314,11 @@
"Nur CDMA""Nur EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-Abonnement""Zwischen RUIM/SIM und NV wechseln""Abonnement""RUIM/SIM""NV"
-
-
- "0"
- "1""Gerät aktivieren""Datendienst einrichten"
@@ -394,18 +335,16 @@
"Zugelassene Rufnummern verwalten""Anrufbegrenzungs-PIN ändern""Telefonnummernliste verwalten"
- "Datenschutz von Sprachnotizen"
+ "Datenschutz für Sprachnotizen""Erweiterten Datenschutzmodus aktivieren"
- "TTY-Modus"
- "TTY-Modus aktivieren""TTY-Modus""TTY-Modus einstellen"
- "Automatische Wiederholung"
- "Modus für automatische Wiederholung aktivieren"
+ "Automatische Wiederholung"
+ "Modus für automatische Wiederholung aktivieren""Kontakt hinzufügen""Kontakt bearbeiten""Kontakt löschen"
- "PIN2 eingeben"
+ "PIN2 eingeben""Name""Nummer""Speichern"
@@ -418,56 +357,50 @@
"Zugelassene Rufnummer löschen""Zugelassene Rufnummer wird gelöscht...""Zugelassene Rufnummer gelöscht"
- "FDN nicht aktualisiert: Falsche PIN eingegeben"
- "FDN nicht aktualisiert: Nummer darf maximal 20 Ziffern lang sein."
+ "Die Anrufbegrenzung wurde nicht aktualisiert, weil Sie eine falsche PIN eingegeben haben."
+ "Die Anrufbegrenzung wurde nicht aktualisiert, da die Nummer maximal 20 Ziffern enthalten darf."
+ "FDN wurde nicht aktualisiert. PIN2 war ungültig oder die Telefonnummer wurde abgelehnt.""SIM-Karte wird ausgelesen..."
- "Keine Kontakte auf Ihrer SIM-Karte"
+ "Keine Kontakte auf SIM-Karte""Kontakte für Import auswählen"
- "Deaktivieren Sie zum Importieren der Kontakte von der SIM-Karte den Flugmodus."
+ "Deaktivieren Sie zum Importieren der Kontakte von der SIM-Karte zunächst den Flugmodus.""PIN-Abfrage für SIM-Karte aktivieren/deaktivieren""PIN ändern""PIN der SIM-Karte:""Alte PIN""Neue PIN""Neue PIN bestätigen"
- "Die von Ihnen eingegebene alte PIN ist nicht korrekt. Versuchen Sie es erneut."
- "Die von Ihnen eingegebenen PIN-Codes stimmen nicht überein. Versuchen Sie es erneut."
+ "Die eingegebene alte PIN ist nicht korrekt. Bitte versuchen Sie es erneut."
+ "Die eingegebenen PIN-Codes stimmen nicht überein. Bitte versuchen Sie es erneut.""Geben Sie eine 4- bis 8-stellige PIN ein.""PIN-Abfrage für SIM-Karte deaktivieren""PIN-Abfrage für SIM-Karte aktivieren""Bitte warten..."
- "PIN für SIM-Karte aktiviert"
- "PIN-Abfrage für SIM-Karte deaktiviert"
- "Die von Ihnen eingegebene PIN war nicht korrekt."
- "Änderung der PIN für SIM-Karte erfolgreich"
+ "PIN für SIM-Karte aktiviert"
+ "PIN-Abfrage für SIM-Karte deaktiviert"
+ "Die eingegebene PIN ist falsch."
+ "PIN der SIM-Karte geändert""Passwort falsch, SIM-Karte gesperrt! Eingabe des PUK2 erforderlich.""PIN2""Alte PIN2""Neue PIN2""Neue PIN2 bestätigen"
- "Der von Ihnen eingegebene PUK2 ist nicht korrekt. Versuchen Sie es erneut."
- "Die von Ihnen eingegebene alte PIN2 ist nicht korrekt. Versuchen Sie es erneut."
- "Die von Ihnen eingegebenen PIN2-Codes stimmen nicht überein. Versuchen Sie es erneut."
+ "Der eingegebene PUK2 ist falsch. Bitte versuchen Sie es erneut."
+ "Die von Ihnen eingegebene alte PIN2 ist nicht korrekt. Bitte versuchen Sie es erneut."
+ "Die eingegebenen PIN2-Codes stimmen nicht überein. Bitte versuchen Sie es erneut.""Geben Sie eine 4- bis 8-stellige PIN2 ein.""Geben Sie einen 8-stelligen PUK2 ein."
- "PIN2 erfolgreich geändert"
+ "PIN2 geändert""PUK2 eingeben"
- "Passwort falsch. Ändern Sie die PIN2 und versuchen Sie es erneut!"
- "Passwort falsch, SIM-Karte gesperrt! Eingabe des PUK2 erforderlich."
+ "Passwort falsch. Ändern Sie die PIN2 und versuchen Sie es erneut."
+ "Passwort falsch, SIM-Karte gesperrt. Eingabe des PUK2 erforderlich.""Fertig""Telefonkonferenz %s"
- "Zurück zu Anruf"
- "Ohne SIM-Karte fortfahren"
- "Keine SIM-Karte gefunden. Legen Sie eine SIM-Karte in das Telefon ein."
- "Verwerfen"
- "Entsperren"
- "PIN wird authentifiziert...""Mailboxnummer""Rufaufbau""Wird wiederholt""Telefonkonferenz""Eingehender Anruf"
- "CDMA-Anruf wartet""Anruf beendet""Gehaltener Anruf""Auflegen"
@@ -477,7 +410,7 @@
"Entgangene Anrufe""%s entgangene Anrufe""Entgangener Anruf von %s"
- "Aktueller Anruf (%s)"
+ "Aktueller Anruf""Gehaltener Anruf""Eingehender Anruf""Neue Nachricht"
@@ -486,13 +419,15 @@
"Mailboxnummer unbekannt""kein Dienst""Ausgewähltes Netzwerk (%s) nicht verfügbar"
+ "Beenden"
+ "Zurückrufen"
+ "Nachricht""Deaktivieren Sie zunächst den Flugmodus, um einen Anruf zu tätigen.""Nicht in Netzwerk registriert.""Mobilfunknetz ist nicht verfügbar.""Anruf nicht verbunden; keine gültige Nummer.""Anruf nicht verbunden.""MMI-Sequenz wird gestartet..."
- "Funktionscodesequenz wird gestartet...""Nicht unterstützter Dienst.""Wechsel zwischen Anrufen nicht möglich.""Anruf kann nicht getrennt werden."
@@ -504,18 +439,13 @@
"Notruf""Mobilfunkverbindung wird aktiviert...""Gebiet ohne Netzabdeckung, erneuter Versuch..."
- "Anruf nicht verbunden; %s ist keine Notrufnummer!"
- "Anruf nicht verbunden. Wählen Sie eine Notrufnummer!"
+ "Anruf nicht verbunden. %s ist keine Notrufnummer!"
+ "Anruf nicht verbunden. Wählen Sie eine Notrufnummer!""Zum Wählen Tastatur verwenden"
- "Tonwahltasten""Halten"
- "Fortsetzen""Ende""Wähltasten"
- "Ausblenden"
- "Lautspr.""Ton aus"
- "Bluetooth""Anruf hinzufügen""Anrufe verbinden""Wechseln"
@@ -534,36 +464,31 @@
"TTY HCO""TTY VCO"
- "ERI-Text"
- "DTMF-Töne"
+ "DTMF-Töne""Länge der DTMF-Töne einstellen""Normal""Lang"
- "Netzwerknachricht"
+ "Netzwerknachricht""Ihr Telefon aktivieren""Zur Aktivierung Ihres Telefondienstes muss ein spezieller Anruf getätigt werden. "\n\n"Wählen Sie \"Aktivieren\" und folgen Sie der Anleitung zur Aktivierung Ihres Telefons."
- "Wählen Sie \"Aktivieren\", um über einen speziellen Anruf Ihr Telefon beim Mobilfunknetz Ihres Anbieters zu aktivieren. Anschließend können Sie Anrufe tätigen und sich mit mobilen Datennetzwerken verbinden.""Aktivierung überspringen?""Wenn Sie die Aktivierung überspringen, können Sie keine Anrufe tätigen oder sich mit mobilen Datennetzwerken verbinden (Sie können sich allerdings mit WLAN-Netzwerken verbinden). Bis Sie Ihr Telefon aktivieren, werden Sie bei jedem Einschalten zur Aktivierung aufgefordert.""Überspringen"
- "Aktivieren""Aktivieren"
- "Telefon ist aktiviert!"
+ "Das Telefon ist aktiviert.""Problem mit der Aktivierung""Folgen Sie der Anleitung bis Sie hören, dass die Aktivierung abgeschlossen ist."
- "Tastatur""Lautspr."
- "Bitte warten Sie, während Ihr Telefon programmiert wird."
- "Programmierung nicht erfolgreich"
+ "Bitte warten Sie, während Ihr Telefon programmiert wird."
+ "Programmierung fehlgeschlagen""Ihr Telefon ist jetzt aktiviert. Es kann bis zu 15 Minuten dauern, bis der Dienst gestartet wird."
- "Ihr Telefon wurde nicht aktiviert. "\n"Suchen Sie einen Bereich auf, in dem Sie besseren Empfang haben, zum Beispiel in der Nähe eines Fensters oder unter freiem Himmel."\n\n"Versuchen Sie es erneut oder rufen Sie den Kundenservice an."
+ "Ihr Telefon wurde nicht aktiviert. "\n"Suchen Sie einen Bereich auf, in dem Sie besseren Empfang haben, zum Beispiel in der Nähe eines Fensters oder unter freiem Himmel. "\n\n"Versuchen Sie es bitte noch einmal oder rufen Sie den Kundenservice an.""ZU VIELE SPC-FEHLER""Zurück""Erneut versuchen""Weiter"
- "Zurück""EcmExitDialog""Notfallrückrufmodus aktiviert""Notfallrückrufmodus"
@@ -573,100 +498,84 @@
"%s Minuten lang keine Datenverbindung"
- "Das Telefon wird sich %s Minute lang im Notfallrückrufmodus befinden. Während dieser Zeit können keine Anwendungen, die eine Datenverbindung verwenden, genutzt werden. Möchten Sie den Vorgang jetzt beenden?"
- "Das Telefon wird sich %s Minuten im Notfallrückrufmodus befinden. Während dieser Zeit können keine Anwendungen, die eine Datenverbindung verwenden, genutzt werden. Möchten Sie den Vorgang jetzt beenden?"
+ "Das Telefon bleibt %s Minuten im Notfallrückrufmodus. In diesem Modus können keine Apps verwendet werden, die eine Datenverbindung erfordern. Möchten Sie den Vorgang jetzt beenden?"
+ "Das Telefon bleibt %s Minuten im Notfallrückrufmodus. In diesem Modus können keine Apps verwendet werden, die eine Datenverbindung erfordern. Möchten Sie den Vorgang jetzt beenden?"
- "Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt %s Minuten in diesem Modus. Möchten Sie den Vorgang jetzt beenden?"
- "Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon wird sich %s Minuten in diesem Modus befinden. Möchten Sie den Vorgang jetzt beenden?"
+ "Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt %s Minuten in diesem Modus. Möchten Sie den Vorgang jetzt beenden?"
+ "Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt %s Minuten in diesem Modus. Möchten Sie den Vorgang jetzt beenden?"
- "Die ausgewählte Aktion ist während eines Notrufs nicht verfügbar."
- "Notfallrückrufmodus wird beendet."
+ "Die ausgewählte Aktion ist während eines Notrufs nicht verfügbar."
+ "Notfallrückrufmodus wird beendet...""Ja""Nein""Verwerfen"
- "Mailbox-Einstellungen"
- "<nicht festgelegt>"
- "Mailbox-Dienst"
- "Einstellungen für %s"
+ "Dienst"
+ "Einrichtung"
+ "<Nicht festgelegt>""Sonstige Anrufeinstellungen"
- "Wählen"
- "Anruf über ^1"\n"^2"
- "Zum Annehmen nach rechts ziehen"
- "Zum Stummschalten des Klingeltons nach links ziehen"
- "Zum Abweisen nach links ziehen"
- "Zum Annehmen nach rechts ziehen und"\n"aktiven Anruf halten"
- "Zum Annehmen nach rechts ziehen und"\n"aktiven Anruf beenden"
- "Zum Annehmen nach rechts ziehen und"\n"gehaltenen Anruf beenden"
- "Annehmen"
- "Abweisen"
+
+
+ Wähltasten
+ Einstellungen für die Wähltasten
+
+ "Anruf über %s""Kontaktbild""privat sprechen""Kontakt wählen""Einstellungen für Internetanrufe""Konten für Internetanrufe (SIP)""Konten"
- "Verwaltung der Konten für Internetanrufe (SIP-Konten) und Statusinformationen"
- "Eingeh. Anrufe annehmen"
+ "Eingehende Anrufe annehmen""Verkürzt Akkulaufzeit"
- "Anrufoptionen konfigurieren""Internetanrufe verwenden""Internetanruf verwenden (nur WLAN)""Für alle Anrufe mit verfügbarem Datennetz""Nur für Internetanrufe""Bei jedem Anruf fragen""Für alle Anrufe"
- "Automatische Registrierung"
- "Ausgehender Anruf über SIP"
- "Anruf tätigen"
+ "Telefonieren""Konto für Internetanrufe verwenden:""Immer für Internetanrufe verwenden"
- "Unter \"Anrufoptionen\" können Sie festlegen, welches Konto für Internetanrufe Sie als Standardkonto verwenden möchten. Wählen Sie in den Einstellungen für Internetanrufe einfach das gewünschte Konto."
- "Handytelefonat"
- "Internetanruf"
+ "Sie können auf Ihrem Telefon unter \"Einstellungen > Einstellungen für Internetanrufe\" im Bildschirm \"Konten\" einstellen, welches Konto standardmäßig für Internetanrufe verwendet werden soll."
+ "per Telefon"
+ "per Internet""Kein Konto für Internetanrufe"
- "Auf diesem Telefon befinden sich keine Konten für Internetanrufe. Möchten Sie ein Konto hinzufügen?"
+ "Auf diesem Telefon befinden sich keine Konten für Internetanrufe. Möchten Sie jetzt ein Konto hinzufügen?""Hinzufügen""Konto hinzufügen""Konto entfernen""SIP-Konten"
- "Konto wird gespeichert..."
- "Konto wird entfernt..."
+ "Konto wird gespeichert..."
+ "Konto wird entfernt...""Speichern""Verwerfen""Profil schließen""OK""Schließen"
- "Primär"
- "Dieses Konto soll mein primäres Konto sein."
- "Für ausgehende Anrufe verwendet"
- "Erweiterte Einstellungen""Primäres Konto. %s""Status wird überprüft..."
- "Registrierung läuft..."
- "Wird weiter versucht..."
- "Eingehende Anrufe deaktiviert"
- "Die Kontoregistrierung wurde abgebrochen. Es besteht keine Internetverbindung."
- "Kontoregistrierung aufgrund fehlender WLAN-Verbindung gestoppt"
- "Kontoregistrierung fehlgeschlagen"
- "Eingehende Anrufe aktiviert"
+ "Registrierung läuft..."
+ "Wird weiter versucht..."
+ "Eingehende Anrufe deaktiviert"
+ "Kontoregistrierung aufgrund fehlender Internetverbindung gestoppt"
+ "Kontoregistrierung aufgrund fehlender WLAN-Verbindung gestoppt"
+ "Kontoregistrierung fehlgeschlagen"
+ "Eingehende Anrufe aktiviert""Kontoregistrierung fehlgeschlagen: %s. Erneuter Versuch zu einem späteren Zeitpunkt."
- "Kontoregistrierung fehlgeschlagen: Nutzername oder Passwort falsch."
- "Kontoregistrierung fehlgeschlagen. Überprüfen Sie den Servernamen."
- "Dieses Konto wird zurzeit von der %s-App verwendet."
+ "Kontoregistrierung fehlgeschlagen: Nutzername oder Passwort falsch."
+ "Kontoregistrierung fehlgeschlagen. Bitte überprüfen Sie den Servernamen."
+ "Dieses Konto wird momentan von der %s-App verwendet.""SIP-Konto: Details""SIP-Konto: Details""Server""Nutzername""Passwort""Anzeigename"
- "Ausgehende Proxy-Adr."
+ "Ausgehende Proxy-Adresse""Port-Nummer""Transportart""Keep-Alive senden"
- "SIP-Keep-Alive-Nachrichten senden"
- "Automatische Registrierung"
- "Profil automatisch registrieren""Als primäres Konto festlegen""Für ausgehende Anrufe verwendet""Optionale Einstellungen"
@@ -677,21 +586,21 @@
"<Optional>""▷ Tippen, um alle anzuzeigen""▽ Tippen, um alle auszublenden"
- "%s ist ein erforderliches Feld. Es darf nicht leer bleiben."
- "Portnummer muss zwischen 1000 und 65534 liegen."
+ "%s ist ein erforderliches Feld. Es darf nicht leer bleiben."
+ "Portnummer muss zwischen 1000 und 65534 liegen.""Keine Internetverbindung.""Keine WLAN-Verbindung"
- "Überprüfen Sie zunächst Ihre Internetverbindung, bevor Sie einen Internetanruf tätigen."
- "Für Internetanrufe ist eine aktive WLAN-Verbindung notwendig. Wählen Sie die entsprechenden Einstellungen unter \"Drahtlos & Netzwerke\"."
+ "Überprüfen Sie zunächst Ihre Internetverbindung, bevor Sie einen Internetanruf tätigen."
+ "Für Internetanrufe ist eine aktive WLAN-Verbindung notwendig. Wählen Sie die entsprechenden Einstellungen unter \"Drahtlos & Netzwerke\".""Internetanrufe werden nicht unterstützt.""Automatisch""Immer senden""Sprachanruf wird nicht unterstützt."
- "Kann nicht sprechen. Was gibt\'s?"
+ "Kann jetzt nicht sprechen. Was gibt\'s?""Ich rufe gleich zurück.""Ich rufe später zurück.""Kann jetzt nicht sprechen. Später?"
- "Benutzerdefinierte SMS..."
+ "Benutzerdefinierte SMS""Kurzantworten""Kurzantworten bearbeiten"
@@ -709,7 +618,6 @@
"Sternsymbol""Null""Pfund"
- "Suchen""Wählen""Rücktaste""Freisprechfunktion aktiviert"
@@ -719,9 +627,46 @@
"Ablehnen""Vibration""Vibration"
+ "Klingelton""Immer""Nur im Lautlos-Modus""Nie"
+
+ "Klingelton"
+ "Beim Klingeln vibrieren"
+ "Wähltastentöne"
+ "Klingelton"
+
+ Sprachqualität
+ Sprachprofil: %s
+ Normal
+ Klar
+ Sehr klar
+ Hell
+
+ Mobilfunkstandard wechseln (2G/3G)
+ Anwendungen mit dieser Berechtigung können jederzeit zwischen 2G- und 3G-Netz wechseln. 3G ist schneller, verbraucht mehr Batterieladung und kann teurer sein
+
+
+ Erweiterte Einstellungen
+ Näherungssensor eingeschaltet lassen
+ Den Näherungssensor während eines Anrufs mit Headset nicht ausschalten
+ Sperren nach Anruf
+ Automatsich sperren, wenn ein Anruf beendet wurde und der Bildschirm ausgeschaltet ist
+ Vibriere bei Annahme
+ Vibriere alle 45 Sekunden
+ Vibriere alle 45 Sekunden während ausgehender Anrufe
+ Vibriere bei Auflegen
+ Vibriere bei Anklopfen
+
+
+ Nebengeräusch-Unterdrückung
+ Nebengeräusch-Unterdrückung aktivieren
+
+
+ Meine Nummer
+ Die Telefonnummer für dieses Gerät einstellen
+
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 867047957..a9112c7b9 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -25,39 +25,27 @@
"Απόκρυψη""Καρτοτηλέφωνο""Σε αναμονή"
- "Τρέχουσα κλήση""Η γραμμή είναι απασχολημένη""Το δίκτυο είναι απασχολημένο""Καμία απάντηση, το χρονικό όριο έληξε""Αδυναμία πρόσβασης σε διακομιστή""Δεν είναι δυνατή η κλήση του αριθμού""Εσφαλμένο όνομα χρήστη ή κωδικός πρόσβασης"
- "Κλήση εκτός δικτύου"
+ "Κλήση εκτός δικτύου""Σφάλμα διακομιστή: Δοκιμάστε ξανά αργότερα.""Δεν υπάρχει σήμα""Υπέρβαση ορίου ACM""Ο πομπός είναι απενεργοποιημένος"
- "Δεν υπάρχει κάρτα SIM ή σφάλμα κάρτας SIM"
+ "Δεν υπάρχει κάρτα SIM ή σφάλμα κάρτας SIM""Εκτός περιοχής κάλυψης""Οι εξερχόμενες κλήσεις περιορίζονται από το FDN."
- "Δεν μπορείτε να πραγματοποιήσετε εξερχόμενες κλήσεις όσο η φραγή κλήσεων είναι ενεργοποιημένη."
+ "Δεν μπορείτε να πραγματοποιήσετε εξερχόμενες κλήσεις όσο η φραγή κλήσεων είναι ενεργοποιημένη.""Όλες οι κλήσεις περιορίζονται από τον έλεγχο πρόσβασης.""Οι κλήσεις επείγουσας ανάγκης περιορίζονται από τον έλεγχο πρόσβασης.""Οι κανονικές κλήσεις περιορίζονται από τον έλεγχο πρόσβασης."
- "CDMA: Κλείδωμα τηλεφώνου έως τον επόμενο κύκλο ενέργειας."
- "CDMA: Η κλήση απορρίφθηκε."
- "CDMA: Διακοπή κλήσης."
- "CDMA: αναδιάταξη."
- "CDMA:απόρριψη επιλογής υπηρεσίας."
- "CDMA: σειρά επανάληψης."
- "CDMA: Η πρόσβαση δεν ήταν επιτυχής."
- "CDMA: Προκαθορίστηκε."
- "Μόνο κλήσεις έκτακτης ανάγκης."
- "Μη έγκυρος αριθμός"
+ "Μη έγκυρος αριθμός""Κλήση συνδιάσκεψης""Αναπάντητη κλήση."
- "Νέα προσπάθεια"
- "Αναπάντητη κλήση""OK""Έναρξη κώδικα MMI""Ο κώδικας USSD εκτελείται..."
@@ -69,23 +57,14 @@
"Ενσύρ. ακουστ.""Bluetooth""Αποστολή των παρακάτω τόνων;"\n
- "Τόνοι αποστολής"\n
+ "Τόνοι αποστολής"\n"Αποστολή""Ναι""Όχι"
- "Αντικατάσταση του χαρακτήρα μπαλαντέρ με"
+ "Αντικατάσταση του χαρακτήρα μπαλαντέρ με""Λείπει ο αριθμός αυτόματου τηλεφωνητή""Δεν έχει αποθηκευτεί αριθμός για τον αυτόματο τηλεφωνητή στην κάρτα SIM.""Προσθήκη αριθμού"
- "Φόρτωση..."
- "Πληκτρολογήστε τον κώδικα PIN για να ξεκλειδώσετε την κάρτα SIM."
- "Η κάρτα SIM ξεκλειδώθηκε"
- "Νέος κώδικας αριθμού PIN της κάρτας SIM"
- "Για επιβεβαίωση, πληκτρολογήστε ξανά τον νέο αριθμό PIN της κάρτας SIM"
- "Οι αριθμοί PIN της κάρτας SIM που πληκτρολογήσατε δεν ταιριάζουν. Δοκιμάστε ξανά."
- "Πληκτρολογήστε τον κώδικα PUK για να ξεκλειδώσετε την κάρτα SIM"
- "Λανθασμένος κώδικας PUK!"
- "Συνέχεια""Καταργήθηκε ο αποκλεισμός της κάρτας SIM. Το τηλέφωνό σας ξεκλειδώνεται...""Αριθμός PIN ξεκλειδώματος δικτύου κάρτας SIM""Ξεκλείδωμα"
@@ -93,8 +72,6 @@
"Αίτηση ξεκλειδώματος δικτύου...""Ανεπιτυχές αίτημα ξεκλειδώματος δικτύου.""Το ξεκλείδωμα δικτύου ήταν επιτυχές."
- "Αριθμός ΙΜΕΙ"
- "MEID""Ρυθμίσεις κλήσης GSM""Ρυθμίσεις κλήσης CDMA""Ονόματα σημείου πρόσβασης"
@@ -109,6 +86,7 @@
"Πρόσθετες ρυθμίσεις κλήσης μόνο CDMA""Ρυθμίσεις υπηρεσίας δικτύου""Αναγνώριση κλήσης"
+ "Φόρτωση ρυθμίσεων…""Απόκρυψη αριθμού στις εξερχόμενες κλήσεις""Αριθμός που προβάλλεται στις εξερχόμενες κλήσεις""Χρήση των προεπιλεγμένων ρυθμίσεων της εταιρείας για την προβολή του αριθμού μου στις εξερχόμενες κλήσεις"
@@ -127,17 +105,17 @@
"Αριθμός όταν είμαι απασχολημένος/ή""Προώθηση προς {0}""Απενεργοποιημένη"
- "Ο φορέας σας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας είναι απασχολημένο."
+ "Ο φορέας σας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας είναι απασχολημένο.""Προώθηση όταν δεν απαντάω""Αριθμός όταν δεν απαντάω""Προώθηση προς {0}""Απενεργοποιημένη"
- "Ο φορέας σας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας δεν απαντάει."
+ "Η εταιρεία σας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας δεν απαντάει.""Προώθηση όταν δεν είμαι διαθέσιμος/η""Αριθμός όταν δεν είμαι διαθέσιμος/η""Προώθηση προς {0}""Απενεργοποιημένη"
- "Ο φορέας σας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας δεν έχει σήμα."
+ "Η εταιρεία κινητής τηλεφωνίας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας δεν έχει σήμα.""Ρυθμίσεις κλήσης""Σφάλμα ρυθμίσεων κλήσης""Ανάγνωση ρυθμίσεων…"
@@ -145,8 +123,8 @@
"Επαναφορά ρυθμίσεων…""Μη αναμενόμενη απάντηση από το δίκτυο.""Σφάλμα δικτύου ή κάρτας SIM."
- "Οι λειτουργίες επιτρέπονται μόνο για καθορισμένους αριθμούς κλήσης."
- "Πριν προβάλετε αυτές τις ρυθμίσεις, ενεργοποιήστε τον πομπό."
+ "Έχει ενεργοποιηθεί η ρύθμιση αριθμών κλήσης καθορισμένων αριθμών της εφαρμογής του τηλεφώνου σας. Γι αυτόν τον λόγο δεν λειτουργούν ορισμένες λειτουργίες που σχετίζονται με τις κλήσεις."
+ "Πριν προβάλετε αυτές τις ρυθμίσεις, ενεργοποιήστε τον πομπό.""OK""Ενεργοποίηση""Απενεργοποίηση"
@@ -156,10 +134,9 @@
"Απόκρυψη αριθμού""Εμφάνιση αριθμού"
- "Αποθήκευση αριθμού αυτόματου τηλεφωνητή""Ο αριθμός αυτόματου τηλεφωνητή άλλαξε."
- "Μη επιτυχής αλλαγή αριθμού αυτόματου τηλεφωνητή."\n"Επικοινωνήστε με την εταιρεία σας παροχής υπηρεσιών εάν δεν επιλυθεί το πρόβλημα."
- "Μη επιτυχής αλλαγή αριθμού προώθησης κλήσης."\n"Επικοινωνήστε με την εταιρεία σας παροχής υπηρεσιών εάν δεν επιλυθεί το πρόβλημα."
+ "Δεν ήταν δυνατή η αλλαγή του αριθμού για τον αυτόματο τηλεφωνητή."\n"Επικοινωνήστε με την εταιρεία σας εάν το πρόβλημα παραμένει."
+ "Δεν ήταν δυνατή η αλλαγή του αριθμού προώθησης."\n"Επικοινωνήστε με την εταιρεία σας εάν το πρόβλημα παραμένει.""Δεν ήταν δυνατή η ανάκτησης και η αποθήκευση των τρεχουσών ρυθμίσεων αριθμού προώθησης."\n"Να γίνει εναλλαγή στο νέο πάροχο υπηρεσιών;""Δεν έγιναν αλλαγές.""Επιλογή υπηρεσίας αυτόματου τηλεφωνητή"
@@ -171,14 +148,14 @@
"Αναζήτηση δικτύων""Προέκυψε σφάλμα κατά την αναζήτηση δικτύων.""Εγγραφή στο δίκτυο %s…"
- "Η κάρτα SIM δεν επιτρέπει τη σύνδεση με αυτό το δίκτυο."
- "Δεν είναι δυνατή η σύνδεση σε αυτό το δίκτυο αυτήν τη στιγμή. Προσπαθήστε ξανά αργότερα."
+ "Η κάρτα SIM δεν επιτρέπει τη σύνδεση με αυτό το δίκτυο."
+ "Δεν είναι δυνατή η σύνδεση στο δίκτυο αυτήν τη στιγμή. Παρακαλούμε ξαναπροσπαθήστε αργότερα.""Έγινε εγγραφή στο δίκτυο."
- "Επιλέξτε εταιρεία δικτύου"
+ "Επιλέξτε μια εταιρεία δικτύου""Αναζήτηση διαθέσιμων δικτύων"
- "Αυτόματη επιλογή"
- "Αυτόματη επιλογή προτιμώμενου δικτύου"
- "Αυτόματη εγγραφή..."
+ "Αυτόματη επιλογή"
+ "Αυτόματη επιλογή προτιμώμενου δικτύου"
+ "Αυτόματη εγγραφή...""Λειτουργία δικτύου""Αλλαγή κατάστασης λειτουργίας δικτύου""Προτιμώμενη λειτουργία δικτύου"
@@ -192,30 +169,29 @@
"Προτιμώμενη λειτουργία δικτύου: μόνο EvDo""Προτιμώμενη λειτουργία δικτύου: LTE / CDMA"
- "LTE / CDMA"
+ "LTE / CDMA""Μόνο EvDo""CDMA w/o EvDo"
- "Αυτόματο CDMA / EvDo"
- "Αυτόματο GSM / WCDMA"
+ "Αυτόματο EvDo/CDMA"
+ "Αυτόματο GSM/WCDMA""Μόνο WCDMA""Μόνο GSM"
- "Προτιμώνται GSM / WCDMA"
+ "Προτιμώνται GSM/WCDMA"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Ενεργοποίηση δεδομένων""Ενεργοποίηση της πρόσβασης δεδομένων μέσω του δικτύου κινητής τηλεφωνίας""Περιαγωγή δεδομένων""Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"
- "Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"
- "Χάσατε τη σύνδεση δεδομένων επειδή φύγατε από το οικείο δίκτυο έχοντας την περιαγωγή δεδομένων απενεργοποιημένη."
+ "Να μη γίνεται σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"
+ "Χάσατε τη σύνδεση δεδομένων επειδή φύγατε από το οικείο δίκτυο έχοντας την περιαγωγή δεδομένων απενεργοποιημένη.""Να επιτρέπεται η περιαγωγή δεδομένων; Ενδέχεται να επιβαρυνθείτε με σημαντικά έξοδα περιαγωγής!""Επιλογές GSM/UMTS""Επιλογές CDMA""Χρήση δεδομένων"
- "Πολιτική δεδομένων εταιρείας""Δεδομένα που χρησιμοποιήθηκαν την τρέχουσα περίοδο""Περίοδος χρήσης δεδομένων""Πολιτική ταχύτητας δεδομένων"
@@ -226,7 +202,6 @@
"Έχει περάσει το %1$d٪ του κύκλου"\n"Η επόμενη περίοδος ξεκινά σε %2$d ημέρες (%3$s)""Εάν το όριο χρήσης δεδομένων ξεπεραστεί, τότε η ταχύτητα δεδομένων θα μειωθεί σε %1$d Kb/s""Περισσότερες πληροφορίες σχετικά με την πολιτική χρήσης δεδομένων στο δίκτυο της εταιρείας κινητής τηλεφωνίας"
- "Cell Broadcast SMS""Cell Broadcast SMS""Cell Broadcast SMS""Ενεργοποιήθηκε η μετάδοση SMS μέσω κινητού τηλεφώνου"
@@ -267,15 +242,6 @@
"Κορεατικά""Κινεζικά""Εβραϊκά"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Γλώσσες""Τοπική πρόγνωση καιρού"
@@ -305,9 +271,9 @@
"Ευκαιρίες καριέρας""Ενεργοποιήθηκε η προβολή ευκαιριών καριέρας""Απενεργοποιήθηκε η προβολή ευκαιριών καριέρας"
- "Ιατρικά θέματα, Υγεία και Νοσοκομεία"
- "Ενεργοποιήθηκε η προβολή Ιατρικών θεμάτων, Υγείας και Νοσοκομείων"
- "Απενεργοποιήθηκε η προβολή Ιατρικών θεμάτων, Υγείας και Νοσοκομείων"
+ "Ιατρικά θέματα, Υγεία και Νοσοκομεία"
+ "Ενεργοποιήθηκε η προβολή Ιατρικών θεμάτων, Υγείας και Νοσοκομείων"
+ "Απενεργοποιήθηκε η προβολή Ιατρικών θεμάτων, Υγείας και Νοσοκομείων""Τεχνολογικά νέα""Ενεργοποιήθηκε η προβολή τεχνολογικών νέων""Απενεργοποιήθηκε η προβολή τεχνολογικών νέων"
@@ -322,35 +288,17 @@
"Μόνο WCDMA""Μόνο GSM""GSM/WCDA (προτιμάται WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Χρήση μόνο δικτύων 2G""Εξοικονόμηση μπαταρίας""Επιλογή συστήματος"
- "Αλλαγή της λειτουργίας περιαγωγής cdma"
+ "Αλλαγή της λειτουργίας περιαγωγής CDMA""Επιλογή συστήματος""Μόνο αρχική σελίδα""Αυτόματο"
- "Λειτουργία περιαγωγής CDMA"
- "Αλλαγή της λειτουργίας περιαγωγής cdma"
- "Λειτουργία περιαγωγής CDMA"
-
- "Μόνο οικιακά δίκτυα"
- "Συνεργαζόμενα δίκτυα"
- "Οποιοδήποτε δίκτυο"
-
-
- "0"
- "1"
- "2"
-
+ "Συνδρομή CDMA""Προτιμήσεις δικτύου CDMA""Δεν εφαρμόστηκε ακόμη!""Προτιμήσεις δικτύου CDMA"
@@ -359,21 +307,11 @@
"Μόνο CDMA""Μόνο EvDo"
-
- "0"
- "1"
- "2"
-
- "Συνδρομή CDMA""Αλλαγή μεταξύ RUIM/SIM και NV""συνδρομή""RUIM/SIM""NV"
-
-
- "0"
- "1""Ενεργοποίηση συσκευής""Ρύθμιση υπηρεσίας δεδομένων"
@@ -390,18 +328,16 @@
"Διαχείριση αριθμών κλήσης καθορισμένων αριθμών""Αλλαγή αριθμού PIN για πρόσβαση FDN""Διαχείριση λίστας αριθμών τηλεφώνου"
- "Απόρρητο φωνής"
+ "Απόρρητο φωνής""Ενεργοποίηση λειτουργίας σύνθετου απορρήτου"
- "Λειτουργία TTY"
- "Ενεργοποίηση λειτουργίας TTY""Λειτουργία TTY""Ορισμός λειτουργίας TTY"
- "Αυτόματη επανάληψη"
- "Ενεργοποίηση λειτουργίας αυτόματης επανάληψης"
+ "Αυτόματη επανάληψη"
+ "Ενεργοποίηση λειτουργίας αυτόματης επανάληψης""Προσθήκη επαφής""Επεξεργασία επαφής""Διαγραφή επαφής"
- "Εισάγετε τον αριθμό PIN2"
+ "Τύπος PIN2""Όνομα""Αριθμός""Αποθ/ση"
@@ -414,56 +350,50 @@
"Διαγραφή καθορισμένου αριθμού κλήσης""Διαγραφή καθορισμένου αριθμού κλήσης…""Ο καθορισμένος αριθμός κλήσης διαγράφηκε."
- "Το FDN δεν ενημερώθηκε: εισαγάγατε εσφαλμένο PIN."
- "Το FDN δεν ενημερώθηκε: ο αριθμός δεν μπορεί να περιέχει περισσότερα από 20 ψηφία."
+ "Το FDN δεν ενημερώθηκε, επειδή πληκτρολογήσατε εσφαλμένο PIN."
+ "Το FDN δεν ενημερώθηκε διότι ο αριθμός δεν μπορεί να ξεπερνάει τα 20 ψηφία."
+ "Δεν έγινε ενημέρωση του FDN. Το PIN2 ήταν λανθασμένο ή ο αριθμός του τηλεφώνου απορρίφθηκε.""Ανάγνωση από κάρτα SIM…""Δεν υπάρχουν επαφές στην κάρτα SIM.""Επιλέξτε επαφές για εισαγωγή"
- "Για την εισαγωγή επαφών από την κάρτα SIM, απενεργοποιήστε τη λειτουργία πτήσης."
+ "Για την εισαγωγή επαφών από την κάρτα SIM, απενεργοποιήστε πρώτα τη λειτουργία πτήσης.""Ενεργοποίηση/απενεργοποίηση αριθμού PIN της κάρτας SIM""Αλλαγή αριθμού PIN της κάρτας SIM""Αριθμός PIN της κάρτας SIM:""Παλιός αριθμός PIN""Νέος αριθμός PIN""Επιβεβαίωση νέου αριθμού PIN"
- "Ο παλιός αριθμός PIN που πληκτρολογήσατε δεν είναι σωστός. Δοκιμάστε ξανά."
- "Οι αριθμοί PIN που πληκτρολογήσατε δεν ταιριάζουν. Δοκιμάστε ξανά."
+ "Το παλιό PIN που πληκτρολογήσατε δεν είναι σωστό. Δοκιμάστε ξανά."
+ "Τα PIN που πληκτρολογήσατε δεν ταιριάζουν. Δοκιμάστε ξανά.""Πληκτρολογήστε έναν αριθμό PIN που να αποτελείται από 4 έως 8 αριθμούς.""Απενεργοποίηση αριθμού PIN της κάρτας SIM""Ενεργοποίηση αριθμού PIN της κάρτας SIM""Περιμένετε..."
- "Ο αριθμός PIN της κάρτας SIM ενεργοποιήθηκε"
- "Ο αριθμός PIN της κάρτας SIM απενεργοποιήθηκε"
- "Ο αριθμός PIN που πληκτρολογήσατε είναι λανθασμένος"
- "Η αλλαγή του αριθμού PIN της κάρτας SIM ήταν επιτυχημένη"
+ "Το PIN της κάρτας SIM ενεργοποιήθηκε."
+ "Το PIN της κάρτας SIM απενεργοποιήθηκε."
+ "Ο αριθμός PIN που πληκτρολογήσατε ήταν λανθασμένος."
+ "Ο αριθμός PIN της κάρτας SIM άλλαξε επιτυχώς.""Λανθασμένος κωδικός πρόσβασης, η κάρτα SIM κλειδώθηκε! Ζητήθηκε κωδικός PUK2.""Αριθμός PIN2""Παλιός αριθμός PIN2""Νέος αριθμός PIN2""Επιβεβαίωση νέου αριθμού PIN2"
- "Ο αριθμός PUK2 που πληκτρολογήσατε δεν είναι σωστός. Δοκιμάστε ξανά."
- "Ο παλιός αριθμός PIN2 που πληκτρολογήσατε δεν είναι σωστός. Δοκιμάστε ξανά."
- "Ο αριθμός PIN2 που εισάγατε δεν ταιριάζει. Δοκιμάστε ξανά."
+ "Ο αριθμός PUK2 που πληκτρολογήσατε δεν είναι σωστός. Δοκιμάστε ξανά."
+ "Ο παλιός αριθμός PIN2 που πληκτρολογήσατε δεν είναι σωστός. Δοκιμάστε ξανά."
+ "Ο αριθμός PIN2 που πληκτρολογήσατε δεν ταιριάζει. Δοκιμάστε ξανά.""Πληκτρολογήστε έναν αριθμό PIN2 που να αποτελείται από 4 έως 8 αριθμούς.""Πληκτρολογήστε έναν αριθμό PUK2 που αποτελείται από 8 αριθμούς."
- "Η αλλαγή του αριθμού PIN2 ήταν επιτυχημένη"
+ "Η αλλαγή του αριθμού PIN2 ήταν επιτυχημένη.""Πληκτρολογήστε τον κώδικα PUK2"
- "Ο κωδικός πρόσβασης είναι λανθασμένος, αλλάξτε τον αριθμό PIN2 και δοκιμάστε ξανά!"
- "Λανθασμένος κωδικός πρόσβασης, η κάρτα SIM κλειδώθηκε! Ζητήθηκε κωδικός PUK2."
+ "Ο κωδικός πρόσβασης είναι λανθασμένος. Αλλάξτε τον αριθμό PIN2 και δοκιμάστε ξανά!"
+ "Λανθασμένος κωδικός πρόσβασης, η κάρτα SIM κλειδώθηκε. Ζητήθηκε κωδικός PUK2.""Τέλος""Κλήση συνδιάσκεψης %s"
- "Επιστροφή στην κλήση"
- "Συνέχεια χωρίς κάρτα SIM"
- "Δεν βρέθηκε κάρτα SIM. Εισάγετε μια κάρτα SIM στο τηλέφωνο."
- "Παράβλεψη"
- "Ξεκλείδωμα"
- "Έλεγχος ταυτότητας αριθμού PIN…""Αριθμός αυτόματου τηλεφωνητή""Κλήση""Νέα προσπάθεια""Κλήση συνδιάσκεψης""Εισερχόμενη κλήση"
- "Αναμονή κλήσης Cdma""Η κλήση τερματίστηκε""Σε αναμονή""Κλείσιμο γραμμής"
@@ -473,7 +403,7 @@
"Αναπάντητες κλήσεις""%s αναπάντητες κλήσεις""Αναπάντητη κλήση από %s"
- "Τρέχουσα κλήση (%s)"
+ "Κλήση σε εξέλιξη""Σε αναμονή""Εισερχόμενη κλήση""Νέο μήνυμα στον αυτόματο τηλεφωνητή"
@@ -482,13 +412,15 @@
"Ο αριθμός αυτόματου τηλεφωνητή είναι άγνωστος""Δίκτυο μη διαθέσιμο""Επιλεγμένο δίκτυο (%s) μη διαθέσιμο"
+ "Τερματισμός κλήσης"
+ "Επανάκληση"
+ "Μήνυμα""Για να πραγματοποιήσετε μια κλήση, απενεργοποιήστε πρώτα τη λειτουργία πτήσης.""Δεν έχετε εγγραφεί στο δίκτυο.""Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο.""Η κλήση δεν πραγματοποιήθηκε, δεν έγινε εισαγωγή έγκυρου αριθμού.""H κλήση δεν πραγματοποιήθηκε.""Έναρξη ακολουθίας MMI..."
- "Έναρξη αλληλουχίας κωδικού λειτουργίας...""Μη υποστηριζόμενη υπηρεσία.""Αδύνατη η εναλλαγή κλήσεων.""Δεν ήταν δυνατός ο διαχωρισμός της κλήσης."
@@ -500,18 +432,13 @@
"Κλήσεις επείγουσας ανάγκης""Ενεργοποίηση πομπού...""Εκτός περιοχής κάλυψης, επανάληψη κλήσης..."
- "Η κλήση δεν πραγματοποιήθηκε, το %s δεν είναι αριθμός επείγουσας ανάγκης!"
- "Η κλήση δεν πραγματοποιήθηκε, καλέστε έναν αριθμό επείγουσας ανάγκης!"
+ "Η κλήση δεν πραγματοποιήθηκε. Το %s δεν είναι αριθμός έκτακτης ανάγκης!"
+ "Η κλήση δεν πραγματοποιήθηκε. Καλέστε έναν αριθμό επείγουσας ανάγκης!""Χρησιμοποιήστε το πληκτρολόγιο για να πραγματοποιήσετε καλέσετε έναν αριθμό"
- "Αγγίξτε το πληκτρολόγιο τόνων""Αναμονή"
- "Διακοπή αναμονής""Τέλος""Πληκτρολόγιο κλήσης"
- "Απόκρυψη"
- "Ηχείο""Σίγαση"
- "Bluetooth""Προσθήκη κλήσης""Συγχώνευση κλήσεων""Ανταλλαγή"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Κείμενο ERI"
- "Τόνοι DTMF"
+ "Τόνοι DTMF""Ορισμός διάρκειας τόνων DTMF""Κανονική""Συνεχόμενος"
- "Μήνυμα δικτύου"
+ "Μήνυμα δικτύου""Ενεργοποίηση του τηλεφώνου σας""Πρέπει να γίνει ειδική κλήση για την ενεργοποίηση της υπηρεσίας του τηλεφώνου που διαθέτετε. "\n\n"Αφού πατήσετε την \"Ενεργοποίηση\", ακούστε τις οδηγίες που παρέχονται για να ενεργοποιήσετε το τηλέφωνό σας."
- "Αγγίξτε την ένδειξη “Ενεργοποίηση” για να πραγματοποιήσετε μια ειδική κλήση που ενεργοποιεί το τηλέφωνό σας στο δίκτυο της εταιρείας κινητής τηλεφωνίας που χρησιμοποιείτε ώστε να μπορείτε να πραγματοποιείτε κλήσεις και να συνδέεστε σε δίκτυα δεδομένων κινητής τηλεφωνίας.""Παράβλεψη ενεργοποίησης;""Εάν παραλείψετε την ενεργοποίηση, δεν θα μπορείτε να πραγματοποιήσετε κλήσεις ή να συνδεθείτε σε δίκτυα δεδομένων κινητής τηλεφωνίας (αν και θα μπορείτε να συνδεθείτε σε δίκτυα Wi-Fi). Μέχρι να ενεργοποιήσετε το τηλέφωνό σας, θα σας ζητείται να το ενεργοποιήσετε κάθε φορά που θα το θέτετε σε λειτουργία.""Παράλειψη"
- "Ενεργοποίηση""Ενεργοποίηση"
- "Το τηλέφωνο ενεργοποιήθηκε!"
+ "Το τηλέφωνο ενεργοποιήθηκε.""Πρόβλημα κατά την ενεργοποίηση""Ακολουθήστε τις φωνητικές οδηγίες μέχρι να ακούσετε ότι η ενεργοποίηση ολοκληρώθηκε."
- "Πληκτρολόγιο""Ηχείο"
- "Περιμένετε μέχρι να ολοκληρωθεί ο προγραμματισμός του τηλεφώνου σας."
- "Μη επιτυχής προγραμματισμός"
+ "Περιμένετε μέχρι να ολοκληρωθεί ο προγραμματισμός του τηλεφώνου σας."
+ "Μη επιτυχής προγραμματισμός""Το τηλέφωνό σας ενεργοποιήθηκε. Ενδέχεται να χρειαστούν έως και 15 λεπτά για την έναρξη της υπηρεσίας."
- "Το τηλέφωνό σας δεν ενεργοποιήθηκε. "\n"Ίσως χρειάζεται να βρείτε μια περιοχή με καλύτερη κάλυψη (κοντά σε ένα παράθυρο ή σε εξωτερικό χώρο). "\n\n"Δοκιμάστε ξανά ή καλέστε την υπηρεσία εξυπηρέτησης πελατών για περισσότερες επιλογές."
+ "Το τηλέφωνό σας δεν ενεργοποιήθηκε "\n"Ίσως χρειάζεται να βρείτε μια περιοχή με καλύτερη κάλυψη (κοντά σε ένα παράθυρο ή σε εξωτερικό χώρο). "\n\n"Δοκιμάστε ξανά ή καλέστε την υπηρεσία εξυπηρέτησης πελατών για περισσότερες επιλογές.""EXCESS SPC FAILURES""Πίσω""Προσπαθήστε ξανά""Επόμενο"
- "Πίσω""Παράθυρο διαλόγου εξόδου από λειτουργία κλήσης έκτακτης ανάγκης""Είσοδος σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης""Λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"
@@ -569,87 +491,69 @@
"Δεν θα υπάρχει σύνδεση δεδομένων για %s λεπτά"
- "Το τηλέφωνο θα βρίσκεται σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για %s λεπτό. Κατά τη διάρκεια αυτής της λειτουργίας η χρήση εφαρμογών που χρησιμοποιούν σύνδεση δεδομένων δεν θα είναι εφικτή. Θέλετε να πραγματοποιήσετε έξοδο τώρα;"
- "Το τηλέφωνο θα βρίσκεται σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για %s λεπτά. Κατά τη διάρκεια αυτής της λειτουργίας η χρήση εφαρμογών που χρησιμοποιούν σύνδεση δεδομένων δεν θα είναι εφικτή. Θέλετε να πραγματοποιήσετε έξοδο τώρα;"
+ "Το τηλέφωνο θα βρίσκεται στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για %s λεπτό. Όσο βρίσκεται σε αυτήν τη λειτουργία, δεν θα μπορούν να χρησιμοποιηθούν εφαρμογές με σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;"
+ "Το τηλέφωνο βρίσκεται στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για %s λεπτά. Όσο βρίσκεται σε αυτήν τη λειτουργία, δεν θα μπορούν να χρησιμοποιηθούν εφαρμογές με σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;"
- "Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη κατά τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα παραμείνει σε αυτήν τη λειτουργία για %s λεπτό. Θέλετε να πραγματοποιήσετε έξοδο τώρα;"
- "Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη κατά τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα παραμείνει σε αυτήν τη λειτουργία για %s λεπτά. Θέλετε να πραγματοποιήσετε έξοδο τώρα;"
+ "Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα βρίσκεται σε αυτήν τη λειτουργία για %s λεπτό. Θέλετε να εξέλθετε τώρα;"
+ "Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα βρίσκεται σε αυτήν τη λειτουργία για %s λεπτά. Θέλετε να εξέλθετε τώρα;"
- "Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη κατά τη διάρκεια κλήσης επείγουσας ανάγκης"
- "Έξοδος από τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"
+ "Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη κατά τη διάρκεια κλήσης επείγουσας ανάγκης."
+ "Έξοδος από τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης""Ναι""Όχι""Απόρριψη"
- "Ρυθμίσεις αυτόματου τηλεφωνητή"
- "<δεν έχει οριστεί>"
- "Υπηρεσία αυτόματου τηλεφωνητή"
- "Ρυθμίσεις για %s"
+ "Υπηρεσία"
+ "Ρυθμίσεις"
+ "<Δεν έχει οριστεί>""Άλλες ρυθμίσεις κλήσης"
- "Κλήση"
- "Κλήση μέσω ^1"\n"^2"
- "Μεταφορά δεξιά για απάντηση"
- "Σύρετε αριστερά για σίγαση του ήχου ειδοποίησης"
- "Μεταφορά αριστερά για απόρριψη"
- "Μεταφορά δεξιά για απάντηση και"\n"θέση ενεργής κλήσης σε αναμονή"
- "Μεταφορά δεξιά για απάντηση και"\n"τερματισμό ενεργής κλήσης"
- "Μεταφορά δεξιά για απάντηση και"\n"τερματισμό κλήσης σε αναμονή"
- "Απάντηση"
- "Απόρριψη"
+ "Κλήση μέσω %s""φωτογραφία επαφής""ιδιωτική χρήση""επιλογή επαφής""Ρυθμίσεις κλήσεων Διαδικτύου""Λογαριασμοί κλήσεων μέσω Διαδικτύου (SIP)""Λογαριασμοί"
- "Διαχείριση λογαριασμών και κατάστασης κλήσεων μέσω Διαδικτύου (SIP)""Λήψη εισερχόμενων κλήσεων""Μειώνει τη διάρκεια ζωής της μπαταρίας"
- "Διαμόρφωση ρυθμίσεων κλήσης""Χρήση κλήσεων μέσω Διαδικτύου""Κάντε χρήση της κλήσης μέσω Διαδικτύου (μόνο με Wi-Fi)""Για όλες τις κλήσεις όταν το δίκτυο δεδομένων είναι διαθέσιμο""Μόνο για κλήσεις μέσω Διαδικτύου""Να ερωτώμαι για κάθε κλήση""Για όλες τις κλήσεις"
- "Αυτόματη εγγραφή"
- "Εξερχόμενη κλήση μέσω SIP""Πραγματοποίηση κλήσης""Χρήση λογαριασμού κλήσης Διαδικτύου:""Να χρησιμοποιείται πάντα για την πραγματοποίηση κλήσεων"
- "Μπορείτε να χρησιμοποιήσετε τις Ρυθμίσεις κλήσεων για να αλλάξετε τον προεπιλεγμένο λογαριασμό κλήσεων μέσω διαδικτύου που θα χρησιμοποιείται κατά την πραγματοποίηση κλήσεων, επιλέγοντας διαφορετικό λογαριασμό από τις ρυθμίσεις κλήσεων μέσω Διαδικτύου"
+ "Μπορείτε να καθορίσετε ποιος λογαριασμός κλήσεων μέσω Διαδικτύου θα χρησιμοποιείται από προεπιλογή από τις επιλογές Τηλέφωνο > Ρυθμίσεις > Ρυθμίσεις κλήσεων μέσω Διαδικτύου > Οθόνη λογαριασμών.""Κλήση από κινητό τηλέφωνο""Κλήση Διαδικτύου""Δεν υπάρχει λογαριασμός κλήσης Διαδικτύου"
- "Δεν υπάρχουν λογαριασμοί κλήσεων Διαδικτύου σε αυτό το τηλέφωνο. Να γίνει άμεση προσθήκη λογαριασμού;"
+ "Δεν υπάρχουν λογαριασμοί κλήσεων μέσω Διαδικτύου σε αυτό το τηλέφωνο. Θέλετε να προσθέσετε έναν τώρα;""Προσθήκη""Προσθήκη λογαριασμού""Κατάργηση λογαριασμού""Λογαριασμοί SIP"
- "Αποθήκευση του λογαριασμού..."
- "Κατάργηση του λογαριασμού..."
+ "Αποθήκευση του λογαριασμού..."
+ "Κατάργηση του λογαριασμού...""Αποθήκευση""Απόρριψη""Κλείσιμο του προφίλ""ΟΚ""Κλείσιμο"
- "Κύριος"
- "Μετατροπή αυτού του λογαριασμού σε κύριο"
- "Χρησιμοποιείται για εξερχόμενες κλήσεις"
- "Σύνθετες ρυθμίσεις""Βασικός λογαριασμός. %s""Έλεγχος κατάστασης..."
- "Γίνεται εγγραφή..."
- "Η προσπάθεια συνεχίζεται..."
- "Δεν γίνεται αποδοχή κλήσεων"
- "Η εγγραφή λογαριασμού διεκόπη επειδή δεν υπάρχει σύνδεση στο Διαδίκτυο"
- "Ο λογαριασμός εγγραφής διεκόπη επειδή δεν υπάρχει σύνδεση Wi-Fi"
- "Η εγγραφή λογαριασμού απέτυχε"
- "Δέχεται κλήσεις"
+ "Γίνεται εγγραφή..."
+ "Συνέχιση προσπαθειών..."
+ "Δεν γίνεται αποδοχή κλήσεων."
+ "Η εγγραφή λογαριασμού διεκόπη επειδή δεν υπάρχει σύνδεση στο Διαδίκτυο."
+ "Ο λογαριασμός εγγραφής διεκόπη επειδή δεν υπάρχει σύνδεση Wi-Fi"
+ "Η εγγραφή λογαριασμού απέτυχε."
+ "Δέχεται κλήσεις.""Αποτυχία εγγραφής λογαριασμού: (%s). Θα επαναληφθεί αργότερα"
- "Αποτυχία εγγραφής λογαριασμού: Εσφαλμένο όνομα χρήστη ή κωδικός πρόσβασης"
- "Αποτυχία εγγραφής λογαριασμού: Ελέγξτε το όνομα του διακομιστή"
- "Αυτήν τη στιγμή ο λογαριασμός χρησιμοποιείται από την εφαρμογή %s"
+ "Αποτυχία εγγραφής λογαριασμού: Εσφαλμένο όνομα χρήστη ή κωδικός πρόσβασης."
+ "Αποτυχία εγγραφής λογαριασμού: Ελέγξτε το όνομα του διακομιστή."
+ "Αυτήν τη στιγμή ο λογαριασμός χρησιμοποιείται από την εφαρμογή %s""Πληροφορίες λογαριασμού SIP""Πληροφορίες λογαριασμού SIP""Διακομιστής"
@@ -660,9 +564,6 @@
"Αριθμός θύρας""Τύπος μεταφοράς""Αποστολή μηνυμάτων \"keep-alive\""
- "Αποστολή μηνυμάτων \"keep-alive\" στο διακομιστή SIP"
- "Αυτόματη εγγραφή"
- "Αυτόματη εγγραφή του προφίλ""Ορισμός ως κυρίως λογαριασμού""Χρησιμοποιείται για εξερχόμενες κλήσεις""Προαιρετικές ρυθμίσεις"
@@ -673,12 +574,12 @@
"<Προαιρετικό>""▷ Αγγίξτε για εμφάνιση όλων""▷ Αγγίξτε για απόκρυψη όλων"
- "Το πεδίο %s απαιτείται, δεν μπορεί να είναι κενό"
- "Ο αριθμός της θύρας θα πρέπει να είναι μεταξύ 1000 και 65534"
+ "Το πεδίο %s απαιτείται και δεν μπορεί να είναι κενό."
+ "Ο αριθμός της θύρας θα πρέπει να είναι μεταξύ 1000 και 65534.""Χωρίς σύνδεση στο Διαδίκτυο""Δεν υπάρχει σύνδεση Wi-Fi"
- "Για να πραγματοποιήσετε μια κλήση μέσω Διαδικτύου, ελέγξτε πρώτα τη σύνδεσή σας στο Διαδίκτυο"
- "Για κλήσεις μέσω Διαδικτύου πρέπει να είστε συνδεδεμένοι σε δίκτυο Wi-Fi (χρησιμοποιήστε το στοιχείο Ασύρματο δίκτυο και Ρυθμίσεις δικτύου)"
+ "Για να πραγματοποιήσετε μια κλήση μέσω Διαδικτύου, ελέγξτε πρώτα τη σύνδεσή σας στο Διαδίκτυο."
+ "Για κλήσεις μέσω Διαδικτύου πρέπει να είστε συνδεδεμένοι σε δίκτυο Wi-Fi (χρησιμοποιήστε το στοιχείο Ασύρματο δίκτυο και Ρυθμίσεις δικτύου)""Η κλ. μέσω Διαδικτύου δεν υποστηρίζεται""Αυτόματα""Πάντα να αποστέλλεται"
@@ -687,7 +588,7 @@
"Θα σου τηλεφωνήσω αμέσως.""Θα σου τηλεφωνήσω αργότερα.""Δεν μπορώ τώρα. Πάρε με αργότερα."
- "Προσαρμοσμένο μήνυμα..."
+ "Προσαρμοσμένο μήνυμα""Γρήγορες απαντήσεις""Επεξεργασία γρήγορων απαντήσεων"
@@ -705,7 +606,6 @@
"αστέρι""μηδέν""σύμβολο δίεσης"
- "αναζήτηση""κλήση""backspace""Η ανοικτή συνομιλία ενεργοποιήθηκε."
@@ -715,9 +615,47 @@
"Απόρριψη""Δόνηση""Δόνηση"
+ "Ήχος κλήσης""Πάντα""Μόνο στο αθόρυβο""Ποτέ"
+ "Ήχος κλήσης τηλεφώνου"
+ "Δόνηση κατά το κουδούνισμα"
+ "Ήχοι αφής πληκτρολογίου κλήσης"
+ "Ήχος κλήσης"
+
+
+ Εθνική περιαγωγή δεδομένων
+
+ Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή σε εθνικό δίκτυο
+
+ Να μη γίνεται σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή σε εθνικό δίκτυο
+
+
+ Πληκτρολόγιο κλήσης
+ Ρυθμίσεις για το πληκτρολόγιο κλήσης
+
+ Ο αριθμός μου
+ Ορίστε τον αριθμό τηλεφώνου για αυτή τη συσκευή
+
+ Επιλογή δικτύου (2G/3G)
+ Όποια εφαρμογή έχει αυτή την άδεια μπορεί να αλλάζει μεταξύ 2G και 3G δεδομένων. Το 3G είναι γρηγορότερο, καταναλώνει περισσότερο μπαταρία και μπορεί επίσης να σας κοστίσει περισσότερα χρήματα.
+
+
+ Καταστολή θορύβου
+ Ενεργοποίηση της καταστολής θορύβου κατά τη διάρκεια κλήσεων
+
+
+ Για προχωρημένους
+ Ενεργός αισθητήρας απόστασης
+ Να μην απενεργοποιείται ο αισθητήρας απόστασης κατά τη διάρκεια κλήσεων με τη χρήση ακουστικών
+ Κλείδωμα κατά το τέλος της κλήσης
+ Αυτόματο κλείδωμα και σβήσιμο της οθόνης στο τέλος της κλήσης
+ Δόνηση στην απάντηση
+ Δόνηση στην αναμονή
+ Δόνηση στο κλείσιμο
+ Δόνηση κάθε 45 δευτερόλεπτα
+ Δόνηση κάθε 45 δευτερόλεπτα κατά τη διάρκεια εξερχόμενων κλήσεων
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index a2a086cbe..b79b5785f 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -25,39 +25,27 @@
"Private number""Phonebox""On hold"
- "Current call""Line busy""Network busy""No response; timed out""Server unreachable""Number unreachable""Incorrect username or password"
- "Called from out of network"
+ "Called from out-of-network""Server error. Try again later.""No signal""ACM limit exceeded""Radio off"
- "No SIM, or SIM error"
+ "No SIM or SIM error""Out of service area""Outgoing calls are restricted by FDN."
- "You cannot make outgoing calls while call barring is on."
+ "You can\'t make outgoing calls while call barring is on.""All calls are restricted by access control.""Emergency calls are restricted by access control.""Normal calls are restricted by access control."
- "CDMA: Phone locked until power cycle."
- "CDMA: Call dropped."
- "CDMA: Call intercepted."
- "CDMA: reorder."
- "CDMA: Service Option Reject."
- "CDMA: retry order."
- "CDMA: Access unsuccessful."
- "CDMA: Pre-empted."
- "Only Emergency calls are possible."
- "Invalid Number"
+ "Invalid number""Conference call""Call has been lost."
- "Retry"
- "Call Lost""OK""MMI code started""USSD code running…"
@@ -69,23 +57,14 @@
"Wired headset""Bluetooth""Send the following tones?"\n
- "Sending Tones"\n
+ "Sending tones"\n"Send""Yes""No"
- "Replace the wild character with"
+ "Replace wild character with""Missing voicemail number""No voicemail number is stored on the SIM card.""Add number"
- "Loading…"
- "Type PIN code to unlock SIM card."
- "SIM unlocked"
- "New SIM PIN code"
- "Type new SIM PIN code again to confirm"
- "The SIM PINs that you typed do not match. Please try again."
- "Type PUK code to unlock SIM card"
- "Incorrect PUK code!"
- "Continue""Your SIM card has been unblocked. Your phone is unlocking…""SIM network unlock PIN""Unlock"
@@ -93,8 +72,6 @@
"Requesting network unlock…""Network unlock request unsuccessful.""Network unlock successful."
- "IMEI"
- "MEID""GSM call settings""CDMA call settings""Access Point Names"
@@ -109,6 +86,7 @@
"Additional CDMA-only call settings""Network service settings""Caller ID"
+ "Loading settings…""Number hidden in outgoing calls""Number displayed in outgoing calls""Use default operator settings to display my number in outgoing calls"
@@ -127,17 +105,17 @@
"Number when busy""Forwarding to {0}""Disabled"
- "Your operator does not support disabling call forwarding when your phone is busy."
+ "Your operator doesn\'t support disabling call forwarding when your phone is busy.""Forward when unanswered""Number when unanswered""Forwarding to {0}""Disabled"
- "Your operator does not support disabling call forwarding when your phone isn\'t answered."
+ "Your operator doesn\'t support disabling call forwarding when your phone doesn\'t answer.""Forward when unreachable""Number when unreachable""Forwarding to {0}""Disabled"
- "Your operator does not support disabling call forwarding when your phone is unreachable."
+ "Your operator doesn\'t support disabling call forwarding when your phone is unreachable.""Call settings""Call settings error""Reading settings…"
@@ -145,8 +123,8 @@
"Reverting settings…""Unexpected response from network.""Network or SIM card error."
- "Operations are only allowed on fixed dialling numbers."
- "Please turn on the radio before viewing these settings."
+ "Your Phone app\'s Fixed Dialing Numbers setting is turned on. As a result, some call-related features aren\'t working."
+ "Please turn on the radio before viewing these settings.""OK""Enable""Disable"
@@ -156,10 +134,9 @@
"Hide number""Show number"
- "Save voicemail number""Voicemail number changed."
- "Voicemail number change unsuccessful."\n"Please contact your operator if this problem persists."
- "Forwarding number change unsuccessful."\n"Please contact your operator if this problem persists."
+ "Couldn\'t change the voicemail number."\n"Contact your operator if this problem persists."
+ "Couldn\'t change the forwarding number."\n"Contact your operator if this problem persists.""Couldn\'t retrieve and save current forwarding number settings."\n"Switch to the new provider anyway?""No changes were made.""Choose voicemail service"
@@ -171,14 +148,14 @@
"Search networks""Error while searching for networks.""Registering on %s…"
- "Your SIM card does not allow a connection to this network."
- "Unable to connect to this network at this time. Please try again later."
+ "Your SIM card doesn\'t allow a connection to this network."
+ "Can\'t connect to this network at the moment. Try again later.""Registered on network."
- "Select a network operator"
+ "Choose a network operator""Search for all available networks"
- "Select automatically"
- "Automatically select preferred network"
- "Automatic registration..."
+ "Choose automatically"
+ "Automatically choose preferred network"
+ "Automatic registration...""Network Mode""Change the network operating mode""Preferred network mode"
@@ -192,17 +169,17 @@
"Preferred network mode: EvDo only""Preferred network mode: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""EvDo only""CDMA w/o EvDo"
- "CDMA/EvDo auto"
- "GSM/WCDMA auto"
+ "CDMA/EvDo auto"
+ "GSM/WCDMA auto""WCDMA only""GSM only"
- "GSM/WCDMA preferred"
+ "GSM/WCDMA preferred"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Data enabled"
@@ -210,12 +187,11 @@
"Data roaming""Connect to data services when roaming""Connect to data services when roaming"
- "You have lost data connectivity because you left your home network with data roaming turned off."
+ "You have lost data connectivity because you left your home network with data roaming turned off.""Allow data roaming? You may incur significant roaming charges!""GSM/UMTS Options""CDMA Options""Data usage"
- "Operator data policy""Data used in current period""Data usage period""Data rate policy"
@@ -226,7 +202,6 @@
"%1$d٪ of cycle elapsed"\n"Next period starts in %2$d days (%3$s)""Data rate reduced to %1$d Kb/s if data usage limit is exceeded""More information about your operator\'s mobile network data usage policy"
- "Mobile Broadcast SMS""Mobile Broadcast SMS""Mobile Broadcast SMS""Mobile Broadcast SMS enabled"
@@ -267,15 +242,6 @@
"Korean""Chinese""Hebrew"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Languages""Local Weather"
@@ -305,9 +271,9 @@
"Employment Opportunities""Employment Opportunities enabled""Employment Opportunities disabled"
- "Medical, Health and Hospital"
- "Medical, Health and Hospital enabled"
- "Medical, Health and Hospital disabled"
+ "Medical, Health and Hospital"
+ "Medical, Health and Hospital enabled"
+ "Medical, Health and Hospital disabled""Technology News""Technology News enabled""Technology News disabled"
@@ -322,35 +288,17 @@
"WCDMA only""GSM only""GSM/WCDMA (WCDMA preferred)"
-
-
- "0"
- "1"
- "2"
- "3""Use only 2G networks""Saves battery""System select"
- "Change the CDMA roaming mode"
+ "Change the CDMA roaming mode""System select""Home only""Automatic"
- "CDMA Roaming Mode"
- "Change the CDMA roaming mode"
- "CDMA roaming mode"
-
- "Home Networks only"
- "Affiliated Networks"
- "Any Network"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA subscription""CDMA Network Preferences""Not implemented yet!""CDMA network preferences"
@@ -359,21 +307,11 @@
"CDMA only""EvDo only"
-
- "0"
- "1"
- "2"
-
- "CDMA Subscription""Change between RUIM/SIM and NV""subscription""RUIM/SIM""NV"
-
-
- "0"
- "1""Activate device""Set up data service"
@@ -390,18 +328,16 @@
"Manage Fixed Dialling Numbers""Change PIN for FDN access""Manage phone number list"
- "Voice Privacy"
+ "Voice privacy""Enable enhanced privacy mode"
- "TTY mode"
- "Enable TTY mode""TTY mode""Set TTY mode"
- "Auto-Retry"
- "Enable Auto-Retry mode"
+ "Auto-retry"
+ "Enable Auto-retry mode""Add contact""Edit contact""Delete contact"
- "Enter PIN2"
+ "Type PIN2""Name""Number""Save"
@@ -414,56 +350,50 @@
"Delete fixed dialling number""Deleting fixed dialling number…""Fixed dialling number deleted."
- "FDN not updated: you entered an incorrect PIN."
- "FDN not updated: number cannot exceed 20 digits."
+ "FDN wasn\'t updated because you typed an incorrect PIN."
+ "FDN wasn\'t updated because the number can\'t exceed 20 digits."
+ "FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected.""Reading from SIM card…""No contacts on your SIM card.""Select contacts to import"
- "To import contacts from SIM card, please turn off Airplane mode."
+ "To import contacts from the SIM card, first turn off Aeroplane mode.""Enable/disable SIM PIN""Change SIM PIN""SIM PIN:""Old PIN""New PIN""Confirm new PIN"
- "The old PIN that you typed is not correct. Please try again."
- "The PINs that you entered do not match. Please try again."
+ "The old PIN that you typed isn\'t correct. Try again."
+ "The PINs that you typed don\'t match. Try again.""Type a PIN that is 4 to 8 numbers.""Disable SIM PIN""Enable SIM PIN""Please wait…"
- "SIM PIN enabled"
- "SIM PIN disabled"
- "The PIN that you typed was incorrect"
- "SIM PIN changed successfully"
+ "SIM PIN enabled"
+ "SIM PIN disabled."
+ "The PIN that you typed was incorrect."
+ "SIM PIN changed successfully.""Password incorrect; SIM is locked! PUK2 requested.""PIN2""Old PIN2""New PIN2""Confirm new PIN2"
- "The PUK2 that you typed is not correct. Please try again."
- "The old PIN2 that you typed is not correct. Please try again."
- "The PIN2s that you entered do not match. Please try again."
+ "The PUK2 that you typed isn\'t correct. Try again."
+ "The old PIN2 that you typed isn\'t correct. Try again."
+ "The PIN2s you typed don\'t match. Try again.""Type a PIN2 that is 4 to 8 numbers.""Type a PUK2 that is 8 numbers."
- "PIN2 changed successfully"
+ "PIN2 changed successfully.""Type PUK2 code"
- "Password incorrect. Please change PIN2 and retry!"
- "Password incorrect; SIM is locked! PUK2 requested."
+ "Password incorrect. Change PIN2 and retry."
+ "Password incorrect, SIM is locked. PUK2 requested.""Done""Conference call %s"
- "Back to call"
- "Continue without SIM card"
- "No SIM card found. Please insert a SIM card into the phone."
- "Dismiss"
- "Unlock"
- "Authenticating PIN…""Voicemail number""Dialling""Retrying""Conference call""Incoming call"
- "CDMA call waiting""Call ended""On hold""Hanging up"
@@ -473,7 +403,7 @@
"Missed calls""%s missed calls""Missed call from %s"
- "Current call (%s)"
+ "On-going call""On hold""Incoming call""New voicemail"
@@ -482,13 +412,15 @@
"Voicemail number unknown""No service""Selected network (%s) unavailable"
+ "Hang up"
+ "Call back"
+ "Message""To place a call, first turn off Aeroplane mode.""Not registered on network.""Mobile network not available.""Call not sent. No valid number entered.""Call not sent.""Starting MMI sequence…"
- "Starting feature code sequence…""Unsupported service.""Unable to switch calls.""Unable to separate call."
@@ -500,18 +432,13 @@
"Emergency call""Turning on radio…""Out-of-service area; retrying…"
- "Call not sent. %s is not an emergency number!"
- "Call not sent. Please dial an emergency number!"
+ "Call not sent. %s is not an emergency number!"
+ "Call not sent. Dial an emergency number!""Use keyboard to dial"
- "Touch-tone keypad""Hold"
- "Unhold""End""Dialling Pad"
- "Hide"
- "Speaker""Mute"
- "Bluetooth""Add call""Merge calls""Swap"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI text"
- "DTMF Tones"
+ "DTMF tones""Set the length of DTMF tones""Normal""Long"
- "Network Message"
+ "Network message""Activate your phone""A special call needs to be made to activate your phone service. "\n\n"After pressing “Activate”, listen to the instructions provided to activate your phone."
- "Touch “Activate” to place a special call that activates your phone on your operator\'s mobile network, so that you can place calls and connect to mobile data networks.""Skip activation?""If you skip activation, you can\'t place calls or connect to mobile data networks (though you can connect to Wi-Fi networks). Until you activate your phone, you are asked to activate it each time that you turn it on.""Skip"
- "Activate""Activate"
- "Phone is activated!"
+ "Phone is activated.""Problem with activation""Follow the spoken instructions until you hear that activation is complete."
- "Keypad""Speaker"
- "Please wait while your phone is being programmed."
- "Programming Unsuccessful"
+ "Please wait while your phone is being programmed."
+ "Programming unsuccessful""Your phone is now activated. It may take up to 15 minutes for service to start."
- "Your phone did not activate. "\n"You may need to find an area with better coverage (near a window or outside). "\n\n"Try again or call customer service for more options."
+ "Your phone didn\'t activate. "\n"You may need to find an area with better coverage (near a window or outside). "\n\n"Try again or call customer service for more options.""EXCESS SPC FAILURES""Back""Try again""Next"
- "Back""EcmExitDialog""Entered Emergency Callback Mode""Emergency Callback Mode"
@@ -569,87 +491,69 @@
"No data connection for %s minutes"
- "The phone will be in emergency callback mode for %s minute(s). While in this mode, no applications using a data connection can be used. Would you like to exit now?"
- "The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Would you like to exit now?"
+ "The phone will be in Emergency Callback mode for %s minute. While in this mode no apps using a data connection can be used. Do you want to exit now?"
+ "The phone will be in Emergency Callback mode for %s minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?"
- "The action selected is not available while in the emergency callback mode. The phone will be in this mode for %s minute(s). Would you like to exit now?"
- "The action selected is not available while in the emergency callback mode. The phone will be in this mode for %s minutes. Would you like to exit now?"
+ "The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minute. Do you want to exit now?"
+ "The action selected isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?"
- "The action selected is not available while in an emergency call"
- "Exiting Emergency Callback Mode"
+ "The action selected isn\'t available during an emergency call."
+ "Exiting Emergency Callback mode""Yes""No""Dismiss"
- "Voicemail settings"
- "<not set>"
- "Voicemail service"
- "Settings for %s"
+ "Service"
+ "Setup"
+ "<Not set>""Other call settings"
- "Dial"
- "Calling via ^1"\n"^2"
- "Drag right to answer"
- "Drag left to silence ringer"
- "Drag left to decline"
- "Drag right to answer and"\n"hold active call"
- "Drag right to answer and"\n"end active call"
- "Drag right to answer and"\n"end call on hold"
- "Answer"
- "Decline"
+ "Calling via %s""contact photo""go private""select contact""Internet call settings""Internet calling (SIP) accounts""Accounts"
- "Manage Internet calling (SIP) accounts and status""Receive incoming calls""Reduces battery life"
- "Configure call options""Use Internet calling""Use Internet calling (Wi-Fi only)""For all calls when data network is available""Only for Internet calls""Ask for each call""For all calls"
- "Auto-registration"
- "Outgoing call via SIP""Place call""Use Internet calling account:""Always use to place Internet calls"
- "You can use the Call Settings to change which Internet calling account to use by default when placing calls, by selecting a different account under Internet call settings"
+ "You can change which Internet calling account to use by default from the Phone > Settings > Internet call settings > Accounts screen.""Mobile phone call""Internet call""No Internet calling account"
- "There are no Internet calling accounts on this phone. Add one now?"
+ "There are no Internet calling accounts on this phone. Do you want to add one now?""Add""Add account""Remove account""SIP accounts"
- "Saving the account..."
- "Removing the account..."
+ "Saving the account…"
+ "Removing the account…""Save""Discard""Close the profile""OK""Close"
- "Primary"
- "Make this my primary account"
- "Used for outgoing calls"
- "Advanced settings""Primary account. %s""Checking status..."
- "Registering..."
- "Still trying..."
- "Not receiving calls"
- "Account registration stopped because there is no Internet connection"
- "Account registration stopped because there is no Wi-Fi connection"
- "Account registration unsuccessful"
- "Receiving calls"
+ "Registering…"
+ "Still trying..."
+ "Not receiving calls"
+ "Account registration stopped because there is no Internet connection."
+ "Account registration stopped because there is no Wi-Fi connection."
+ "Account registration unsuccessful."
+ "Receiving calls.""Account registration unsuccessful: (%s); will try later"
- "Account registration failed: incorrect username or password"
- "Account registration unsuccessful: check the server name"
- "This account is currently in use by the %s application"
+ "Account registration unsuccessful: Incorrect username or password."
+ "Account registration unsuccessful: Check the server name."
+ "This account is currently in use by the %s app.""SIP account details""SIP account details""Server"
@@ -660,9 +564,6 @@
"Port number""Transport type""Send keep-alive"
- "Send SIP keep-alive messages"
- "Auto-registration"
- "Register the profile automatically""Set as primary account""Used for outgoing calls""Optional settings"
@@ -673,12 +574,12 @@
"<Optional>""▷ Touch to show all""▽ Touch to hide all"
- "%s is required; cannot be left blank"
- "Port number should be within 1000 and 65534"
+ "%s is required and can\'t be left blank."
+ "Port number should be within 1000 and 65534.""No Internet connection""No Wi-Fi connection"
- "To place an Internet call, check your Internet connection first"
- "You must be connected to a Wi-Fi network for Internet calls (use the Wireless & Network settings)"
+ "To make an Internet call, check your Internet connection first."
+ "You need to be connected to a Wi-Fi network for Internet calls (use the Wireless & Network settings).""Internet calling not supported""Automatic""Always send"
@@ -687,7 +588,7 @@
"I\'ll call you right back.""I\'ll call you later.""Can\'t talk now. Call me later?"
- "Customised message..."
+ "Customised message""Quick responses""Edit quick responses"
@@ -705,7 +606,6 @@
"star""zero""pound"
- "search""dial""backspace""Speakerphone enabled."
@@ -715,9 +615,14 @@
"Decline""Vibrate""Vibrate"
+ "Ringtone""Always""Only when silent""Never"
+ "Phone ringtone"
+ "Vibrate when ringing"
+ "Dial pad touch tones"
+ "Ringtone"
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 734e39568..02b6059fc 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -25,39 +25,27 @@
"Número privado""Teléfono pago""En espera"
- "Llamada actual""Línea ocupada""Red ocupada""No hay respuesta, tiempo de espera agotado""Servidor inaccesible""No se puede establecer la llamada""Nombre de usuario o contraseña incorrecto"
- "Llamó desde fuera de la red"
+ "La llamada se realizó desde fuera de la red.""Error de servidor. Inténtalo nuevamente más tarde.""No hay señal""Se excedió el límite de ACM""Radio apagada"
- "Sin SIM o error de SIM"
+ "No se encuentra la tarjeta SIM o se produjo un error relacionado con ella.""Área fuera de servicio""Las llamadas salientes están restringidas por NMF."
- "No puedes realizar llamadas salientes cuando está activada la restricción de llamadas."
+ "No puedes realizar llamadas salientes cuando la restricción de llamadas está activa.""Todas las llamadas están restringidas por control de acceso.""Las llamadas de emergencia están restringidas por control de acceso.""Las llamadas normales están restringidas por control de acceso."
- "CDMA: dispositivo bloqueado hasta el ciclo de activación."
- "CDMA: llamada perdida."
- "CDMA: llamada interceptada."
- "CDMA: reordenar."
- "CDMA: rechazo de la opción de servicio."
- "CDMA: intentar nuevamente la orden."
- "CDMA: no se inició sesión correctamente."
- "CDMA: desplazado."
- "Sólo es posible realizar llamadas de emergencia."
- "Número no válido"
+ "El número no es válido.""Llamada en conferencia""La llamada se ha perdido."
- "Intentar nuevamente"
- "Llamada perdida""Aceptar""Código de MMI iniciado""Ejecutando código USSD..."
@@ -69,23 +57,14 @@
"Auriculares con cable""Bluetooth""¿Deseas enviar los siguientes tonos?"\n
- "Enviando tonos"\n
+ "Enviando tono"\n"Enviar""Sí""No"
- "Reemplazar el carácter comodín con"
+ "Reemplazar el carácter comodín con""Falta el número de correo de voz""No hay un número de correo de voz almacenado en la tarjeta SIM.""Agregar número"
- "Cargando…"
- "Escribe el código PIN para desbloquear la tarjeta SIM:"
- "SIM desbloqueado"
- "Nuevo código de PIN de tarjeta SIM"
- "Vuelve a escribir el código PIN nuevo de la tarjeta SIM para confirmarlo"
- "Los códigos PIN de tarjeta SIM que has ingresado no coinciden. Vuelve a intentarlo."
- "Escribe el código PUK para desbloquear la tarjeta SIM"
- "Código PUK incorrecto."
- "Continuar""Tu tarjeta SIM ha sido desbloqueada. Tu dispositivo está desbloqueando...""PIN de desbloqueo de red de tarjeta SIM""Desbloquear"
@@ -93,8 +72,6 @@
"Solicitando desbloqueo de red...""Solicitud de desbloqueo de red incorrecta.""Desbloqueo de red correcto."
- "IMEI"
- "MEID""Config. de llam. GSM""Configuración de llamadas de CDMA""Nombres de puntos de acceso"
@@ -109,6 +86,7 @@
"Configuración de llamadas de CDMA adicionales únicamente""Configuración de servicios de red""ID de llamada entrante"
+ "Cargando la configuración…""Número escondido en llamadas salientes""Número visualizado en llamadas salientes""Utilizar configuración del operador predeterminada para visualizar mi número en las llamadas salientes"
@@ -127,17 +105,17 @@
"Número cuando está ocupado""Reenviar a {0}""Desactivado"
- "Tu proveedor no es compatible con la desactivación del reenvío de llamadas cuando tu teléfono esté ocupado."
+ "Tu proveedor no admite la inhabilitación del desvío de llamadas cuando tu teléfono está ocupado.""Reenviar si no contesta""Número cuando no contesta""Reenviar a {0}""Deshabilitado"
- "Tu proveedor no es compatible con la desactivación del reenvío de llamadas cuando tu teléfono no conteste."
+ "Tu proveedor no admite la inhabilitación del desvío de llamadas cuando tu teléfono no responde.""Reenv. si no se alcanza""Número cuando no se puede alcanzar""Reenviar a {0}""Desactivado"
- "Tu proveedor no es compatible con la desactivación del reenvío de llamadas cuando tu teléfono se encuentre inaccesible."
+ "Tu proveedor no admite la inhabilitación del desvío de llamadas cuando no se puede acceder a tu teléfono.""Config. de llamada""Error en configuración de llamada""Leyendo configuración..."
@@ -145,8 +123,8 @@
"Revirtiendo configuraciones...""Respuesta inesperada de la red.""Error en la red o en la tarjeta SIM."
- "Sólo se permiten operaciones a números de marcación fija."
- "Enciende la radio antes de ver esta configuración."
+ "Está activada la configuración de los números de marcación fija de tu teléfono. Por lo tanto, algunas de las características relacionados con las llamadas no funcionan."
+ "Enciende la radio antes de ver esta configuración.""Aceptar""Activar""Desactivar"
@@ -156,10 +134,9 @@
"Ocultar número""Mostrar número"
- "Guardar número de correo de voz""Número de correo de voz cambiado."
- "No se ha realizado correctamente el cambio del buzón de voz. "\n"Comunícate con tu proveedor si el problema continúa."
- "No se ha realizado correctamente el cambio del número de desvío. "\n"Comunícate con tu proveedor si el problema continúa."
+ "No se pudo cambiar el número del buzón de voz."\n"Si el problema continua, ponte en contacto con tu proveedor."
+ "No se pudo cambiar el número de desvío."\n"Si el problema continua, ponte en contacto con tu proveedor.""No se pudo recuperar ni guardar la configuración del número actual de reenvío."\n"¿Deseas cambiar de proveedor de todos modos?""No se realizaron cambios.""Elegir servicio de buzón de voz"
@@ -171,14 +148,14 @@
"Buscar redes""Error al buscar redes.""Registrando en %s..."
- "Tu tarjeta SIM no permite una conexión a esta red."
- "No se ha podido conectar con la red en este momento. Vuelve a intentarlo más tarde."
+ "Tu tarjeta SIM no permite una conexión con esta red."
+ "No se puede establecer una conexión con la red en este momento. Vuelve a intentarlo más adelante.""Registrado en la red."
- "Seleccionar un operador de red"
+ "Elige un proveedor de red.""Buscar todas las redes disponibles"
- "Seleccionar automáticamente"
- "Seleccionar la red preferida automáticamente"
- "Registro automático..."
+ "Elegir automáticamente"
+ "Elegir la red preferida automáticamente"
+ "Registro automático…""Modo de red""Cambiar el modo operativo de la red""Modo de red preferido"
@@ -192,17 +169,17 @@
"Modo de red preferido: solo EvDo""Modo de red preferido: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo solamente""CDMA sin EvDo"
- "CDMA/EvDo automático"
- "GSM/WCDMA automático"
+ "CDMA/EvDo automático"
+ "GSM/WCDMA automático""WCDMA solamente""GSM solamente"
- "GSM/WCDMA preferidas"
+ "GSM/WCDMA preferido"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Usar paquete de datos"
@@ -210,12 +187,11 @@
"Roaming de datos""Conectar a servicios de datos en roaming""Conectar a servicios de datos en roaming"
- "Has perdido la conectividad de los datos porque has dejado la red doméstica con roaming de datos desactivado."
+ "Perdiste la conectividad de datos porque se desactivó la itinerancia de datos de tu red doméstica.""¿Deseas permitir el roaming de datos? Ten en cuenta que podrás incurrir en gastos significativos.""Opciones de GSM/UMTS""Opciones de CDMA""Utilización de datos"
- "Política de datos del proveedor""Datos utilizados en el período actual""Período de utilización de datos""Política de velocidad de transferencia de datos"
@@ -226,7 +202,6 @@
"%1$d% del ciclo transcurrido"\n"El siguiente período comienza en %2$d días (%3$s).""La velocidad de la transferencia de datos se reduce a %1$d Kb/seg. si se excede el límite de utilización de datos.""Más información acerca de la política de utilización de datos de la red móvil de tu proveedor de servicios de telefonía móvil"
- "SMS de emisión celular""SMS de emisión celular""SMS de emisión celular""SMS de emisión celular activado"
@@ -267,15 +242,6 @@
"Coreano""Chino""Hebreo"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Idiomas""Clima local"
@@ -305,9 +271,9 @@
"Oportunidades de empleo""Oportunidades de empleo activadas""Oportunidades de empleo desactivadas"
- "Medicina, salud y hospitales"
- "Medicina, salud y hospitales activado"
- "Medicina, salud y hospitales desactivado"
+ "Servicios de medicina, salud y hospitales"
+ "Se habilitaron los servicios de medicina, salud y hospitales."
+ "Se inhabilitaron los servicios de medicina, salud y hospitales.""Noticias de tecnología""Noticias de tecnología desactivadas""Noticias de tecnología activadas"
@@ -322,35 +288,17 @@
"WCDMA solamente""GSM solamente""GSM/WCDA (WCDMA preferido)"
-
-
- "0"
- "1"
- "2"
- "3""Utilizar sólo redes 2G""Ahorra batería""Sistema seleccionado"
- "Cambiar el modo de roaming de CDMA"
+ "Cambiar el modo itinerancia CDMA""Sistema seleccionado""Página principal solamente""Automático"
- "Modo de roaming CDMA"
- "Cambiar el modo de roaming de CDMA"
- "Modo de roaming CDMA"
-
- "Redes de inicio solamente"
- "Redes afiliadas"
- "Cualquier red"
-
-
- "0"
- "1"
- "2"
-
+ "Suscripción CDMA""Preferencias de red CDMA""Aún no está implementado""Preferencia de red CDMA"
@@ -359,21 +307,11 @@
"CDMA solamente""EvDo solamente"
-
- "0"
- "1"
- "2"
-
- "Suscripción CDMA""Cambiar entre RUIM/SIM y NV""suscripción""RUIM/SIM""NV"
-
-
- "0"
- "1""Activar dispositivo""Configurar servicio de datos"
@@ -390,18 +328,16 @@
"Administrar números de marcación fija""Cambiar PIN para acceso de NMF""Administrar lista de números de teléfono"
- "Privacidad de voz"
+ "Privacidad de voz""Activar modo de privacidad mejorada"
- "Modo TTY"
- "Activar modo TTY""Modo TTY""Establecer modo de TTY"
- "Reintento automático"
- "Activar modo Reintento automático"
+ "Reintento automático"
+ "Activar el modo de reintento automático""Agregar contacto""Editar contacto""Eliminar contacto"
- "Ingresar PIN2"
+ "Ingresar el PIN2""Nombre""Número""Guardar"
@@ -414,56 +350,50 @@
"Eliminar número de marcación fija""Eliminando número de marcación fija...""Número de marcación fija eliminado"
- "FDN (Número fijo) desactualizado: Ingresaste un NIP incorrecto."
- "FDN (Número fijo) desactualizado: El número no puede exceder los 20 dígitos."
+ "No se actualizó el FDN porque ingresaste un PIN incorrecto."
+ "No se actualizó el FDN porque el número no puede superar los 20 dígitos."
+ "No se actualizó el FDN. El PIN2 era incorrecto o se rechazó el número de teléfono.""Leyendo la tarjeta SIM...""No hay contactos en tu tarjeta SIM.""Seleccionar contactos para importar"
- "Para importar los contactos de la tarjeta SIM, desactiva el modo de avión."
+ "Para importar contactos de la tarjeta SIM, desactiva primero el modo de avión.""Activar/desactivar PIN de tarjeta SIM""Cambiar PIN de tarjeta SIM""PIN de tarjeta SIM:""PIN anterior""PIN nuevo""Confirmar PIN nuevo"
- "El PIN anterior ingresado no es correcto. Vuelve a intentarlo."
- "Los PIN que has ingresado no coinciden. Vuelve a intentarlo."
+ "El antiguo PIN que ingresaste es incorrecto. Vuelve a intentarlo."
+ "Los PIN que ingresaste no coinciden. Vuelve a intentarlo.""Escribe un PIN que tenga de 4 a 8 números.""Desactivar PIN de tarjeta SIM""Activar PIN de tarjeta SIM""Espera, por favor..."
- "El PIN de la tarjeta SIM está activado"
- "El PIN de la tarjeta SIM está desactivado"
- "El PIN que has ingresado es incorrecto"
- "El PIN de la tarjeta SIM se ha cambiado correctamente"
+ "Se activó el código PIN de la tarjeta SIM."
+ "Se desactivó el PIN de la tarjeta SIM."
+ "El PIN que ingresaste era incorrecto."
+ "El PIN de la tarjeta SIM se modificó correctamente.""Contraseña incorrecta. La tarjeta SIM está bloqueada. Se solicitó PUK2.""PIN2""Reenviar cuando está ocupado""PIN2 nuevo""Confirmar PIN2 nuevo"
- "El PUK2 ingresado no es correcto. Vuelve a intentarlo."
- "El PIN2 anterior ingresado no es correcto. Vuelve a intentarlo."
- "Los PIN2 ingresados no coinciden. Vuelve a intentarlo."
+ "El PUK2 que ingresaste es incorrecto. Vuelve a intentarlo."
+ "El antiguo PIN2 que ingresaste es incorrecto. Vuelve a intentarlo."
+ "Los PIN2 que ingresaste no coinciden. Vuelve a intentarlo.""Escribe un PIN2 que tenga de 4 a 8 números.""Escribe un PUK2 de 8 cifras."
- "PIN 2 cambiado correctamente"
+ "El PIN2 se modificó correctamente.""Escribir código PUK2"
- "Contraseña incorrecta. Cambia el PIN2 y vuelve a intentarlo."
- "Contraseña incorrecta. La tarjeta SIM está bloqueada. Se solicitó PUK2."
+ "Contraseña incorrecta. Cambia el PIN2 y vuelve a intentarlo."
+ "Contraseña incorrecta, se bloqueó la tarjeta SIM. Se solicita el PUK2.""Finalizado""Llamada en conferencia %s"
- "Volver a la llamada"
- "Continuar sin tarjeta SIM"
- "No se encontró tarjeta SIM. Coloca una en el dispositivo."
- "Descartar"
- "Desbloquear"
- "Autenticando PIN...""Núm. de correo de voz""Marcando""Intentando nuevamente""Llamada en conferencia""Llamada entrante"
- "Llamada en espera de CDMA""Llamada finalizada""En espera""Colgando"
@@ -473,7 +403,7 @@
"Llamadas perdidas""%s llamadas perdidas""Se perdieron las llamadas de %s"
- "Llamada actual (%s)"
+ "Llamada en curso""En espera""Llamada entrante""Correo de voz nuevo"
@@ -482,13 +412,15 @@
"Número de correo de voz desconocido""Sin servicio""La red seleccionada (%s) no está disponible"
+ "Colgar"
+ "Devolver llamada"
+ "Mensaje""Para realizar una llamada, primero debes desactivar el modo de avión.""No registrado en la red.""La red móvil no está disponible.""Llamada no enviada. No se ingresó un número válido.""Llamada no enviada.""Iniciar la secuencia de MMI"
- "Iniciando secuencia de códigos de función...""Servicio no admitido.""No es posible cambiar llamadas.""No es posible separar la llamada."
@@ -500,18 +432,13 @@
"Llamada de emergencia""Encendiendo radio...""Área fuera de servicio. Intentando nuevamente..."
- "Llamada no enviada. %s no es un número de emergencia."
- "La llamada no pudo enviarse. ¡Marca un número de emergencia!"
+ "No se realizó la llamada. %s no es un número de emergencia."
+ "No se realizó la llamada. Marca un número de emergencia.""Utilizar teclado para marcar"
- "Teclado de tonos del dispositivo""Retener"
- "No retener""Finalizar""Teclado telefónico"
- "Ocultar"
- "Altavoces""Silenciar"
- "Bluetooth""Agreg. Llam.""Combinar llamadas""Cambiar"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Texto de ERI"
- "Tonos de DTMF"
+ "Tonos DTMF""Establecer la longitud de los tonos de DTMF""Normal""Largo"
- "Mensaje de red"
+ "Mensaje de red""Activar tu teléfono""Es necesario realizar una llamada especial para activar tu servicio de teléfono."\n\n"Luego de presionar \"Activar\", escucha las instrucciones suministradas para activar tu teléfono."
- "Toca “Activar” para colocar una llamada especial que active tu teléfono en la red móvil de tu proveedor de servicios de telefonía móvil, para que puedas colocar llamadas y conectarte con redes de datos móviles.""¿Deseas omitir la activación?""Si omites la activación, no puedes colocar llamadas o conectarte con redes móviles de datos (a pesar de que te puedes conectar a redes de Wi-Fi). Hasta que actives tu teléfono, se te solicitará que lo actives cada vez que lo enciendas.""Omitir"
- "Activar""Activar"
- "¡Se activó el teléfono!"
+ "Se activó el teléfono.""Problema con la activación""Sigue las instrucciones habladas hasta que escuches que la activación se completó."
- "Teclado numérico""Altavoces"
- "Espera mientras se programa tu teléfono"
- "Programación incorrecta"
+ "Aguarda mientras se programa el teléfono."
+ "Programación incorrecta""Ahora tu teléfono se encuentra activado. Puede tomar hasta unos 15 minutos para que comience el servicio."
- "Tu teléfono no se activó. "\n" Es posible que necesites encontrar un área con mejor cobertura (cerca de una ventana, o afuera). "\n\n"Vuelve a intentarlo o llama al servicio para el cliente para más opciones."
+ "No se activó tu teléfono. "\n"Puede que tengas que trasladarte hasta un área con mejor cobertura (cerca de una ventana o afuera). "\n\n"Vuelve a intentarlo o llama al servicio de atención al cliente para más opciones.""ERROR EN SPC EN EXCESO""Atrás""Vuelve a intentarlo""Siguiente"
- "Atrás""EcmExitDialog""Modo de devolución de llamada de emergencia ingresado""Modo de devolución de llamada de emergencia"
@@ -569,87 +491,69 @@
"Sin conexión de datos por %s minutos"
- "El teléfono estará en modo de devolución de llamada de emergencia por %s minuto. Mientras se encuentre en este modo, no se pueden utilizar las aplicaciones que usen una conexión de datos. ¿Deseas salir ahora?"
- "El teléfono estará en modo de devolución de llamada de emergencia por %s minutos. Mientras se encuentre en este modo, no se pueden utilizar las aplicaciones que usen una conexión de datos. ¿Deseas salir ahora?"
+ "El teléfono permanecerá en el modo de llamada de retorno de emergencia %s minuto. Mientras el teléfono se encuentre en este modo, no se podrá usar ninguna aplicación que requiera de una conexión de datos. ¿Deseas salir ahora?"
+ "El teléfono permanecerá en el modo de llamada de retorno de emergencia %s minutos. Mientras el teléfono se encuentre en este modo, no se podrá usar ninguna aplicación que requiera de una conexión de datos. ¿Deseas salir ahora?"
- "La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono estará en este modo por %s minuto. ¿Deseas salir ahora?"
- "La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono estará en este modo por %s minutos. ¿Deseas salir ahora?"
+ "La acción seleccionada no está disponible cuando el teléfono se encuentra en el modo de llamada de retorno de emergencia. El teléfono permanecerá en este modo %s minuto. ¿Deseas salir ahora?"
+ "La acción seleccionada no está disponible cuando el teléfono se encuentra en el modo de llamada de retorno de emergencia. El teléfono permanecerá en este modo %s minutos. ¿Deseas salir ahora?"
- "La acción seleccionada no está disponible mientras se realice una llamada de emergencia"
- "Saliendo de modo de devolución de llamada de emergencia"
+ "La acción seleccionada no está disponible durante una llamada de emergencia."
+ "Saliendo del modo de llamada de retorno de emergencia""Sí""No""Descartar"
- "Config. de correo de voz"
- "<no establecido>"
- "Serv. de correo de voz"
- "Configuraciones para %s"
+ "Servicio"
+ "Configuración"
+ "<Sin configurar>""Otras configuraciones de llamada"
- "Marcar"
- "Llamar mediante ^1"\n"^2"
- "Arrastrar a la derecha para responder"
- "Arrastra a la izquierda para silenciar el timbre"
- "Arrastra a la izquierda para rechazar"
- "Arrastra a la derecha para responder y"\n" mantener la llamada activa."
- "Arrastra a la derecha para responder y"\n" finalizar la llamada activa."
- "Arrastra a la derecha para responder y"\n"finalizar la llamada en espera."
- "Respuesta"
- "Rechazar"
+ "Llamada a través de %s""foto de contacto""pasar a modo privado""seleccionar contacto""Configuraciones de llamada de Internet""Cuentas para llamadas por Internet (SIP)""Cuentas"
- "Administrar el estado y las cuentas para llamadas (SIP) por Internet""Recibir llamadas entrantes""Reduce la vida útil de la batería"
- "Configurar opciones de llamada""Usar la llamada por Internet""Usar la llamada por Internet (sólo Wi-Fi)""Para todas las llamadas cuando la red de datos esté disponible""Sólo para llamadas por Internet""Preguntar para cada llamada""Para todas las llamadas"
- "Registro automático"
- "Llamada saliente a través de SIP""Haz una llamada""Usa la cuenta de llamadas por Internet:""Usar siempre para realizar llamadas por Internet"
- "Puedes usar la Configuración de llamada para cambiar la cuenta para llamadas por Internet que quieres usar de manera predeterminada al hacer las llamadas. Para eso selecciona una cuenta diferente bajo las configuraciones de llamadas por Internet"
+ "Para cambiar la cuenta de llamadas por Internet predeterminada, ve a Teléfono > Configuración > Configuraciones de llamada de Internet > Cuentas.""Llamada de teléfono celular""llamada por Internet""Sin cuenta de llamadas por Internet"
- "No hay cuentas para llamadas por Internet en este teléfono. ¿Deseas agregar una ahora?"
+ "No se encuentran cuentas de llamadas por Internet en este teléfono. ¿Deseas agregar una ahora?""Agregar""Agregar cuenta""Eliminar cuenta""Cuentas SIP"
- "Guardando la cuenta..."
- "Eliminando la cuenta..."
+ "Guardando la cuenta…"
+ "Eliminando la cuenta…""Guardar""Descartar""Cerrar el perfil""Aceptar""Cerrar"
- "Principal"
- "Establecer como mi cuenta principal"
- "Utilizado para llamadas salientes"
- "Configuraciones avanzadas""Cuenta principal. %s""Comprobando el estado..."
- "Registrando..."
- "Sigue intentando..."
- "No se están recibiendo llamadas."
- "Se detuvo el registro de la cuenta porque no hay conexión a Internet"
- "Se detuvo el registro de la cuenta porque no hay conexión Wi-Fi"
- "La cuenta no se registró correctamente."
- "Recibiendo llamadas"
+ "Registrando…"
+ "Intento en curso..."
+ "No se están recibiendo llamadas."
+ "Se detuvo el registro de cuenta porque no hay conexión a Internet."
+ "Se detuvo el registro de la cuenta porque no hay conexión Wi-Fi."
+ "La cuenta no se registró correctamente."
+ "Recibiendo llamadas.""La cuenta no se registró correctamente: (%s); se intentará de nuevo más adelante."
- "La cuenta no se registró correctamente: nombre de usuario o contraseña incorrectos."
- "La cuenta no se registró correctamente: verifica el nombre del servidor."
- "Esta cuenta está siendo usada por la aplicación %s"
+ "La cuenta no se registró correctamente: contraseña o nombre de usuario incorrectos."
+ "La cuenta no se registró correctamente: verifica el nombre del servidor."
+ "La aplicación %s está usando esta cuenta en este momento.""Detalles de la cuenta SIP""Detalles de la cuenta SIP""Servidor"
@@ -660,9 +564,6 @@
"Número de puerto""Tipo de transporte""Enviar mantenimiento de conexión"
- "Enviar mensajes de mantenimiento de conexión de SIP"
- "Registro automático"
- "Registrar el perfil automáticamente""Definir como cuenta principal""Utilizado para llamadas salientes""Configuración opcional"
@@ -673,12 +574,12 @@
"<Opcional>""▷ Tocar para mostrar todo""▽Tocar para ocultar todo"
- "%s requerido, no se puede dejar en blanco"
- "El número de puerto debe estar entre 1000 y 65534"
+ "El campo %s es obligatorio y no puede quedar en blanco."
+ "El número de puerto debe estar dentro de 1000 y 65534.""No hay conexión a Internet""No hay conexión Wi-Fi"
- "Para hacer una llamada por Internet, primero verifica tu conectividad"
- "Debes estar conectado a un red WiFi para hacer llamadas por Internet (usa Configuración de Redes inalámbricas y redes)"
+ "Para realizar una llamada por Internet, primero verifica tu conexión a Internet."
+ "Tienes que conectarte a una red Wi-Fi para realizar y recibir llamadas por Internet (usa la configuración de Conexiones inalámbricas y redes).""No admite llamadas por Internet""Automático""Enviar mensajes siempre"
@@ -687,7 +588,7 @@
"Te llamo enseguida.""Te llamo más tarde.""No puedo hablar ahora. ¿Me llamas más tarde?"
- "Mensaje personalizado..."
+ "Mensaje personalizado""Respuestas rápidas""Editar respuestas rápidas"
@@ -705,7 +606,6 @@
"estrella""cero""numeral"
- "búsqueda""marcar""retroceso""Altavoz habilitado"
@@ -715,9 +615,20 @@
"Rechazar""Vibrar""Vibrar"
+ "Tono de llamada""Siempre"
- "Sólo cuando esté en silencio"
+ "Solo en modo silencioso""Nunca"
+ "Tono del dispositivo"
+ "Vibrar al sonar"
+ "Tonos táctiles del teclado de marcado"
+ "Tono de llamada"
+ Configuración Avanzada
+ Vibra al Contestar
+ Vibrar cada 45 Segundos
+ Vibra durante el segundo 45 de cada minuto de una llamada saliente
+ Vibrar al Colgar
+ Vibrar en Llamada en Espera
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 64e1c542b..65a88da57 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -25,42 +25,30 @@
"Número privado""Teléfono público""En espera"
- "Llamada actual""Línea ocupada""Red ocupada""No hay respuesta; se ha agotado el tiempo de espera.""No se puede establecer conexión con el servidor.""No se puede establecer la llamada.""Contraseña o nombre de usuario incorrectos"
- "Llamada desde fuera de la red"
+ "Llamada desde fuera de la red""Error del servidor, inténtalo de nuevo más tarde.""No hay señal""Se ha superado el límite de ACM.""Señal móvil desactivada"
- "No hay tarjeta SIM o se ha producido un error de tarjeta SIM."
+ "No hay tarjeta SIM o se ha producido un error relacionado con la misma.""Área fuera de servicio""Las llamadas salientes están restringidas por FDN."
- "No se pueden realizar llamadas salientes mientras esté activada la restricción de llamadas."
+ "No se pueden realizar llamadas mientras esté activada la restricción de llamadas.""Todas las llamadas están limitadas por el control de acceso.""Las llamadas de emergencia están limitadas por el control de acceso.""Las llamadas normales están limitadas por el control de acceso."
- "CDMA: teléfono bloqueado hasta el próximo ciclo de carga"
- "CDMA: llamada finalizada"
- "CDMA: llamada interceptada"
- "CDMA: reorganización"
- "CDMA: rechazo de opción de servicio"
- "CDMA: orden de reintento"
- "CDMA: error al acceder"
- "CDMA: reemplazada"
- "Solo es posible realizar llamadas de emergencia."
- "Número no válido"
+ "Número no válido""Conferencia telefónica""La llamada se ha perdido."
- "Reintentar"
- "Llamada perdida""Aceptar""El código MMI se ha iniciado."
- "Código USSD en ejecución..."
+ "Código USSD en ejecución\u2026""El código MMI se ha cancelado.""Cancelar""Administrar conferencia telefónica"
@@ -69,37 +57,28 @@
"Auriculares con cable""Bluetooth""¿Quieres enviar los siguientes tonos?"\n
- "Enviando tonos"\n
+ "Enviando tonos"\n"Enviar""Sí""No"
- "Sustituir el carácter comodín por"
+ "Sustituir el carácter comodín por""Falta el número del buzón de voz.""No se ha almacenado ningún número de buzón de voz en la tarjeta SIM.""Añadir número"
- "Cargando..."
- "Introduce el código PIN para desbloquear la tarjeta SIM."
- "La tarjeta SIM se ha desbloqueado."
- "Nuevo código PIN de tarjeta SIM"
- "Vuelve a introducir el nuevo código PIN de la tarjeta SIM para confirmarlo."
- "Los códigos PIN de tarjeta SIM introducidos no coinciden. Inténtalo de nuevo."
- "Introduce el código PUK para desbloquear la tarjeta SIM."
- "El código PUK es incorrecto."
- "Seguir"
- "La tarjeta SIM se ha desbloqueado. El teléfono se está desbloqueando..."
+ "La tarjeta SIM se ha desbloqueado. El teléfono se está desbloqueando\u2026""PIN de desbloqueo de red de tarjeta SIM""Desbloquear""Descartar"
- "Solicitando desbloqueo de red..."
+ "Solicitando desbloqueo de red\u2026""La solicitud de desbloqueo de red no se ha realizado correctamente.""El desbloqueo de red se ha realizado correctamente."
- "IMEI"
- "MEID""Ajustes de llamadas GSM""Ajustes de llamadas CDMA""APN""Configuración de red""Buzón de voz"
+ Indicador mensaje de voz
+ Mostrar notificación para los mensajes de voz en espera"Buzón de voz:""Operadores de red""Ajustes de llamadas"
@@ -109,12 +88,13 @@
"Configuración adicional de llamadas solo CDMA""Configuración del servicio de red""ID de emisor"
+ "Cargando ajustes\u2026""Número oculto en llamadas salientes""Número mostrado en llamadas salientes""Utilizar la configuración de operador predeterminada para mostrar mi número en las llamadas salientes""Llamada en espera"
- "Informarme de las llamadas entrantes durante las llamadas"
- "Informarme de las llamadas entrantes durante las llamadas"
+ "Notificarme de llamadas entrantes durante una llamada"
+ "Notificarme de las llamadas entrantes durante las llamadas""Ajustes de desvío de llamada""Desvío de llamada""Siempre"
@@ -127,26 +107,26 @@
"Número cuando la línea esté ocupada""Desviando a {0}""Inhabilitado"
- "Tu operador no permite inhabilitar el desvío de llamadas cuando el teléfono está ocupado."
+ "Tu operador no permite inhabilitar el desvío de llamadas si el teléfono está ocupado.""Llamada sin respuesta""Número cuando no se responde la llamada""Desviando a {0}""Inhabilitado"
- "Tu operador no permite inhabilitar el desvío de llamadas cuando el teléfono no responde."
+ "Tu operador no permite inhabilitar el desvío de llamadas si el teléfono no responde.""No se establece la llamada""Número cuando no se puede establecer la llamada""Desviando a {0}""Inhabilitado"
- "Tu operador no permite inhabilitar el desvío de llamadas cuando el teléfono no puede establecer la llamada."
+ "Tu operador no permite inhabilitar el desvío de llamadas si no se puede establecer la llamada.""Ajustes de llamadas""Error de configuración de llamada"
- "Leyendo configuración..."
- "Actualizando configuración..."
- "Restableciendo configuración…"
+ "Leyendo configuración\u2026"
+ "Actualizando configuración\u2026"
+ "Restableciendo configuración\u2026""Respuesta inesperada de la red""Error en la tarjeta SIM o en la red."
- "Solo puedes realizar operaciones en los números de marcación fija."
- "Activar la señal móvil antes de ver esta configuración"
+ "La opción de marcación fija de la aplicación Teléfono está activada. Por ello, algunas funciones relacionadas con las llamadas no funcionan correctamente."
+ "Para ver esta configuración, debes activar la señal móvil.""Aceptar""Habilitar""Inhabilitar"
@@ -156,29 +136,28 @@
"Ocultar número""Mostrar número"
- "Guardar número de buzón de voz""El número del buzón de voz se ha cambiado."
- "El cambio de número de buzón de voz no se ha realizado correctamente."\n"Si el problema persiste, ponte en contacto con tu operador."
- "El cambio de número de desvío no se ha realizado correctamente."\n"Si el problema persiste, ponte en contacto con tu operador."
+ "No se ha podido cambiar el número del buzón de voz."\n"Ponte en contacto con tu operador si la incidencia persiste."
+ "No se ha podido cambiar el número de desvío."\n"Ponte en contacto con tu operador si la incidencia persiste.""No se ha podido recuperar y guardar la configuración del número de desvío actual."\n"¿Quieres cambiar al nuevo proveedor de todos modos?""No se ha realizado ningún cambio.""Seleccionar servicio de buzón de voz""Mi operador""Configuración de red móvil""Redes disponibles"
- "Buscando..."
+ "Buscando\u2026""No se ha encontrado ninguna red.""Buscar redes""Se ha producido un error al buscar redes."
- "Registrándose en %s..."
- "La tarjeta SIM no permite una conexión a esta red."
- "No se puede establecer conexión con la red, inténtalo de nuevo más tarde."
+ "Registrándose en %s\u2026"
+ "La tarjeta SIM no permite establecer conexión con esta red."
+ "No se puede conectar a la red en este momento. Inténtalo de nuevo más tarde.""Conexión con la red establecida"
- "Seleccionar un operador de red"
+ "Seleccionar un operador de red""Buscar todas las redes disponibles"
- "Seleccionar automáticamente"
- "Seleccionar la red preferida de forma automática"
- "Registro automático..."
+ "Seleccionar automáticamente"
+ "Seleccionar red preferida automáticamente"
+ "Registro automático\u2026""Modo de red""Cambiar el modo operativo de la red""Preferencia de modo de red"
@@ -186,36 +165,48 @@
"Modo de red preferido: solo GSM""Modo de red preferido: solo WCDMA""Modo de red preferido: GSM / WCDMA"
- "Preferencia de modo de red: CDMA"
- "Preferencia de modo de red: CDMA / EvDo"
+ "Modo de red preferido: CDMA"
+ "Modo de red preferido: CDMA / EvDo""Modo de red preferido: solo CDMA""Modo de red preferida: solo EvDo""Modo de red preferido: LTE / CDMA"
+ Modo de red preferido: LTE / WCDMA/GSM
+ Modo de red preferido: LTE / CDMA / EvDo
+ Modo de red preferido: LTE / CMDA / EvDo / GSM/WCDMA
- "LTE / CDMA"
+ "Global""Solo EvDo""CDMA sin EvDo"
- "Modo automático de CDMA/EvDo"
- "Modo automático de GSM/WCDMA"
- "Solo WCDMA"
- "Solo GSM"
- "Preferencia de GSM/WCDMA"
+ "CDMA/EvDo automático"
+ "GSM/WCDMA automático"
+ "WCDMA sólo"
+ "GSM sólo"
+ "GSM/WCDMA preferido"
- "LTE / CDMA"
- "CDMA"
+ LTE sólo
+ LTE/CMDA/EvDo/GSM/WCDMA
+ LTE/CDMA/EvDo
+ LTE/CDMA
+ CDMA/EvDo automático
+
+
+ LTE/GSM/WCDMA
+ GSM/WCDMA preferido"Habilitar datos""Permitir el acceso a los datos a través de la red móvil""Itinerancia de datos""Establecer conexión con servicios de datos en itinerancia""Establecer conexión con servicios de datos en itinerancia"
- "Has perdido la conectividad de datos porque has dejado desactivada la itinerancia de datos de tu red doméstica."
+ Itinerancia de datos nacional
+ Establecer conexión con servicios de datos en itinerancia nacional
+ No establecer conexión con servicios de datos en itinerancia nacional
+ "Has perdido la conectividad de datos porque has dejado desactivada la itinerancia de datos de tu red doméstica.""¿Permitir itinerancia de datos? Los costes de itinerancia que deberás asumir pueden ser significativos.""Opciones GSM/UMTS""Opciones de CDMA""Uso de datos"
- "Polít datos operador""Datos del período actual""Período uso datos""Política velocidad datos"
@@ -230,7 +221,6 @@
"%1$d% del ciclo transcurrido."\n"Próx período en %2$d días (%3$s)""Frec datos se reduce a %1$d Kb/s si se supera límite uso datos""Más información sobre política de uso de datos móviles de tu operador"
- "SMS de difusión móvil""SMS de difusión móvil""SMS de difusión móvil""SMS de difusión móvil habilitado"
@@ -271,15 +261,6 @@
"Coreano""Chino""Hebreo"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Idiomas""Información meteorológica local"
@@ -309,9 +290,9 @@
"Oportunidades de empleo""Oportunidades de empleo habilitadas""Oportunidades de empleo inhabilitadas"
- "Servicios médicos, sanitarios y hospitalarios"
- "Servicios médicos, sanitarios y hospitalarios habilitados"
- "Servicios médicos, sanitarios y hospitalarios inhabilitados"
+ "Servicios médicos, sanitarios y hospitalarios"
+ "Servicios médicos, sanitarios y hospitalarios habilitados"
+ "Servicios médicos, sanitarios y hospitalarios inhabilitados""Noticias tecnológicas""Noticias tecnológicas habilitadas""Noticias tecnológicas inhabilitadas"
@@ -326,35 +307,17 @@
"Solo WCDMA""Solo GSM""GSM/WCDA (preferencia de WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Utilizar solo redes 2G""Ahorrar batería""Selección de sistema"
- "Cambiar modo de itinerancia CDMA"
+ "Cambiar modo de itinerancia CDMA""Selección de sistema""Solo sistema doméstico""Automático"
- "Modo de itinerancia CDMA"
- "Cambiar modo de itinerancia CDMA"
- "modo de itinerancia CDMA"
-
- "Solo redes domésticas"
- "Redes afiliadas"
- "Cualquier red"
-
-
- "0"
- "1"
- "2"
-
+ "Suscripción CDMA""Preferencias de red CDMA""Aún no se ha implementado.""Preferencias de red CDMA"
@@ -363,29 +326,19 @@
"Solo CDMA""Solo EvDo"
-
- "0"
- "1"
- "2"
-
- "Suscripción CDMA""Cambiar entre RUIM/SIM y NV""suscripción""RUIM/SIM""NV"
-
-
- "0"
- "1""Activar dispositivo""Configurar servicio de datos""Marcación fija""Lista de FDN""Activación de FDN"
- "Los números de marcación fija están habilitados."
- "Los números de marcación fija están inhabilitados."
+ "Los números de marcación fija están habilitados"
+ "Los números de marcación fija están inhabilitados""Habilitar FDN""Inhabilitar FDN""Cambiar PIN2"
@@ -394,80 +347,72 @@
"Administrar números de marcación fija""Cambiar PIN para acceso de FDN""Administrar lista de números de teléfono"
- "Privacidad de voz"
+ "Privacidad de voz""Habilitar modo de privacidad mejorado"
- "Modo TTY"
- "Habilitar modo TTY""Modo TTY""Establecer modo TTY"
- "Reintento automático"
- "Habilitar modo de reintento automático"
+ "Reintento automático"
+ "Habilitar modo de reintento automático""Añadir contacto""Editar contacto""Eliminar contacto"
- "Introducir PIN2"
+ "Introducir código PIN2""Nombre""Número""Guardar""Añadir número de marcación fija"
- "Añadiendo número de marcación fija..."
+ "Añadiendo número de marcación fija\u2026""Se ha añadido el número de marcación fija.""Editar número de marcación fija"
- "Actualizando número de marcación fija..."
+ "Actualizando número de marcación fija\u2026""Se ha actualizado el número de marcación fija.""Eliminar número de marcación fija"
- "Eliminando número de marcación fija..."
+ "Eliminando número de marcación fija\u2026""Se ha eliminado el número de marcación fija."
- "FDN no actualizado: has introducido un PIN incorrecto."
- "FDN no actualizado: el número no puede superar los 20 dígitos."
- "Leyendo desde tarjeta SIM…"
+ "No se ha actualizado FDN porque el código PIN que has introducido es incorrecto."
+ "No se ha actualizado FDN porque el número no puede superar los 20 dígitos."
+ "FDN no actualizado. El código PIN2 era incorrecto o se ha rechazado el número de teléfono."
+ "Leyendo desde tarjeta SIM\u2026""No hay ningún contacto en la tarjeta SIM.""Seleccionar contactos para importar"
- "Para importar contactos de la tarjeta SIM, desactiva el modo avión."
+ "Para importar contactos de la tarjeta SIM, desactiva el modo avión.""Habilitar/inhabilitar PIN de tarjeta SIM""Cambiar PIN de tarjeta SIM""PIN de tarjeta SIM:""PIN antiguo""PIN nuevo""Confirmar PIN nuevo"
- "El PIN antiguo que has introducido no es correcto. Inténtalo de nuevo."
- "Los códigos PIN introducidos no coinciden. Inténtalo de nuevo."
+ "El código PIN antiguo que has introducido no es correcto. Inténtalo de nuevo."
+ "El código PIN que has introducido no coincide. Inténtalo de nuevo.""Introduce un código PIN con una longitud comprendida entre cuatro y ocho dígitos.""Inhabilitar PIN de tarjeta SIM""Habilitar PIN de tarjeta SIM"
- "Por favor, espera..."
- "El PIN de la tarjeta SIM se ha habilitado."
- "El PIN de la tarjeta SIM está inhabilitado."
- "El PIN que has introducido no es correcto."
- "El PIN de la tarjeta SIM se ha modificado correctamente."
+ "Por favor, espera\u2026"
+ "Se ha habilitado el código PIN de la tarjeta SIM."
+ "El código PIN de la tarjeta SIM está inhabilitado."
+ "El código PIN que has introducido era incorrecto."
+ "El código PIN de la tarjeta SIM se ha cambiado correctamente.""Contraseña incorrecta; la tarjeta SIM está bloqueada. Se ha solicitado el código PUK2.""PIN2""PIN2 antiguo""PIN2 nuevo""Confirmar PIN2 nuevo"
- "El PUK2 que has introducido no es correcto. Inténtalo de nuevo."
- "El PIN2 antiguo que has introducido no es correcto. Inténtalo de nuevo."
- "Los códigos PIN2 introducidos no coinciden. Inténtalo de nuevo."
+ "El código PUK2 que has introducido no es correcto. Inténtalo de nuevo."
+ "El código PIN2 antiguo que has introducido no es correcto. Inténtalo de nuevo."
+ "El código PIN2s que has introducido no coincide. Inténtalo de nuevo.""Introduce un código PIN2 con una longitud comprendida entre cuatro y ocho dígitos.""Introduce un código PUK2 con una longitud de 8 dígitos."
- "El PIN2 se ha cambiado correctamente."
+ "El código PIN2 se ha cambiado correctamente.""Introducir código PUK2"
- "Contraseña incorrecta; cambia el PIN2 e inténtalo de nuevo."
- "Contraseña incorrecta; la tarjeta SIM está bloqueada. Se ha solicitado el código PUK2."
+ "Contraseña incorrecta. Cambia el código PIN2 y vuelve a intentarlo."
+ "Contraseña incorrecta; la tarjeta SIM está bloqueada. Se ha solicitado el código PUK2.""Listo""Conferencia telefónica%s"
- "Volver a la llamada"
- "Continuar sin tarjeta SIM"
- "No se ha encontrado ninguna tarjeta SIM. Inserta una tarjeta SIM en el teléfono."
- "Descartar"
- "Desbloquear"
- "Autenticando PIN...""Número del buzón de voz""Llamando""Reintentando""Conferencia telefónica""Llamada entrante"
- "Llamada en espera de CDMA""Llamada finalizada""En espera""Colgando"
@@ -477,7 +422,7 @@
"Llamadas perdidas""%s llamadas perdidas""Llamada perdida de %s"
- "Llamada actual (%s)"
+ "Llamada en curso""En espera""Llamada entrante""Nuevo mensaje de voz"
@@ -486,13 +431,15 @@
"Número del buzón de voz desconocido""Sin servicio""La red seleccionada (%s) no está disponible."
+ "Colgar"
+ "Volver a llamar"
+ "Mensaje""Para realizar una llamada, primero debes desactivar el modo avión.""No se ha podido conectar a la red""La red móvil no está disponible.""No se ha realizado la llamada; el número introducido no es válido.""La llamada no se ha enviado."
- "Iniciando secuencia MMI..."
- "Iniciando secuencia de código de función…"
+ "Iniciando secuencia MMI\u2026""Servicio no admitido""No se ha podido cambiar de llamada.""No se ha podido desvincular la llamada."
@@ -502,20 +449,15 @@
"No es posible finalizar las llamadas activas.""Llamada por Internet""Llamada de emergencia"
- "Activando señal móvil…"
- "Área fuera de servicio; reintentando..."
- "No se ha realizado la llamada; %s no es un número de emergencia."
- "La llamada no se ha enviado; marca un número de emergencia."
+ "Activando señal móvil\u2026"
+ "Área fuera de servicio; reintentando\u2026"
+ "No se ha enviado la llamada. %s no es un número de emergencia."
+ "La llamada no se ha enviado. Marca un número de emergencia.""Utilizar teclado para marcar"
- "Teclado táctil de tonos""Retener"
- "Soltar""Finalizar""Teclado"
- "Ocultar"
- "Altavoz""Silenciar"
- "Bluetooth""Añadir llamada""Llamada a tres""Cambiar"
@@ -524,7 +466,7 @@
"Audio""Importar""Importar todos"
- "Importando contactos de tarjeta SIM..."
+ "Importando contactos de tarjeta SIM\u2026""Importar de contactos""Audífonos""Activar compatibilidad con audífono"
@@ -534,36 +476,31 @@
"TTY HCO""TTY VCO"
- "Texto de ERI"
- "Tonos DTMF"
+ "Tonos DTMF""Establecer la longitud de los tonos DTMF""Normal""Largo"
- "Mensaje de red"
+ "Mensaje de red""Activar tu teléfono""Es necesario realizar una llamada especial para activar el servicio telefónico. "\n\n"Tras pulsar \"Activar\", escucha las instrucciones sobre cómo activar el teléfono."
- "Toca \"Activar\" para realizar una llamada especial que active el teléfono en la red móvil de tu operador. De este modo, podrás realizar llamadas y conectarte a las redes de datos móviles.""¿Quieres omitir la activación?""Si omites la activación, no podrás realizar llamadas ni conectarte a las redes de datos móviles (aunque sí podrás conectarte a las redes Wi-Fi). Se te pedirá que actives el teléfono cada vez que lo enciendas hasta que realices la activación.""Omitir"
- "Activar""Activar"
- "El teléfono está activado."
+ "El teléfono está activado.""Problema con la activación""Sigue las instrucciones habladas hasta que escuches que la activación se ha completado."
- "Teclado""Altavoz"
- "Espera mientras se programa tu teléfono."
- "Programación incorrecta"
+ "Espera mientras se programa tu teléfono."
+ "Programación incorrecta""Tu teléfono ya está activado. El servicio puede tardar un máximo de 15 minutos en iniciarse."
- "El teléfono no se ha activado. "\n"Es posible que necesites situarte en un área con mejor cobertura (cerca de una ventana o en el exterior). "\n\n"Inténtalo de nuevo o llama al servicio de atención al cliente para consultar más opciones."
+ "El teléfono no se ha activado. "\n"Es posible que tengas que situarte en una zona con más cobertura (cerca de una ventana o en el exterior). "\n\n"Inténtalo de nuevo o ponte en contacto con el servicio de atención al cliente para consultar otras opciones.""EXCESO DE ERRORES DE SPC""Atrás""Volver a intentarlo""Siguiente"
- "Anterior""EcmExitDialog""Se ha activado el modo de devolución de llamada de emergencia.""Modo de devolución de llamada de emergencia"
@@ -573,87 +510,71 @@
"Ninguna conexión de datos durante %s minutos"
- "El teléfono permanecerá en modo de devolución de llamada de emergencia durante %s minuto. Mientras este modo esté activo, no se podrá utilizar ninguna aplicación que utilice una conexión de datos. ¿Quieres salir?"
- "El teléfono permanecerá en modo de devolución de llamada de emergencia durante %s minutos. Mientras este modo esté activo, no se podrá utilizar ninguna aplicación que utilice una conexión de datos. ¿Quieres salir?"
+ "El teléfono permanecerá en el modo de devolución de llamada de emergencia durante %s minuto. Durante este tiempo, no se podrán usar las aplicaciones que utilicen una conexión de datos. ¿Quieres salir ahora?"
+ "El teléfono permanecerá en el modo de devolución de llamada durante %s minutos. Durante este tiempo, no se podrán usar las aplicaciones que utilicen una conexión de datos. ¿Quieres salir ahora?"
- "La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono permanecerá en este modo durante %s minuto. ¿Quieres salir?"
- "La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono permanecerá en este modo durante %s minutos. ¿Quieres salir?"
+ "La acción seleccionada no está disponible durante el modo de devolución de llamada de emergencia. El teléfono permanecerá en este modo durante %s minutos. ¿Quieres salir ahora?"
+ "La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. El teléfono permanecerá en este modo durante %s minutos. ¿Quieres salir ahora?"
- "La acción seleccionada no está disponible en modo de llamada de emergencia."
- "Saliendo del modo de devolución de llamada de emergencia"
+ "La acción seleccionada no está disponible durante una llamada de emergencia."
+ "Saliendo del modo de devolución de llamada de emergencia""Sí""No""Descartar"
- "Configuración de buzón de voz"
- "<sin definir>"
- "Servicio de buzón de voz"
- "Configuración de %s"
+ "Servicio"
+ "Configuración"
+ "<No definido>""Otras opciones de llamada"
- "Llamar"
- "Llamando a través de ^1"\n"^2"
- "Arrastrar a la derecha para responder"
- "Arrastrar a la izquierda para silenciar el timbre"
- "Arrastrar a la izquierda para rechazar"
- "Arrastrar a la derecha para responder y"\n"retener una llamada activa"
- "Arrastrar a la derecha para responder y"\n"finalizar una llamada activa"
- "Arrastrar a la derecha para responder y"\n"finalizar una llamada en espera"
- "Responder"
- "Rechazar"
+ Ajustes de marcación
+ Ajustes del teclado de marcación
+ "Llamada a través de %s""foto de contacto""llamada privada""seleccionar contacto""Ajustes de llamada por Internet""Cuentas (SIP) de llamadas por Internet""Cuentas"
- "Administración de estado y de cuentas (SIP) de llamadas por Internet (SIP)""Recibir llamadas"
- "Permite ahorrar batería."
- "Configurar opciones de llamada"
+ "Reduce la duración de la batería""Llamadas por Internet""Llamadas por Internet (Wi-Fi)""Para todas las llamadas cuando haya redes de datos disponibles""Solo llamadas Internet""Preguntar cada vez""En todas las llamadas"
- "Registro automático"
- "Llamada saliente a través de SIP""Llamadas""Usar cuenta de llamada por Internet:""Usar siempre para realizar llamadas de Internet"
- "Puedes utilizar la opción de configuración de llamadas para modificar la cuenta de llamadas por Internet que desees utilizar de forma predeterminada. Selecciona una cuenta diferente en la sección de ajustes de llamadas por Internet."
+ "Para cambiar la cuenta de llamadas por Internet que quieres usar de forma predeterminada, accede a Teléfono > Ajustes > Ajustes de llamada por Internet > Cuentas.""Llamada de teléfono móvil""Llamada de Internet""Sin cuentas de llamada por Internet"
- "No hay cuentas de llamadas por Internet en este teléfono. ¿Quieres añadir una ahora?"
+ "No hay cuentas de llamadas por Internet en este teléfono. ¿Quieres añadir una cuenta ahora?""Añadir""Añadir cuenta""Eliminar cuenta""Cuentas SIP"
- "Guardando la cuenta..."
- "Eliminando la cuenta..."
+ "Guardando la cuenta\u2026"
+ "Eliminando la cuenta\u2026""Guardar""Descartar""Cerrar el perfil""Aceptar""Cerrar"
- "Principal"
- "Establecer como mi cuenta principal"
- "Se utiliza para llamadas salientes."
- "Ajustes avanzados""Cuenta principal (%s)"
- "Comprobando estado..."
- "Registrando..."
- "Seguimos intentándolo..."
- "Sin recepción de llamadas"
- "Se ha detenido el registro de cuenta porque no hay conexión a Internet."
- "Se ha detenido el registro de cuenta porque no hay conexión WiFi."
- "Error al registrar la cuenta"
- "Recibiendo llamadas"
+ "Comprobando estado\u2026"
+ "Registrando\u2026"
+ "Seguimos intentándolo\u2026"
+ "Sin recepción de llamadas"
+ "Se ha detenido el registro de cuenta porque no hay conexión a Internet."
+ "Se ha detenido el registro de cuenta porque no hay conexión Wi-Fi."
+ "Registro de cuenta incorrecto"
+ "Recibiendo llamadas""Error al registrar la cuenta: (%s); inténtalo de nuevo más tarde."
- "Error al registrar la cuenta: nombre de usuario o contraseña incorrectos"
- "Error al registrar la cuenta: comprueba el nombre del servidor."
- "La aplicación %s está utilizando actualmente esta cuenta."
+ "Registro de cuenta incorrecto: nombre de usuario o contraseña incorrectos."
+ "Error al registrar la cuenta: comprueba el nombre del servidor."
+ "La aplicación %s está utilizando esta cuenta en este momento.""Detalles de cuenta SIP""Detalles de cuenta SIP""Servidor"
@@ -664,9 +585,6 @@
"Número de puerto""Tipo de transporte""Enviar señal conexión"
- "Enviar mensajes SIP de conexión"
- "Registro automático"
- "Registrar el perfil automáticamente""Establecer como principal""Se utiliza para llamadas salientes.""Ajustes opcionales"
@@ -677,12 +595,12 @@
"<Opcional>""▷ Tocar para mostrar todo""▽ Tocar para ocultar todo"
- "El campo %s es obligatorio; no se puede dejar en blanco."
- "El número de puerto debe estar comprendido entre 1.000 y 65.534."
+ "El campo %s es obligatorio y no se puede dejar en blanco."
+ "El número de puerto debe estar comprendido entre 1.000 y 65.534.""Sin conexión a Internet""Sin conexión Wi-Fi"
- "Para realizar una llamada por Internet, comprueba la conexión."
- "Para realizar llamadas por Internet, debes estar conectado a una red WiFi (utiliza la configuración inalámbrica y de red)."
+ "Para hacer una llamada por Internet, comprueba tu conexión a Internet."
+ "Para hacer llamadas por Internet, debes estar conectado a una red Wi-Fi (usa la opción Conexiones inalámbricas y redes).""No se admiten llamadas por Internet""Automático""Enviar siempre"
@@ -691,7 +609,7 @@
"Te llamo en cuanto pueda.""Te llamo más tarde.""No puedo hablar. Llámame luego."
- "Mensaje personalizado..."
+ "Mensaje personalizado""Respuestas rápidas""Editar respuestas rápidas"
@@ -709,7 +627,6 @@
"estrella""cero""libra"
- "buscar""marcar""retroceder un espacio""Altavoz habilitado"
@@ -718,10 +635,31 @@
"Enviar SMS""Rechazar""Vibrar"
- "Vibración"
+ "Vibrar"
+ "Tono""Siempre""Solo en modo silencio""Nunca"
+ "Tono del teléfono"
+ "Vibrar al sonar"
+ "Sonar al marcar número"
+ "Tono"
+ Cambiar red (2G/3G)
+ Las aplicaciones con este permiso, pueden en cualquier momento, cambiar entre datos 2G y 3G. 3G es rápido, consume mas batería, y puede costarte mas dinero.
+ Supresor de ruido
+ Activar la supresión de ruido durante las llamadas
+ Mi número de teléfono
+ Establecer el número de teléfono para este terminal
+ Configuración Avanzada
+ Sensor de proximidad encendido
+ No apagar el sensor de proximidad si se utilizan auriculares durante una llamada
+ Bloquear al colgar
+ Bloquear de forma automática si al finalizar una llamada la pantalla está apagada
+ Vibrar al contestar
+ Vibrar en llamada en espera
+ Vibrar al colgar
+ Vibrar cada 45 segundos
+ Vibrar en el segundo 45 de cada minuto de una llamada saliente
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index dbf0d936d..730ca56d6 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -25,39 +25,27 @@
"Varjatud number""Telefoniautomaat""Ootel"
- "Käimasolev kõne""Liin hõivatud""Võrk hõivatud""Vastust ei ole, aegunud""Server on kättesaamatu""Number pole kättesaadav""Vale kasutajanimi või parool"
- "Helistas väljastpoolt võrku"
+ "Helistas väljastpoolt võrku""Serveri viga. Proovige hiljem uuesti.""Signaal puudub""ACM-piir ületatud""Raadioside väljas"
- "Pole SIM-i ega PIN-i viga"
+ "SIM-kaart puudub või SIM-kaardi viga""Teeninduspiirkonnast väljas""Väljuvad kõned on piiratud FDN-iga."
- "Väljuvaid kõnesid ei saa teha, kui kõnepiirang on sisse lülitatud."
+ "Väljuvaid kõnesid ei saa teha, kui kõnepiirang on sisse lülitatud.""Kõiki kõnesid piiratakse juurdepääsu juhtimisega""Hädaabikõned on piiratud juurdepääsu juhtimisega.""Tavakõned on piiratud juurdepääsu juhtimisega."
- "CDMA: telefon on lukus, kuni lülitate selle välja ja uuesti sisse"
- "CDMA: kõne katkes."
- "CDMA: kõne katkestati."
- "CDMA: ümberkorraldamine"
- "CDMA: teenusevalikust keeldumine"
- "CDMA: proovi uuesti järjestada."
- "CDMA: juurdepääs ebaõnnestus."
- "CDMA: eelisõigusega."
- "Teha saab ainult hädaabikõnesid."
- "Kehtetu number"
+ "Vale number""Konverentskõne""Kõne on katkenud."
- "Proovi uuesti"
- "Kõne katkenud""OK""MMI-kood käivitus""USSD-kood töötab ..."
@@ -69,23 +57,14 @@
"Juhtmega peakomplekt""Bluetooth""Kas saata järgmised toonid?"\n
- "Toonide saatmine"\n
+ "Toonide saatmine"\n"Saada""Jah""Ei"
- "Sisesta metamärgi asemele"
+ "Pane metamärgi asemele""Puudub kõnepostinumber""SIM-kaardile pole salvestatud ühtegi kõnepostinumbrit.""Lisa number"
- "Laadimine ..."
- "Sisestage PIN-kood SIM-kaardi avamiseks."
- "SIM avatud"
- "Uus SIM-i PIN-kood"
- "Sisestage uus SIM-kaardi PIN-kood kinnitamiseks uuesti"
- "Sisestatud SIM-i PIN-koodid ei kattu. Proovige uuesti."
- "Sisestage SIM-kaardi avamiseks PUK-kood"
- "Vale PUK-kood."
- "Jätka""Teie SIM-kaardi blokeering on tühistatud. Teie telefoni avamine ...""SIM-võrgu avamise PIN-kood""Ava"
@@ -93,8 +72,6 @@
"Võrgu avamise taotlemine ...""Võrgu avamise taotlus ebaõnnestus.""Võrgu avamine õnnestus."
- "IMEI"
- "MEID""GSM-kõneseaded""CDMA-kõneseaded""Pääsupunktide nimed"
@@ -109,6 +86,7 @@
"Täiendavad „ainult CDMA” kõneseaded""Võrguteenuse seaded""Helistaja ID"
+ "Seadete laadimine ...""Number peidetud väljuvate kõnede puhul""Number kuvatakse väljuvate kõnede puhul""Kasuta väljuvates kõnedes minu numbri kuvamiseks operaatori vaikeseadeid"
@@ -127,17 +105,17 @@
"Number, kui on hõivatud""Edastamine numbrile {0}""Keelatud"
- "Teie operaator ei toeta ümbersuunamise keelamist, kui teie telefon on hõivatud."
+ "Teie operaator ei toeta kõneedastuse keelamist, kui teie telefon on hõivatud.""Suuna, kui ei vasta""Number, kui ei vastata""Edastamine numbrile {0}""Keelatud"
- "Teie operaator ei toeta ümbersuunamise keelamist, kui teie telefon ei vasta."
+ "Teie operaator ei toeta kõneedastuse keelamist, kui teie telefon ei vasta.""Suuna, kui pole kättesaadav""Number, kui pole kättesaadav""Edastamine numbrile {0}""Keelatud"
- "Teie operaator ei toeta ümbersuunamise keelamist, kui teie telefon on levist väljas."
+ "Teie operaator ei toeta kõneedastuse keelamist, kui teie telefon on levist väljas.""Kõneseaded""Kõneseadete viga""Seadete lugemine ..."
@@ -145,8 +123,8 @@
"Seadete ennistamine…""Ootamatu vastus võrgust.""Võrgu või SIM-kaardi viga."
- "Toimingud on lubatud vaid fikseeritud valimisnumbrite puhul."
- "Enne nende seadete vaatamist lülitage raadioside sisse."
+ "Telefoni rakenduse Fikseeritud numbrite valimine seaded on sisse lülitatud. Selle tulemusena ei tööta kõik kõnega seotud funktsioonid."
+ "Enne nende seadete vaatamist lülitage raadio sisse.""OK""Luba""Keela"
@@ -156,10 +134,9 @@
"Peida number""Näita numbrit"
- "Salvesta kõnepostinumber""Kõnepostinumber muutunud."
- "Kõnepostinumbri muutmine ei õnnestunud."\n"Probleemi püsimisel võtke ühendust oma operaatoriga."
- "Ümbersuunamisnumbri muutmine ei õnnestunud."\n"Probleemi püsimisel võtke ühendust oma operaatoriga."
+ "Kõneposti numbrit ei saanud muuta."\n"Kui probleem ei kao, võtke ühendust operaatoriga."
+ "Kõneedastuse numbrit ei saanud muuta."\n"Kui probleem ei kao, võtke ühendust operaatoriga.""Praeguste edastusnumbri seadete toomine ja salvestamine ebaõnnestus."\n"Kas soovite siiski uuele teenusepakkujale ümber lülituda?""Muudatusi ei tehtud.""Valige kõnepostiteenus"
@@ -171,14 +148,14 @@
"Otsi võrke""Viga võrkude otsimisel.""Registreerimine võrku %s ..."
- "Teie SIM-kaart ei võimalda selle võrguga ühendamist."
- "Selle võrguga ei saa praegu ühendust luua. Proovige hiljem uuesti."
+ "Teie SIM-kaart ei võimalda ühendust selle võrguga."
+ "Võrguga ei saa praegu ühendust. Proovige hiljem uuesti.""Võrku registreeritud."
- "Valige võrguoperaator"
+ "Võrguoperaatori valimine""Otsi kõiki saadaolevaid võrke"
- "Vali automaatselt"
- "Vali automaatselt eelisvõrk"
- "Automaatne registreerimine ..."
+ "Vali automaatselt"
+ "Vali automaatselt eelistatud võrk"
+ "Automaatne registreerimine ...""Võrgurežiim""Muuda võrgu töörežiimi""Eelistatud võrgurežiim"
@@ -192,17 +169,17 @@
"Eelistatud võrgurežiim: ainult EvDo""Eelistatud võrgurežiim: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Ainult EvDo""CDMA ilma EvDo-ta"
- "Automaatne CDMA / EvDo"
- "Automaatne GSM / WCDMA"
+ "Automaatne CDMA/EvDo"
+ "Automaatne GSM/WCDMA""Ainult WCDMA""Ainult GSM"
- "GSM/WCDMA eelistatud"
+ "Eelistatud GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Andmed lubatud"
@@ -210,12 +187,11 @@
"Andmerändlus""Ühenda rändluse ajal andmesideteenustega""Ühenda rändluse ajal andmesideteenustega"
- "Kaotasite andmesideühenduse, kuna jätsite oma koduvõrgu andmerändluse väljalülitatuks."
+ "Andmesideühendus katkes, kuna lahkusite koduvõrgust ja andmerändlus oli välja lülitatud.""Kas lubada andmerändlus? Teilt võidakse küsida suuri rändlustasusid.""GSM-i/UMTS-i valikud""CDMA valikud""Andmete kasutus"
- "Operaatori andmete eeskirjad""Praegusel perioodil kasutatud andmed""Andmete kasutamise periood""Andmeedastuskiiruse eeskirjad"
@@ -226,7 +202,6 @@
"%1$d?? tsüklist möödunud"\n"Järgmine periood algab %2$d päeva pärast (%3$s)""Kui andmete kasutuslimiit on ületatud, vähendatakse andmeedastuskiirus %1$d kb/s""Lisateave teie operaatori mobiilsidevõrgu andmete kasutuse eeskirjade kohta"
- "Kärjeteate-SMS""Kärjeteate-SMS""Kärjeteate-SMS""Kärjeteate-SMS-id lubatud"
@@ -267,15 +242,6 @@
"Korea""Hiina""Heebrea"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Keeled""Kohalik ilm"
@@ -305,9 +271,9 @@
"Juurutusvõimalused""Juurutusvõimalused lubatud""Juurutusvõimalused keelatud"
- "Meditsiini-, tervishoiu- ja haiglateenused"
- "Meditsiini-, tervishoiu- ja haiglateenused lubatud"
- "Meditsiini-, tervishoiu- ja haiglateenused keelatud"
+ "Meditsiini-, tervishoiu- ja haiglateenused"
+ "Meditsiini-, tervishoiu- ja haiglateenused on lubatud"
+ "Meditsiini-, tervishoiu- ja haiglateenused on keelatud""Tehnoloogiauudised""Tehnoloogiauudised lubatud""Tehnoloogiauudised keelatud"
@@ -322,35 +288,17 @@
"Ainult WCDMA""Ainult GSM""GSM/WCDA (WCDMA eelistatud)"
-
-
- "0"
- "1"
- "2"
- "3""Kasuta ainult 2G-võrke""Säästab akut""Süsteemi valik"
- "Muuda CDMA-rändlusrežiimi"
+ "Muuda CDMA-rändlusrežiimi""Süsteemi valik""Ainult kodus""Automaatne"
- "CDMA-rändlusrežiim"
- "Muuda CDMA-rändlusrežiimi"
- "CDMA-rändlusrežiim"
-
- "Ainult koduvõrgud"
- "Sidusettevõtete võrgud"
- "Kõik võrgud"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-tellimus""CDMA-võrgu eelistused""Pole veel kasutusel.""CDMA-võrgu eelistused"
@@ -359,21 +307,11 @@
"Ainult CDMA""Ainult EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA tellimus""RUIM-i/SIM-i ja NV vahetamine""tellimus""RUIM/SIM""NV"
-
-
- "0"
- "1""Seadme aktiveerimine""Andmesideteenuse häälestamine"
@@ -390,18 +328,16 @@
"Fikseeritud valimisnumbrite haldamine""Muuda FDN-juurdepääsuks PIN-koodi""Telefoninumbrite loendi haldamine"
- "Hääleprivaatsus"
+ "Häälvestluse privaatsus""Luba täiendatud privaatsusrežiim"
- "TTY-režiim"
- "Luba TTY-režiim""TTY-režiim""Määra TTY-režiim"
- "Automaatkatse"
- "Luba automaatkatserežiim"
+ "Automaatkatse"
+ "Luba automaatkatse režiim""Lisa kontakt""Muuda kontakti""Kustuta kontakt"
- "Sisestage PIN2"
+ "Sisestage PIN2-kood""Nimi""Number""Salvesta"
@@ -414,56 +350,50 @@
"Kustuta fikseeritud valimisnumber""Fikseeritud valimisnumbri kustutamine…""Fikseeritud valimisnumber kustutatud."
- "FDN värskendamata: sisestasite vale PIN-koodi."
- "FDN värskendamata: arv ei tohi ületada 20 numbrit."
+ "FDN-i ei värskendatud, sest sisestasite vale PIN-koodi."
+ "FDN-i ei värskendatud, sest number ei tohi olla pikem kui 20 kohta."
+ "FDN-i ei värskendatud. PIN2 oli vale või lükati telefoninumber tagasi.""SIM-kaardilt lugemine ...""Teie SIM-kaardil pole ühtegi kontakti.""Valige imporditavad kontaktid"
- "SIM-kaardilt kontaktide importimiseks lülitage lennukirežiim välja."
+ "Kontaktide importimiseks SIM-kaardilt lülitage esmalt välja lennukirežiim.""SIM-i PIN-koodi lubamine/keelamine""Muuda SIM-i PIN-koodi""SIM-i PIN-kood""Vana PIN-kood""Uus PIN-kood""Kinnitage uus PIN-kood"
- "Sisestatud vana PIN-kood pole õige. Proovige uuesti."
- "Sisestatud PIN-koodid ei kattu. Proovige uuesti."
+ "Sisestatud vana PIN-kood ei ole õige. Proovige uuesti."
+ "Sisestatud PIN-koodid ei sobi. Proovige uuesti.""Sisestage 4–8-numbriline PIN-kood.""Keela SIM-i PIN-kood""Luba SIM-i PIN-kood""Oodake ..."
- "SIM-i PIN-kood lubatud"
- "SIM-i PIN-kood keelatud"
- "Sisestasite vale PIN-koodi"
- "SIM-i PIN-koodi muutmine õnnestus"
+ "SIM-kaardi PIN-kood lubatud"
+ "SIM-kaardi PIN-kood on keelatud."
+ "Sisestasite vale PIN-koodi."
+ "SIM-kaardi PIN-koodi muutmine õnnestus.""Parool on vale, SIM-kaart on lukus. Vajalik on PUK2-kood.""PIN2""Vana PIN2-kood""Uus PIN2-kood""Kinnitage uus PIN2-kood"
- "Sisestatud PUK2-kood pole õige. Proovige uuesti."
- "Sisestatud vana PIN2-kood pole õige. Proovige uuesti."
- "Sisestatud PIN2-koodid ei kattu. Proovige uuesti."
+ "Sisestatud PUK2-kood pole õige. Proovige uuesti."
+ "Sisestatud vana PIN2-kood ei ole õige. Proovige uuesti."
+ "Sisestatud PIN2-koodid ei sobi. Proovige uuesti.""Sisestage 4–8-numbriline PIN-kood.""Sisestage 8-numbriline PUK2."
- "PIN2 muutmine õnnestus"
+ "PIN2-koodi muutmine õnnestus.""Sisestage PUK2-kood"
- "Parool on vale, muutke PIN2-koodi ja proovige uuesti."
- "Parool on vale, SIM-kaart on lukus. Vajalik on PUK2-kood."
+ "Parool on vale. Muutke PIN2-koodi ja proovige uuesti."
+ "Parool on vale, SIM-kaart on lukus. Sisestage PUK2-kood.""Valmis""Konverentskõne %s"
- "Tagasi kõne juurde"
- "Jätka ilma SIM-kaardita"
- "SIM-kaarti ei leitud. Sisestage SIM-kaart telefoni."
- "Loobu"
- "Ava"
- "PIN-koodi autentimine ...""Kõnepostinumber""Valimine""Uuesti proovimine""Konverentskõne""Sissetulev kõne"
- "CDMA-kõne ootel""Kõne lõppes""Ootel""Lõpetamisel"
@@ -473,7 +403,7 @@
"Vastamata kõned""%s vastamata kõnet""Vastamata kõne helistajalt %s"
- "Käimasolev kõne (%s)"
+ "Käimasolev kõne""Ootel""Sissetulev kõne""Uus kõnepost"
@@ -482,13 +412,15 @@
"Kõneposti number teadmata""Teenus puudub""Valitud võrk (%s) pole saadaval"
+ "Lõpeta kõne"
+ "Helista tagasi"
+ "Sõnum""Helistamiseks lülitage lennurežiim välja.""Ei ole võrku registreeritud.""Mobiilsidevõrk pole saadaval.""Kõnet ei tehtud, sisestati kehtetu number.""Kõnet ei tehtud.""MMI-jada alustamine ..."
- "Funktsioonikoodi jada alustamine ...""Toetamata teenus.""Kõnesid ei saa vahetada.""Kõne ei saa eraldada."
@@ -500,18 +432,13 @@
"Hädaabikõne""Raadioside sisselülitamine ...""Teeninduspiirkonnast väljas, uuesti proovimine ..."
- "Kõnet ei tehtud, %s pole hädaabinumber."
- "Kõnet ei tehtud, valige hädaabinumber."
+ "Kõnet ei saadetud. %s pole hädaabinumber."
+ "Kõnet ei edastatud, valige hädaabinumber.""Kasutage valimiseks klaviatuuri"
- "Puuduta tooniklahvistikku""Pane ootele"
- "Jätka""Lõpeta""Numbriklahvistik"
- "Peida"
- "Kõlar""Summuta"
- "Bluetooth""Lisa kõne""Ühenda kõned""Vaheta"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI-tekst"
- "DTMF-toonid"
+ "DTMF-toonid""Määrake DTMF-toonide pikkus""Tavaline""Pikk"
- "Võrguteade"
+ "Võrgusõnum""Telefoni aktiveerimine""Telefoniteenuse aktiveerimiseks peate valima konkreetse kõne. "\n\n"Pärast käsu “Aktiveeri“ puudutamist kuulake telefoni aktiveerimise juhiseid."
- "Puudutage käsku “Aktiveeri“ konkreetse kõne valimiseks, mis aktiveerib teie telefoni teie operaatori mobiilsidevõrgus, et saaksite kõnesid valida ja luua ühendusi mobiilsete andmesidevõrkudega.""Jätan aktiveerimise vahele?""Aktiveerimise vahelejätmisel ei saa te kõnesid valida ega luua ühendust mobiilsete andmevõrkudega (kuid saate luua ühenduse WiFi-võrkudega). Telefoni aktiveerimisprotsessi ajal palutakse teil see aktiveerida iga kord, kui telefoni sisse lülitate.""Jäta vahele"
- "Aktiveeri""Aktiveeri"
- "Telefon on aktiveeritud."
+ "Telefon on aktiveeritud.""Probleem aktiveerimisega""Järgige hääljuhiseid, kuni kuulete, et aktiveerimine on lõpetatud."
- "Klaviatuur""Kõlar"
- "Oodake, kuni teie telefoni programmeeritakse."
- "Programmeerimine ei õnnestunud"
+ "Oodake, kuni teie telefoni programmeeritakse."
+ "Programmeerimine ebaõnnestus""Teie telefon on nüüd aktiveeritud. Teenuse käivitumiseks võib kuluda kuni 15 minutit."
- "Teie telefoni ei aktiveeritud. "\n"Peate leidma parema leviga piirkonna (akna lähedal või õues). "\n\n"Proovige uuesti või helistage klienditeenindusse."
+ "Teie telefoni ei aktiveeritud. "\n"Leidke parema leviga piirkond (akna lähedal või õues). "\n\n"Proovige uuesti või helistage klienditeenindusse.""LIIGSED SPC NURJUMISED""Tagasi""Proovige uuesti""Järgmine"
- "Tagasi""EcmExitDialog""Sisenetud hädaolukorra tagasihelistusrežiimi""Hädaolukorra tagasihelistusrežiim"
@@ -569,87 +491,69 @@
"Andmeühendus puudub %s minutiks"
- "Telefon on %s minutit hädaolukorra tagasihelistusrežiimis. Sel ajal ei saa ühtegi andmeühendust kasutavat rakendust kasutada. Kas soovite kohe väljuda?"
- "Telefon on %s minutit hädaolukorra tagasihelistusrežiimis. Sel ajal ei saa ühtegi andmeühendust kasutavat rakendust kasutada. Kas soovite kohe väljuda?"
+ "Telefon on hädaolukorra tagasihelistusrežiimis %s minut. Selles režiimis ei saa kasutada ühtegi andmesideühendusel põhinevat rakendust. Kas soovite kohe väljuda?"
+ "Telefon on hädaolukorra tagasihelistusrežiimis %s minutit. Selles režiimis ei saa kasutada ühtegi andmesideühendust kasutavat rakendust. Kas soovite kohe väljuda?"
- "Valitud toiming ei ole hädaolukorra tagasihelistusrežiimis saadaval. Telefon on selles režiimis %s minutit. Kas soovite kohe väljuda?"
- "Valitud toiming ei ole hädaolukorra tagasihelistusrežiimis saadaval. Telefon on selles režiimis %s minutit. Kas soovite kohe väljuda?"
+ "Valitud toiming ei ole hädaolukorra tagasihelistusrežiimis saadaval. Telefon on selles režiimis %s minut. Kas soovite kohe väljuda?"
+ "Valitud toiming pole hädaolukorra tagasihelistusrežiimis kättesaadav. Telefon on selles režiimis %s minut. Kas soovite kohe väljuda?"
- "Valitud toiming ei ole hädaabikõnede ajal saadaval"
- "Väljumine hädaolukorra tagasihelistusrežiimist"
+ "Valitud toiming ei ole hädaabikõne ajal saadaval."
+ "Väljumine hädaolukorra tagasihelistusrežiimist""Jah""Ei""Loobu"
- "Kõneposti seaded"
- "<pole määratud>"
- "Kõnepostiteenus"
- "Teenusepakkuja %s seaded"
+ "Teenus"
+ "Seadistus"
+ "<Määramata>""Muud kõneseaded"
- "Vali"
- "Helistamine teenusepakkuja ^1"\n"^2"" kaudu"
- "Vastamiseks lohistage paremale"
- "Helina vaigistamiseks lohistage vasakule"
- "Keeldumiseks lohistage vasakule"
- "Lohistage paremale, et vastata ja"\n"panna aktiivne kõne ootele"
- "Lohistage paremale, et vastata ja"\n"lõpetada aktiivne kõne"
- "Lohistage paremale, et vastata ja"\n"lõpetada ootel kõne"
- "Vasta"
- "Keeldu"
+ "Kõne edastab %s""kontakti foto""aktiveeri privaatrežiim""vali kontakt""Interneti-kõne seaded""Interneti-kõne (SIP) kontod""Kontod"
- "Interneti-kõnede (SIP) kontode ja oleku haldamine""Sissetulevate kõnede vastuvõtmine""Vähendab aku kestvust"
- "Seadista kõnevalikud""Kasuta Interneti-kõne""Interneti-kõne kasutamine (ainult WiFi)""Kõikide kõnede puhul, kui andmesidevõrk on saadaval""Ainult Interneti-kõnede jaoks""Küsi iga kõne puhul""Kõikide kõnede jaoks"
- "Automaatne registreerimine"
- "SIP-i kaudu väljuv kõne""Kõne valimine""Kasuta Interneti-kõne kontot:""Kasuta alati Interneti-kõnede tegemiseks"
- "Selleks et muuta kõne tegemisel vaikimisi kasutatavat Interneti-kõne kontot, kasutage kõneseadeid, valides Interneti-kõne seadete alt teise konto."
+ "Vaikimisi kasutatava Interneti kõnekonto muutmiseks tehke järgmised valikud: Telefon > Seaded > Interneti-kõne seaded > Kontod.""Mobiiltelefonikõne""Interneti-kõne""Interneti-kõnede kontot ei ole"
- "Sellel telefonil puuduvad Interneti-kõne kontod. Kas lisan kohe?"
+ "Selles telefonis pole ühtegi Interneti-kõne kontot. Kas soovite praegu ühe lisada?""Lisa""Lisa konto""Eemalda konto""SIP-kontod"
- "Konto salvestamine ..."
- "Konto eemaldamine ..."
+ "Konto salvestamine ..."
+ "Konto eemaldamine ...""Salvestamine""Loobu""Profiili sulgemine""OK""Sule"
- "Peamine"
- "Tee see minu peamiseks kontoks"
- "Kasutatakse väljuvate kõnede jaoks"
- "Täpsemad seaded""Peamine konto. %s""Oleku kontrollimine ..."
- "Registreerimine ..."
- "Üritamine ..."
- "Kõnesid ei võeta vastu"
- "Konto registreerimine peatatud, sest puudub Interneti-ühendus"
- "Konto registreerimine on peatatud, sest puudub WiFi-ühendus"
- "Konto registreerimine ebaõnnestus"
- "Kõnede vastuvõtmine"
+ "Registreerimine ..."
+ "Registreerimine jätkub ..."
+ "Kõnesid ei võeta vastu."
+ "Konto registreerimine on peatatud, sest puudub Interneti-ühendus."
+ "Konto registreerimine on peatatud, sest puudub WiFi-ühendus."
+ "Konto registreerimine ebaõnnestus."
+ "Kõnede vastuvõtmine.""Konto registreerimine ebaõnnestus: (%s); proovige hiljem uuesti"
- "Konto registreerimine ebaõnnestus: vale kasutajanimi või parool"
- "Konto registreerimine ebaõnnestus: kontrollige serveri nime"
- "Kontot kasutab praegu konto %s rakendus"
+ "Konto registreerimine ebaõnnestus: vale kasutajanimi või parool."
+ "Konto registreerimine ebaõnnestus: kontrollige serveri nime."
+ "Kontot kasutab hetkel kontoomaniku %s rakendus""SIP-konto andmed""SIP-konto andmed""Server"
@@ -660,9 +564,6 @@
"Pordi number""Transpordi tüüp""Saada ülalhoidmise eelistusi"
- "Saada SIP-i ülalhoidmise eelistuste sõnumeid"
- "Automaatne registreerimine"
- "Registreeri profiil automaatselt""Määra peamiseks kontoks""Kasutatakse väljuvate kõnede jaoks""Valikulised seaded"
@@ -673,12 +574,12 @@
"<Valikuline>""▷Puudutage kõige kuvamiseks""▽Puudutage kõige peitmiseks"
- "Väli %s on kohustuslik, ei saa jätta tühjaks"
- "Pordi number peab jääma vahemikku 1000 kuni 65534"
+ "Väli %s on kohustuslik, seda ei saa tühjaks jätta."
+ "Pordi number peab jääma vahemikku 1000 kuni 65 534.""Interneti-ühendus puudub""WiFi-ühendust ei ole"
- "Interneti-kõne tegemiseks kontrollige esmalt Interneti-ühendusest"
- "Interneti-kõnede jaoks peate olema ühendatud WiFi-võrguga (kasutage traadita võrgu seadeid)"
+ "Interneti-kõne tegemiseks kontrollige esmalt Interneti-ühendust."
+ "Interneti-kõnede jaoks peate olema ühendatud WiFi-võrguga (kasutage traadita ühenduse ja võrgu seadeid)""Interneti-kõnesid ei toetata""Automaatne""Saada alati"
@@ -687,7 +588,7 @@
"Helistan kohe tagasi.""Helistan sulle hiljem.""Ei saa rääkida. Helistad hiljem?"
- "Kohandatud sõnum ..."
+ "Kohandatud sõnum""Kiirvastused""Kiirvastuste muutmine"
@@ -705,7 +606,6 @@
"tärn""null""nael"
- "otsing""helista""tagasilüke""Valjuhääldi on sisse lülitatud."
@@ -715,9 +615,14 @@
"Keeldumine""Vibreerimine""Vibreerimine"
+ "Helin""Alati""Ainult hääletus režiimis""Mitte kunagi"
+ "Telefonihelin"
+ "Vibreerimine helina ajal"
+ "Valimisklahvistiku puutetoonid"
+ "Helin"
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index da4885d0b..002347a9b 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -25,39 +25,27 @@
"شماره خصوصی""تلفن سکه ای""در انتظار"
- "تماس فعلی""خط مشغول است""شبکه مشغول است""پاسخی دریافت نشد، زمان پایان یافت""سرور غیرقابل دسترسی""شماره غیرقابل دسترسی""نام کاربر و رمز ورود اشتباه است"
- "از خارج از شبکه تماس گرفته شده است"
+ "از خارج از شبکه تماس گرفته شده است""خطای سرور: بعداً دوباره امتحان کنید.""بدون سیگنال""بیش از حد مجاز ACM""رادیو خاموش"
- "فاقد سیم کارت، یا خطای سیم کارت"
+ "فاقد سیم، یا خطای سیم""خارج از منطقه سرویس""تماس های خروجی توسط FDN محدود شده اند."
- "هنگام فعال بودن انسداد تماس، برقراری تماس خروجی امکان پذیر نیست."
+ "هنگام روشن بودن محدودیت تماس، برقراری تماسهای خروجی امکانپذیر نیست.""همه تماس ها توسط کنترل دسترسی محدود شده اند.""تماس های اضطراری توسط کنترل دسترسی محدود شده اند.""تماس های معمولی توسط کنترل دسترسی محدود شده اند."
- "CDMA: تلفن تا زمان روشن و خاموش کردن بعدی قفل شد."
- "CDMA: تماس قطع شد."
- "CDMA: تماس متوقف شد."
- "CDMA: دستور مجدد."
- "CDMA: رد گزینه سرویس."
- "CDMA: دستور را دوباره انجام دهید."
- "CDMA: دسترسی ناموفق است."
- "CDMA: ممانعت شد."
- "فقط تماس های اضطراری امکان پذیر است"
- "شماره نامعتبر"
+ "شماره نامعتبر""تماس کنفرانسی""تماس قطع شد."
- "امتحان مجدد"
- "تماس از دست رفته""تأیید""کد MMI راه اندازی شد""در حال اجرای کد USSD..."
@@ -69,23 +57,14 @@
"هدست سیمی""Bluetooth""صداهای زیر ارسال شود؟"\n
- "ارسال صدا ها"\n
+ "تونهای ارسالی"\n"ارسال""بله""خیر"
- "جایگزینی نویسه نامفهوم با"
+ "جایگزینی نویسه عمومی با""عدم وجود شماره پست صوتی""شماره پست صوتی در سیم کارت ذخیره نشده است.""افزودن شماره"
- "در حال بارگیری..."
- "کد پین را برای باز کردن قفل سیم کارت تایپ کنید."
- "قفل سیم باز شد"
- "کد پین سیم جدید"
- "کد پین سیم جدید را دوباره برای تأیید تایپ کنید"
- "کدهای پین 2 سیم که تایپ کردید مطابقت ندارند. لطفاً دوباره امتحان کنید."
- "کد PUK را برای باز کردن قفل سیم کارت تایپ کنید"
- "کد PUK نادرست!"
- "ادامه""قفل سیم کارت شما باز شده است. قفل گوشی در حال باز شدن است...""پین بازگشایی قفل شبکه سیم""بازگشایی قفل"
@@ -93,8 +72,6 @@
"در حال درخواست بازگشایی قفل شبکه...""درخواست قفل گشایی شبکه ناموفق بود.""قفل گشایی شبکه با موفقیت انجام شد."
- "IMEI"
- "MEID""تنظیمات تماس GSM""تنظیمات تماس CDMA""نام های نقاط دسترسی"
@@ -109,6 +86,7 @@
"سایر تنظیمات تماس فقط CDMA""تنظیمات سرویس شبکه""شناسه تماس گیرنده"
+ "درحال بارگیری تنظیمات...""شماره پنهان در تماس های خروجی""شماره نمایش داده شده در تماس های خروجی""از تنظیمات اپراتور پیش فرض برای نمایش شماره من در تماس های خروجی استفاده شود"
@@ -127,17 +105,17 @@
"شماره هنگام مشغول بودن""هدایت به {0}""غیر فعال شد"
- "شرکت مخابراتی شما از غیر فعال کردن هدایت تماس هنگامی که تلفن شما مشغول است، پشتیبانی نمی کند."
+ "اپراتور شمااز غیرفعال کردن هدایت تماس هنگامی که تلفن شما مشغول است، پشتیبانی نمیکند.""هدایت هنگام عدم پاسخگویی""شماره هنگام عدم پاسخگویی""هدایت به {0}""غیر فعال شد"
- "شرکت مخابراتی شما از غیر فعال کردن هدایت تماس هنگامی که تلفن شما مشغول است، پشتیبانی نمی کند."
+ "اپراتور شما از غیر فعال کردن هدایت تماس هنگامی که تلفن شما پاسخ نمیدهد، پشتیبانی نمیکند.""هدایت هنگام عدم دسترسی""شماره در صورت عدم دسترسی""هدایت به {0}""غیر فعال شد"
- "شرکت مخابراتی شما از غیر فعال کردن هدایت تماس هنگامی که تلفن شما در دسترس نیست پشتیبانی نمی کند."
+ "شرکت مخابراتی شما از غیرفعال کردن هدایت تماس هنگامی که تلفن شما در دسترس نیست پشتیبانی نمیکند.""تنظیمات تماس""خطای تنظیمات تماس""در حال خواندن تنظیمات..."
@@ -145,8 +123,8 @@
"در حال بازیابی تنظیمات...""پاسخ پیش بینی نشده از شبکه.""خطای شبکه یا سیم کارت."
- "عملکردها فقط برای شماره های شماره گیری ثابت مجاز است."
- "لطفاً قبل از مشاهده این تنظیمات، رادیو را روشن کنید."
+ "تنظیم اعداد شمارهگیری ثابت برنامههای تلفن شما غیرفعال است. درنتیجه، برخی از ویژگیهای مربوط به تماس کار نمیکند."
+ "قبل از مشاهده این تنظیمات، رادیو را روشن کنید.""تأیید""فعال کردن""غیرفعال کردن"
@@ -156,10 +134,9 @@
"پنهان کردن شماره""نمایش شماره"
- "ذخیره شماره پست صوتی""شماره پست صوتی تغییر کرد."
- "تغییر شماره پست صوتی ناموفق بود. "\n"در صورت بروز مجدد مشکل، با شرکت مخابراتی خود تماس بگیرید."
- "تغییر شماره هدایت تماس ناموفق بود."\n"در صورت بروز مجدد مشکل، با شرکت مخابراتی خود تماس بگیرید."
+ "نمیتوان شماره صندوق صوتی را تغییر داد."\n"در صورتی که این مشکل همچنان ادامه دارد با شرکت مخابراتی خود تماس بگیرید."
+ "نمیتوان شماره هدایت تماس را تغییر داد."\n"در صورتی که این مشکل همچنان ادامه دارد با شرکت مخابراتی خود تماس بگیرید.""نمیتوان تنظیمات هدایت شماره فعلی را بازیابی و ذخیره کرد."\n"به هر حال به ارائه دهنده جدید تغییر کند؟""تغییری انجام نشده است.""انتخاب سرویس پست صوتی"
@@ -171,14 +148,14 @@
"جستجوی شبکه ها""خطا هنگام جستجو برای شبکه ها.""در حال ثبت در %s..."
- "سیم کارت شما اجازه اتصال به این شبکه را نمی دهد."
- "اتصال به این شبکه در حال حاضر امکان پذیر نیست. لطفاً بعداً دوباره امتحان کنید."
+ "سیم کارت شما اجازه اتصال به این شبکه را نمیدهد."
+ "اتصال به این شبکه در حال حاضر امکان پذیر نیست. بعداً دوباره امتحان کنید.""در شبکه ثبت شد."
- "انتخاب یک اپراتور شبکه"
+ "انتخاب یک اپراتور شبکه""جستجوی همه شبکه های موجود"
- "انتخاب خودکار"
- "انتخاب خودکار شبکه برگزیده"
- "ثبت خودکار..."
+ "انتخاب به طور خودکار"
+ "به صورت خودکار شبکه برگزیده را انتخاب کنید"
+ "ثبت خودکار...""حالت شبکه""تغییر حالت عملکرد شبکه""حالت شبکه برگزیده"
@@ -192,17 +169,17 @@
"حالت شبکه برگزیده: فقط EvDo""حالت شبکه برگزیده: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""فقط EvDo""CDMA بدون EvDo"
- "CDMA / EvDo خودکار"
- "GSM / WCDMA خودکار"
+ "CDMA/EvDo خودکار"
+ "GSM/WCDMA خودکار""فقط WCDMA""فقط GSM"
- "GSM / WCDMA برگزیده"
+ "GSM/WCDMA برگزیده"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""داده ها فعال شدند"
@@ -210,12 +187,11 @@
"رومینگ داده""اتصال به سرویس های داده هنگام رومینگ""اتصال به سرویس های داده هنگام رومینگ"
- "چون از شبکه اصلی خود با رومینگ داده خاموش خارج شدید، اتصال داده ای خود را از دست دادید."
+ "اتصال داده خود را از دست دادهاید، زیرا از شبکه اصلی خود خارج شدید و رومینگ داده خاموش است،""رومینگ داده مجاز است؟ ممکن است هزینه های رومینگ زیادی برای شما در بر داشته باشد!""گزینه های GSM/UMTS""گزینه های CDMA""مصرف داده"
- "خط مشی داده شرکت مخابراتی""داده های مورد استفاده در دوره زمانی فعلی""مدت زمان مصرف داده""قانون نرخ داده"
@@ -226,7 +202,6 @@
"%1$d٪ از دوره سپری شده"\n"دوره زمانی بعدی بعد از %2$d روز شروع می شود (%3$s)""در صورت فراتر رفتن مصرف داده از حد مجاز، نرخ داده ها به %1$d کیلو بیت در ثانیه کاهش می یابد.""اطلاعات بیشتر درباره خط مشی استفاده از داده شبکه تلفن همراه شرکت مخابراتی شما"
- "پیامک پخش سلولی""پیامک پخش سلولی""پیامک پخش سلولی""پیامک پخش سلولی فعال شد"
@@ -267,15 +242,6 @@
"کره ای""چینی""عبری"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""زبان ها""وضعیت هوای محلی"
@@ -305,52 +271,25 @@
"فرصت های شغلی""فرصت های شغلی فعال شد""فرصت های شغلی غیر فعال شد"
- "پزشکی، سلامت و بیمارستان"
- "پزشکی، سلامت و بیمارستان فعال شد"
- "پزشکی، سلامت و بیمارستان غیر فعال شد"
+ "پزشکی، سلامت و بیمارستان"
+ "پزشکی، سلامت و بیمارستان فعال شد"
+ "پزشکی، سلامت و بیمارستان غیرفعال شد""اخبار فناوری""اخبار فناوری فعال شد""اخبار فناوری غیر فعال شد""دسته های متعدد""دسته های متعدد فعال شد""دسته های متعدد غیر فعال شد"
- "موارد برگزیده شبکه GSM/UMTS"
- "هنوز اجرا نشده است!"
- "موارد برگزیده شبکه GSM/UMTS"
-
- "GSM/WCDMA (حالت خودکار)"
- "فقط WCDMA"
- "فقط GSM"
- "GSM/WCDA (WCDMA برگزیده)"
-
-
- "0"
- "1"
- "2"
- "3"
- "فقط استفاده از شبکه های 2G""باتری را ذخیره می کند""انتخاب سیستم"
- "تغییر حالت رومینگ cdma"
+ "تغییر حالت رومینگ CDMA""انتخاب سیستم""فقط خانه""خودکار"
- "حالت رومینگ CDMA"
- "تغییر حالت رومینگ cdma"
- "حالت رومینگ CDMA"
-
- "فقط شبکه های خانگی"
- "شبکه های وابسته"
- "هر شبکه ای"
-
-
- "0"
- "1"
- "2"
-
+ "اشتراک CDMA""موارد برگزیده شبکه CDMA""هنوز اجرا نشده است!""موارد برگزیده شبکه CDMA"
@@ -359,21 +298,11 @@
"فقط CDMA""فقط EvDo"
-
- "0"
- "1"
- "2"
-
- "اشتراک CDMA""تغییر بین RUIM/SIM و NV""اشتراک""RUIM/SIM""NV"
-
-
- "0"
- "1""فعال کردن دستگاه""راه اندازی سرویس داده"
@@ -390,18 +319,16 @@
"مدیریت شماره های شماره گیری ثابت""تغییر پین برای دسترسی FDN""مدیریت لیست شماره تلفن"
- "رازداری صوتی"
+ "حریم خصوصی صوتی""فعال کردن حالت رازداری پیشرفته"
- "حالت TTY"
- "فعال کردن حالت TTY""حالت TTY""تنظیم حالت TTY"
- "سعی مجدد خودکار"
- "فعال کردن حالت امتحان مجدد خودکار"
+ "سعی مجدد خودکار"
+ "فعال کردن حالت سعی مجدد خودکار""افزودن مخاطب""ویرایش مخاطب""حذف مخاطب"
- "پین 2 را وارد کنید"
+ "تایپ پین 2""نام""تعداد""ذخیره"
@@ -414,56 +341,50 @@
"حذف شماره شماره گیری ثابت""در حال حذف شماره شماره گیری ثابت...""شماره شماره گیری ثابت حذف شد."
- "FDN به روز نشد: یک پین نادرست وارد کردید."
- "FDN به روز نشد: شماره نمی تواند دارای بیش از 20 رقم باشد."
+ "FDN بهروز نشد زیرا یک پین نادرست تایپ کردید."
+ "FDN بهروزرسانی نشد زیرا شماره نمیتواند بیشتر از 20 رقم باشد."
+ "FDN بهروز نشد. پین 2 اشتباه بود یا شماره تلفن رد شد.""در حال خواندن سیم کارت...""مخاطبی در سیم کارت شما موجود نیست.""انتخاب مخاطبین برای ورود"
- "برای وارد کردن مخاطبین از سیمکارتها، لطفاً حالت هواپیما را خاموش کنید."
+ "برای وارد کردن مخاطبین از سیم کارت، ابتدا حالت هواپیما را خاموش کنید.""فعال کردن/غیر فعال کردن پین سیم""تغییر پین سیم""پین سیم:""پین قدیمی""پین جدید""تأیید پین جدید"
- "پین قدیمی که تایپ کردید نادرست است. لطفاً دوباره امتحان کنید."
- "کدهای پینی که تایپ کردید مطابقت ندارند. لطفاً دوباره امتحان کنید."
+ "پین قدیمی که تایپ کردید نادرست است. دوباره امتحان کنید."
+ "پینهایی که تایپ کردید مطابقت ندارند. دوباره امتحان کنید.""یک پین 4 تا 8 رقمی را تایپ کنید.""غیر فعال کردن پین سیم کارت""فعال کردن پین سیم""لطفاً منتظر بمانید…"
- "پین سیم فعال شد"
- "پین سیم غیر فعال شد"
- "کد پینی که تایپ کردید نادرست است"
- "پین سیم با موفقیت تغییر کرد"
+ "پین سیم فعال شد."
+ "پین سیم غیر فعال شد."
+ "پینی که تایپ کردید نادرست است."
+ "پین سیم با موفقیت تغییر کرد.""رمز ورود نادرست است، سیم کارت قفل شد! PUK2 مورد نیاز است.""پین 2""پین 2 قدیمی""پین 2 جدید""تأیید پین 2 جدید"
- "PUK2 که تایپ کردید نادرست است. لطفاً دوباره امتحان کنید."
- "پین 2 قدیمی که تایپ کردید نادرست است. لطفاً دوباره امتحان کنید."
- "کدهای پین 2 که وارد کردید مطابقت ندارند. لطفاً دوباره امتحان کنید."
+ "PUK2 که تایپ کردید نادرست است. لطفاً دوباره امتحان کنید."
+ "پین 2 قدیمی که تایپ کردید نادرست است. لطفاً دوباره امتحان کنید."
+ "کدهای پین 2 که تایپ کردید با هم مطابقت ندارند. دوباره امتحان کنید.""یک کد پین 2، 4 تا 8 رقمی تایپ کنید.""یک PUK2 دارای 8 رقم را تایپ کنید."
- "پین 2 با موفقیت تغییر یافت"
+ "پین 2 با موفقیت تغییر کرد.""تایپ کد PUK2"
- "رمز ورود نادرست است، لطفاً پین 2 را تغییر داده و دوباره امتحان کنید!"
- "رمز ورود نادرست است، سیم کارت قفل شد! PUK2 مورد نیاز است."
+ "گذرواژه نادرست است، لطفاً پین 2 را تغییر داده و دوباره امتحان کنید!"
+ "گذرواژه نادرست است، سیم کارت قفل شد. PUK2 مورد نیاز است.""انجام شد""تماس کنفرانسی %s"
- "برگشت به تماس"
- "ادامه بدون سیم کارت"
- "هیچ سیم کارتی یافت نشد. لطفاً یک سیم کارت در گوشی قرار دهید."
- "رد کردن"
- "بازگشایی قفل"
- "تأیید اعتبار پین...""شماره پست صوتی""شماره گیری""در حال امتحان مجدد""تماس کنفرانسی""تماس ورودی"
- "انتظار تماس Cdma""تماس پایان یافت""در انتظار""قطع تماس"
@@ -473,7 +394,7 @@
"تماس های بی پاسخ""%s تماس بی پاسخ""تماس بی پاسخ از %s"
- "تماس فعلی (%s)"
+ "تماس جاری""در انتظار""تماس ورودی""پست صوتی جدید"
@@ -482,13 +403,15 @@
"شماره پست صوتی ناشناس""بدون سرویس""شبکه انتخابی (%s) قابل دسترس نیست"
+ "قطع تماس"
+ "پاسخ تماس"
+ "پیام""برای برقراری یک تماس، ابتدا حالت هواپیما را خاموش کنید.""در شبکه ثبت نشده است.""شبکه تلفن همراه موجود نیست.""تماس ارسال نشد، هیچ شماره معتبری وارد نشده است.""تماس ارسال نشد.""شروع ترتیب MMI..."
- "راه اندازی رشته کد ویژه""سرویس پشتیبانی نشده.""تغییر وضعیت تماس ها امکان پذیر نیست.""تفکیک تماس امکان پذیر نیست."
@@ -500,18 +423,13 @@
"تماس اضطراری""در حال روشن کردن رادیو...""خارج از منطقه سرویس، در حال امتحان مجدد..."
- "تماس ارسال نشد، %s یک شماره اضطراری نیست!"
- "تماس ارسال نشد، لطفاً یک شماره اضطراری را شماره گیری کنید!"
+ "تماس ارسال نشد. %s یک شماره اضطراری نیست!"
+ "تماس ارسال نشد، لطفاً یک شماره اضطراری را شمارهگیری کنید!""استفاده از صفحه کلید برای شماره گیری"
- "آهنگ لمس صفحه کلید""نگهداشت"
- "بازگشت به تماس""پایان""دکمه های شماره گیری"
- "پنهان کردن"
- "بلندگو""بیصدا"
- "بلوتوث""افزودن تماس""ادغام تماس ها""تعویض"
@@ -530,36 +448,31 @@
"TTY HCO""TTY VCO"
- "متن ERI"
- "آهنگ های DTMF"
+ "تونهای DTMF""تنظیم طول آهنگ های DTMF""معمولی""طولانی"
- "پیام شبکه"
+ "پیام شبکه""فعال کردن گوشی خود""برای فعال کردن سرویس گوشی خود، باید یک تماس ویژه برقرار کنید. "\n\n"بعد از فشردن \"فعال سازی\"، به دستورالعمل های ارائه شده جهت فعال کردن گوشی، گوش کنید."
- "\"فعال سازی\" را برای برقراری یک تماس ویژه که گوشی شما را در شبکه تلفن همراه شرکت مخابراتی فعال می کند، لمس کنید در این صورت می توانید تماس ها را برقرار کرده و به شبکه های داده ای تلفن همراه متصل شوید.""از مرحله فعال سازی رد می شوید؟""در صورت رد شدن از مرحله فعال سازی، نمی توانید تماسی برقرار کنید یا به شبکه های داده ای تلفن همراه متصل شوید (با این وجود می توانید به شبکه های Wi-Fi متصل شوید). تا زمانی که گوشی خود را فعال نکنید، هر بار که تلفن را روشن می کنید از شما درخواست می شود آنرا فعال کنید.""رد شدن"
- "فعال کردن""فعال کردن"
- "گوشی فعال است!"
+ "تلفن فعال است.""مشکل در فعال سازی""دستورالعمل های گویا را دنبال کنید تا زمانی که بشنوید فعال سازی انجام شد."
- "صفحه کلید""بلندگو"
- "لطفاً هنگام برنامه ریزی گوشی خود، منتظر بمانید."
- "برنامه ریزی ناموفق"
+ "هنگام برنامهریزی تلفن خود، منتظر بمانید."
+ "برنامهریزی ناموفق""گوشی شما در حال حاضر فعال است. راه اندازی سرویس ممکن است 15 دقیقه طول بکشد."
- "تلفن شما فعال نشده است. "\n"بهتر است منطقه ای با پوشش بهتر (در نزدیکی پنجره، یا خارج از ساختمان) را پیدا کنید. "\n\n"دوباره امتحان کنید یا برای اطلاع از گزینه های بیشتر، با سرویس مشتری تماس بگیرید."
+ "تلفن شما فعال نشد. "\n"ممکن است لازم باشد منطقهای با پوشش بهتر (در نزدیکی پنجره، یا خارج از ساختمان) پیدا کنید. "\n\n"دوباره امتحان کنید یا برای اطلاع از گزینههای بیشتر، با سرویس مشتری تماس بگیرید.""خطاهای SPC بسیار زیاد""برگشت""دوباره امتحان کنید""بعدی"
- "برگشت""EcmExitDialog""حالت پاسخ تماس اضطراری وارد شده""حال پاسخ تماس اضطراری"
@@ -569,87 +482,69 @@
"اتصال داده ای به مدت %s دقیقه موجود نیست"
- "گوشی به مدت %s دقیقه در حالت پاسخ تماس اضطراری خواهد بود. هنگامی که در این حالت هستید از هیچ برنامه ای با استفاده از یک اتصال داده ای نمی توانید استفاده کنید. آیا می خواهید اکنون خارج شوید؟"
- "گوشی به مدت %s دقیقه در حالت پاسخ تماس اضطراری خواهد بود. هنگامی که در این حالت هستید از هیچ برنامه ای با استفاده از یک اتصال داده ای نمی توانید استفاده کنید. آیا می خواهید اکنون خارج شوید؟"
+ "تلفن به مدت %s دقیقه در حالت پاسخ به تماسهای اضطراری خواهد بود. در این حالت برنامههایی که از اتصال داده استفاده میکنند قابل استفاده نیستند. آیا میخواهید اکنون خارج شوید؟"
+ "تلفلن به مدت %s دقیقه در حالت پاسخ به تماسهای اضطراری خواهد بود. در این حالت برنامههایی که از اتصال داده استفاده میکنند قابل استفاده نیستند. آیا میخواهید اکنون خارج شوید؟"
- "در حالت پاسخ تماس اضطراری، عملکرد انتخابی موجود نیست. تلفن به مدت %s دقیقه در این حالت خواهد بود. آیا می خواهید اکنون خارج شوید؟"
- "در حالت پاسخ تماس اضطراری، عملکرد انتخابی موجود نیست. تلفن به مدت %s دقیقه در این حالت خواهد بود. آیا می خواهید اکنون خارج شوید؟"
+ "عملکرد انتخاب شده در حالت پاسخ به تماس اضطراری در دسترس نیست. تلفن مدت %s دقیقه در این حالت است. آیا میخواهید اکنون خارج شوید؟"
+ "عمل انتخاب شده در حالت پاسخ به تماس اضطراری در دسترس نیست. تلفن مدت %s دقیقه در این حالت باقی میماند. آیا میخواهید اکنون خارج شوید؟"
- "در حین یک تماس اضطراری، عملکرد انتخابی موجود نیست"
- "خروج از حالت پاسخ تماس اضطراری"
+ "در حین یک تماس اضطراری، عملکرد انتخابی در دسترس نیست."
+ "خروج از حالت پاسخ تماس اضطراری""بله""خیر""رد کردن"
- "تنظیمات پست صوتی"
- "<تنظیم نشده>"
- "سرویس پست صوتی"
- "تنظیمات برای %s"
+ "سرویس"
+ "تنظیم"
+ "<تنظیم نشده>""سایر تنظیمات تماس"
- "شماره گیری"
- "تماس از طریق ^1"\n"^2"
- "برای پاسخگویی به سمت راست بکشید"
- "برای بی صدا کردن زنگ، به سمت چپ بکشید"
- "برای عدم پذیرش به سمت چپ بکشید"
- "برای پاسخگویی به سمت راست بکشید و"\n"تماس فعال را در انتظار نگه دارید"
- "برای پاسخگویی به سمت راست بکشید و"\n"به تماس فعال پایان دهید"
- "برای پاسخگویی به سمت راست بکشید و"\n"به تماس در حالت انتظار پایان دهید"
- "پاسخ"
- "عدم پذیرش"
+ "فراخوانی از طریق %s""عکس مخاطب""برو به خصوصی""انتخاب حساب""تنظیمات تماس اینترنتی""حساب های تماس اینترنتی (SIP)""حسابها"
- "مدیریت حسابهای تماس اینترنتی (SIP) و وضعیت آنها""دریافت تماس های ورودی""عمر باتری را کاهش می دهد"
- "پیکربندی گزینه های تماس""استفاده از تماس اینترنتی""استفاده از تماس اینترنتی (فقط Wi-Fi)""برای همه تماس ها وقتی شبکه داده در دسترس است""فقط برای تماس های اینترنتی""برای هر تماس سؤال شود""برای همه تماس ها"
- "ثبت خودکار"
- "تماس خارجی از طریق SIP""برقرار کردن تماس""استفاده از حساب تماس اینترنتی:""همیشه برای برقراری تماس های اینترنتی استفاده شود"
- "شما می توانید با انتخاب یک حساب دیگر در تنظیمات تماس اینترنتی، با استفاده از تنظیمات تماس حساب تماس اینترنتی را تغییر دهید تا هنگام برقراری تماس به طور پیش فرض استفاده شود"
+ "میتوانید حساب تماس اینترنتی را که میخواهید به صورت پیش فرض استفاده کنید از تلفن > تنظیمات > تنظیمات تماس اینترنتی> صفحه حسابها، تغییر دهید.""تماس با تلفن همراه""تماس اینترنتی""حساب تماس اینترنتی وجود ندارد"
- "هیچ حساب تماس اینترنتی روی این تلفن وجود ندارد. اکنون یکی اضافه شود؟"
+ "بر روی این تلفن حسابهای تماس اینترنتی وجود ندارد. آیا میخواهید یک مورد اضافه کنید؟""افزودن""افزودن حساب""حذف حساب""حسابهای SIP"
- "در حال ذخیره حساب..."
- "درحال حذف حساب..."
+ "در حال ذخیره حساب..."
+ "درحال حذف حساب...""ذخیره""صرفنظر""بستن نمایه""تأیید""بستن"
- "اصلی"
- "این حساب اصلی من باشد"
- "برای تماس های خارج از محدوده استفاده شد"
- "تنظیمات پیشرفته""حساب اصلی. %s""درحال بررسی وضعیت..."
- "در حال ثبت..."
- "هنوز درحال تلاش..."
- "تماس دریافتی موجود نیست"
- "ثبت حساب به دلیل عدم وجود اتصال اینترنتی متوقف شد"
- "ثبت حساب به دلیل عدم وجود اتصال Wi-Fi متوقف شد"
- "ثبت حساب ناموفق بود"
- "دریافت تماس ها"
+ "در حال ثبت..."
+ "هنوز درحال تلاش..."
+ "تماسهای دریافتی موجود نیست."
+ "ثبت حساب به دلیل عدم وجود اتصال اینترنتی متوقف شد."
+ "ثبت حساب به دلیل عدم وجود اتصال Wi-Fi متوقف شد."
+ "ثبت حساب ناموفق بود."
+ "در حال دریافت تماسها.""ثبت حساب ناموفق بود: (%s)، بعداً امتحان میشود"
- "ثبت حساب ناموفق بود: نام کاربری یا گذرواژه نادرست"
- "ثبت حساب ناموفق بود: نام سرور را بررسی کنید"
- "این حساب هم اکنون توسط %s درحال استفاده است"
+ "ثبت حساب ناموفق بود: نام کاربری یا گذرواژه نادرست است."
+ "ثبت حساب ناموفق: نام سرور را بررسی کنید."
+ "این حساب اکنون توسط برنامه %s درحال استفاده است.""جزئیات حساب SIP""جزئیات حساب SIP""سرور"
@@ -660,9 +555,6 @@
"شماره درگاه""نوع حمل و نقل""ارسال حفظ اتصال"
- "ارسال پیامهای حفظ اتصال SIP"
- "ثبت خودکار"
- "ثبت نمایه به طور خودکار""تنظیم به عنوان حساب اصلی""برای تماس های خارج از محدوده استفاده شد""تنظیمات اختیاری"
@@ -673,12 +565,12 @@
"<اختیاری>""▷ جهت نمایش همه لمس کنید""▽ جهت پنهان کردن همه لمس کنید"
- "%s لازم است، نباید خالی بماند"
- "شماره درگاه باید بین 1000 و 65534 باشد"
+ "%s ضروری است و نباید خالی بماند."
+ "شماره درگاه باید بین 1000 و 65534 باشد.""اتصال اینترنتی وجود ندارد""اتصال Wi-Fi وجود ندارد"
- "برای برقراری تماس اینترنتی، ابتدا اتصال اینترنت خود را بررسی کنید"
- "برای تماس های اینترنتی شما باید به یک شبکه Wi-Fi وصل باشید (از تنظیمات شبکه بی سیم استفاده کنید)"
+ "برای برقراری تماس اینترنتی، ابتدا اتصال اینترنت خود را بررسی کنید."
+ "برای تماسهای اینترنتی باید به یک شبکه Wi-Fi وصل باشید (از تنظیمات بیسیم و شبکه استفاده کنید).""تماس اینترنتی پشتیبانی نمی شود""خودکار""همیشه ارسال شود"
@@ -687,7 +579,7 @@
"به زودی با شما تماس می گیرم.""بعداً با شما تماس می گیرم.""اکنون نمی توانم صحبت کنم. بعداً به من زنگ می زنید؟"
- "پیام سفارشی..."
+ "پیام سفارشی""پاسخهای سریع""ویرایش پاسخهای سریع"
@@ -705,7 +597,6 @@
"ستاره""صفر""پوند"
- "جستجو""شماره گیری""Backspace""تلفن آیفوندار فعال شد."
@@ -715,9 +606,14 @@
"عدم پذیرش""لرزش""لرزش"
+ "زنگ""همیشه""فقط هنگام ساکت بودن""هرگز"
+ "آهنگ زنگ تلفن"
+ "ارتعاش هنگام زنگ زدن"
+ "صداهای پد لمسی شمارهگیری"
+ "صدای زنگ"
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 179691ff4..80128ad79 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -25,39 +25,27 @@
"Salainen numero""Puhelinautomaatti""Pidossa"
- "Nykyinen puhelu""Linja varattu""Verkko varattu""Ei vastausta, aikakatkaistiin""Palvelimeen ei saada yhteyttä""Numeroon ei saada yhteyttä""Virheellinen käyttäjänimi tai salasana"
- "Puhelu verkon ulkopuolelta"
+ "Puhelu verkon ulkopuolelta""Palvelinvirhe. Yritä myöhemmin uudelleen.""Ei signaalia""ACM-raja ylitetty""Radio pois käytöstä"
- "Ei SIM-korttia tai SIM-korttivirhe"
+ "Ei SIM-korttia tai SIM-korttivirhe""Katvealue""Sallitut numerot rajoittavat soitettavia puheluita."
- "Et voi soittaa puheluita puheluiden eston ollessa käytössä."
+ "Et voi soittaa puheluita puheluiden eston ollessa käytössä.""Käyttörajoitus rajoittaa kaikki puhelut""Käyttörajoitus rajoittaa hätäpuhelut.""Käyttörajoitus rajoittaa normaalit puhelut."
- "CDMA: Puhelin lukittu seuraavaan käynnistykseen saakka."
- "CDMA: Puhelu katkaistu."
- "CDMA: Puhelu katkaistu."
- "CDMA: reorder-virhe."
- "CDMA: palveluasetus hylätty."
- "CDMA: retry order -virhe."
- "CDMA: ei käyttöoikeutta."
- "CDMA: Ehkäisty."
- "Vain hätäpuhelut sallittu."
- "Virheellinen numero"
+ "Virheellinen numero""Puhelinneuvottelu""Puhelu katkesi."
- "Yritä uudelleen"
- "Puhelu katkesi""OK""MMI-koodi aloitettu""USSD-koodi käytössä..."
@@ -69,23 +57,14 @@
"Langalliset kuulokkeet""Bluetooth""Lähetäänkö seuraavat äänet?"\n
- "Lähetetään ääniä "\n
+ "Lähetetään ääniä"\n"Lähetä""Kyllä""Ei"
- "Korvaa jokerimerkki seuraavalla:"
+ "Muuta jokerimerkiksi""Puhelinvastaajan numero puuttuu""SIM-kortille ei ole tallennettu puhelinvastaajan numeroa.""Lisää numero"
- "Ladataan…"
- "Poista SIM-kortin lukitus antamalla PIN-koodi."
- "SIM-kortin lukitus poistettu"
- "Uusi SIM-kortin PIN-koodi"
- "Vahvista antamalla uusi SIM-kortin PIN-koodi uudelleen"
- "Antamasi SIM-kortin PIN-koodit eivät täsmää. Yritä uudelleen."
- "Poista SIM-kortin lukitus antamalla PUK-koodi."
- "Virheellinen PUK-koodi!"
- "Jatka""SIM-korttisi esto on purettu. Puhelimen lukitusta poistetaan...""SIM-verkko, PIN-koodin lukituksen poisto""Poista lukitus"
@@ -93,8 +72,6 @@
"Pyydetään verkon lukituksen poistoa...""Verkon lukituksen poistopyyntö epäonnistui.""Verkon lukituksen poisto onnistui."
- "IMEI-koodi"
- "MEID""GSM-puheluasetukset""CDMA-puheluasetukset""Tukiasemien nimet"
@@ -109,6 +86,7 @@
"Vain CDMA -puhelujen lisäasetukset""Verkkopalveluasetukset""Soittajan tunnus"
+ "Ladataan asetuksia...""Numeroa ei näytetä soitetuissa puheluissa""Numero näytetään soitetuissa puheluissa""Käytä numeroni näyttämistä soitettavissa puheluissa koskevia operaattorin oletusasetuksia"
@@ -127,17 +105,17 @@
"Soita, kun numero on varattu:""Siirretään puhelu numeroon {0}""Pois käytöstä"
- "Operaattorisi ei tue puhelujen siirtojen käytöstä poistamista puhelimesi ollessa varattu."
+ "Operaattorisi ei tue soitonsiirtojen poistamista käytöstä, kun puhelimesi on varattuna.""Siirrä puhelu, kun numero ei vastaa""Soita, kun numero ei vastaa:""Siirretään puhelu numeroon {0}""Pois käytöstä"
- "Operaattorisi ei tue puhelujen siirtojen käytöstä poistamista, kun puhelimesi ei vastaa."
+ "Operaattorisi ei tue soitonsiirtojen poistamista käytöstä, kun puhelimesi ei vastaa.""Siirrä puhelu, kun numeroon ei saada yhteyttä""Soita, kun numeroon ei saada yhteyttä:""Siirretään puhelu numeroon {0}""Pois käytöstä"
- "Operaattorisi ei tue puhelujen siirtojen käytöstä poistamista puhelimesi ollessa saavuttamattomissa."
+ "Operaattorisi ei tue soitonsiirtojen poistamista käytöstä puhelimesi ollessa saavuttamattomissa.""Puheluasetukset""Virhe puheluasetuksissa""Luetaan asetuksia…"
@@ -145,8 +123,8 @@
"Palautetaan asetuksia…""Odottamaton vastaus verkosta.""Verkko- tai SIM-korttivirhe."
- "Vain toiminnot sallitut puhelut -numeroihin sallitaan"
- "Käynnistä radio ennen näiden asetuksien tarkastelua."
+ "Puhelimesi sovelluksen sallitut numerot -toiminto on käytössä. Osa puheluihin liittyvistä ominaisuuksista ei toimi."
+ "Käynnistä radio ennen näiden asetuksien tarkastelua.""OK""Ota käyttöön""Poista käytöstä"
@@ -156,10 +134,9 @@
"Piilota numero""Näytä numero"
- "Tallenna puhelinvastaajan numero""Puhelinvastaajan numero muutettiin."
- "Puhelinvastaajan numeron vaihtaminen epäonnistui."\n"Ota yhteyttä operaattoriisi, jos ongelma ei ratkea."
- "Soitonsiirtonumeron vaihtaminen epäonnistui."\n"Ota yhteyttä operaattoriisi, jos ongelma ei ratkea."
+ "Vastaajapalvelun numeron vaihtaminen epäonnistui."\n"Ota yhteyttä operaattoriin, jos ongelma jatkuu."
+ "Soitonsiirtonumeron vaihtaminen epäonnistui."\n"Ota yhteyttä operaattoriin, jos ongelma jatkuu.""Nykyisten soitonsiirtonumeroasetuksien noutaminen ja tallentaminen epäonnistui."\n"Haluatko kuitenkin vaihtaa operaattoria?""Muutoksia ei tehty.""Valitse puhelinvastaajapalvelu"
@@ -171,14 +148,14 @@
"Verkkohaku""Virhe haettaessa verkkoja.""Rekisteröidään verkkoon %s…"
- "SIM-kortti ei anna muodostaa yhteyttä tähän verkkoon."
- "Verkkoon ei saada yhteyttä tällä hetkellä. Yritä myöhemmin uudelleen."
+ "SIM-kortti ei anna muodostaa yhteyttä tähän verkkoon."
+ "Tähän verkkoon ei saa yhteyttä juuri nyt. Yritä myöhemmin uudelleen.""Rekisteröity verkkoon."
- "Valitse verkko-operaattori"
+ "Valitse verkko-operaattori""Etsi kaikki käytettävissä olevat verkot"
- "Valitse automaattisesti"
- "Valitse ensisijainen verkko automaattisesti"
- "Automaattinen rekisteröityminen..."
+ "Valitse automaattisesti"
+ "Valitse ensisijainen verkko automaattisesti"
+ "Automaattinen rekisteröinti...""Verkkotila""Vaihda verkon käyttötilaa""Ensisijainen verkkotila"
@@ -192,17 +169,17 @@
"Ensisijainen verkkotila: vain EvDo""Ensisijainen verkkotila: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Vain EvDo""CDMA ilman EvDo"
- "CDMA / EvDo automaattinen"
- "GSM / WCDMA automaattinen"
+ "Automaattinen CDMA/EvDo"
+ "Automaattinen GSM/WCDMA""Vain WCDMA""Vain GSM"
- "GSM / WCDMA ensisijainen"
+ "Ensisijaisesti GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Tiedot käytössä"
@@ -210,12 +187,11 @@
"Verkkoyhteys roaming-tilassa""Yhdistä verkkoon roaming-tilassa""Yhdistä verkkoon roaming-tilassa"
- "Menetit verkkoyhteyden, koska poistuit kotiverkkosi alueelta eikä roaming-tilaa ole otettu käyttöön."
+ "Menetit verkkoyhteyden, koska poistuit kotiverkkosi alueelta eikä tiedonsiirron roaming-tila ole käytössä.""Sallitaanko verkkoyhteys roaming-tilassa? Roaming-maksut saattavat kasvaa suuriksi!""GSM/UMTS-asetukset""CDMA-asetukset""Tietojen käyttö"
- "Operaattorin tiedonsiirtokäytäntö""Nykyisellä jaksolla käytetyt tiedot""Tietojen käyttöjakso""Tiedonsiirtonopeuskäytäntö"
@@ -230,7 +206,6 @@
"%1$d٪ kierrosta valmis"\n"Seuraava jakso alkaa %2$d päivän kuluttua (%3$s)""Tiedonsiirtonopeus vähennetään nopeuteen %1$d kt/s, jos tiedonkäyttöraja ylitetään""Lisätietoja operaattorisi mobiiliverkon tietojenkäyttökäytännöstä"
- "Cell Broadcast -tekstiviesti""Cell Broadcast -tekstiviesti""Cell Broadcast -tekstiviesti""Cell Broadcast -tekstiviestit käytössä"
@@ -271,15 +246,6 @@
"korea""kiina""heprea"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Kielet""Paikallissää"
@@ -309,9 +275,9 @@
"Avoimet työpaikat""Avoimet työpaikat käytössä""Avoimet työpaikat pois käytöstä"
- "Lääkäri, terveys ja sairaala"
- "Lääkäri, terveys ja sairaala käytössä"
- "Lääkäri, terveys ja sairaala pois käytöstä"
+ "Lääkäri, terveys ja sairaala"
+ "Lääkäri, terveys ja sairaala käytössä"
+ "Lääkäri, terveys ja sairaala pois käytöstä""Teknologiauutiset""Teknologiauutiset käytössä""Teknologiauutiset pois käytöstä"
@@ -326,35 +292,17 @@
"Vain WCDMA""Vain GSM""GSM/WCDA (ensisijainen: WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Käytä vain 2G-verkkoja""Säästää akkua""Valitse järjestelmä"
- "Vaihda CDMA-roaming-tila"
+ "Vaihda CDMA-roaming-tila""Valitse järjestelmä""Vain kotipuhelin""Automaattinen"
- "CDMA-roaming-tila"
- "Vaihda CDMA-roaming-tila"
- "CDMA-roaming-tila"
-
- "Vain kotiverkot"
- "Yhteisverkot"
- "Kaikki verkot"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-tilaus""CDMA-verkkoasetukset""Ei vielä käytössä!""CDMA-verkkoasetukset"
@@ -363,21 +311,11 @@
"Vain CDMA""Vain EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-tilaus""Vaihda RUIM/SIM- ja NV-tilojen välillä""tilaus""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktivoi laite""Määritä tiedonsiirtopalvelu"
@@ -394,18 +332,16 @@
"Hallinnoi sallittuja numeroita""Vaihda PIN-koodi käyttääksesi sallittuja numeroita""Hallinnoi puhelinnumeroluetteloa"
- "Voicen tietosuoja"
+ "Voicen tietosuoja""Ota parannettu tietosuojatila käyttöön"
- "TTY-tila"
- "Ota TTY-tila käyttöön""TTY-tila""Aseta TTY-tila"
- "Yritä uudelleen automaattisesti"
- "Ota automaattinen uudelleenyritys -tila käyttöön"
+ "Automaattinen uudelleenyritys"
+ "Ota Automaattinen uudelleenyritys -tila käyttöön""Lisää yhteystieto""Muokkaa yhteystietoa""Poista yhteystieto"
- "Anna PIN2-koodi"
+ "Anna PIN2-koodi""Nimi""Numero""Tallenna"
@@ -418,56 +354,50 @@
"Poista sallittu numero""Poistetaan sallittua numeroa…""Sallittu numero poistettu."
- "Sallittuja numeroita ei päivitetty: antamasi PIN-koodi on virheellinen."
- "Sallittua numeroa ei päivitetty: numero ei voi olla yli 20 numeroa pitkä."
+ "Sallittuja numeroita ei päivitetty, koska annoit väärän PIN-koodin."
+ "Sallittuja numeroita ei päivitetty, sillä numerossa voi olla enintään 20 merkkiä."
+ "FDN-numeroa ei päivitetty. PIN2 on virheellinen tai puhelinnumero hylättiin.""Luetaan SIM-korttia…""SIM-kortilla ei ole yhteystietoja.""Valitse tuotavat yhteystiedot"
- "Poista lentokonetila käytöstä, jotta voit tuoda yhteystietoja SIM-kortilta."
+ "Poista lentokonetila käytöstä, niin voit tuoda yhteystietoja SIM-kortilta.""Ota SIM-kortin PIN-koodi käyttöön / poista koodi käytöstä""Vaihda SIM-kortin PIN-koodi""SIM-kortin PIN-koodi:""Vanha PIN-koodi""Uusi PIN-koodi""Vahvista uusi PIN-koodi"
- "Antamasi vanha PIN-koodi on virheellinen. Yritä uudelleen."
- "Antamasi PIN-koodit eivät täsmää. Yritä uudelleen."
+ "Annoit väärän vanhan PIN-koodin. Yritä uudelleen."
+ "Antamasi PIN-koodit eivät täsmää. Yritä uudelleen.""Anna 4–8-numeroinen PIN-koodi.""Poista SIM-kortin PIN-koodi käytöstä""Ota SIM-kortin PIN-koodi käyttöön""Odota…"
- "SIM-kortin PIN-koodi käytössä"
- "SIM-kortin PIN-koodi pois käytöstä"
- "Antamasi PIN-koodi on virheellinen"
- "SIM-kortin PIN-koodin vaihtaminen onnistui"
+ "SIM-kortin PIN-koodi käytössä."
+ "SIM-kortin PIN-koodi pois käytöstä."
+ "Annoit väärän PIN-koodin."
+ "SIM-kortin PIN-koodin vaihtaminen onnistui.""Virheellinen salasana, SIM-kortti lukittu! Anna PUK2-koodi.""PIN2""Vanha PIN2-koodi""Uusi PIN2-koodi""Vahvista uusi PIN2-koodi"
- "Antamasi PUK2-koodi on virheellinen. Yritä uudelleen."
- "Antamasi vanha PIN2-koodi on virheellinen. Yritä uudelleen."
- "Antamasi PIN2-koodit eivät täsmää. Yritä uudelleen."
+ "Antamasi PUK2-koodi on virheellinen. Yritä uudelleen."
+ "Antamasi vanha PIN2-koodi on virheellinen. Yritä uudelleen."
+ "Antamasi PIN2-koodit eivät täsmää. Yritä uudelleen.""Anna 4–8-numeroinen PIN2-koodi.""Anna 8-numeroinen PUK2-koodi."
- "PIN2-koodin vaihtaminen onnistui"
+ "PIN2-koodi vaihdettu.""Anna PUK2-koodi"
- "Virheellinen salasana, vaihda PIN2-koodi ja yritä uudelleen."
- "Virheellinen salasana, SIM-kortti lukittu! Anna PUK2-koodi."
+ "Väärä salasana. Vaihda PIN2-koodi ja yritä uudelleen."
+ "Virheellinen salasana, SIM-kortti lukittu. PUK2-koodi tarvitaan.""Valmis""Puhelinneuvottelu %s"
- "Palaa puheluun"
- "Jatka ilman SIM-korttia"
- "Ei SIM-korttia. Aseta puhelimeen SIM-kortti."
- "Hylkää"
- "Poista lukitus"
- "Varmennetaan PIN-koodia…""Puhelinvastaajan numero""Soitetaan""Yritetään uudelleen""Puhelinneuvottelu""Uusi puhelu"
- "CDMA-puhelu jonossa""Puhelu loppui""Pidossa""Katkaistaan"
@@ -477,7 +407,7 @@
"Vastaamattomat puhelut""%s vastaamatonta puhelua""Vastaamatta jäänyt puhelu numerosta %s"
- "Nykyinen puhelu (%s)"
+ "Käynnissä oleva puhelu""Pidossa""Uusi puhelu""Uusia viestejä vastaajassa"
@@ -486,13 +416,15 @@
"Puhelinvastaajan numero tuntematon""Katvealueella""Valittu verkko (%s) ei käytettävissä."
+ "Katkaise puhelu"
+ "Soita takaisin"
+ "Viesti""Poista lentokonetila käytöstä ennen puhelun soittamista.""Ei rekisteröity verkkoon.""Mobiiliverkko ei käytettävissä.""Puhelua ei soitettu, et antanut kelvollista numeroa.""Puhelua ei soitettu.""Aloitetaan MMI-koodisekvenssiä..."
- "Aloitetaan ominaisuuden koodisekvenssiä...""Palvelua ei tueta.""Puhelujen vaihto epäonnistui.""Puhelun erottaminen epäonnistui."
@@ -504,18 +436,13 @@
"Hätäpuhelu""Käynnistetään radiota…""Katvealueella, yritetään uudelleen..."
- "Puhelua ei soitettu, %s ei ole hätänumero!"
- "Puhelua ei soitettu, valitse hätänumero!"
+ "Puhelua ei soitettu. %s ei ole hätänumero!"
+ "Puhelua ei soitettu. Valitse hätänumero!""Valitse numero näppäimistöstä"
- "Kosketa ääninäppäimistöä""Pitoon"
- "Poista pidosta""Loppu""Näppäimistö"
- "Piilota"
- "Kaiutin""Äänetön"
- "Bluetooth""Lisää puhelu""Yhdistä puhelut""Vaihda"
@@ -534,36 +461,31 @@
"TTY HCO""TTY VCO"
- "ERI-teksti"
- "DTMF-äänet"
+ "DTMF-äänet""Aseta DTMF-äänien pituus""Normaali""Pitkä"
- "Verkkoviesti"
+ "Verkkoviesti""Aktivoi puhelin""Sinun täytyy soittaa erityinen puhelu aktivoidaksesi puhelimesi palvelun. "\n\n"Paina Aktivoi ja aktivoi puhelimesi kuulemiesi ohjeiden avulla."
- "Voit aktivoida puhelimesi operaattorisi mobiiliverkossa soittaaksesi puheluita ja muodostaaksesi yhteyden mobiiliverkkoihin koskettamalla Aktivoi.""Ohitetaanko aktivointi?""Jos ohitat aktivoinnin, et voi soittaa puheluita etkä muodostaa verkkoyhteyttä (voit tosin muodostaa yhteyden wifi-verkkoihin). Sinua pyydetään aktivoimaan puhelimesi aina kun käynnistät sen siihen saakka, että aktivoit sen.""Ohita"
- "Aktivoi""Aktivoi"
- "Puhelin aktivoitu!"
+ "Puhelin aktivoitu.""Aktivointiongelma""Kuuntele ohjeita ja toimi niiden mukaan, kunnes aktivointi on valmis."
- "Näppäimistö""Kaiutin"
- "Odota, puhelinta ohjelmoidaan."
- "Ohjelmointi epäonnistui"
+ "Odota, että puhelinta ohjelmoidaan."
+ "Ohjelmointi epäonnistui""Puhelimesi on nyt aktivoitu. Palvelun käynnistyminen saattaa kestää korkeintaan 15 minuuttia."
- "Puhelimesi aktivoiminen epäonnistui."\n"Suosittelemme siirtymään alueelle, jolla signaali on vahvempi (ikkunan lähelle tai ulos)."\n\n"Yritä uudelleen tai soita asiakaspalveluun saadaksesi lisäohjeita."
+ "Puhelimesi aktivoiminen epäonnistui."\n"Suosittelemme siirtymään alueelle, jolla signaali on vahvempi (ikkunan lähelle tai ulos)."\n\n"Yritä uudelleen tai pyydä lisäohjeita asiakaspalvelusta.""EXCESS SPC -VIRHEET""Takaisin""Yritä uudelleen""Seuraava"
- "Takaisin""EcmExitDialog""Käytössä hätäpuhelujen takaisinsoittotila""Hätäpuhelujen takaisinsoittotila"
@@ -573,87 +495,69 @@
"Ei verkkoyhteyttä %s minuuttiin"
- "Puhelin on hätäpuhelujen takaisinsoittotilassa %s minuuttia. Puhelimen ollessa tässä tilassa mitään verkkoyhteyttä käyttäviä sovelluksia ei voi käyttää. Haluatko poistua heti?"
- "Puhelin on hätäpuhelujen takaisinsoittotilassa %s minuuttia. Puhelimen ollessa tässä tilassa mitään verkkoyhteyttä käyttäviä sovelluksia ei voi käyttää. Haluatko poistua heti?"
+ "Puhelin on hätäpuhelujen takaisinsoittotilassa %s minuutin ajan. Tässä tilassa datayhteyttä hyödyntäviä sovelluksia ei voi käyttää. Haluatko lopettaa nyt?"
+ "Puhelin on hätäpuhelujen takaisinsoittotilassa %s minuutin ajan. Tässä tilassa datayhteyttä hyödyntäviä sovelluksia ei voi käyttää. Haluatko lopettaa nyt?"
- "Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelin on tässä tilassa %s minuutin. Haluatko poistua heti?"
- "Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelin on tässä tilassa %s minuuttia. Haluatko poistua heti?"
+ "Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelu pysyy tässä tilassa %s minuutin ajan. Haluatko poistua nyt?"
+ "Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelu pysyy tässä tilassa %s minuutin ajan. Haluatko poistua nyt?"
- "Valittu toiminto ei ole käytettävissä soitettaessa hätäpuhelua"
- "Poistutaan hätäpuhelujen takaisinsoittotilasta"
+ "Valittu toiminto ei ole käytettävissä hätäpuhelun aikana"
+ "Poistutaan hätäpuhelujen takaisinsoittotilasta""Kyllä""Ei""Hylkää"
- "Puhelinvastaajan asetukset"
- "<ei asetettu>"
- "Puhelinvastaajapalvelu"
- "%s-asetukset"
+ "Palveluntarjoaja"
+ "Asetukset"
+ "<Ei asetettu>""Muut puheluasetukset"
- "Soita"
- "Soitetaan palvelun ^1"\n"kautta (numero ^2"")"
- "Vastaa vetämällä oikealle"
- "Hiljennä soittoääni vetämällä vasemmalle"
- "Kiellä puhelu vetämällä vasemmalle"
- "Vastaa vetämällä oikealle ja"\n"aseta aktiivinen puhelu pitoon"
- "Vastaa vetämällä oikealle ja"\n"lopeta aktiivinen puhelu"
- "Vastaa vetämällä oikealle ja"\n"lopeta pidossa oleva puhelu"
- "Vastaa"
- "Hylkää"
+ "Käytetään operaattoria %s""yhteyshenkilön valokuva""muuta yksityiseksi""valitse yhteystieto""Internetpuheluiden asetukset""Internetpuhelutilit (SIP)""Tilit"
- "Hallinnoi internetpuheluiden (SIP) tilejä ja tilaa""Vastaanota saapuvia puheluita""Vähentää akun käyttöikää"
- "Määritä puheluasetukset""Käytä internetpuheluita""Käytä internetpuheluita (vain wifi)""Kaikki puhelut, kun verkko on käytettävissä""Vain internetpuhelut""Kysy aina""Kaikki puhelut"
- "Automaattinen rekisteröityminen"
- "Lähtevät puhelut SIP:n kautta""Soita puhelu""Käytä seuraavaa internetpuhelutiliä:""Käytä aina internetpuheluille"
- "Puheluasetuksien kautta voit vaihtaa internetpuhelutiliä, jota käytetään oletuksena soitettaessa puheluita, valitsemalla eri tilin internetpuheluasetuksien alta."
+ "Voit muuttaa oletuksena käytettäviä internetpuheluasetuksia valitsemalla Puhelin > Asetukset > Internetpuheluasetukset > Tilit.""Matkapuhelimen puhelu""Internetpuhelu""Ei internetpuhelutiliä"
- "Tällä puhelimella ei ole internetpuhelutilejä. Lisätäänkö tili?"
+ "Tällä puhelimella ei ole internetpuhelutilejä. Haluatko lisätä tilin nyt?""Lisää""Lisää tili""Poista tili""SIP-tilit"
- "Tallennetaan tiliä..."
- "Poistetaan tiliä..."
+ "Tallennetaan tiliä..."
+ "Poistetaan tiliä...""Tallenna""Hylkää""Sulje profiili""OK""Sulje"
- "Ensisijainen"
- "Aseta tämä ensisijaiseksi tilikseni"
- "Käytetään lähteviin puheluihin"
- "Lisäasetukset""Ensisijainen tili. %s""Tarkistetaan tilaa..."
- "Rekisteröidään..."
- "Yritetään edelleen..."
- "Ei puheluita"
- "Tilin rekisteröinti lopetettiin, koska internetyhteys ei ole käytössä"
- "Tilin rekisteröinti lopetettiin, koska wifi-yhteys ei ole käytössä"
- "Tilin rekisteröinti epäonnistui"
- "Puheluiden vastaanottaminen"
+ "Rekisteröidään..."
+ "Yritetään edelleen..."
+ "Ei saapuvia puheluita"
+ "Tilin rekisteröinti lopetettiin, koska internetyhteyttä ei ole käytettävissä."
+ "Tilin rekisteröinti lopetettiin, koska wifi-yhteyttä ei ole käytettävissä."
+ "Tilin rekisteröinti epäonnistui."
+ "Puheluiden vastaanottaminen.""Tilin rekisteröinti epäonnistui: (%s). Yritetään myöhemmin uudelleen."
- "Tilin rekisteröinti epäonnistui: virheellinen käyttäjänimi tai salasana"
- "Tilin rekisteröinti epäonnistui: tarkista palvelimen nimi"
- "Tämä on sovelluksen %s käytössä oleva tili"
+ "Tilin rekisteröinti epäonnistui: virheellinen käyttäjänimi tai salasana."
+ "Tilin rekisteröinti epäonnistui: tarkista palvelimen nimi."
+ "Tili on tällä hetkellä sovelluksen %s käytössä.""SIP-tilin tiedot""SIP-tilin tiedot""Palvelin"
@@ -664,9 +568,6 @@
"Porttinumero""Kuljetustyyppi""Lähetä tarkistusviesti"
- "Lähetä SIP-tarkistusviestejä"
- "Automaattinen rekisteröityminen"
- "Rekisteröi profiili automaattisesti""Aseta ensisijaiseksi tiliksi""Käytetään lähteviin puheluihin""Valinnaiset asetukset"
@@ -677,12 +578,12 @@
"<Valinnainen>""▷ Näytä kaikki koskettamalla""▽ Piilota kaikki koskettamalla"
- "%s vaaditaan, ei voi olla tyhjä"
- "Porttinumeron tulee olla välillä 1000–65534"
+ "%s on pakollinen, joten se ei voi olla tyhjä."
+ "Porttinumeron tulee olla väliltä 1000–65534.""Ei internetyhteyttä""Ei wifi-yhteyttä"
- "Tarkista internetyhteytesi ennen internetpuhelun soittamista"
- "Sinulla täytyy olla yhteys wifi-verkkoon soittaaksesi internetpuheluita (käytä Langaton verkko- ja verkkoasetuksia)"
+ "Tarkista internetyhteys ennen internetpuhelun soittamista."
+ "Sinulla täytyy olla yhteys wifi-verkkoon soittaaksesi internetpuheluita (käytä Langaton verkko- ja verkkoasetuksia)""Internetpuheluita ei tueta""Automaattinen""Lähetä aina"
@@ -691,7 +592,7 @@
"Soitan sinulle heti takaisin.""Soitan sinulle myöhemmin.""En voi puhua nyt. Soita myöhemmin?"
- "Oma viesti..."
+ "Oma viesti""Pikavastaukset""Muokkaa pikavastausta"
@@ -709,7 +610,6 @@
"tähti""nolla""punta"
- "haku""soita""askelpalautin""Kaiutin käytössä."
@@ -719,9 +619,14 @@
"Hylkää""Värinä""Värinä"
+ "Soittoääni""Aina""Vain äänettömässä tilassa""Ei koskaan"
+ "Puhelimen soittoääni"
+ "Värinä ja soittoääni"
+ "Valintanäppäimien näppäinäänet"
+ "Soittoääni"
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 41d48cbb1..7b30feb8e 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -25,39 +25,27 @@
"Numéro privé""Cabine téléphonique""En attente"
- "Appel en cours""Ligne occupée""Réseau occupé""Aucune réponse, délai expiré""Serveur injoignable""Numéro injoignable""Nom d\'utilisateur ou mot de passe incorrect"
- "Appel hors réseau"
+ "Appel effectué hors réseau""Erreur serveur : réessayez plus tard.""Aucun signal""Limite ACM dépassée""Signal radio désactivé"
- "Aucune carte SIM ou erreur de carte SIM"
+ "Aucune carte SIM ou erreur de carte SIM""Hors zone de couverture""Les appels sortants sont restreints par la liste de numéros autorisés."
- "Vous ne pouvez pas passer d\'appels sortants tant que l\'interdiction d\'appel est activée."
+ "Vous ne pouvez pas effectuer d\'appels sortants tant que l\'interdiction d\'appel est activée.""Tous les appels sont restreints par un contrôle d\'accès.""Les appels d\'urgence sont restreints par un contrôle d\'accès.""Les appels ordinaires sont restreints par un contrôle d\'accès."
- "CDMA : téléphone déverrouillé jusqu\'au prochain redémarrage"
- "CDMA : appel abandonné"
- "CDMA : appel intercepté"
- "CDMA : retrier"
- "CDMA : rejet de l\'option de service"
- "CDMA : nouvelle tentative de tri"
- "CDMA : échec de l\'accès."
- "CDMA : anticipé"
- "Services d\'urgence uniquement"
- "Numéro incorrect"
+ "Numéro incorrect""Conférence tél.""L\'appel a été perdu."
- "Réessayer"
- "Appel manqué""OK""Le code IHM a été lancé.""Exécution du code USSD..."
@@ -69,23 +57,14 @@
"Écouteurs filaires""Bluetooth""Envoyer les tonalités suivantes ?"\n
- "Envoi des tonalités"\n
+ "Envoi des tonalités"\n"Envoyer""Oui""Non"
- "Remplacer le caractère générique par"
+ "Remplacer le caractère générique par""Numéro de messagerie vocale manquant""Aucun numéro de messagerie vocale n\'est enregistré sur la carte SIM.""Ajouter un numéro"
- "Chargement..."
- "Saisissez un code PIN pour déverrouiller la carte SIM."
- "Carte SIM déverrouillée"
- "Nouveau code PIN de la carte SIM"
- "Saisissez une nouvelle fois le nouveau code PIN de la carte SIM pour le confirmer"
- "Les codes PIN de la carte SIM saisis ne correspondent pas. Veuillez réessayer."
- "Saisissez la clé PUK pour déverrouiller la carte SIM"
- "La clé PUK est incorrecte !"
- "Continuer""Votre carte SIM a été déverrouillée. Votre téléphone est en cours de déverrouillage...""Code PIN de déblocage du réseau SIM""Déverrouiller"
@@ -93,15 +72,13 @@
"Demande de déblocage du réseau…""Échec de la demande de déblocage du réseau.""Le réseau a bien été débloqué."
- "Code IMEI"
- "MEID""Paramètres d\'appel GSM""Paramètres d\'appel CDMA""Noms des points d\'accès""Paramètres du réseau""Messagerie vocale""MV :"
- "Opérateur de réseau"
+ "Opérateurs de réseau""Paramètres d\'appel""Autres paramètres""Autres paramètres d\'appel \"GSM uniquement\""
@@ -109,6 +86,7 @@
"Autres paramètres d\'appel \"CDMA uniquement\"""Paramètres du service réseau""Numéro de l\'appelant"
+ "Chargement des paramètres…""Numéro masqué pour les appels sortants""Numéro affiché pour les appels sortants""Utiliser les paramètres opérateur pour afficher mon numéro pour les appels sortants"
@@ -127,17 +105,17 @@
"Numéro de renvoi lorsque la ligne est occupée""Transfert vers {0}""Désactivé"
- "Votre opérateur ne prend pas en charge la désactivation du transfert d\'appel lorsque votre téléphone est occupé."
+ "Votre opérateur ne permet pas la désactivation du transfert d\'appel lorsque votre téléphone est indisponible.""Transf. si sans réponse""Numéro de renvoi lorsque vous ne répondez pas""Transfert vers {0}""Désactivé"
- "Votre opérateur ne prend pas en charge la désactivation du transfert d\'appel lorsque votre téléphone ne répond pas."
+ "Votre opérateur ne permet pas la désactivation du transfert d\'appel lorsque votre téléphone ne répond pas.""Transférer si injoignable""Numéro de renvoi si injoignable""Transfert vers {0}""Désactivé"
- "Votre opérateur ne prend pas en charge la désactivation du transfert d\'appel lorsque votre téléphone n\'est pas joignable."
+ "Votre opérateur ne permet pas la désactivation du transfert d\'appel lorsque votre téléphone n\'est pas joignable.""Paramètres d\'appel""Erreur des paramètres d\'appel""Lecture des paramètres..."
@@ -145,8 +123,8 @@
"Rétablissement des paramètres…""Réponse inattendue du réseau""Erreur de réseau ou de carte SIM."
- "Opérations réservées aux numéros autorisés"
- "Veuillez allumer le signal radio avant d\'afficher ces paramètres."
+ "Les numéros autorisés sont activés dans l\'application de votre téléphone. Par conséquent, certaines fonctionnalités d\'appel ne fonctionnent pas."
+ "Activez le signal radio avant d\'afficher ces paramètres.""OK""Activer""Désactiver"
@@ -156,10 +134,9 @@
"Masquer le numéro""Afficher le numéro"
- "Enregistrer le numéro de messagerie vocale""Le numéro de messagerie vocale a été modifié."
- "Échec de la modification du numéro de messagerie vocale."\n"Si le problème persiste, veuillez contacter votre opérateur."
- "Échec de la modification du numéro de transfert."\n"Si le problème persiste, veuillez contacter votre opérateur."
+ "Impossible de modifier le numéro de la messagerie vocale."\n"Veuillez contacter votre opérateur si le problème persiste."
+ "Impossible de modifier le numéro de transfert."\n"Veuillez contacter votre opérateur si le problème persiste.""Impossible de récupérer et d\'enregistrer les paramètres actuels du numéro de transfert."\n"Voulez-vous tout de même changer de fournisseur ?""Aucune modification n\'a été apportée.""Choisissez un service de messagerie vocale."
@@ -171,14 +148,14 @@
"Rechercher les réseaux""Une erreur s\'est produite lors de la recherche de réseaux.""Enregistrement sur %s..."
- "Votre carte SIM ne vous autorise pas à vous connecter à ce réseau."
- "Impossible de se connecter au réseau pour l\'instant. Veuillez réessayer ultérieurement."
+ "Votre carte SIM ne permet pas de vous connecter à ce réseau."
+ "Impossible de se connecter à ce réseau pour le moment. Veuillez réessayer ultérieurement.""Enregistré sur le réseau."
- "Choisir un opérateur de réseau"
+ "Sélectionner un opérateur réseau""Chercher tous les réseaux disponibles"
- "Sélection automatique"
- "Sélectionner automatiquement"
- "Enregistrement automatique…"
+ "Sélectionner automatiquement"
+ "Sélectionner automatiquement le réseau préféré"
+ "Enregistrement automatique…""Mode réseau""Changer le mode de fonctionnement du réseau""Mode réseau préféré"
@@ -192,17 +169,17 @@
"Mode réseau préféré : EvDo uniquement""Mode réseau préféré : LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""EvDo uniquement""CDMA sans EvDo"
- "CDMA/EvDo automatique"
- "GSM/WCDMA automatique"
+ "CDMA/EvDo automatique"
+ "GSM/WCDMA automatique""WCDMA uniquement""GSM uniquement"
- "GSM/WCDMA préféré"
+ "GSM/WCDMA préféré"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Données activées"
@@ -210,12 +187,11 @@
"Itinérance des données""Se connecter aux services de données lors de l\'itinérance""Se connecter aux services de données lors de l\'itinérance"
- "Vous avez été déconnecté car vous avez quitté votre réseau alors que l\'itinérance des données était désactivée."
+ "Vous avez été déconnecté, car vous avez quitté le réseau domestique et l\'itinérance des données est désactivée.""Autoriser l\'itinérance des données ? Des frais d\'itinérance importants peuvent s\'appliquer !""Options GSM/UMTS""Options CDMA""Consommation des données"
- "Règles de l\'opérateur en matière de données""Données utilisées sur la période en cours""Période d\'utilisation des données""Règles relatives au taux de transfert des données"
@@ -226,7 +202,6 @@
"%1$d ٪ du cycle écoulé"\n"La prochaine période démarre dans %2$d jours (%3$s).""Taux de transfert des données réduit à %1$d Ko/s si le plafond d\'utilisation est dépassé""Plus d\'informations sur les règles de votre opérateur mobile concernant l\'utilisation des données sur son réseau"
- "Diffusion cellulaire par SMS""Diffusion cellulaire par SMS""Cell Broadcast SMS""Option \"Diffusion cellulaire par SMS\" activée"
@@ -267,15 +242,6 @@
"Coréen""Chinois""Hébreu"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Langues""Météo locale"
@@ -305,9 +271,9 @@
"Offres d\'emploi""Option \"Offres d\'emploi\" activée""Option \"Offres d\'emploi\" désactivée"
- "Médecine, services de santé et hôpitaux"
- "Option \"Médecine, services de santé et hôpitaux\" activée"
- "Médecine, services de santé et hôpitaux"
+ "Médecine, services de santé et hôpitaux"
+ "Option \"Médecine, services de santé et hôpitaux\" activée"
+ "Option \"Médecine, services de santé et hôpitaux\" désactivée""Technologies""Option \"Nouvelles technologies\" activée""Option \"Technologies\" désactivée"
@@ -322,35 +288,17 @@
"WCDMA uniquement""GSM uniquement""GSM/WCDMA (WCDMA préféré)"
-
-
- "0"
- "1"
- "2"
- "3""Réseau 2G seulement""Économise la batterie""Sélection système"
- "Modifier le mode d\'itinérance CDMA"
+ "Modifier le mode d\'itinérance CDMA""Sélection système""Réseaux domestiques uniquement""Automatique"
- "Mode d\'itinérance CDMA"
- "Modifier le mode d\'itinérance CDMA"
- "Mode d\'itinérance CDMA"
-
- "Réseaux domestiques uniquement"
- "Réseaux affiliés"
- "N\'importe quel réseau"
-
-
- "0"
- "1"
- "2"
-
+ "Abonnement CDMA""Préférences réseau CDMA""Pas encore implémenté""Préférences réseau CDMA"
@@ -359,21 +307,11 @@
"CDMA uniquement""EvDo uniquement"
-
- "0"
- "1"
- "2"
-
- "Abonnement CDMA""Basculer entre les cartes RUIM/SIM et NV""abonnement""RUIM/SIM""NV"
-
-
- "0"
- "1""Activer le périphérique""Configurer service données"
@@ -390,18 +328,16 @@
"Gérer la liste de numéros autorisés""Modifier le code PIN pour l\'accès aux numéros autorisés""Gérer la liste des numéros de téléphone"
- "Confidentialité vocale"
+ "Confidentialité voix""Activer le mode de confidentialité amélioré"
- "Mode TTY"
- "Activer le mode TTY""Mode TTY""Définir le mode TTY"
- "Réessayer automatiquement"
- "Activer le mode Réessayer automatiquement"
+ "Réessayer automatiquement"
+ "Activer le mode Réessayer automatiquement""Ajouter un contact""Modifier le contact""Supprimer le contact"
- "Saisir le code PIN2"
+ "Saisir le code PIN2""Nom""Numéro""Enregistrer"
@@ -414,56 +350,50 @@
"Supprimer un numéro autorisé""Suppression du numéro autorisé…""Numéro autorisé supprimé"
- "Impossible de mettre à jour le numéro autorisé : le code PIN que vous avez saisi est incorrect."
- "Impossible de mettre à jour le numéro autorisé : ce type de numéro ne peut pas comporter plus de 20 chiffres."
+ "Le numéro autorisé n\'a pas été mis à jour, car vous avez saisi un code PIN incorrect."
+ "Le numéro autorisé n\'a pas été mis à jour, car il ne doit pas comporter plus de 20 chiffres."
+ "Le numéro autorisé n\'a pas été mis à jour. Soit le code PIN2 est incorrect, soit le numéro de téléphone a été rejeté.""Lecture de la carte SIM…""Aucun contact n\'a été trouvé sur votre carte SIM.""Sélection des contacts à importer"
- "Pour importer des contacts depuis la carte SIM, veuillez désactiver le mode Avion."
+ "Pour importer des contacts depuis la carte SIM, désactivez tout d\'abord le mode Avion.""Activer/désactiver le code PIN de la carte SIM""Modifier le code PIN de la carte SIM""Code PIN de la carte SIM :""Ancien code PIN""Nouveau code PIN""Confirmer le nouveau code PIN"
- "L\'ancien code PIN saisi est incorrect. Veuillez réessayer."
- "Les codes PIN saisis ne correspondent pas. Veuillez réessayer."
+ "L\'ancien code PIN saisi est incorrect. Veuillez réessayer."
+ "Les codes PIN saisis ne correspondent pas. Veuillez réessayer.""Saisissez un code PIN comprenant 4 à 8 chiffres.""Désactiver le code PIN de la carte SIM""Activer le code PIN de la carte SIM""Merci de patienter..."
- "Le code PIN de la carte SIM est activé"
- "Code PIN de la carte SIM désactivé"
- "Le code PIN saisi était incorrect."
- "Le code PIN de la carte SIM a bien été modifié."
+ "Code PIN de la carte SIM activé."
+ "Code PIN de la carte SIM désactivé."
+ "Le code PIN saisi est incorrect."
+ "Modification du code PIN de la carte SIM réussie.""Mot de passe incorrect. La carte SIM est verrouillée ! Clé PUK2 requise.""PIN2""Ancien code PIN2""Nouveau code PIN2""Confirmer le nouveau code PIN2"
- "Le code PIN2 saisi est incorrect. Veuillez réessayer."
- "L\'ancien code PIN2 saisi est incorrect. Veuillez réessayer."
- "Les codes PIN2 saisis ne correspondent pas. Merci de réessayer."
+ "La clé PUK2 saisie est incorrecte. Veuillez réessayer."
+ "L\'ancien code PIN2 saisi est incorrect. Veuillez réessayer."
+ "Les codes PIN2 saisis ne correspondent pas. Veuillez réessayer.""Saisissez un code PIN2 comprenant 4 à 8 chiffres.""Saisissez une clé PUK2 à 8 chiffres."
- "Le code PIN2 a été modifié."
+ "Modification du code PIN2 réussie.""Saisissez la clé PUK2."
- "Le mot de passe est incorrect. Veuillez modifier le code PIN2 et réessayez."
- "Mot de passe incorrect. La carte SIM est verrouillée ! Clé PUK2 requise."
+ "Le mot de passe est incorrect. Veuillez modifier le code PIN2, puis réessayer."
+ "Mot de passe incorrect. Carte SIM verrouillée. Clé PUK2 requise.""OK""Conférence téléphonique à %s"
- "Retour à l\'appel"
- "Continuer sans carte SIM"
- "Aucune carte SIM n\'a été trouvée. Insérez une carte SIM dans le téléphone."
- "Rejeter"
- "Déverrouiller"
- "Authentification du code PIN...""N° messagerie vocale""Appel en cours…""Nouvelle tentative""Conférence téléphonique""Appel entrant"
- "Appel CDMA en attente""Fin de l\'appel""En attente""Fin de l\'appel.."
@@ -473,7 +403,7 @@
"Appels manqués""%s appels manqués""Appel manqué de %s"
- "Appel en cours (%s)"
+ "Appel en cours""En attente""Appel entrant""Nouveau message vocal"
@@ -482,13 +412,15 @@
"Numéro de messagerie vocale inconnu""Aucun service""Réseau sélectionné (%s) non disponible"
+ "Raccrocher"
+ "Rappeler"
+ "Message""Veuillez d\'abord désactiver le mode Avion, afin d\'effectuer un appel.""Non enregistré sur le réseau.""Réseau mobile non disponible""L\'appel n\'a pas été effectué. Le numéro composé n\'est pas valide.""L\'appel n\'a pas été effectué.""Lancement de la séquence IHM..."
- "Lancement de la séquence de codes de service""Ce service n\'est pas pris en charge.""Impossible de changer d\'appel.""Impossible de dissocier l\'appel"
@@ -500,18 +432,13 @@
"Appel d\'urgence""Activation du signal radio...""Hors zone de couverture. Nouvelle tentative..."
- "L\'appel n\'a pas été effectué. %s n\'est pas un numéro d\'urgence !"
- "L\'appel n\'a pas été effectué. Veuillez composer un numéro d\'urgence !"
+ "L\'appel n\'a pas été effectué. %s n\'est pas un numéro d\'urgence !"
+ "Appel non effectué. Veuillez composer un numéro d\'urgence !""Utilisez le clavier pour composer un numéro."
- "Touches sonores""En attente"
- "Reprendre""Raccrocher""Clavier"
- "Masquer"
- "Ht. parleur""Silencieux"
- "Bluetooth""Autre appel""Fusionner les appels""Permuter"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Texte ERI"
- "Tonalités DTMF"
+ "Tonalités DTMF""Définir la durée des tonalités DTMF""Normales""Longues"
- "Message réseau"
+ "Message réseau""Activer votre téléphone""Vous devez passer un appel spécial pour activer le service de téléphonie. "\n\n"Après avoir appuyé sur \"Activer\", écoutez les instructions qui vous permettront d\'activer votre téléphone."
- "Touchez Activer pour passer un appel spécial qui activera votre téléphone sur le réseau mobile de votre opérateur. Vous pourrez ensuite téléphoner et vous connecter à des réseaux de données mobiles.""Ignorer l\'activation ?""Si vous poursuivez sans activer votre mobile, vous ne pourrez ni téléphoner, ni vous connecter à des réseaux de données mobiles. La connexion à un réseau Wi-Fi reste possible. Vous serez invité à effectuer l\'activation à chaque démarrage du téléphone.""Ignorer"
- "Activer""Activer"
- "Votre téléphone est activé !"
+ "Votre téléphone est activé""Problème lors de l\'activation""Suivez les instructions orales jusqu\'au bout de la procédure d\'activation."
- "Clavier""Ht. parleur"
- "Veuillez patienter pendant la programmation de votre téléphone."
- "Échec de la programmation"
+ "Veuillez patienter pendant la programmation de votre téléphone."
+ "Échec de la programmation.""Votre téléphone est désormais activé. Un délai de 15 minutes peut être nécessaire avant de démarrer le service."
- "Votre téléphone n\'a pas pu être activé. "\n"Vous devez peut-être vous déplacer vers une zone disposant d\'une meilleure couverture (près d\'une fenêtre ou à l\'extérieur). "\n\n"Réessayez ou appelez le service clientèle pour plus d\'options."
+ "Votre téléphone n\'a pas pu être activé. "\n"Il est possible que vous deviez vous déplacer vers une zone disposant d\'une meilleure couverture (près d\'une fenêtre ou à l\'extérieur)."\n\n"Veuillez réessayer ou appeler le service client pour plus d\'options.""NOMBRE EXCESSIF D\'ÉCHECS SPC""Retour""Réessayer""Suivant"
- "Précédent""EcmExitDialog""Mode de rappel d\'urgence activé""Mode de rappel d\'urgence"
@@ -569,87 +491,72 @@
"Aucune connexion de données pendant %s minutes"
- "Le téléphone sera en mode de rappel d\'urgence pendant %s minute. Dans ce mode, aucune application utilisant une connexion de données ne peut être utilisée. Souhaitez-vous quitter ce mode maintenant ?"
- "Le téléphone sera en mode de rappel d\'urgence pendant %s minutes. Dans ce mode, aucune application utilisant une connexion de données ne peut être utilisée. Souhaitez-vous quitter ce mode maintenant ?"
+ "Le mode de rappel d\'urgence sera actif sur le téléphone pendant %s minute. Tant que ce mode est actif, vous ne pouvez utiliser aucune des applications nécessitant une connexion Internet. Voulez-vous quitter maintenant ?"
+ "Le mode de rappel d\'urgence sera actif sur le téléphone pendant %s minutes. Tant que ce mode est actif, vous ne pouvez utiliser aucune des applications nécessitant une connexion Internet. Voulez-vous quitter maintenant ?"
- "L\'action sélectionnée n\'est pas disponible lorsque le téléphone est en mode de rappel d\'urgence. Ce mode restera activé pendant %s minute. Souhaitez-vous quitter dès maintenant ?"
- "L\'action sélectionnée n\'est pas disponible lorsque le téléphone est en mode de rappel d\'urgence. Ce mode restera activé pendant %s minutes. Souhaitez-vous quitter dès maintenant ?"
+ "L\'action sélectionnée n\'est pas disponible en mode de rappel d\'urgence. Ce mode sera actif sur le téléphone pendant %s minute. Voulez-vous quitter maintenant ?"
+ "L\'action sélectionnée n\'est pas disponible en mode de rappel d\'urgence. Ce mode sera actif sur le téléphone pendant %s minutes. Voulez-vous quitter maintenant ?"
- "L\'action sélectionnée n\'est pas disponible pendant un appel d\'urgence."
- "Sortie du mode de rappel d\'urgence"
+ "L\'action sélectionnée n\'est pas disponible pendant un appel d\'urgence."
+ "Sortie du mode de rappel d\'urgence…""Oui""Non""Ignorer"
- "Messagerie vocale"
- "<non défini>"
- "Service de messagerie"
- "Paramètres pour %s"
+ "Service"
+ "Configuration"
+ "<Non défini>""Autres paramètres d\'appel"
- "Composer"
- "Appel via ^1"\n"^2"
- "Déplacer vers la droite pour répondre"
- "Déplacer vers la gauche pour passer en mode silencieux"
- "Déplacer vers la gauche pour refuser"
- "Déplacer vers la droite pour répondre et"\n"mettre l\'appel en cours en attente"
- "Déplacer vers la droite pour répondre et"\n"terminer l\'appel en cours"
- "Déplacer vers la droite pour répondre et"\n"terminer l\'appel en attente"
- "Répondre"
- "Refuser"
+
+ Paramètres du clavier
+ Paramètres pour le clavier
+ "Appel via %s""photo du contact""mode privé""sélectionner un contact""Paramètres d\'appel Internet""Comptes d\'appels Internet (SIP)""Comptes"
- "Gestion des comptes d\'appels Internet (SIP) et de leur état""Recevoir les appels""Réduit la durée de vie de la batterie"
- "Configurer les options d\'appel""Passer un appel Internet""Appels Internet (Wi-Fi uniquement)""Pour tous les appels quand un réseau de données est disponible""Seulement pour les appels Internet""Demander à chaque fois""Pour tous les appels"
- "Enregistrement automatique"
- "Appel sortant via SIP""Passer un appel""Utiliser un compte de téléphonie par Internet :""Utiliser systématiquement pour passer des appels Internet"
- "Servez-vous de l\'option Paramètres d\'appels pour changer le compte SIP (appels Internet) que vous utilisez par défaut lorsque vous émettez des appels. Pour ce faire, sélectionnez un autre compte sous Paramètres d\'appels Internet."
+ "Vous pouvez changer le compte à utiliser par défaut pour les appels Internet depuis l\'écran Téléphone > Paramètres > Paramètres d\'appel Internet > Comptes.""Appel de mobile""Appel par Internet""Aucun compte de téléphonie par Internet"
- "Il n\'existe pas de compte de téléphonie par Internet sur ce téléphone. En ajouter un maintenant ?"
+ "Aucun compte d\'appels Internet sur ce téléphone. Voulez-vous en ajouter un maintenant ?""Ajouter""Ajouter un compte""Supprimer le compte""Comptes SIP"
- "Enregistrement du compte..."
- "Suppression du compte..."
+ "Enregistrement du compte…"
+ "Suppression du compte…""Enregistrer""Supprimer""Fermer le profil""OK""Fermer"
- "Principal"
- "Faire de ce compte le compte principal"
- "Utilisé pour les appels sortants"
- "Paramètres avancés""Compte principal. %s""Vérification de l\'état..."
- "Enregistrement..."
- "Tentative en cours..."
- "Réception d\'appels impossible"
- "L\'enregistrement du compte a été interrompu, car il n\'y a pas de connexion Internet."
- "L\'enregistrement du compte a été interrompu car il n\'y a pas de connexion Wi-Fi."
- "Échec de l\'enregistrement du compte."
- "Réception d\'appels"
+ "Enregistrement en cours…"
+ "Tentative en cours…"
+ "Réception d\'appels impossible."
+ "L\'enregistrement du compte a été interrompu, car il n\'y a pas de connexion Internet."
+ "La procédure d\'enregistrement du compte a été interrompue, car il n\'existe aucune connexion Wi-Fi."
+ "Échec de l\'enregistrement du compte."
+ "Réception d\'appels.""Échec de l\'enregistrement du compte : %s. Une nouvelle tentative sera effectuée ultérieurement."
- "Échec de l\'enregistrement du compte : nom d\'utilisateur ou mot de passe incorrect."
- "Échec de l\'enregistrement du compte : veuillez vérifier le nom du serveur."
- "Ce compte est actuellement utilisé par l\'application %s."
+ "Échec de l\'enregistrement du compte : nom d\'utilisateur ou mot de passe non valide."
+ "Échec de l\'enregistrement du compte : veuillez vérifier le nom du serveur."
+ "Ce compte est actuellement utilisé par l\'application %s.""Infos du compte SIP""Détails du compte SIP""Serveur"
@@ -660,9 +567,6 @@
"N° de port""Type de transport""Envoyer un keep-alive"
- "Envoyer des messages keep-alive SIP"
- "Enregistrement automatique"
- "Enregistrer le profil automatiquement""Définir comme compte principal""Utilisé pour les appels sortants""Paramètres facultatifs"
@@ -673,12 +577,12 @@
"<Facultatif>""▷ Appuyer ici pour tout afficher""▽ Appuyer ici pour tout masquer"
- "%s doit obligatoirement être renseigné"
- "Le numéro de port doit être compris entre 1000 et 65534"
+ "Le champ %s est obligatoire."
+ "Le numéro de port doit être compris entre 1000 et 65534.""Pas de connexion Internet""Aucune connexion Wi-Fi"
- "Pour passer un appel Internet, vérifiez tout d\'abord la connexion Internet."
- "Les appels Internet exigent une connexion Wi-Fi (celle-ci peut être activée sous Paramètres > Sans fil et réseaux)"
+ "Pour effectuer un appel Internet, vérifiez tout d\'abord la connexion Internet."
+ "Les appels Internet nécessitent une connexion Wi-Fi pouvant être activée dans les paramètres \"Sans fil et réseaux\".""Appels Internet non pris en charge""Automatique""Toujours envoyer"
@@ -687,7 +591,7 @@
"Je te rappelle tout de suite.""Je t\'appellerai plus tard.""Peux pas parler. On se rappelle ?"
- "Message personnalisé..."
+ "Message personnalisé""Réponses rapides""Modifier les réponses rapides"
@@ -705,7 +609,6 @@
"étoile""zéro""dièse"
- "rechercher""composer""retour arrière""Haut-parleur activé"
@@ -715,9 +618,41 @@
"Refuser""Vibreur""Vibreur"
+ "Sonnerie""Toujours"
- "En mode silencieux"
+ "Uniquement en mode silencieux""Jamais"
+ "Sonnerie du téléphone"
+ "Mode Vibreur lorsque le téléphone sonne"
+ "Numérotation sonore"
+ "Sonnerie"
+
+
+ Qualité d\'écoute
+ Utiliser un filtre audio pour améliorer la qualité d\'écoute
+ Normal
+ Claire
+ Nette
+ Vive
+
+ Changer la technologie réseau (2G/3G)
+ Les applications possédant cette permission peuvent à chaque instant changer entre les technologies 2G et 3G. La 3G est plus rapide, consomme plus de batterie, et peut également vous coûter plus
+
+ Suppression du bruit
+ Activer la suppression du bruit ambiant pour les appels
+
+ Mon numéro de téléphone
+ Définir le numéro de téléphone de cet appareil
+ Paramètres avancés
+ Gardez le capteur de proximité activé
+ Ne pas désactiver le capteur de proximité au cours d\'un appel si des écouteurs sont connectés
+ Verrouiller lorsque l\'appel se termine
+ Verrouiller automatiquement l\'écran en fin d\'appel lorsque l\'écran est éteint
+ Vibrer sur réponse
+ Vibrer régulièrement
+ Vibration à la 45ème seconde de chaque minute quand la communication est établie
+ Vibrer en fin d\'appel
+ Vibrer sur double appel
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f465e568c..6d052592b 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -25,39 +25,27 @@
"निजी नंबर""सशुल्क फ़ोन""होल्ड पर"
- "वर्तमान कॉल""लाइन व्यस्त""नेटवर्क व्यस्त""कोई प्रतिसाद नहीं, समयबाह्य""सर्वर पहुंच योग्य नहीं है""नंबर पहुंच योग्य नहीं है""गलत उपयोगकर्ता नाम या पासवर्ड"
- "नेटवर्क के बाहर से कॉल किया गया"
+ "नेटवर्क के बाहर से कॉल किया गया""सर्वर त्रुटि. बाद में पुन: प्रयास करें.""कोई सिग्नल नहीं""ACM सीमा पार हो गई""रेडियो बंद"
- "सिम नहीं, या सिम त्रुटि"
+ "कोई सिम नहीं या सिम त्रुटि""सेवा क्षेत्र के बाहर""आउटगोइंग कॉल FDN द्वारा प्रतिबंधित हैं."
- "जब बारिंग चालू हो, तो आप आउटगोइंग कॉल नहीं कर सकते."
+ "जब कॉल अवरोधन चालू हो, तो आप आउटगोइंग कॉल नहीं कर सकते.""सभी कॉल पहुंच नियंत्रण द्वारा प्रतिबंधित हैं.""आपातकालीन कॉल पहुंच नियंत्रण द्वारा प्रतिबंधित किए गए हैं.""सामान्य कॉल पहुंच नियंत्रण द्वारा प्रतिबंधित हैं."
- "CDMA: बंद-शुरू करने तक फ़ोन लॉक किया गया."
- "CDMA: कॉल ड्रॉप हो गई."
- "CDMA: कॉल बीच में रोकी गई."
- "CDMA: पुनः क्रमित करना."
- "CDMA: सेवा विकल्प अस्वीकृत."
- "CDMA: पुनर्प्रयास क्रम."
- "CDMA: पहुंच विफल."
- "CDMA: पूर्वाधिकृत."
- "केवल आपातकालीन कॉल संभव हैं."
- "अमान्य नंबर"
+ "अमान्य नंबर""कॉन्फ़्रेंस कॉल""कॉल कट चुकी है."
- "पुन: प्रयास करें"
- "कॉल कट गई""ठीक""MMI कोड प्रारंभ किया गया""USSD कोड चल रहा है…"
@@ -69,32 +57,21 @@
"वायर वाला हेडसेट""Bluetooth""निम्न टोन भेजें?"\n
- "प्रेषण टोन"\n
+ "भेजने वाली टोन"\n"भेजें""हां""नहीं"
- "वाइल्ड वर्ण को इससे प्रतिस्थापित करें"
+ "वाइल्ड वर्ण को इससे बदलें:""गुम ध्वनिमेल नंबर""सिम कार्ड पर कोई ध्वनिमेल नंबर संग्रहीत नहीं है.""नंबर जोड़ें"
- "लोड हो रहा है..."
- "सिम कार्ड अनलॉक करने के लिए पिन कोड टाइप करें."
- "सिम अनलॉक की गई"
- "नया सिम पिन कोड"
- "पुष्टि करने के लिए नया सिम पिन कोड पुनः टाइप करें"
- "आपके द्वारा टाइप किया गया सिम पिन मेल नहीं खाता है. कृपया पुनः प्रयास करें."
- "सिम कार्ड अनलॉक करने के लिए PUK कोड टाइप करें"
- "गलत PUK कोड!"
- "जारी रखें""आपका सिम कार्ड अनब्लॉक कर दिया गया है. आपका फ़ोन अनलॉक किया जा रहा है...""सिम नेटवर्क अनलॉक पिन""अनब्लॉक करें"
- "ख़ारिज करें"
+ "खारिज करें""नेटवर्क अनलॉक के लिए अनुरोध कर रहा है...""नेटवर्क अनलॉक अनुरोध असफल.""नेटवर्क अनलॉक सफल रहा."
- "IMEI"
- "MEID""GSM कॉल सेटिंग""CDMA कॉल सेटिंग""पहुंच बिंदु नाम"
@@ -109,6 +86,7 @@
"अतिरिक्त केवल CDMA कॉल सेटिंग""नेटवर्क सेवा सेटिंग""कॉलर आईडी"
+ "सेटिंग लोड हो रही हैं…""आउटगोइंग कॉल में छुपे नंबर""आउटगोइंग कॉल में प्रदर्शित किया गया नंबर""आउटगोइंग कॉल में मेरा नंबर दिखाने के लिए डिफ़ॉल्ट ऑपरेटर सेटिंग का उपयोग करें"
@@ -127,17 +105,17 @@
"व्यस्त रहते समय नंबर""{0} को अग्रेषित कर रहा है""अक्षम की गई"
- "आपका फ़ोन व्यस्त होने पर आपका वाहक कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता."
+ "जब आपका फ़ोन व्यस्त हो, तो आपका ऑपरेटर कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता.""अनुत्तरित होने पर अग्रेषित करें""अनुत्तरित होने पर नंबर""{0} को अग्रेषित कर रहा है""अक्षम की गई"
- "आपके फ़ोन के उत्तर न देने पर आपका वाहक कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता."
+ "जब आपका फ़ोन उत्तर न दे, तो आपका ऑपरेटर कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता.""पहुंच योग्य न होने पर अग्रेषित करें""पहुंच योग्य न होने पर नंबर""{0} को अग्रेषित कर रहा है""अक्षम की गई"
- "जब आपका फ़ोन पहुंच योग्य न हो, तो आपका वाहक कॉल-अग्रेषण अक्षम करने का समर्थन नहीं करता."
+ "जब आपका फ़ोन पहुंच योग्य न हो, तो आपका वाहक कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता.""कॉल सेटिंग""कॉल सेटिंग त्रुटि""सेटिंग पढ़ रहा है..."
@@ -145,8 +123,8 @@
"सेटिंग वापस ला रहा है...""नेटवर्क से अनपेक्षित प्रतिसाद.""नेटवर्क या सिम कार्ड त्रुटि."
- "संचालन की अनुमति केवल फ़िक्स्ड डायलिंग नंबर पर ही है."
- "कृपया इन सेटिंग को देखने के पहले रेडियो चालू करें."
+ "आपके फ़ोन एप्लिकेशन की फ़िक्स्ड डायलिंग नंबर सेटिंग चालू है. इसके परिणामस्वरूप, कॉल से संबंधित कुछ सुविधाएं कार्य नहीं कर रही हैं."
+ "इन सेटिंग को देखने के पहले रेडियो चालू करें.""ठीक""सक्षम करें""अक्षम करें"
@@ -156,10 +134,9 @@
"नंबर छुपाएं""नंबर दिखाएं"
- "ध्वनिमेल नंबर सहेजें""ध्वनिमेल नंबर बदला गया."
- "ध्वनिमेल नंबर परिवर्तन असफल."\n"यदि यह समस्या बनी रहती है, तो कृपया अपने वाहक से संपर्क करें."
- "अग्रेषण नंबर परिवर्तन असफल."\n"यदि यह समस्या बनी रहती है, तो अपने वाहक से संपर्क करें."
+ "ध्वनिमेल नंबर बदला नहीं जा सका."\n"यदि यह समस्या बनी रहती है, तो अपने वाहक से संपर्क करें."
+ "अग्रेषण नंबर बदला नहीं जा सका."\n"यदि यह समस्या बनी रहती है, तो अपने वाहक से संपर्क करें.""वर्तमान अग्रेषण संख्या सेटिंग पुनर्प्राप्त नही की जा सकी और सहेजी नहीं जा सकी."\n"किसी भी तरह नए प्रदाता पर स्विच करें?""कोई परिवर्तन नहीं किए गए.""ध्वनिमेल सेवा चुनें"
@@ -171,14 +148,14 @@
"नेटवर्क खोजें""नेटवर्क खोज के दौरान त्रुटि.""%s पर पंजीकरण कर रहा है…"
- "आपका सिम कार्ड इस नेटवर्क पर कनेक्शन की अनुमति नहीं देता है."
- "इस समय इस नेटवर्क से कनेक्ट करने में असमर्थ. कृपया बाद में पुनः प्रयास करें."
+ "आपका सिम कार्ड इस नेटवर्क पर कनेक्शन की अनुमति नहीं देता है."
+ "अभी इस नेटवर्क से कनेक्ट नहीं कर सकते. बाद में पुन: प्रयास करें.""नेटवर्क पर पंजीकृत."
- "किसी नेटवर्क ऑपरेटर का चयन करें"
+ "कोई नेटवर्क ऑपरेटर चुनें""सभी उपलब्ध नेटवर्क खोजें"
- "स्वचालित रूप से चयन करें"
- "पसंदीदा नेटवर्क का स्वचालित रूप से चयन करें"
- "स्वचालित पंजीकरण..."
+ "स्वचालित रूप से चुनें"
+ "पसंदीदा नेटवर्क स्वचालित रूप से चुनें"
+ "स्वचालित पंजीकरण...""नेटवर्क मोड""नेटवर्क संचालन मोड बदलें""पसंदीदा नेटवर्क मोड"
@@ -192,17 +169,17 @@
"पसंदीदा नेटवर्क मोड: केवल EvDo""पसंदीदा नेटवर्क मोड: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""केवल EvDo""CDMA w/o EvDo"
- "CDMA / EvDo स्वतः"
- "GSM / WCDMA स्वतः"
+ "CDMA/EvDo स्वतः"
+ "GSM/WCDMA स्वत:""केवल WCDMA""केवल GSM"
- "GSM / WCDMA पसंदीदा"
+ "GSM/WCDMA पसंदीदा"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""डेटा सक्षम किया गया"
@@ -210,12 +187,11 @@
"डेटा रोमिंग""रोमिंग के समय डेटा सेवाएं कनेक्ट करें""रोमिंग के समय डेटा सेवाएं कनेक्ट करें"
- "आपने डेटा कनेक्टिविटी खो दी है क्योंकि आपने डेटा रोमिंग बंद रखकर अपना होम नेटवर्क छोड़ दिया."
+ "आपकी डेटा कनेक्टिविटी खो गई है क्योंकि आप डेटा रोमिंग बंद करके अपने होम नेटवर्क से बाहर आ गए हैं.""डेटा रोमिंग की अनुमति दें? आपको रोमिंग शुल्क लग सकते हैं!""GSM/UMTS विकल्प""CDMA विकल्प""डेटा उपयोग"
- "वाहक डेटा नीति""वर्तमान अवधि में उपयोग किया गया डेटा""डेटा उपयोग अवधि""डेटा दर नीति"
@@ -226,7 +202,6 @@
"चक्र का %1$d٪ बीत चुका है"\n"अगली अवधि %2$d दिन में आरंभ होगी (%3$s)""यदि डेटा उपयोग की सीमा पार होती है, तो डेटा दर %1$d Kb/s तक कम हो जाती है.""आपके वाहक की मोबाइल नेटवर्क डेटा उपयोग नीति के बारे में अधिक जानकारी"
- "सेल प्रसारण SMS""सेल प्रसारण SMS""सेल प्रसारण SMS""सेल प्रसारण SMS सक्षम किया गया"
@@ -267,15 +242,6 @@
"कोरियाई""चीनी""हिब्रू"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""भाषाएं""स्थानीय मौसम"
@@ -305,9 +271,9 @@
"रोज़गार के अवसर""रोज़गार के अवसर सक्षम किए गए""रोज़गार के अवसर अक्षम किए गए"
- "चिकित्सा, स्वास्थ्य और अस्पताल"
- "चिकित्सा, स्वास्थ्य और अस्पताल सक्षम किए गए"
- "चिकित्सा, स्वास्थ्य और अस्पताल अक्षम किए गए"
+ "चिकित्सा, स्वास्थ्य और अस्पताल"
+ "चिकित्सा, स्वास्थ्य और अस्पताल सक्षम"
+ "चिकित्सा, स्वास्थ्य और अस्पताल अक्षम""तकनीकी समाचार""तकनीकी समाचार सक्षम किए गए""तकनीकी समाचार अक्षम किए गए"
@@ -322,35 +288,17 @@
"केवल WCDMA""केवल GSM""GSM/WCDA (WCDMA पसंदीदा)"
-
-
- "0"
- "1"
- "2"
- "3""केवल 2G नेटवर्क का उपयोग करें""बैटरी बचाता है""सिस्टम चयन"
- "cdma रोमिंग मोड बदलें"
+ "CDMA रोमिंग मोड बदलें""सिस्टम चयन""केवल होम""स्वचालित"
- "CDMA रोमिंग मोड"
- "cdma रोमिंग मोड बदलें"
- "CDMA रोमिंग मोड"
-
- "केवल होम नेटवर्क"
- "संबद्ध नेटवर्क"
- "कोई भी नेटवर्क"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA सदस्यता""CDMA नेटवर्क प्राथमिकताएं""अभी तक लागू नहीं!""CDMA नेटवर्क प्राथमिकताएं"
@@ -359,21 +307,11 @@
"केवल CDMA""केवल EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA ग्राहकी""RUIM/सिम और NV के बीच बदलें""ग्राहकी""RUIM/सिम""NV"
-
-
- "0"
- "1""उपकरण सक्रिय करें""डेटा सेवा सेट करें"
@@ -390,18 +328,16 @@
"फ़िक्स्ड डायलिंग नंबर प्रबंधित करें""FDN पहुंच के लिए पिन बदलें""फ़ोन नंबर सूची प्रबंधित करें"
- "ध्वनि गोपनीयता"
+ "ध्वनि गोपनीयता""उन्नत गोपनीयता मोड सक्षम करें"
- "TTY मोड"
- "TTY मोड सक्षम करें""TTY मोड""TTY मोड सेट करें"
- "स्वतः पुनर्प्रयास"
- "स्वतः पुन: प्रयास मोड सक्षम करें"
+ "स्वतः पुन: प्रयास"
+ "स्वतः पुन: प्रयास मोड सक्षम करें""संपर्क जोड़ें""संपर्क संपादित करें""संपर्क हटाएं"
- "पिन2 दर्ज करें"
+ "पिन2 लिखें""नाम""नंबर""सहेजें"
@@ -414,56 +350,50 @@
"फ़िक्स्ड डायलिंग नंबर हटाएं""फ़िक्स्ड डायलिंग नंबर हटा रहा है...""फ़िक्स्ड डायलिंग नंबर हटाया गया."
- "FDN अपडेट नहीं किया गया: आपने गलत पिन दर्ज किया है."
- "FDN अपडेट नहीं किया गया: नंबर 20 अंकों से अधिक नहीं हो सकता."
+ "FDN अपडेट नहीं किया गया था क्योंकि आपने गलत पिन लिखा है."
+ "FDN अपडेट नहीं था क्योंकि नंबर में 20 से अधिक अंक नहीं हो सकते."
+ "FDN अपडेट नहीं किया गया था. PIN2 गलत था, या फ़ोन नंबर अस्वीकृत था.""सिम कार्ड से पढ़ रहा है…""आपके सिम कार्ड पर कोई संपर्क नहीं है.""आयात करने के लिए संपर्कों का चयन करें"
- "सिम कार्ड से संपर्क आयात करने के लिए, कृपया हवाई जहाज़ मोड बंद करें."
+ "सिम कार्ड से संपर्क आयात करने के लिए, पहले हवाई जहाज़ मोड बंद करें.""सिम पिन सक्षम/अक्षम करें""सिम पिन बदलें""सिम पिन:""पुराना पिन""नया पिन""नए पिन की पुष्टि करें"
- "आपके द्वारा टाइप किया गया पुराना पिन सही नहीं है. कृपया पुनः प्रयास करें."
- "आपके द्वारा दर्ज किया गया पिन मेल नहीं खाता. कृपया पुनः प्रयास करें."
+ "आपके द्वारा लिखा गया पुराना पिन सही नहीं है. पुनः प्रयास करें."
+ "आपके द्वारा लिखे गए पिन का मिलान नहीं होता. पुनः प्रयास करें.""कोई ऐसा पिन लिखें, जिसमें 4 से 8 अंक हों.""सिम पिन अक्षम करें""सिम पिन सक्षम करें""कृपया प्रतीक्षा करें..."
- "सिम पिन सक्षम किया गया"
- "सिम पिन अक्षम किया गया"
- "आपके द्वारा टाइप किया गया पिन गलत है"
- "सिम पिन सफलतापूर्वक बदला गया"
+ "सिम पिन सक्षम"
+ "सिम पिन अक्षम"
+ "आपके द्वारा लिखा गया पिन गलत था."
+ "सिम पिन सफलतापूर्वक बदला गया.""पासवर्ड गलत, सिम लॉक की गई है! PUK2 का अनुरोध किया गया है.""पिन2""पुराना पिन2""नया पिन2""नए पिन2 की पुष्टि करें"
- "आपके द्वारा टाइप किया गया PUK2 सही नहीं है. कृपया पुनः प्रयास करें."
- "आपके द्वारा टाइप किया गया पुराना पिन2 सही नहीं है. कृपया पुनः प्रयास करें."
- "आपके द्वारा दर्ज पिन2 मेल नहीं खाती है. कृपया पुनः प्रयास करें."
+ "आपके द्वारा लिखा गया PUK2 सही नहीं है. पुनः प्रयास करें."
+ "आपके द्वारा लिखा गया पुराना पिन2 सही नहीं है. पुनः प्रयास करें."
+ "आपके द्वारा लिखे गए पिन2 का मिलान नहीं होता. पुनः प्रयास करें.""पिन2 टाइप करें जो 4 से 8 नंबर की हो.""वह PUK2 टाइप करें जिसमें 8 नंबर हों."
- "पिन2 सफलतापूर्वक बदला गया"
+ "पिन2 सफलतापूर्वक बदला गया""PUK2 कोड टाइप करें"
- "पासवर्ड गलत, कृपया पिन2 बदलें और पुनः प्रयास करें!"
- "पासवर्ड गलत, सिम लॉक की गई है! PUK2 का अनुरोध किया गया है."
+ "पासवर्ड गलत. पिन2 बदलें और पुनः प्रयास करें."
+ "पासवर्ड गलत है, सिम लॉक हो गया है. PUK2 का अनुरोध किया गया.""पूर्ण""कॉन्फ़्रेंस कॉल %s"
- "कॉल पर वापस जाएं"
- "सिम कार्ड के बिना जारी रखें"
- "कोई सिम कार्ड नहीं मिला. कृपया फ़ोन में सिम कार्ड डालें."
- "ख़ारिज करें"
- "अनलॉक करें"
- "पिन प्रमाणीकृत कर रहा है…""ध्वनिमेल नबंर""डायल कर रहा है""पुनः प्रयास कर रहा है""कॉन्फ़्रेंस कॉल""इनकमिंग कॉल"
- "Cdma कॉलप्रतीक्षा""कॉल समाप्त""होल्ड पर""बंद कर रहा है"
@@ -473,7 +403,7 @@
"छूटी कॉल""%s छूटी कॉल""%s की कॉल छूटी"
- "वर्तमान कॉल (%s)"
+ "चल रही कॉल""होल्ड पर""इनकमिंग कॉल""नया ध्वनिमेल"
@@ -482,13 +412,15 @@
"ध्वनिमेल नंबर अज्ञात""कोई सेवा नहीं""चयनित नेटवर्क (%s) अनुपलब्ध"
+ "समाप्त करें"
+ "वापस कॉल करें"
+ "संदेश""कॉल करने के लिए, पहले विमान मोड बंद करें.""नेटवर्क पर पंजीकृत नहीं.""मोबाइल नेटवर्क उपलब्ध नहीं.""कॉल नहीं भेजी गई, कोई मान्य नंबर दर्ज नहीं किया गया.""कॉल नहीं भेजी गई.""MMI अनुक्रम प्रारंभ हो रहा है…"
- "सुविधा कोड अनुक्रम प्रारंभ कर रहा है...""असमर्थित सेवा.""कॉल स्विच करने में असमर्थ.""कॉल पृथक करने में असमर्थ."
@@ -500,18 +432,13 @@
"आपातकालीन कॉल""रेडियो चालू कर रहा है...""सेवा क्षेत्र के बाहर, पुनः प्रयास कर रहा है..."
- "कॉल नहीं भेजी गई, %s कोई आपातकालीन नंबर नहीं है!"
- "कॉल नहीं भेजी गई, कृपया कोई आपातकालीन नंबर डायल करें!"
+ "कॉल नहीं भेजा गया, %s कोई आपातकालीन नंबर नहीं है!"
+ "कॉल नहीं भेजा गया. कोई आपातकालीन नंबर डायल करें!""डायल करने के लिए कीबोर्ड का उपयोग करें"
- "टच टोन कीपैड""होल्ड करें"
- "अनहोल्ड करें""समाप्त""डायलपैड"
- "छुपाएं"
- "स्पीकर""म्यूट करें"
- "Bluetooth""कॉल जोड़ें""कॉल मर्ज करें""स्वैप करें"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI पाठ"
- "DTMF टोन"
+ "DTMF टोन""DTMF टोन की लंबाई सेट करें""सामान्य""लंबा"
- "नेटवर्क संदेश"
+ "नेटवर्क संदेश""अपना फ़ोन सक्रिय करें""आपकी फ़ोन सेवा को सक्रिय करने के लिए एक विशेष कॉल करने की आवश्यकता है. "\n\n"\"सक्रिय करें\" दबाने के बाद, अपने फ़ोन को सक्रिय करने के लिए दिए जाने वाले निर्देश सुनें."
- "कोई विशेष कॉल करने के लिए \"सक्रिय करें\" स्पर्श करें, जो आपके फ़ोन को आपके वाहक के मोबाइल नेटवर्क पर सक्रिय कर देता है, ताकि आप कॉल कर सकें और मोबाइल डेटा नेटवर्क से कनेक्ट हो सकें.""सक्रियण छोड़ें?""यदि आप सक्रियण छोड़ देते हैं, तो आप कॉल नहीं कर सकते या मोबाइल डेटा नेटवर्क से कनेक्ट (हालांकि आप Wi-Fi नेटवर्क से कनेक्ट हो सकते हैं) नहीं हो सकते हैं. जब तक आप अपने फ़ोन को सक्रिय नहीं करते, आपको प्रत्येक बार उसे चालू करने पर उसे सक्रिय करने के लिए कहा जाएगा.""छोड़ें"
- "सक्रिय करें""सक्रिय करें"
- "फ़ोन सक्रिय किया गया!"
+ "फ़ोन सक्रिय हो गया.""सक्रियण में समस्या""जब तक आप यह न सुनें कि सक्रियण पूर्ण हो गया है, कहे गए निर्देशों का पालन करें."
- "कीपैड""स्पीकर"
- "कृपया आपके फ़ोन को प्रोग्राम किए जाते समय प्रतीक्षा करें."
- "प्रोग्रामिंग असफल"
+ "जब तक आपका फ़ोन प्रोग्राम हो, प्रतीक्षा करें."
+ "प्रोग्रामिंग विफल""आपका फ़ोन अब सक्रिय कर दिया गया है. सेवा को आरंभ होने में 15 मिनट तक लग सकते हैं."
- "आपका फ़ोन सक्रिय नहीं हुआ. "\n"आपको बेहतर कवरेज वाले किसी क्षेत्र (खिड़की के पास या बाहर) में जाने की जरूरत हो सकती है. "\n\n"पुनः प्रयास करें या अधिक विकल्पों के लिए ग्राहक सेवा को कॉल करें."
+ "आपका फ़ोन सक्रिय नहीं हुआ. "\n"आपको बेहतर कवरेज वाले किसी क्षेत्र (खिड़की के पास या बाहर) में जाने की आवश्यकता हो सकती है. "\n\n"पुनः प्रयास करें या अधिक विकल्पों के लिए ग्राहक सेवा को कॉल करें.""अतिरिक्त SPC विफलताएं""वापस जाएं""पुन: प्रयास करें""अगला"
- "वापस जाएं""EcmExitDialog""आपातकालीन कॉलबैक मोड में प्रविष्ट हुए""आपातकालीन कॉलबैक मोड"
@@ -569,87 +491,69 @@
"%s मिनट के लिए कोई डेटा कनेक्शन नहीं"
- "फ़ोन %s मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा. इस मोड में होने पर डेटा कनेक्शन का उपयोग करने वाली किसी भी एप्लिकेशन का उपयोग नहीं किया जा सकता. क्या आप अभी बाहर निकलना चाहते हैं?"
- "फ़ोन %s मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा. इस मोड में रहते समय डेटा कनेक्शन का उपयोग करने वाली किसी भी एप्लिकेशन का उपयोग नहीं किया जा सकता. क्या आप अभी बाहर निकलना चाहते हैं?"
+ "फ़ोन %s मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा. हालांकि, इस मोड में होने पर डेटा कनेक्शन का उपयोग करने वाले किसी एप्लिकेशन का उपयोग नहीं किया जा सकता. क्या आप अभी बाहर निकलना चाहते हैं?"
+ "फ़ोन %s मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा. हालांकि, इस मोड में होने पर डेटा कनेक्शन का उपयोग करने वाले किसी एप्लिकेशन का उपयोग नहीं किया जा सकता. क्या आप अभी बाहर निकलना चाहते हैं?"
- "आपातकालीन कॉलबैक मोड में होने पर चयनित क्रिया उपलब्ध नहीं है. फ़ोन %s मिनट तक इस मोड में रहेगा. क्या अभी आप बाहर निकलना चाहते हैं?"
- "चयनित क्रिया आपातकालीन कॉलबैक मोड में रहते समय उपलब्ध नहीं है. फ़ोन इस मोड में %s मिनट तक रहेगा. क्या आप बाहर निकलना चाहते है?"
+ "आपातकालीन कॉलबैक मोड के समय चयनित क्रिया उपलब्ध नहीं है. फ़ोन %s मिनट तक इस मोड में रहेगा. क्या आप अभी बाहर निकलना चाहते हैं?"
+ "आपातकालीन कॉलबैक मोड के समय चयनित क्रिया उपलब्ध नहीं है. फ़ोन %s मिनट तक इस मोड में रहेगा. क्या आप अभी बाहर निकलना चाहते हैं?"
- "आपातकालीन कॉल में रहते समय चयनित क्रिया उपलब्ध नहीं है"
- "आपातकालीन कॉलबैक मोड से बाहर निकल रहा है"
+ "आपातकालीन कॉल के समय चयनित क्रिया उपलब्ध नहीं होती है."
+ "आपातकालीन कॉलबैक मोड से बाहर निकल रहा है""हां""नहीं"
- "ख़ारिज करें"
- "ध्वनिमेल सेटिंग"
- "<सेट नहीं है>"
- "ध्वनिमेल सेवा"
- "%s के लिए सेटिंग"
+ "खारिज करें"
+ "सेवा"
+ "सेटअप"
+ "<सेट नहीं है>""अन्य कॉल सेटिंग"
- "डायल करें"
- "^1"\n"^2"" द्वारा कॉल कर रहा है"
- "उत्तर देने के लिए दाएं खींचें"
- "रिंगर मौन करने के लिए बाएं खींचें"
- "अस्वीकार करने के लिए बाएं खींचें"
- "उत्तर देने के लिए दाएं खींचें और सक्रिय कॉल"\n"होल्ड करें"
- "उत्तर देने के लिए दाएं खींचें और"\n"सक्रिय कॉल समाप्त करें"
- "उत्तर देने के लिए दाएं खींचें और होल्ड पर रखी गई कॉल"\n"समाप्त करें"
- "उत्तर दें"
- "अस्वीकारें"
+ "%s के माध्यम से कॉल किया जा रहा है""संपर्क का फ़ोटो""निजी हो जाएं""संपर्क का चयन करें""इंटरनेट कॉल सेटिंग""इंटरनेट कॉलिंग (SIP) खाते""खाते"
- "इंटरनेट कॉलिंग (SIP) खाते और स्थिति प्रबंधित करें""इनकमिंग कॉल प्राप्त करें""बैटरी का जीवनकाल कम करता है"
- "कॉल विकल्प कॉन्फ़िगर करें""इंटरनेट कॉलिंग का उपयोग करें""इंटरनेट कॉलिंग का उपयोग करें (केवल Wi-Fi)""सभी कॉल के लिए जब डेटा नेटवर्क उपलब्ध हो""केवल इंटरनेट कॉल के लिए""प्रत्येक कॉल के लिए पूछें""सभी कॉल के लिए"
- "स्वतः पंजीकरण"
- "SIP के द्वारा आउटगोइंग कॉल""कॉल करें""इंटरनेट कॉलिंग खाते का उपयोग करें:""हमेशा इंटरनेट कॉल करने के लिए उपयोग करें"
- "आप इंटरनेट कॉल सेटिंग के अंतर्गत किसी भिन्न खाते का चयन करके, कॉल सेटिंग का उपयोग यह बदलने के लिए कर सकते हैं कि डिफ़ॉल्ट रूप से किस इंटरनेट कॉलिंग खाते का उपयोग कॉल करते समय किया जाए."
+ "आप परिवर्तित कर सकते हैं कि फ़ोन > सेटिंग > इंटरनेट कॉल सेटिंग > खाता स्क्रीन से डिफ़ॉल्ट रूप से किस इंटरनेट कॉलिंग खाते का उपयोग करना है.""सेल फ़ोन कॉल""इंटरनेट कॉल""कोई इंटरनेट कॉलिंग खाता नहीं"
- "इस फ़ोन पर कोई इंटरनेट कॉलिंग खाते नहीं हैं. खाता जोड़ें?"
+ "इस फ़ोन पर कोई इंटरनेट कॉलिंग खाता नहीं है. क्या आप अभी एक जोड़ना चाहते हैं?""जोड़ें""खाता जोड़ें""खाता निकालें""SIP खाते"
- "खाता सहेज रहा है..."
- "खाता निकाल रहा है..."
+ "खाता सहेज रहा है..."
+ "खाता निकाल रहा है...""सहेजें""छोड़ें""प्रोफ़ाइल बंद करें""ठीक""बंद करें"
- "प्राथमिक"
- "इसे मेरा प्राथमिक खाता बनाएं"
- "जावक कॉल के लिए उपयोग किया जाता है"
- "उन्नत सेटिंग""प्राथमिक खाता. %s""स्थिति की जांच कर रहा है..."
- "पंजीकृत कर रहा है..."
- "अब भी प्रयास कर रहा है..."
- "कॉल प्राप्त नहीं कर रहा है"
- "खाता पंजीकरण रुक गया क्योंकि कोई इंटरनेट कनेक्शन उपलब्ध नहीं है"
- "कोई Wi-Fi कनेक्शन न होने के कारण खाता पंजीकरण रोका गया"
- "खाता पंजीकरण विफल"
- "कॉल प्राप्त करना"
+ "पंजीकरण जारी है..."
+ "अब भी प्रयास कर रहा है..."
+ "कॉल प्राप्त नहीं हो रहे."
+ "खाता पंजीकरण रुक गया क्योंकि कोई इंटरनेट कनेक्शन उपलब्ध नहीं है."
+ "कोई Wi-Fi कनेक्शन न होने के कारण खाता पंजीकरण रोका गया."
+ "खाता पंजीकरण विफल."
+ "कॉल प्राप्त हो रहे हैं""खाता पंजीकरण विफल: (%s); बाद में पुन: प्रयास किया जाएगा"
- "खाता पंजीकरण विफल: गलत उपयोगकर्ता नाम या पासवर्ड"
- "खाता पंजीकरण विफल: सर्वर नाम जांचें"
- "इस खाते को वर्तमान में %s एप्लिकेशन द्वारा उपयोग किया जा रहा है"
+ "खाता पंजीकरण विफल: गलत उपयोगकर्ता नाम या पासवर्ड."
+ "खाता पंजीकरण विफल: सर्वर नाम जांचें."
+ "वर्तमान में इस खाते का उपयोग %s एप्लिकेशन द्वारा किया जा रहा है.""SIP खाता विवरण""SIP खाता विवरण""सर्वर"
@@ -660,9 +564,6 @@
"पोर्ट नंबर""परिवहन प्रकार""जीवित-रखें भेजें"
- "SIP जीवित-रखें संदेश भेजें"
- "स्वतः पंजीकरण"
- "प्रोफ़ाइल स्वचालित रूप से पंजीकृत करें""प्राथमिक खाते के रूप में सेट करें""जावक कॉल के लिए उपयोग किया जाता है""वैकल्पिक सेटिंग"
@@ -673,12 +574,12 @@
"<वैकल्पिक>""▷ सभी दिखाने के लिए स्पर्श करें""▽ सभी छुपाने के लिए स्पर्श करें"
- "%s आवश्यक है, रिक्त नहीं छोड़ा जा सकता."
- "पोर्ट नंबर 1000 और 65534 के बीच होना चाहिए"
+ "%s आवश्यक है और रिक्त नहीं छोड़ा जा सकता."
+ "पोर्ट नंबर 1000 और 65534 के बीच होना चाहिए.""कोई इंटरनेट कनेक्शन नहीं है""कोई Wi-Fi कनेक्शन नहीं"
- "इंटरनेट कॉल करने के लिए, पहले अपने इंटरनेट कनेक्शन की जांच करें"
- "इंटरनेट कॉल के लिए आपको Wi-Fi नेटवर्क से कनेक्ट होना आवश्यक है (वायरलेस और नेटवर्क सेटिंग का उपयोग करें)"
+ "इंटरनेट कॉल करने के लिए, पहले अपने इंटरनेट कनेक्शन की जांच करें."
+ "इंटरनेट कॉल के लिए आपको Wi-Fi नेटवर्क से कनेक्ट होना आवश्यक है (वायरलेस और नेटवर्क सेटिंग का उपयोग करें).""इंटरनेट कॉलिंग समर्थित नहीं है""स्वचालित""हमेशा भेजें"
@@ -687,7 +588,7 @@
"मैं आपको वापस कॉल करूंगा/करूंगी.""मैं आपको बाद में कॉल करूंगा/करूंगी.""अभी बात नहीं हो सकती. बाद में कॉल करें?"
- "कस्टम संदेश..."
+ "कस्टम संदेश...""त्वरित प्रतिसाद""त्वरित प्रतिसाद संपादित करें"
@@ -705,7 +606,6 @@
"तारा""शून्य""पाउंड"
- "खोजें""डायल करें""बैकस्पेस""स्पीकरफ़ोन सक्षम."
@@ -713,11 +613,16 @@
"उत्तर""SMS भेजें""अस्वीकार करें"
- "कंपन"
- "कंपन"
+ "कंपन करें"
+ "कंपन करें"
+ "रिंगटोन""हमेशा""केवल मौन होने पर""कभी नहीं"
+ "फ़ोन रिंगटोन"
+ "रिंग आने पर कंपन करें"
+ "डायल पैड स्पर्श टोन"
+ "रिंगटोन"
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 9f04a35f7..bd16ca9fd 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -25,39 +25,27 @@
"Privatni broj""Telefonska govornica""Na čekanju"
- "Trenutačni poziv""Linija je zauzeta""Mreža je zauzeta""Nema odgovora, privremeno zaustavljeno""Poslužitelj nedostupan""Broj je nedostupan""Netočno korisničko ime ili zaporka"
- "Poziv izvan mreže"
+ "Poziv izvan mreže""Pogreška poslužitelja. Pokušajte ponovno kasnije.""Nema signala""Prekoračeno je ACM ograničenje""Radio je isključen"
- "Nema SIM-a ili SIM ima pogrešku"
+ "Nema SIM-a ili SIM ima pogrešku""Izvan područja usluge""Odlazne pozive ograničava FDN."
- "Ne možete uspostavljati izlazne pozive ako je uključena zabrana poziva."
+ "Ne možete uspostavljati odlazne pozive ako je uključena zabrana poziva.""Sve je pozive ograničila pristupna kontrola.""Hitne pozive ograničila je pristupna kontrola.""Uobičajene pozive ograničila je pristupna kontrola."
- "CDMA: Telefon je zaključan sve do ponovnog punjenja."
- "CDMA: Poziv je prekinut."
- "CDMA: Poziv je presretnut."
- "CDMA: snimač."
- "CDMA: Odbačena je opcija usluge."
- "CDMA: ponovi narudžbu."
- "CDMA: pristup nije uspio."
- "CDMA: unaprijed ispražnjeno."
- "Mogući su samo hitni pozivi."
- "Nevažeći broj"
+ "Nevažeći broj""Konferencijski poziv""Poziv je prekinut."
- "Pokušaj ponovo"
- "Poziv je prekinut""U redu""Pokrenut je MMI kôd""Pokrenut je USSD kôd…"
@@ -69,23 +57,14 @@
"Žičane slušalice""Bluetooth""Poslati sljedeće tonove?"\n
- "Slanje tonova"\n
+ "Slanje tonova"\n"Pošalji""Da""Ne"
- "Zamijeni zamjenski znak s"
+ "Zamijeni zamjenski znak s""Nedostaje broj govorne pošte""Na SIM kartici nije spremljen broj govorne pošte.""Dodaj broj"
- "Učitavanje…"
- "Unesite PIN da biste otključali SIM karticu."
- "SIM je otključan"
- "Novi PIN za SIM"
- "Za potvrdu ponovno unesite novi PIN za SIM"
- "PIN-ovi za SIM koje ste unijeli međusobno se ne podudaraju. Pokušajte ponovno."
- "Unesite PUK da biste otključali SIM karticu"
- "Netočan PUK kôd!"
- "Nastavi""Vaša je SIM kartica odblokirana. Telefon se odblokira…""Mrežni PIN za otključavanje SIM-a""Otključaj"
@@ -93,8 +72,6 @@
"Traženje mrežnog otključavanja...""Neuspješan zahtjev za otključavanje mreže.""Mrežno otključavanje bilo je uspješno."
- "IMEI"
- "MEID""Postavke GSM poziva""Postavke CDMA poziva""Nazivi pristupnih točaka"
@@ -109,6 +86,7 @@
"Dodatne postavke samo za CDMA poziv""Postavke mrežne usluge""ID pozivatelja"
+ "Učitavanje postavki…""Broj je skriven u izlaznim pozivima""Broj prikazan za izlazne pozive""Koristiti zadane postavke operatera za prikaz mog broja kod odlaznih poziva"
@@ -127,17 +105,17 @@
"Broj u slučaju zauzeća""Preusmjeravanje na {0}""Onemogućeno"
- "Vaš mobilni operater ne podržava onemogućavanje preusmjeravanja poziva ako je vaš telefon zauzet."
+ "Vaš mobilni operater ne podržava onemogućavanje preusmjeravanja poziva ako je vaš telefon zauzet.""Preusmjeri u slučaju ako nema odgovora""Broj ako nema odgovora""Preusmjeravanje na {0}""Onemogućeno"
- "Vaš mobilni operater ne podržava onemogućavanje preusmjeravanja poziva ako se na vaš telefon nitko ne javi."
+ "Vaš mobilni operater ne podržava onemogućavanje preusmjeravanja poziva ako se na vaš telefon nitko ne javi.""Preusmjeri ako nije dostupno""Broj u slučaju nedostupnosti""Preusmjeravanje na {0}""Onemogućeno"
- "Vaš mobilni operater ne podržava onemogućavanje preusmjeravanja poziva ako je vaš telefon nedostupan."
+ "Vaš mobilni operater ne podržava onemogućavanje preusmjeravanja poziva ako je vaš telefon nedostupan.""Postavke poziva""Pogreška postavki poziva""Postavke čitanja..."
@@ -145,8 +123,8 @@
"Povrat postavki…""Neočekivan mrežni odgovor.""Pogreška mreže ili SIM kartice."
- "Operacije su omogućene samo za brojeve za fiksno biranje."
- "Uključite radio prije pregleda ovih postavki."
+ "Uključena je postavka fiksnog biranja u aplikaciji telefona. Zbog toga ne rade neke značajke u vezi s pozivima."
+ "Uključite radio prije pregleda ovih postavki.""U redu""Omogući""Onemogući"
@@ -156,10 +134,9 @@
"Sakrij broj""Prikaži broj"
- "Spremi broj govorne pošte""Broj govorne pošte je promijenjen."
- "Promjena broja govorne pošte bila je neuspješna."\n"Kontaktirajte mobilnog operatera ako se taj problem ne riješi."
- "Preusmjeravanje broja govorne pošte bilo je neuspješno."\n"Kontaktirajte mobilnog operatera ako se taj problem ne riješi."
+ "Nije bilo moguće promijeniti broj govorne pošte."\n"Obratite se mobilnom operateru ako problem potraje."
+ "Nije bilo moguće promijeniti broj za preusmjeravanje."\n"Obratite se mobilnom operateru ako problem potraje.""Dohvaćanje i spremanje trenutačnih postavki broja za prosljeđivanje nije uspjelo."\n"Želite li se ipak prebaciti na novog davatelja usluge?""Nisu izvršene nikakve promjene.""Odaberite uslugu govorne pošte"
@@ -171,14 +148,14 @@
"Pretraži mreže""Pogreška tijekom pretraživanja mreža.""Prijava na %s…"
- "Vaša SIM kartica ne dopušta povezivanje s ovom mrežom."
- "Trenutačno se nije moguće povezati na ovu mrežu. Pokušajte ponovo kasnije."
+ "Vaša SIM kartica ne dopušta povezivanje s ovom mrežom."
+ "Povezivanje s tom mrežom trenutačno nije moguće. Pokušajte kasnije.""Registrirano na mreži."
- "Odaberite mrežnog operatera"
+ "Odaberite mrežnog operatera""Pretraži sve dostupne mreže"
- "Odaberi automatski"
- "Automatski odaberi željenu mrežu"
- "Automatska prijava..."
+ "Odaberi automatski"
+ "Automatski odabir željene mreže"
+ "Automatska prijava…""Način mreže""Promijenite način rada mreže""Način željene mreže"
@@ -192,17 +169,17 @@
"Način željene mreže: Samo EvDo""Način željene mreže: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Samo EvDo""CDMA sa/bez EvDo"
- "CDMA / EvDo automatski"
- "Automatski GSM/WCDMA"
+ "Automatski CDMA/EvDo"
+ "Automatski GSM/WCDMA""Samo WCDMA""Samo GSM"
- "Preporučeno GSM/WCDMA"
+ "Preporučeno GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Podaci su omogućeni"
@@ -210,12 +187,11 @@
"Roaming podataka""Poveži se s podatkovnim uslugama u roamingu""Poveži se s podatkovnim uslugama u roamingu"
- "Izgubili ste podatkovnu vezu jer ste isključili mrežni roaming podataka."
+ "Izgubili ste podatkovnu vezu jer ste izašli iz matične mreže s isključenim roamingom podataka.""Omogućiti roaming podataka? Može doći do znatno većih troškova za roaming!""Opcije za GSM/UMTS""CDMA opcije""Korištenje podataka"
- "Pravila mobilnog operatera za podatke""Podaci korišteni za trenutačno razdoblje""Razdoblje korištenja podataka""Pravilo za brzinu prijenosa podataka"
@@ -226,7 +202,6 @@
"Proteklo je %1$d٪ ciklusa"\n"Sljedeće razdoblje počinje za ovoliko dana: %2$d (%3$s)""Brzina prijenosa podatak smanjena je na %1$d Kb/s ako se prekorači ograničenje korištenja podataka""Više informacija o pravilima korištenja mobilne podatkovne mreže vašeg davatelja mobilne usluge"
- "SMS iz mobilne mreže""SMS iz mobilne mreže""SMS iz mobilne mreže""Omogućen je SMS iz mobilne mreže"
@@ -267,15 +242,6 @@
"korejski""kineski""hebrejski"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Jezici""Lokalna vremenska prognoza"
@@ -305,9 +271,9 @@
"Prilike za zapošljavanje""Omogućene su Prilike za zapošljavanje""Onemogućene su Prilike za zapošljavanje"
- "Zdravstvo, zdravlje i bolnice"
- "Omogućeno je zdravstvo, zdravlje i bolnice"
- "Onemogućeno je zdravstvo, zdravlje i bolnice"
+ "Zdravstvo, zdravlje i bolnice"
+ "Omogućeno je zdravstvo, zdravlje i bolnice"
+ "Onemogućeno je zdravstvo, zdravlje i bolnice""Vijesti iz tehnologije""Omogućene su vijesti iz tehnologije""Vijesti iz tehnologije su onemogućene"
@@ -322,30 +288,17 @@
"Samo WCDMA""Samo GSM""GSM/WCDA (preporučeno WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Koristi samo 2G mreže""Štedi bateriju""Odabir sustava"
- "Promijeni način rada CDMA roaminga"
+ "Promijeni način rada CDMA roaminga""Odabir sustava""Samo matično""Automatski"
- "Način CDMA roaminga"
- "Promijeni način rada CDMA roaminga"
- "Način CDMA roaminga"
-
- "Samo kućne mreže"
- "Pridružene mreže"
- "Bilo koja mreža"
-
+ "CDMA pretplata""0""1"
@@ -359,21 +312,11 @@
"Samo CDMA""Samo EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA pretplata""Izmjenjivanje među RUIM/SIM i NV""pretplata""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktivacija uređaja""Postavljanje podatkovne usluge"
@@ -390,18 +333,16 @@
"Upravljanje brojeva za fiksno biranje""Promijeni PIN za FDN pristup""Upravljaj popisom telefonskih brojeva"
- "Privatnost za glasovnu uslugu"
+ "Privatnost za glasovnu uslugu""Omogući poboljšani način privatnosti"
- "Način TTY"
- "Omogući TTY način""Način TTY""Postavi način TTY"
- "Automatski pokušaj ponovo"
- "Omogući automatski ponovni pokušaj"
+ "Automatski ponovni pokušaj"
+ "Omogući način automatskog ponovnog pokušaja""Dodaj kontakt""Uredi kontakt""Izbriši kontakt"
- "Unesite PIN2"
+ "Upišite PIN2""Ime""Broj""Spremi"
@@ -414,56 +355,50 @@
"Izbriši broj za fiksno biranje""Brisanje broja za fiksno biranje…""Izbrisan je broj za fiksno biranje."
- "FDN nije ažuriran: unijeli ste netočan PIN."
- "FDN nije ažuriran: broj ne može premašivati 20 znamenaka."
+ "FDN nije ažuriran jer ste upisali pogrešan PIN."
+ "FDN nije ažuriran jer broj ne može premašivati 20 znamenki."
+ "FDN nije ažuriran. PIN2 nije točan ili je telefonski broj odbijen.""Čitanje sa SIM kartice…""Nema kontakata na vašoj SIM kartici.""Odaberite kontakte za uvoz"
- "Za uvoz kontakata sa SIM kartice isključite način rada u zrakoplovu."
+ "Za uvoz kontakata sa SIM kartice prvo isključite način rada u zrakoplovu.""Omogući/onemogući PIN za SIM""Promijeni PIN za SIM""PIN za SIM:""Stari PIN""Novi PIN""Potvrdi novi PIN"
- "Stari PIN koji ste unijeli nije točan. Pokušajte ponovo."
- "PIN-ovi koje ste unijeli međusobno se ne podudaraju. Pokušajte ponovno."
+ "Stari PIN koji ste unijeli nije točan. Pokušajte ponovo."
+ "PIN-ovi koje ste unijeli međusobno se ne podudaraju. Pokušajte ponovo.""Unesite PIN koji ima od 4 do 8 brojeva.""Onemogući SIM PIN""Omogući PIN za SIM""Pričekajte…"
- "Omogućen je PIN za SIM"
- "Onemogućen je PIN za SIM"
- "PIN koji ste unijeli nije točan"
- "Uspješno je promijenjen PIN SIM-a"
+ "Omogućen je PIN za SIM."
+ "Onemogućen je PIN za SIM."
+ "PIN koji ste unijeli nije točan."
+ "Uspješno je promijenjen PIN SIM-a.""Zaporka nije točna, SIM je zaključan! PUK2 zatražen.""PIN2""Stari PIN2""Novi PIN2""Potvrdi novi PIN2"
- "PUK2 koji ste unijeli nije točan. Pokušajte ponovo."
- "Stari PIN2 koji ste unijeli nije točan. Pokušajte ponovo."
- "Unosi za PIN2 koje ste unijeli međusobno se ne podudaraju. Pokušajte ponovno."
+ "PUK2 koji ste unijeli nije točan. Pokušajte ponovo."
+ "Stari PIN2 koji ste unijeli nije točan. Pokušajte ponovo."
+ "Vaši unosi za PIN2 međusobno se ne podudaraju. Pokušajte ponovo.""Unesite PIN2 koji ima 4-8 brojeva.""Unesite PUK2 koji ima 8 brojeva."
- "Uspješno je promijenjen PIN2"
+ "PIN2 uspješno je promijenjen.""Unesite PUK2 kôd"
- "Zaporka nije točna, zamijenite PIN2 i pokušajte ponovo!"
- "Zaporka nije točna, SIM je zaključan! PUK2 zatražen."
+ "Zaporka nije točna. Promijenite PIN2 i pokušajte ponovo."
+ "Zaporka nije točna, SIM je zaključan. Zatražen je PUK2.""Gotovo""Konferencijski poziv %s"
- "Natrag na poziv"
- "Nastavi bez SIM kartice"
- "Nije pronađena SIM kartica. Umetnite SIM karticu u telefon."
- "Odbaci"
- "Otključaj"
- "Autentikacija PIN-a…""Broj govorne pošte""Biranje broja""Ponovni pokušaj""Konferencijski poziv""Dolazni poziv"
- "Čekanje na cdma poziv""Poziv je završio""Na čekanju""Prekidanje veze"
@@ -473,7 +408,7 @@
"Propušteni pozivi""Broj propuštenih poziva: %s""Propušten poziv kontakta %s"
- "Trenutačni poziv (%s)"
+ "Poziv u tijeku""Na čekanju""Dolazni poziv""Nova govorna pošta"
@@ -482,13 +417,15 @@
"Nepoznat je broj govorne pošte""Nema usluge""Odabrana mreža (%s) je onemogućena"
+ "Prekini vezu"
+ "Povratni poziv"
+ "Poruka""Da biste uspostavili poziv, prvo isključite način rada u zrakoplovu.""Nije registrirano na mreži.""Mobilna mreža nije dostupna.""Poziv nije uspostavljen, nije unijet valjani broj.""Poziv nije poslan.""Pokretanje MMI sekvence…"
- "Pokretanje sekvence značajke koda…""Nepodržana usluga.""Nije moguće prebaciti pozive.""Nije moguće odvojiti poziv."
@@ -500,18 +437,13 @@
"Hitan poziv""Uključivanje radija…""Izvan područja usluge, ponovni pokušaj..."
- "Poziv nije uspostavljen, %s nije broj za hitne pozive!"
- "Poziv nije poslan, birajte hitan poziv!"
+ "Poziv nije upućen. %s nije broj za hitne pozive!"
+ "Poziv nije upućen. Birajte broj hitne službe!""Birajte pomoću tipkovnice"
- "Tipkovnica za dodirni zvuk""Na čekanju"
- "Više nije na čekanju""Kraj""Površina za biranje brojeva"
- "Sakrij"
- "Zvučnik""Isključi zvuk"
- "Bluetooth""Dodaj poziv""Spoji pozive""Zamijeni"
@@ -530,36 +462,31 @@
"TTY HCO""TTY VCO"
- "ERI tekst"
- "DTMF tonovi"
+ "DTMF tonovi""Postavite duljinu DTMF tonova""Normalni""Dugo"
- "Mrežna poruka"
+ "Mrežna poruka""Aktivirajte svoj telefon""Poseban poziv upućen je za aktiviranje telefonske usluge. "\n\n"Nakon što pritisnete “Aktiviraj”, poslušajte upute za aktiviranje telefona."
- "Dodirnite “Aktiviraj” da biste uputili poseban poziv koji aktivira vaš telefon na mobilnoj mreži vašeg mobilnog operatera kako biste mogli pozivati i povezivati se s mrežama za podatkovne mreže.""Preskoči aktivaciju?""Ako preskočite aktivaciju, ne možete pozivati niti se povezivati na mobilne podatkovne mreže (premda se možete prijaviti na Wi-Fi mreže).Sve dok ne aktivirate telefon prikazivat će se upit za aktiviranje kod svakog prijavljivanja.""Preskoči"
- "Aktiviraj""Aktiviraj"
- "Telefon je aktiviran!"
+ "Telefon je aktiviran.""Problem s aktivacijom""Slijedite govorne upute sve dok ne čujete da je aktivacija dovršena."
- "Tipkovnica""Zvučnik"
- "Pričekajte dok se ne završi programiranje vašeg telefona."
- "Neuspješno programiranje"
+ "Pričekajte dok ne završi programiranje vašeg telefona."
+ "Neuspješno programiranje""Vaš telefon nije aktiviran. Pokretanje usluge može potrajati i do 15 minuta."
- "Vaš se telefon nije aktivirao. "\n"Možda biste trebali potražiti područje s boljom pokrivenošću (pored prozora ili vani). "\n\n"Pokušajte ponovo ili nazovite korisničku službu za više opcija."
+ "Vaš se telefon nije aktivirao. "\n"Možda biste trebali potražiti područje s boljom pokrivenošću (pored prozora ili vani). "\n\n"Pokušajte ponovo ili nazovite korisničku službu za više opcija.""KVAR PRETJERANOG SPC-a""Natrag""Pokušajte ponovo""Dalje"
- "Natrag""EcmExitDialog""Unijet je način hitnog povratnog poziva""Način hitnog povratnog poziva"
@@ -569,87 +496,69 @@
"Nema podatkovne veze %s min"
- "Telefon će biti u načinu hitnog poziva %s min. U tom načinu ne mogu se koristiti aplikacije koje koriste podatkovnu vezu. Želite li odmah izaći?"
- "Telefon će biti u načinu hitnog poziva %s min. U tom načinu ne mogu se koristiti aplikacije koje koriste podatkovnu vezu. Želite li odmah izaći?"
+ "Telefon će biti u načinu rada hitnog povratnog poziva %s min. Za to se vrijeme ne može upotrebljavati nijedna aplikacija kojoj je potrebna podatkovna veza. Želite li izaći sada?"
+ "Telefon će biti u načinu rada hitnog povratnog poziva %s min. Za to se vrijeme ne može upotrebljavati nijedna aplikacija kojoj je potrebna podatkovna veza. Želite li izaći sada?"
- "Odabrana radnja nije dostupna tijekom načina hitnog povratnog poziva. Telefon će u tom načinu biti %s min. Želite li izaći odmah?"
- "Odabrana radnja nije dostupna tijekom načina hitnog povratnog poziva. Telefon će u tom načinu biti %s min. Želite li izaći odmah?"
+ "Odabrana radnja nije dostupna u načinu rada hitnog povratnog poziva. Telefon će biti u tom načinu rada %s min. Želite li izaći sada?"
+ "Odabrana radnja nije dostupna u načinu rada hitnog povratnog poziva. Telefon će biti u tom načinu rada %s min. Želite li izaći sada?"
- "Odabrana radnja nije dostupna tijekom hitnog poziva"
- "Izlaz iz načina hitnog povratnog poziva"
+ "Odabrana radnja nije dostupna tijekom hitnog poziva."
+ "Izlaz iz načina hitnog povratnog poziva""Da""Ne""Odbaci"
- "Postavke govorne pošte"
- "<nije postavljeno>"
- "Usluga govorne pošte"
- "Postavke za %s"
+ "Usluga"
+ "Postavljanje"
+ "<Nije postavljeno>""Ostale postavke poziva"
- "Biraj"
- "Pozivanje preko usluge ^1"\n"^2"
- "Povucite udesno za odgovor"
- "Povucite ulijevo za utišavanje zvona"
- "Povucite ulijevo za odbijanje"
- "Povucite udesno za odgovor i"\n"zadržavanje aktivnog poziva"
- "Povucite udesno za odgovor i"\n"završavanje aktivnog poziva"
- "Povucite udesno za odgovor i"\n"završetak poziva na čekanju"
- "Odgovor"
- "Odbaci"
+ "Pozivanje putem operatera %s""kontakt fotografija""na privatno""odabir kontakta""Postavke internetskih poziva""Računi za internetske pozive (SIP)""Računi"
- "Upravljanje računima za internetske pozive (SIP) i statusom""Primi dolazni poziv""Skraćuje trajanje baterije"
- "Konfiguriraj opcije poziva""Upotrijebi internetski poziv""Upotrijebi internetski poziv (samo Wi-Fi)""Za sve pozive kada je podatkovna mreža dostupna""Samo za internetske pozive""Upit za svaki poziv""Za sve pozive"
- "Auto-registracija"
- "Odlazni poziv putem SIP-a""Nazovi""Upotrijebi račun za internetske pozive:""Uvijek upotrijebi za internetske pozive"
- "Postavke poziva možete upotrijebiti za promjenu računa kojeg ćete kao zadanog upotrebljavati za internetske pozive odabirom drugog računa u postavkama internetskih poziva"
+ "Možete promijeniti koji ćete internetski račun za pozivanje upotrebljavati prema zadanim postavkama iz opcije Telefon > Postavke > Postavke internetskih poziva > Zaslon računa.""Poziv mobitelom""Internetski poziv""Nema računa za internetske pozive"
- "Na ovom telefonu nema računa za internetske pozive. Želite li sada dodati jedan?"
+ "Na ovom telefonu nema računa za internetske pozive. Želite li sada dodati jedan?""Dodaj""Dodavanje računa""Brisanje računa""SIP računi"
- "Spremanje računa..."
- "Uklanjanje računa..."
+ "Spremanje računa…"
+ "Uklanjanje računa…""Spremi""Odbaci""Zatvori profil""U redu""Zatvori"
- "Primarni"
- "Učini ovaj račun primarnim"
- "Upotrebljava se za odlazne pozive"
- "Napredne postavke""Primarni račun. %s""Provjeravanje statusa..."
- "Registriranje..."
- "Još uvijek pokušava..."
- "Ne prima pozive"
- "Registracija računa zaustavila se jer nema internetske veze"
- "Registracija računa zaustavila se jer nema Wi-Fi veze"
- "Registracija računa nije uspjela"
- "Primanje poziva"
+ "Prijava…"
+ "Još pokušavam…"
+ "Ne prima pozive."
+ "Prijava računa zaustavljena je jer nema internetske veze."
+ "Prijava računa zaustavljena je jer nema WiFi veze."
+ "Prijava računa nije uspjela."
+ "Prima pozive.""Registracija računa nije uspjela: (%s); pokušat ćemo kasnije"
- "Registracija računa nije uspjela: netočno korisničko ime ili zaporka"
- "Registracija računa nije uspjela: provjerite naziv poslužitelja"
- "Ovaj račun trenutačno upotrebljava aplikacija %s"
+ "Prijava računa nije uspjela: netočno korisničko ime ili zaporka."
+ "Prijava računa nije uspjela: provjerite naziv poslužitelja."
+ "Ovaj račun trenutačno upotrebljava aplikacija %s.""Detalji SIP računa""Detalji SIP računa""Poslužitelj"
@@ -660,9 +569,6 @@
"Broj porta""Vrsta transporta""Pošalji postavke keep-alive"
- "Pošalji SIP keep-alive poruke"
- "Auto-registracija"
- "Registriraj profil automatski""Postavi kao primarni račun""Upotrebljava se za odlazne pozive""Izborne postavke"
@@ -673,12 +579,12 @@
"<Izborno>""▷ Dodirnite da biste prikazali sve""▽ Dodirnite kako bi sakrili sve"
- "Polje %s je obavezno, ne može ostati prazno"
- "Broj porta trebao bi biti između 1000 i 65534"
+ "Polje %s obavezno je i ne može ostati prazno."
+ "Broj priključka trebao bi biti između 1000 i 65534.""Nema internetske veze""Nema Wi-Fi veze"
- "Za obavljanje internetskog poziva prvo provjerite internetsku vezu"
- "Morate se povezati s Wi-Fi mrežom za internetske pozive (upotrijebite postavke Bežično povezivanje & Mreža)"
+ "Za uspostavu internetskog poziva prvo provjerite internetsku vezu."
+ "Morate se povezati s WiFi mrežom za internetske pozive (upotrijebite postavke Bežičnog povezivanja i mreža).""Internetski pozivi nisu podržani""Automatski""Uvijek šalji"
@@ -687,7 +593,7 @@
"Nazvat ću vas odmah.""Zvat ću vas kasnije.""Sada ne mogu razgovarati. Nazovite me kasnije?"
- "Prilagođena poruka..."
+ "Prilagođena poruka""Brzi odgovori""Uređivanje brzih odgovora"
@@ -705,7 +611,6 @@
"zvjezdica""nula""funta"
- "pretraži""biraj""backspace""Zvučnik je omogućen."
@@ -715,9 +620,14 @@
"Odbij""Vibracija""Vibracija"
+ "Melodija zvona""Uvijek"
- "Samo kada je bešumno"
- "Nikad"
+ "Samo ako je bešumno"
+ "Nikada"
+ "Melodija zvona telefona"
+ "Vibrira dok zvoni"
+ "Tonovi biranja"
+ "Melodija zvona"
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 4874a1a68..e077f97ce 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -25,39 +25,27 @@
"Magántelefonszám""Nyilvános telefon""Tartásban"
- "Jelenlegi hívás""A vonal foglalt""A hálózat túlterhelt""Nincs válasz, időtúllépés történt""A szerver nem érhető el""A szám nem érhető el""Helytelen felhasználónév vagy jelszó"
- "A hívó hálózaton kívüli volt"
+ "A hívó hálózaton kívüli volt""Szerverhiba. Kérjük, próbálkozzon újra.""Nincs vonal""Elérte az ACM-korlátot""Rádió kikapcsolva"
- "Hiányzó vagy hibás SIM-kártya"
+ "Hiányzó vagy hibás SIM kártya""Szolgáltatási területen kívüli terület""Az FDN korlátozza a kimenő hívásokat."
- "Nem kezdeményezhet hívásokat, amíg a hívásletiltás be van kapcsolva."
+ "Nem kezdeményezhet hívásokat, amíg a hívásletiltás be van kapcsolva.""Minden hívást korlátoz a hozzáférésvezérlés.""A segélyhívásokat korlátozza a hozzáférésvezérlés.""A normál hívásokat korlátozza a hozzáférésvezérlés."
- "CDMA: a telefon zárolva van a következő ki-/bekapcsolásig."
- "CDMA: a hívás megszakadt."
- "CDMA: hívás elfogva."
- "CDMA: újrarendezés."
- "CDMA: szolgáltatás-beállítás elutasítása."
- "CDMA: ismétlési sorrend."
- "CDMA: hozzáférési hiba."
- "CDMA: megakadályozva."
- "Csak segélyhívás lehetséges."
- "Érvénytelen szám"
+ "Érvénytelen szám""Konferenciahívás""A hívás megszakadt."
- "Újra"
- "A hívás megszakadt""OK""MMI-kód elindítva""USSD-kód futtatása..."
@@ -69,23 +57,14 @@
"Vezetékes fülhallgató""Bluetooth""Elküldi a következő hangjelzéseket?"\n
- "Hangjelzések küldése"\n
+ "Hangjelzések küldése"\n"Küldés""Igen""Nem"
- "Helyettesítő karakter lecserélése a következővel:"
+ "Helyettesítő karakter lecserélése a következővel:""Hiányzik a hangposta száma""Nincs hangpostaszám a SIM-kártyán.""Szám hozzáadása"
- "Betöltés…"
- "A SIM-kártya feloldásához adja meg a PIN-kódot."
- "A SIM-kártya feloldva"
- "Új PIN-kód a SIM-kártyához"
- "A megerősítéshez adja meg újra a PIN-kódot"
- "A SIM-kártya PIN-kódjai nem egyeznek. Kérjük, próbálja újra."
- "A SIM-kártya feloldásához adja meg a PUK-kódot."
- "Helytelen PUK-kód."
- "Folytatás""SIM-kártyája letiltása megszűnt. Feloldás folyamatban...""SIM hálózati függetlenítő PIN-kódja""Feloldás"
@@ -93,13 +72,13 @@
"Függetlenítés kérése...""A hálózatzárolás feloldására vonatkozó kérelem sikertelen volt.""A függetlenítés sikerült."
- "IMEI"
- "MEID""GSM-hívásbeállítások""CDMA-hívásbeállítások""Hozzáférési pontok nevei""Hálózati beállítások""Hangposta"
+ Várakozó üzenet
+ Várakozó hangposta üzenet megjelenítése"HP:""Mobilszolgáltatók""Hívásbeállítások"
@@ -109,6 +88,7 @@
"További csak CDMA-hívásbeállítások""Hálózati szolgáltatás beállításai""Hívóazonosító"
+ "Beállítások betöltése...""A kimenő hívások során elrejtett szám""A kimenő hívások során megjelenített szám""Alapértelmezett szolgáltatói beállítások használata a számom megjelenítésére a kimenő hívások során"
@@ -127,17 +107,17 @@
"Átirányítási szám, ha foglalt""Átirányítás ide: {0}""Letiltva"
- "Szolgáltatója nem támogatja a hívásátirányítás letiltását a telefon foglaltsága esetén."
+ "Szolgáltatója nem támogatja a hívásátirányítás letiltását, ha a telefon foglalt.""Átirányítás, ha nem válaszol""Átirányítási szám, ha nem válaszol""Átirányítás ide: {0}""Letiltva"
- "Szolgáltatója nem támogatja a hívásátirányítás letiltását, ha a telefon nem fogadja a hívást."
+ "Szolgáltatója nem támogatja a hívásátirányítás letiltását, ha telefonja nem fogad hívásokat.""Átirányítás, ha nem érhető el""Átirányítási szám, ha nem elérhető""Átirányítás ide: {0}""Kikapcsolva"
- "Szolgáltatója nem támogatja a hívásátirányítás letiltását, ha a telefon ki van kapcsolva."
+ "Szolgáltatója nem támogatja a hívásátirányítás letiltását, ha a telefon nem érhető el.""Hívásbeállítások""Hiba a hívásbeállításokban""Beállítások olvasása..."
@@ -145,8 +125,8 @@
"Beállítások visszaállítása...""Nem várt válasz a hálózattól.""Hálózati vagy SIM-kártya hiba."
- "A műveletek csak fix hívószámmal hajthatók végre."
- "Kapcsolja be a rádiót a beállítások megtekintése előtt."
+ "Telefonja alkalmazásának Fix hívószámok beállítása be van kapcsolva. Ennek eredményeként bizonyos hívásfunkciók nem működnek."
+ "Kapcsolja be a rádiót a beállítások megtekintése előtt.""OK""Engedélyezés""Letiltás"
@@ -156,10 +136,9 @@
"Szám elrejtése""Szám megjelenítése"
- "Hangposta számának mentése""A postafiók száma módosítva."
- "Nem sikerült módosítani a postafiók számát."\n"Ha a probléma nem szűnik meg, lépjen kapcsolatba mobilszolgáltatójával."
- "Nem sikerült módosítani a hívásátirányítást."\n"Ha a probléma nem szűnik meg, lépjen kapcsolatba mobilszolgáltatójával."
+ "Nem sikerült módosítani a hangposta számát."\n"Ha a probléma továbbra is fennáll, forduljon a szolgáltatóhoz."
+ "Nem sikerült megváltoztatni a továbbítási számot."\n"Ha a probléma továbbra is fennáll, forduljon a szolgáltatójához.""Nem sikerült lekérni és elmenteni a jelenlegi hívásátirányítási beállításokat."\n"Mégis átvált az új szolgáltatóra?""Nem történt változtatás.""Válassza ki a hangposta-szolgáltatást"
@@ -171,14 +150,14 @@
"Hálózatkeresés""Hiba történt a hálózatok keresése közben.""Regisztrálás a(z) %s hálózaton..."
- "SIM-kártyája nem teszi lehetővé a kapcsolódást ehhez a hálózathoz."
- "Jelenleg nem lehet csatlakozni ehhez a hálózathoz. Kérjük, próbálja újra később."
+ "SIM kártyája nem teszi lehetővé a kapcsolódást ehhez a hálózathoz."
+ "Most nem lehet csatlakozni a hálózathoz. Próbálja meg később.""Regisztrálva a hálózaton."
- "Mobilszolgáltató választása"
+ "Válassza ki a hálózat üzemeltetőjét""Az összes elérhető hálózat megkeresése"
- "Automatikus kiválasztás"
- "Preferált hálózat automatikus kiválasztása"
- "Automatikus regisztráció..."
+ "Automatikus választás"
+ "Preferált hálózat automatikus kiválasztása"
+ "Automatikus regisztráció...""Hálózati mód""A hálózati üzemmód megváltoztatása""Preferált hálózati mód"
@@ -191,18 +170,25 @@
"Preferált hálózati mód: csak CDMA""Preferált hálózati mód: csak EvDo""Preferált hálózati mód: LTE/CDMA"
+
+ "Preferált hálózati mód: LTE / WCDMA / GSM"
+
+ "Preferált hálózati mód: LTE / CDMA / EvDo"
+
+ "Preferált hálózati mód: LTE / CMDA / EvDo / GSM/WCDMA"
+
- "LTE/CDMA"
+ "LTE/CDMA""Csak EvDo""CDMA EvDo nélkül"
- "CDMA / EvDo automatikus"
- "GSM / WCDMA automatikus"
+ "CDMA/EvDo automatikus"
+ "GSM/WCDMA automatikus""Csak WCDMA""Csak GSM"
- "GSM / WCDMA a preferált"
+ "GSM/WCDMA a preferált"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Adatok engedélyezése"
@@ -210,12 +196,17 @@
"Adatbarangolás""Csatlakozás adatszolgáltatásokhoz barangolás során""Csatlakozás adatszolgáltatásokhoz barangolás során"
- "Megszakadt az adatkapcsolat, mert elhagyta az otthoni hálózatot, és az adatbarangolás nincs bekapcsolva."
+
+ Nemzeti adatbarangolás
+
+ Csatlakozzon adatszolgáltatásokhoz nemzeti barangolás során
+
+ Ne csatlakozzon adatszolgáltatásokhoz nemzeti barangolássorán
+ "Megszakadt az adatkapcsolat, mert elhagyta az otthoni hálózatot, és az adatbarangolás nincs bekapcsolva.""Engedélyezi az adatbarangolást? Lehet, hogy jelentős összeget számítanak fel érte!""GSM/UMTS beállítások""CDMA-beállítások""Adathasználat"
- "Szolgáltató adatforgalmazási irányelvei""Az aktuális időszakban felhasznált adatmennyiség""Adathasználat időtartama""Adatsebesség-irányelvek"
@@ -226,7 +217,6 @@
"A ciklus %1$d٪ -a letelt"\n"A következő időszak %2$d nap múlva kezdődik (%3$s)""Az adatátvitel sebessége %1$d kb/s-ra csökken, ha átlépi az adathasználati korlátot.""További információk mobilszolgáltatója hálózatának adatfelhasználási irányelveiről"
- "Cellán belüli üzenetszórás""Cellán belüli üzenetszórás""Cellán belüli üzenetszórás""Cellán belüli üzenetszórás engedélyezve"
@@ -267,15 +257,6 @@
"koreai""kínai""Héber"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Nyelvek""Helyi időjárás"
@@ -305,9 +286,9 @@
"Álláslehetőségek""Álláslehetőségek engedélyezve""Álláslehetőségek letiltva"
- "Orvosi, egészségügyi és kórházi"
- "Orvosi, egészségügyi és kórházi engedélyezve"
- "Orvosi, egészségügyi és kórházi letiltva"
+ "Orvosi, egészségügyi és kórházi"
+ "Orvosi, egészségügyi és kórházi engedélyezve"
+ "Orvosi, egészségügyi és kórházi letiltva""Műszaki hírek""Műszaki hírek engedélyezve""Műszaki hírek letiltva"
@@ -323,34 +304,16 @@
"Csak GSM""GSM/WCDA (WCDMA a preferált)"
-
- "0"
- "1"
- "2"
- "3"
-
- "Csak 2G hálózatok használata"
- "Spórol az energiával"
+ "Csak 2G hálózatok"
+ "Csak 2G hálózatok használata (spórol az energiával)""Rendszer kiválasztása"
- "A cdma barangolási mód megváltoztatása"
+ "A CDMA-barangolási mód megváltoztatása""Rendszer kiválasztása""Csak otthoni""Automatikus"
- "CDMA barangolási mód"
- "A cdma barangolási mód megváltoztatása"
- "CDMA barangolási mód"
-
- "Csak otthoni hálózatok"
- "Kapcsolódó hálózatok"
- "Bármilyen hálózat"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-feliratkozás""CDMA hálózati preferencia""Még nincs megvalósítva.""CDMA hálózati preferencia"
@@ -359,21 +322,11 @@
"Csak CDMA""Csak EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-feliratkozás""Váltás RUIM/SIM és NV között""feliratkozás""RUIM/SIM""NV"
-
-
- "0"
- "1""Eszköz aktiválása""Adatszolgáltatás beállítása"
@@ -390,18 +343,16 @@
"Fix hívószámok kezelése""PIN-kód módosítása az FDN eléréséhez""Telefonszámok listájának kezelése"
- "Voice - adatvédelem"
+ "Adatvédelem""Fokozott adatvédelmi mód engedélyezése"
- "TTY-mód"
- "TTY-mód bekapcsolása""TTY-mód""TTY-mód beállítása"
- "Automatikus újrapróbálkozás"
- "Automatikus újrapróbálkozás mód bekapcsolása"
+ "Automatikus újrapróbálkozás"
+ "Automatikus újrapróbálkozás-mód bekapcsolása""Névjegy hozzáadása""Névjegy szerkesztése""Névjegy törlése"
- "Adja meg a PIN2-kódot"
+ "Írja be a PIN2 kódot""Név""Szám""Mentés"
@@ -414,56 +365,50 @@
"Fix hívószám törlése""Fix hívószám törlése...""A fix hívószám törölve."
- "Az FDN nincs frissítve: helytelen PIN-kódot adott meg."
- "FDN nincs frissítve: a szám nem lehet 20 számjegynél hosszabb."
+ "Az FDN nem volt frissítve, mert hibás PIN-kódot írt be."
+ "Az FDN nem lett frissítve, mert a szám nem haladhatja meg a 20 számjegyet."
+ "Az FDN nem lett frissítve. Hibás a PIN2 kód, vagy a telefonszámot elutasították.""Beolvasás a SIM-kártyáról...""Nincsenek névjegyek a SIM-kártyán.""Válassza ki az importálni kívánt névjegyeket"
- "Kérjük, kapcsolja ki a repülőgép üzemmódot telefonján, hogy SIM-kártyájáról névjegyeket importálhasson."
+ "A névjegyek SIM kártyáról való importálásához először kapcsolja ki a repülőgépes üzemmódot.""SIM-kártya PIN-kódjának be-/kikapcsolása""SIM-kártya PIN-kódjának módosítása""SIM-kártya PIN-kódja:""Régi PIN-kód""Új PIN-kód""Erősítse meg az új PIN-kódot"
- "A megadott régi PIN-kód helytelen. Kérjük, próbálja újra."
- "A megadott PIN-kódok nem egyeznek. Kérjük, próbálja újra."
+ "A megadott régi PIN kód helytelen. Próbálja újra."
+ "A beírt PIN kódok nem egyeznek. Próbálja újra.""Írjon be egy 4-8 számjegyű PIN-kódot.""SIM-kártya PIN-kódjának kikapcsolása""SIM-kártya PIN-kódjának bekapcsolása""Kérjük, várjon..."
- "SIM-kártya PIN-kódja bekapcsolva"
- "SIM-kártya PIN-kódja kikapcsolva"
- "A megadott PIN-kód érvénytelen."
- "A SIM-kártya PIN-kódja sikeresen módosítva"
+ "SIM kártya PIN kódja bekapcsolva."
+ "SIM kártya PIN kódja kikapcsolva."
+ "A megadott PIN kód hibás."
+ "A SIM kártya PIN kódja sikeresen módosítva.""A jelszó helytelen, a SIM-kártya zárolásra került. Adja meg a PUK2-kódot.""PIN2""Régi PIN2-kód""Új PIN2-kód""Erősítse meg az új PIN2-kódot"
- "A megadott PUK2-kód helytelen. Kérjük, próbálja újra."
- "A megadott régi PIN2-kód helytelen. Kérjük, próbálja újra."
- "A beírt PIN2-kódok nem egyeznek. Kérjük, próbálja újra."
+ "A megadott PUK2 kód helytelen. Kérjük, próbálja újra."
+ "A megadott régi PIN2 kód helytelen. Próbálja újra."
+ "A beírt PIN2 kódok nem egyeznek. Próbálja újra.""Írjon be egy 4-8 számjegyű PIN2-kódot.""Írja be a 8 jegyű PUK2-kódot."
- "A PIN2-kód sikeresen módosításra került"
+ "A PIN2 kód sikeresen módosítva.""Írja be a PUK2-kódot"
- "A jelszó helytelen; kérjük, módosítsa a PIN2-kódot és próbálja újra."
- "A jelszó helytelen, a SIM-kártya zárolva lett. Adja meg a PUK2-kódot."
+ "A jelszó helytelen. Kérjük, módosítsa a PIN2 kódot és próbálja újra."
+ "A jelszó helytelen, a SIM kártya zárolásra került. Adja meg a PUK2 kódot.""Kész""Konferenciahívás: %s"
- "Vissza a híváshoz"
- "Folytatás SIM-kártya nélkül"
- "Nem található a SIM-kártya. Kérjük, helyezzen be egy SIM-kártyát a telefonba."
- "Elvetés"
- "Feloldás"
- "PIN-kód azonosítása...""Hangposta száma""Tárcsázás""Újrapróbálkozás""Konferenciahívás""Bejövő hívás"
- "Cdma-hívásvárakoztatás""A hívás befejeződött""Tartásban""Megszakítás"
@@ -473,7 +418,7 @@
"Nem fogadott hívások""%s nem fogadott hívás""Nem fogadott hívás: %s"
- "Jelenlegi hívás (%s)"
+ "Hívás folyamatban""Tartásban""Bejövő hívás""Új hangposta"
@@ -482,13 +427,15 @@
"A hangposta száma ismeretlen""Nincs szolgáltatás""A kiválasztott hálózat (%s) nem érhető el"
+ "Hívás befejezése"
+ "Visszahívás"
+ "Üzenet""Híváskezdeményezéshez kapcsolja ki a Repülőgép üzemmódot.""Nincs regisztrálva a hálózaton.""A mobilhálózat nem érhető el.""A hívás indítása érvénytelen szám beírása miatt nem történt meg.""A hívás nem indítható.""MMI-sorozat indítása..."
- "Funkciókód-sorozat indítása...""Nem támogatott szolgáltatás""Nem lehet váltani a hívások között.""Nem lehet elkülöníteni a hívást."
@@ -500,18 +447,13 @@
"Segélyhívás""Rádió bekapcsolása...""Szolgáltatási területen kívüli terület, újrapróbálás..."
- "A hívás nem indítható; a(z) %s nem segélyhívó szám!"
- "A hívás nem indítható, kérjük, tárcsázzon egy segélyhívó számot!"
+ "A hívás nem indítható. A(z) %s nem segélyhívó szám!"
+ "A hívás nem indítható. Tárcsázzon egy segélyhívó számot!""A tárcsázáshoz használja a billentyűzetet"
- "Telefonbillentyűzet""Tartás"
- "Tartás feloldása""Befejezés""Tárcsázó"
- "Elrejtés"
- "Hangszóró""Lezárás"
- "Bluetooth""Hívás hozzáadása""Hívások egyesítése""Csere"
@@ -530,36 +472,31 @@
"TTY HCO""TTY VCO"
- "ERI szöveg"
- "DTMF hangjelzések"
+ "DTMF-hangjelzések""DTMF hangjelzések hosszának beállítása""Normál""Hosszú"
- "Hálózati üzenet"
+ "Hálózati üzenet""Aktiválja telefonját""A telefonszolgáltatás aktiválásához egy speciális hívást kell indítania. "\n\n"Az \"Aktiválás\" megnyomása után kövesse az utasításokat."
- "Érintse meg az \"Aktiválás\" lehetőséget egy olyan speciális hívás kezdeményezéséhez, amely aktiválja telefonját a szolgáltató hálózatán; ezután tud hívásokat indítani és mobil adathálózatokhoz kapcsolódni.""Kihagyja az aktiválást?""Ha kihagyja az aktiválást, nem indíthat hívásokat és nem kapcsolódhat mobil adathálózatokhoz (de csatlakozhat Wi-Fi hálózatokhoz). Amíg nem aktiválja telefonját, az minden egyes bekapcsoláskor felkéri Önt erre.""Átugrás"
- "Aktiválás""Aktiválás"
- "A telefon aktiválva!"
+ "A telefon aktiválva.""Gond volt az aktiválással""Kövesse a hallott utasításokat, amíg azt nem hallja, hogy az aktiválás befejeződött."
- "Billentyűzet""Hangszóró"
- "Kérjük, várjon a telefonja beprogramozásáig."
- "A programozás sikertelen volt"
+ "Kérjük, várjon a telefon beprogramozásáig."
+ "A programozás nem sikerült""Telefonja most már aktiválva van. Akár 15 percet is igénybe vehet a szolgáltatás elindítása."
- "Nem aktiválta a telefont. "\n"Lehet, hogy keresnie kell egy jobb lefedettségű területet (egy ablak közelében vagy a szabadban). "\n\n"Próbálkozzon újra vagy hívja az ügyfélszolgálatot a további lehetőségekért."
+ "Nem aktiválta a telefont. "\n"Lehet, hogy keresnie kell egy jobb lefedettségű területet (egy ablak közelében vagy a szabadban). "\n\n"Próbálkozzon újra vagy hívja az ügyfélszolgálatot a további lehetőségekért.""TÚL SOK HELYESÍRÁSI HIBA""Vissza""Újrapróbálkozás""Tovább"
- "Vissza""EcmExitDialog""Segélykérő visszahívása mód bekapcsolva""Segélykérő visszahívása mód"
@@ -569,87 +506,74 @@
"%s perce nincs adatkapcsolat"
- "A telefon a segélykérő visszahívása módban lesz még %s percig. Ebben a módban nem használhatók az adatkapcsolatot létesítő alkalmazások. Kilép most?"
- "A telefon a segélykérő visszahívása módban lesz még %s percig. Ebben a módban nem használhatók az adatkapcsolatot létesítő alkalmazások. Kilép most?"
+ "A telefon %s percig Sürgősségi visszahívás módban lesz. Ebben az üzemmódban nem használhatók az adatkapcsolatot használó alkalmazások. Szeretne most kilépni?"
+ "A telefon %s percig Sürgősségi visszahívás módban lesz. Ebben az üzemmódban nem használhatók az adatkapcsolatot használó alkalmazások. Szeretne most kilépni?"
- "A kiválasztott művelet nem érhető el a segélykérő visszahívása módban. A telefon %s percig lesz ebben a módban. Kilép most?"
- "A kiválasztott művelet nem érhető el a segélykérő visszahívása módban. A telefon %s percig lesz ebben a módban. Kilép most?"
+ "A kiválasztott művelet nem áll rendelkezésre Sürgősségi visszahívás módban. A telefon %s percig lesz ebben a módban. Szeretne most kilépni?"
+ "A kiválasztott művelet nem áll rendelkezésre Sürgősségi visszahívás módban. A telefon %s percig lesz ebben a módban. Szeretne most kilépni?"
- "A választott művelet nem érhető el segélyhívás során"
- "Segélykérő visszahívása mód kikapcsolása"
+ "A választott művelet nem érhető el segélyhívás során."
+ "Kilépés a Sürgősségi visszahívás módból""Igen""Nem""Elvetés"
- "Hangposta beállításai"
- "<nincs beállítva>"
- "Hangposta-szolgáltatás"
- "%s - Beállítások"
+ "Szolgáltatás"
+ "Beállítás"
+ "<Nincs megadva>""Egyéb hívásbeállítások"
- "Tárcsázás"
- "Hívás a következőn keresztül: ^1"\n"^2"
- "Húzza jobbra a hívás fogadásához"
- "Húzza balra a csörgés elnémításához"
- "Húzza balra a hívás elutasításához"
- "Húzza jobbra a hívás fogadásához és az"\n"aktív hívás tartásához"
- "Húzza jobbra a hívás fogadásához és az"\n"aktív hívás befejezéséhez"
- "Húzza jobbra a hívás fogadásához és"\n"a tartásban levő hívás befejezéséhez"
- "Fogadás"
- "Elutasítás"
+
+
+ Tárcsázó beállítások
+ Tárcsázó beállításai
+
+ "Hívás a(z) %s szolgáltatón keresztül""ismerős fotója""magánbeszélgetés""névjegy kijelölése""Internetes hívás beállításai""Internetes hívási (SIP) fiókok""Fiókok"
- "Az internetes hívási (SIP) fiókok kezelése és állapota""Beérkező hívások fogadása""Csökkenti a használati időt"
- "Hívásbeállítások konfigurálása""Internetes hívás használata""Internetes hívás használata (csak Wi-Fi esetén)""Minden hívásnál, amikor nincs elérhető adathálózat""Csak internetes hívásoknál""Mindig rákérdez""Minden hívásnál"
- "Automatikus regisztráció"
- "Kimenő hívás SIP-n keresztül""Hívás indítása""A következő Internetes hívási fiók használata:""Mindig használja internetes hívás kezdeményezésekor"
- "A Hívásbeállításokban módosíthatja, hogy melyik internetes hívási fiókot használja alapértelmezettként hívások kezdeményezésekor; ehhez válasszon ki egy másik fiókot az internetes hívások beállításaiban."
+ "Megváltoztathatja, hogy melyik internetes telefonálási fiókot használja alapértelmezés szerint a Telefon > Beállítások > Internetes hívásbeállítások> Fiókok képernyőn.""Mobiltelefonos hívás""Internetes hívás""Nincs internetes hívási fiók"
- "Nincsenek internetes hívási fiókok ezen a telefonon. Hozzáad egyet most?"
+ "Nincsenek internetes hívási fiókok ezen a telefonon. Szeretne most hozzáadni egyet?""Hozzáadás""Fiók hozzáadása""Fiók törlése""SIP-fiókok"
- "A fiók mentése..."
- "A fiók törlése..."
+ "A fiók mentése..."
+ "A fiók törlése...""Mentés""Visszavonás""A profil bezárása""OK""Bezárás"
- "Elsődleges"
- "Legyen ez az elsődleges fiókom"
- "A kimenő hívásokhoz használatos"
- "Speciális beállítások""Elsődleges fiók: %s""Állapot ellenőrzése..."
- "Regisztrálás..."
- "Még próbálkozik..."
- "Nem fogad hívásokat"
- "A fiók regisztrálása leállt, mert nincs internetkapcsolat"
- "A fiók regisztrálása leállt, mert nincs Wi-Fi kapcsolat"
- "A fiók regisztrálása sikertelen"
- "Hívások fogadása"
+ "Regisztrálás..."
+ "Még próbálkozik..."
+ "Nem fogad hívásokat."
+ "A fiók regisztrálása leállt, mert nincs internetkapcsolat."
+ "A fiók regisztrálása leállt, mert nincs Wi-Fi kapcsolat."
+ "A fiók regisztrálása sikertelen."
+ "Hívások fogadása.""A fiók regisztrálása sikertelen: (%s); próbálja újra később"
- "A fiók regisztrálása nem sikerült: a felhasználónév vagy a jelszó helytelen"
- "A fiók regisztrálása nem sikerült: ellenőrizze a szerver nevét"
- "Ezt a fiókot jelenleg a(z) %s alkalmazás használja."
+ "A fiók regisztrálása nem sikerült: a felhasználónév vagy a jelszó helytelen."
+ "A fiók regisztrálása nem sikerült: ellenőrizze a szerver nevét."
+ "Ezt a fiókot jelenleg a(z) %s alkalmazás használja.""SIP-fiók részletei""SIP-fiók részletei""Szerver"
@@ -660,9 +584,6 @@
"Port száma""Átvitel típusa""Kapcsolat megtartása"
- "A kapcsolatot megtartó SIP-üzenetek küldése"
- "Automatikus regisztráció"
- "A profil automatikus regisztrálása""Beállítás elsődleges fiókként""A kimenő hívásokhoz használatos""További beállítások"
@@ -673,12 +594,12 @@
"<Opcionális>""▷ Érintse meg az összes megjelenítéséhez""▽ Érintse meg az összes elrejtéséhez"
- "%s kötelező, nem maradhat üresen"
- "A port számának 1000 és 65534 között kell lennie"
+ "%s megadása kötelező, nem maradhat üresen."
+ "A port számának 1000 és 65534 között kell lennie.""Nincs internetkapcsolat""Nincs Wi-Fi kapcsolat"
- "Internetes hívás kezdeményezéséhez először ellenőrizze az internetkapcsolatot"
- "Internetes hívások kezdeményezéséhez Wi-Fi hálózathoz kell csatlakoznia (használja a Vezeték nélküli és hálózati beállításokat)"
+ "Internetes hívás kezdeményezéséhez először ellenőrizze az internetkapcsolatot."
+ "Internetes hívásokhoz csatlakoznia kell egy Wi-Fi hálózathoz (használja a Vezeték nélküli és hálózati beállításokat).""Az internetes hívás nem támogatott""Automatikus""Mindig küldjön"
@@ -687,7 +608,7 @@
"Hamarosan visszahívom.""Később visszahívom.""Most nem alkalmas. Hívna később?"
- "Egyéni üzenet..."
+ "Egyéni üzenet""Gyors válaszok""Gyors válaszok szerkesztése"
@@ -705,7 +626,6 @@
"csillag""nulla""kettős kereszt"
- "keresés""tárcsázás""Backspace""Kihangosítás engedélyezve."
@@ -715,9 +635,30 @@
"Elutasítás""Rezgés""Rezgés"
+ "Csengőhang""Mindig""Csak néma üzemmódban""Soha"
+ "Telefon csengőhangja"
+ "Csengetéskor rezegjen"
+ "Tárcsázó érintési hangjai"
+ "Csengőhang"
+ Hálózat módosítása (2G/3G)
+ Az ilyen engedéllyel rendelkező alkalmazás, bármikor válthat 2G és 3G közt. A 3G gyorsabb, jobban meríti az akkumulátort, és több pénzbe is kerülhet a nagyobb adatforgalom miatt.
+ Zajcsökkentés
+ Zajcsökkentés engedélyezése telefonhívások esetén
+ Saját telefonszám
+ Készülékhez tartozó telefonszám beállítása
+ Speciális beállítások
+ Ébren tartás
+ Hívás közben (ha van csatlakoztatva fejhallgató) nem kapcsol ki a képernyő
+ Képernyő zárolása a hívás befejeztével
+ Képernyő automatikus lezárása a hívás befejeztével
+ Rezgés válaszkor
+ 45 mp-ként rezeg
+ Minden 45. másodpercben rezeg a kimenő hívások során
+ Bontáskor rezeg
+ Hívásvárakoztatáskor rezeg
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index e9caaf936..bd79dfc7e 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -25,40 +25,28 @@
"Nomor pribadi""Telepon umum""Ditangguhkan"
- "Panggilan saat ini""Jalur sibuk""Jaringan sibuk""Tidak ada jawaban, waktu habis""Server tidak dapat dijangkau""Nomor tidak dapat dijangkau""Nama pengguna atau sandi salah"
- "dipanggil dari luar jaringan"
- "Galat Server: Coba lagi nanti."
+ "Dipanggil dari luar jaringan"
+ "Kesalahan Server: Coba lagi nanti.""Tidak ada sinyal""ACM melebihi batas""Radio mati"
- "Tidak ada SIM, atau SIM salah"
+ "Tidak ada SIM atau kesalahan SIM""Di luar area layanan""Panggilan keluar dibatasi oleh FDN."
- "Anda tidak dapat melakukan panggilan keluar sewaktu pemblokiran panggilan aktif."
+ "Anda tidak dapat melakukan panggilan keluar sewaktu pemblokiran panggilan aktif.""Semua panggilan dibatasi oleh kontrol akses.""Panggilan darurat dibatasi oleh kontrol akses.""Panggilan normal dibatasi oleh kontrol akses."
- "CDMA: Perangkat dikunci sampai siklus daya."
- "CDMA: Panggilan terputus."
- "CDMA: Panggilan terganggu."
- "CDMA: pengaturan urutan."
- "CDMA: Penolakan Opsi Layanan."
- "CDMA: urutan coba kembali."
- "CDMA: Akses gagal."
- "CDMA: Dihalangi."
- "Hanya panggilan Darurat yang dapat dilakukan."
- "Nomor Tidak Valid"
+ "Nomor tidak valid""Telewicara""Panggilan telah terputus."
- "Coba Lagi"
- "Panggilan Terputus"
- "OK"
+ "Oke""Kode MMI dimulai""Kode USSD sedang berjalan…""Kode MMI dibatalkan"
@@ -69,23 +57,14 @@
"Headset berkabel""Bluetooth""Kirimkan nada berikut?"\n
- "Mengirim Nada"\n
+ "Mengirimkan nada"\n"Kirimkan""Ya""Tidak"
- "Ganti karakter acak dengan"
+ "Ganti karakter acak dengan""Nomor kotak pesan hilang""Tidak ada nomor kotak pesan tersimpan pada kartu SIM.""Tambahkan nomor"
- "Memuat…"
- "Ketikkan kode PIN untuk membuka kartu SIM."
- "SIM tidak terkunci"
- "Kode PIN SIM baru"
- "Ketikkan kode PIN SIM baru untuk mengonfirmasi"
- "PIN SIM yang Anda ketikkan tidak sesuai. Harap coba lagi."
- "Ketikkan kode PIN untuk membuka kartu SIM"
- "Kode PUK salah!"
- "Lanjutkan""Kartu SIM Anda tidak lagi dicekal. Ponsel Anda sedang dibuka kuncinya...""PIN pembuka kunci jaringan SIM""Buka kunci"
@@ -93,8 +72,6 @@
"Meminta membuka jaringan...""Permintaan buka kunci jaringan gagal.""Jaringan berhasil dibuka."
- "IMEI"
- "MEID""Setelan panggilan GSM""Setelan panggilan CDMA""Access Point Names (Nama Titik Akses)"
@@ -109,9 +86,10 @@
"Setelan panggilan khusus CDMA tambahan""Setelan layanan jaringan""Nomor Penelepon"
+ "Memuat setelan...""Nomor disembunyikan selama panggilan keluar""Nomor ditampilkan selama panggilan keluar"
- "Gunakan setelan operator bawaan untuk menampilkan nomor saya pada panggilan keluar"
+ "Gunakan setelan operator default untuk menampilkan nomor saya pada panggilan keluar""Nada tunggu""Selama panggilan, beritahukan panggilan masuk kepada saya""Selama panggilan, beritahukan panggilan masuk kepada saya"
@@ -127,39 +105,38 @@
"Nomor ketika sibuk""Meneruskan ke {0}""Dinonaktifkan"
- "Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel Anda sibuk."
+ "Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel sibuk.""Teruskan ketika tidak dijawab""Nomor ketika tidak dapat dihubungi""Meneruskan ke {0}""Dinonaktifkan"
- "Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel Anda tidak menerima panggilan."
+ "Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel tidak menjawab panggilan.""Teruskan ketika tidak dapat dihubungi""Nomor ketika tidak dapat dihubungi""Meneruskan ke {0}""Dinonaktifkan"
- "Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel Anda tidak dapat dijangkau."
+ "Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel tidak dapat dijangkau.""Setelan panggilan"
- "Galat setelan panggilan"
+ "Kesalahan setelan panggilan""Membaca setelan…""Memperbarui setelan…""Mengembalikan setelan...""Tanggapan tak terduga dari jaringan.""Kesalahan jaringan atau kartu SIM."
- "Operasi hanya diizinkan pada nomor panggilan tetap."
- "Hidupkan radio sebelum melihat setelan ini."
- "OK"
+ "Setelan Nomor Panggilan Tetap aplikasi Ponsel Anda diaktifkan. Akibatnya, beberapa fitur yang terkait dengan panggilan tidak bekerja."
+ "Keluar dari mode pesawat sebelum melihat setelan ini."
+ "Oke""Aktifkan""Nonaktifkan""Perbarui"
- "Setelan bawaan jaringan"
+ "Setelan default jaringan""Sembunyikan nomor""Tampilkan nomor"
- "Simpan nomor kotak pesan""Nomor kotak pesan berubah."
- "Perubahan nomor kotak pesan tidak berhasil."\n"Harap hubungi operator jika masalah tetap ada."
- "Perubahan penerusan nomor gagal."\n"Harap hubungi operator Anda jika masalah tetap ada."
+ "Tidak dapat mengubah nomor pesan suara."\n"Hubungi operator Anda jika masalah ini terus berlanjut."
+ "Tidak dapat mengubah nomor penerusan."\n"Hubungi operator Anda jika masalah ini terus berlanjut.""Tidak dapat mengambil dan menyimpan setelan nomor telepon penerusan saat ini."\n"Tetap beralih ke operator baru?""Tidak ada perubahan yang dilakukan.""Pilih layanan kotak pesan"
@@ -169,16 +146,16 @@
"Menelusuri…""Jaringan tidak ditemukan.""Telusuri jaringan"
- "Galat ketika menelusuri jaringan."
+ "Kesalahan ketika menelusuri jaringan.""Mendaftarkan pada %s…"
- "Kartu SIM Anda tidak mengizinkan sambungan ke jaringan ini."
- "Saat ini tidak dapat menyambung ke jaringan. Coba lagi nanti."
+ "Kartu SIM Anda tidak mengizinkan sambungan ke jaringan ini."
+ "Tidak dapat terhubung ke jaringan ini sekarang. Coba lagi nanti.""Terdaftar pada jaringan."
- "Pilih operator jaringan"
+ "Pilih operator jaringan""Telusuri semua jaringan yang tersedia"
- "Pilih secara otomatis"
- "Memilih jaringan yang disukai secara otomatis"
- "Pendaftaran otomatis..."
+ "Pilih otomatis"
+ "Memilih jaringan yang disukai secara otomatis"
+ "Pendaftaran otomatis...""Mode Jaringan""Ubah mode pengoperasian jaringan""Mode jaringan yang disukai"
@@ -192,17 +169,17 @@
"Modus jaringan pilihan: EvDo saja""Modus jaringan pilihan: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo saja""CDMA tanpa EvDo"
- "Otomatis CDMA / EvDo"
- "Otomatis GSM / WCDMA"
+ "CDMA/EvDo otomatis"
+ "GSM/WCDMA otomatis""WCDMA saja""GSM saja"
- "GSM /WCDMA yang disukai"
+ "GSM/WCDMA lebih disukai"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Data diaktifkan"
@@ -210,12 +187,11 @@
"Roaming data""Sambungkan ke layanan data ketika roaming""Sambungkan ke layanan data ketika roaming"
- "Anda telah kehilangan konektivitas data karena Anda meninggalkan jaringan asal dalam keadaan roaming data dimatikan."
+ "Anda telah kehilangan konektivitas data karena meninggalkan jaringan asal dalam keadaan roaming data dimatikan.""Izinkan roaming data? Anda mungkin dikenai tarif jelajah yang tinggi!""Opsi GSM//UMTS""Opsi CDMA""Penggunaan data"
- "Kebijakan data operator""Data yang digunakan dalam periode saat ini""Periode penggunaan data""Kebijakan kecepatan data"
@@ -226,7 +202,6 @@
"%1$d٪ dari siklus yang berlalu"\n"Periode berikutnya dimulai dalam %2$d hari (%3$s)""Kecepatan data dikurangi menjadi %1$d Kb/s jika penggunaan data melebihi batas""Informasi selengkapnya tentang kebijakan penggunaan data jaringan seluler operator Anda"
- "SMS Siaran Sel""SMS Siaran Sel""SMS Siaran Sel""Setelan SMS Siaran Sel diaktifkan"
@@ -267,15 +242,6 @@
"Korea""Bahasa China""Ibrani"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Bahasa""Cuaca Lokal"
@@ -305,9 +271,9 @@
"Peluang Kerja""Peluang Kerja diaktifkan""Peluang Kerja dinonaktifkan"
- "Medis, Kesehatan, dan Rumah Sakit"
- "Medis, Kesehatan, dan Rumah Sakit diaktifkan"
- "Medis, Kesehatan, dan Rumah Sakit dinonaktifkan"
+ "Medis, Kesehatan, dan Rumah Sakit"
+ "Medis, Kesehatan, dan Rumah Sakit diaktifkan"
+ "Medis, Kesehatan, dan Rumah Sakit dinonaktifkan""Berita Teknologi""Berita Teknologi diaktifkan""Berita Teknologi dinonaktifkan"
@@ -322,35 +288,17 @@
"WCDMA saja""GSM saja""GSM/WCDMA (WCDMA yang disukai)"
-
-
- "0"
- "1"
- "2"
- "3""Jaringan 2G saja""Menghemat baterai""Pilih sistem"
- "Ubah mode roaming cdma"
+ "Ubah mode roaming CDMA""Pilih sistem""Utama saja""Otomatis"
- "Mode Roaming CDMA"
- "Ubah mode roaming cdma"
- "Mode roaming CDMA"
-
- "Jaringan Utama Saja"
- "Jaringan Berafiliasi"
- "Jaringan Manapun"
-
-
- "0"
- "1"
- "2"
-
+ "Langganan CDMA""Preferensi Jaringan CDMA""Belum diimplementasikan!""Preferensi jaringan CDMA"
@@ -359,21 +307,11 @@
"CDMA saja""EvDo saja"
-
- "0"
- "1"
- "2"
-
- "Langganan CDMA""Ubah antara RUIM/SIM dan NV""langganan""RUIM//SIM""NV"
-
-
- "0"
- "1""Aktifkan perangkat""Siapkan layanan data"
@@ -390,18 +328,16 @@
"Kelola Nomor Panggilan Tetap""Ubah PIN untuk akses FDN""Kelola daftar nomor telepon"
- "Privasi Suara"
+ "Privasi suara""Aktifkan mode privasi yang ditingkatkan"
- "Mode TTY"
- "Aktifkan mode TTY""Mode TTY""Setel Mode TTY"
- "Coba Lagi Otomatis"
- "Aktifkan mode Coba Lagi Otomatis"
- "Tambahkan kenalan"
- "Edit data kenalan"
- "Hapus kenalan"
- "Masukkan PIN2"
+ "Coba lagi otomatis"
+ "Aktifkan mode Coba lagi otomatis"
+ "Tambahkan kontak"
+ "Edit kontak"
+ "Hapus kontak"
+ "Ketik PIN2""Nama""Nomor""Simpan"
@@ -414,56 +350,50 @@
"Hapus nomor panggilan tetap""Menghapus nomor panggilan tetap...""Nomor panggilan tetap dihapus."
- "FDN tidak diperbarui: Anda memasukkan PIN yang salah."
- "FDN tidak diperbarui: angka tidak boleh lebih dari 20 digit."
+ "FDN tidak diperbarui karena Anda memasukkan PIN yang salah."
+ "FDN tidak diperbarui karena nomor tersebut tidak boleh melebihi 20 digit."
+ "FDN tidak diperbarui. PIN2 salah, atau nomor telepon ditolak.""Membaca dari kartu SIM…"
- "Tidak ada data kenalan pada Kartu SIM."
- "Pilih kenalan untuk diimpor"
- "Untuk mengimpor data kenalan dari kartu SIM, nonaktifkan mode Pesawat."
+ "Tidak ada kontak pada Kartu SIM."
+ "Pilih kontak untuk diimpor"
+ "Untuk mengimpor kontak dari kartu SIM, pertama-tama matikan mode Pesawat.""Aktifkan/nonaktifkan PIN SIM""Ubah PIN SIM""PIN SIM:""PIN lama""PIN Baru""Konfirmasi PIN baru"
- "PIN lama yang Anda masukkan salah. Harap coba lagi."
- "PIN yang Anda masukkan tidak sesuai. Harap coba lagi."
+ "PIN lama yang Anda masukkan salah. Coba lagi."
+ "PIN yang Anda masukkan tidak cocok. Coba lagi.""Ketikkan PIN berupa 4 sampai 8 angka.""Nonaktifkan PIN SIM""Aktifkan PIN SIM""Harap tunggu…"
- "PIN SIM diaktifkan"
- "PIN SIM dinonaktifkan"
- "PIN yang Anda ketikkan salah"
- "PIN SIM berhasil diubah"
+ "PIN SIM diaktifkan."
+ "PIN SIM dinonaktifkan."
+ "PIN yang Anda ketikkan salah."
+ "PIN SIM berhasil diubah.""Sandi salah, SIM terkunci! Masukkan PUK2.""PIN2""PIN2 yang lama""PIN2 Baru""Konfirmasi PIN2 baru"
- "PUK2 yang Anda ketikkan salah. Harap coba lagi."
- "PIN2 lama yang Anda masukkan salah. Harap coba lagi."
- "PIN2 yang Anda masukkan tidak sesuai. Harap coba lagi."
+ "PUK2 yang Anda ketikkan salah. Coba lagi."
+ "PIN2 lama yang Anda masukkan salah. Coba lagi."
+ "PIN2 yang Anda masukkan tidak cocok. Coba lagi.""Ketikkan PIN2 berupa 4 sampai 8 angka.""Ketikkan PUK2 berupa 8 angka."
- "PIN2 berhasil diubah"
+ "PIN2 berhasil diubah.""Ketikkan kode PUK2."
- "Sandi salah, harap ubah PIN2 dan coba lagi!"
- "Sandi salah, SIM terkunci! Masukkan PUK2."
+ "Sandi salah. Ubah PIN2 dan coba lagi."
+ "Sandi salah, SIM terkunci. Masukkan PUK2.""Selesai""Telewicara %s"
- "Kembali ke panggilan"
- "Lanjutkan tanpa kartu SIM"
- "Tidak ada kartu SIM. Harap masukkan kartu SIM ke dalam ponsel."
- "Tolak"
- "Buka kunci"
- "Mengautentikasi PIN…""Nomor kotak pesan""Memanggil""Mencoba ulang""Telewicara""Panggilan masuk"
- "Nada tunggu cdma""Panggilan diakhiri""Ditangguhkan""Menutup panggilan"
@@ -473,7 +403,7 @@
"Panggilan tak terjawab""%s panggilan tak terjawab""Panggilan tak terjawab dari %s"
- "Panggilan saat ini %s"
+ "Panggilan yang berlangsung""Ditangguhkan""Panggilan masuk""Kotak pesan baru"
@@ -482,13 +412,15 @@
"Nomor kotak pesan tidak dikenal""Tidak ada layanan""Jaringan yang dipilih (%s) tidak tersedia"
+ "Akhiri"
+ "Hubungi kembali"
+ "Pesan""Untuk melakukan panggilan, pertama-tama matikan mode Pesawat.""Tidak terdaftar pada jaringan.""Jaringan seluler tidak tersedia.""Panggilan tidak terkirim, tidak ada nomor valid yang dimasukkan.""Panggilan tidak terkirim.""Memulai urutan MMI..."
- "Memulai urutan kode fitur...""Layanan tidak didukung.""Tidak dapat mengalihkan panggilan.""Tidak dapat memisahkan panggilan."
@@ -500,18 +432,13 @@
"Panggilan darurat""Menghidupkan radio...""Di luar area layanan, mencoba sekali lagi..."
- "Panggilan tidak terkirim, %s bukan nomor darurat!"
- "Panggilan tidak terkirim, harap panggil nomor darurat!"
+ "Panggilan tidak terkirim. %s bukan nomor darurat!"
+ "Panggilan tidak terkirim. Panggil nomor darurat!""Gunakan keyboard untuk memanggil"
- "Keypad nada sentuh""Tahan"
- "Aktifkan kembali""Akhiri""Dialpad"
- "Sembunyikan"
- "Pengeras suara""Bungkam"
- "Bluetooth""Tambahkan panggilan""Gabungkan panggilan""Tukar"
@@ -520,8 +447,8 @@
"Audio""Impor""Impor semua"
- "Mengimpor kenalan dari SIM"
- "Impor dari kenalan"
+ "Mengimpor kontak dari SIM"
+ "Impor dari kontak""Alat bantu dengar""Hidupkan kompatibilitas alat bantu dengar"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Teks ERI"
- "Nada DTMF"
+ "Nada DTMF""Setel panjang nada DTMF""Normal""Jauh"
- "Pesan Jaringan"
+ "Pesan jaringan""Aktifkan ponsel Anda""Perlu dilakukan panggilan khusus untuk mengaktifkan layanan ponsel Anda. "\n\n"Setelah menekan “Aktifkan”, dengarkan instruksi yang diberikan untuk mengaktifkan ponsel."
- "Sentuh “Aktifkan” untuk melakukan panggilan khusus yang mengaktifkan ponsel pada jaringan seluler operator, sehingga Anda dapat melakukan panggilan dan tersambung ke jaringan data seluler.""Lewati aktivasi?""Jika Anda mengabaikan aktivasi, Anda tidak dapat melakukan panggilan atau menyambung ke jaringan data seluler (walaupun dapat menyambung ke jaringan Wi-Fi). Sampai ponsel diaktifkan, Anda akan diminta mengaktifkannya setiap kali ponsel dihidupkan.""Lewati"
- "Aktifkan""Aktifkan"
- "Ponsel telah aktif!"
+ "Ponsel telah aktif.""Masalah dengan aktivasi""Ikuti instruksi lisan sampai Anda mendengar aktivasi telah selesai."
- "Keypad""Pengeras Suara"
- "Harap tunggu sampai ponsel Anda selesai diprogram."
- "Pemrograman gagal"
+ "Tunggu sampai ponsel selesai diprogram."
+ "Pemrograman gagal""Ponsel Anda sekarang diaktifkan. Mungkin dibutuhkan waktu hingga 15 menit sampai layanan dimulai."
- "Ponsel Anda tidak aktif. "\n"Anda mungkin perlu mencari area dengan cakupan yang lebih baik (di dekat jendela, atau di luar). "\n\n"Coba lagi atau hubungi layanan pelanggan untuk opsi selengkapnya."
+ "Ponsel Anda tidak aktif. "\n"Anda mungkin perlu menemukan area dengan cakupan yang lebih baik (di dekat jendela atau di luar). "\n\n"Coba lagi atau hubungi layanan pelanggan untuk opsi lainnya.""KEGAGALAN SPC BERLEBIH""Kembali""Coba lagi""Berikutnya"
- "Kembali""EcmExitDialog""Masukkan Mode Panggilan Balik Darurat""Mode Panggilan Balik Darurat"
@@ -569,87 +491,69 @@
"Tidak ada sambungan data selama %s menit"
- "Ponsel ini akan berada pada mode panggilan balik darurat selama %s menit. Selama dalam mode ini, aplikasi mana pun yang memanfaatkan sambungan data tidak dapat digunakan. Apakah Anda ingin keluar sekarang?"
- "Ponsel ini akan berada pada mode panggilan balik darurat selama %s menit. Selama dalam mode ini, aplikasi mana pun yang memanfaatkan sambungan data tidak dapat digunakan. Apakah Anda ingin keluar sekarang?"
+ "Ponsel akan berada dalam mode Panggil Balik Darurat selama %s menit. Selama dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat dipakai. Apakah Anda ingin keluar sekarang?"
+ "Ponsel akan berada dalam mode Panggil Balik Darurat selama %s menit. Selama dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat dipakai. Apakah Anda ingin keluar sekarang?"
- "Tindakan yang dipilih tidak tersedia selama mode panggilan balik darurat. Ponsel akan berada pada mode ini selama %s menit. Apakah Anda ingin keluar sekarang?"
- "Tindakan yang dipilih tidak tersedia selama mode panggilan balik darurat. Ponsel akan berada pada mode ini selama %s menit. Apakah Anda ingin keluar sekarang?"
+ "Tindakan yang dipilih tidak tersedia saat berada dalam mode Panggil Balik Darurat. Ponsel akan berada dalam mode ini selama %s menit. Apakah Anda ingin keluar sekarang?"
+ "Tindakan yang dipilih tidak tersedia saat berada dalam mode Panggil Balik Darurat. Ponsel akan berada dalam mode ini untuk %s menit. Apakah Anda ingin keluar sekarang?"
- "Tindakan yang dipilih tidak tersedia ketika dalam panggilan darurat"
- "Keluar dari Mode Panggilan Balik Darurat"
+ "Tindakan yang dipilih tidak tersedia ketika dalam panggilan darurat."
+ "Keluar dari mode Panggilan Balik Darurat""Ya""Tidak""Tolak"
- "Setelan kotak pesan"
- "<tidak disetel>"
- "Layanan kotak pesan"
- "Setelan untuk %s"
+ "Layanan"
+ "Penyiapan"
+ "<Tidak disetel>""Setelan panggilan lainnya"
- "Panggil"
- "Memanggil melalui ^1"\n"^2"
- "Seret kanan untuk menjawab"
- "Seret kiri untuk mematikan pendering"
- "Seret kiri untuk menolak"
- "Seret kanan untuk menjawab dan"\n"menahan panggilan aktif"
- "Seret kanan untuk menjawab dan"\n" mengakhiri panggilan aktif"
- "Seret kanan untuk menjawab dan"\n"mengakhiri panggilan yang ditangguhkan"
- "Jawab"
- "Tolak"
- "foto kenalan"
+ "Memanggil via %s"
+ "foto kontak""aktifkan pribadi"
- "pilih kenalan"
+ "pilih kontak""Setelan panggilan internet""Akun panggilan internet (SIP)""Akun"
- "Mengelola akun dan status panggilan internet (ISP)""Terima panggilan masuk""Mengurangi masa pakai baterai"
- "Konfigurasikan opsi panggilan""Gunakan panggilan internet""Gunakan panggilan internet (Wi-Fi saja)""Untuk semua panggilan ketika jaringan data tersedia""Hanya untuk panggilan internet""Tanyakan pada setiap panggilan""Untuk semua panggilan"
- "Pendaftaran otomatis"
- "Panggilan keluar melalui SIP""Lakukan panggilan""Gunakan akun panggilan internet""Selalu gunakan untuk melakukan panggilan internet"
- "Anda dapat menggunakan Setelan Panggilan untuk mengubah akun panggilan internet mana yang digunakan secara bawaan ketika melakukan panggilan, dengan memilih akun yang berbeda pada bagian setelan panggilan internet"
+ "Anda dapat mengubah akun pemanggil internet mana yang digunakan secara default dari layar Telepon > Setelan > Setelan panggilan internet > Akun.""Paggilan ponsel""Panggilan internet""Tidak ada akun panggilan internet"
- "Tidak ada akun panggilan internet pada ponsel ini. Tambahkan yang baru sekarang?"
+ "Tidak ada akun panggilan internet di ponsel ini. Apakah Anda ingin menambahkan akun sekarang?""Tambahkan""Tambahkan akun""Hapus akun""Akun SIP"
- "Menyimpan akun..."
- "Menghapus akun..."
+ "Menyimpan akun..."
+ "Menghapus akun...""Simpan""Hapus""Tutup profil"
- "OK"
+ "Oke""Tutup"
- "Utama"
- "Jadikan ini akun utama saya"
- "Digunakan untuk panggilan keluar"
- "Setelan lanjutan""Akun utama. %s""Memeriksa status..."
- "Mendaftarkan..."
- "Masih mencoba..."
- "Tidak menerima panggilan"
- "Pendaftaran akun berhenti karena tidak ada sambungan internet"
- "Pendaftaran akun berhenti karena tidak ada sambungan Wi-Fi"
- "Pendaftaran akun gagal"
- "Menerima panggilan"
+ "Mendaftarkan..."
+ "Masih mencoba..."
+ "Tidak menerima panggilan."
+ "Pendaftaran akun terhenti karena tidak ada sambungan internet."
+ "Pendaftaran akun terhenti karena tidak ada sambungan Wi-Fi."
+ "Pendaftaran akun gagal."
+ "Menerima panggilan.""Pendaftaran akun gagal: (%s); akan mencoba lagi nanti"
- "Pendaftaran akun gagal: nama pengguna atau sandi salah"
- "Pendaftaran akun gagal: periksa nama server"
- "Saat ini akun ini digunakan oleh aplikasi %s"
+ "Pendaftaran akun gagal: Nama pengguna atau sandi salah."
+ "Pendaftaran akun gagal: Periksa nama server."
+ "Saat ini akun digunakan oleh aplikasi %s.""Detail akun SIP""Detail akun SIP""Server"
@@ -660,9 +564,6 @@
"Nomor port""Jenis transportasi""Kirim keep-alive"
- "Kirim pesan SIP keep-alive"
- "Pendaftaran otomatis"
- "Daftar profil secara otomatis""Setel sebagai akun utama""Digunakan untuk panggilan keluar""Setelan opsional"
@@ -673,12 +574,12 @@
"<Opsional>""▷ Sentuh untuk menampilkan semua""▽ Sentuh untuk menyembunyikan semua"
- "%s diperlukan, tidak boleh kosong"
- "Nomor harus dalam 1000 dan 65534"
+ "%s diperlukan, tidak boleh kosong."
+ "Nomor port harus dalam rentang 1000 dan 65534.""Tidak ada sambungan internet""Tidak ada sambungan Wi-Fi"
- "Untuk melakukan panggilan internet, periksalah sambungan internet Anda terlebih dulu"
- "Anda harus terhubung ke jaringan Wi-Fi untuk panggilan internet (gunakan setelan Nirkabel & Jaringan)"
+ "Untuk melakukan panggilan internet, periksalah sambungan internet Anda terlebih dulu."
+ "Anda perlu tersambung ke jaringan Wi-Fi untuk panggilan internet (gunakan setelan Nirkabel & Jaringan)""Panggilan internet tidak didukung""Otomatis""Selalu kirim"
@@ -687,7 +588,7 @@
"Saya segera telepon balik.""Nanti saya telepon balik.""Tak bisa bicara skrg. Tlp lg nanti?"
- "Pesan ubahsuaian..."
+ "Pesan ubahsuaian""Tanggapan cepat""Edit tanggapan cepat"
@@ -705,7 +606,6 @@
"bintang""nol""pound"
- "telusuri""panggil""backspace""Pengeras suara ponsel diaktifkan."
@@ -715,9 +615,14 @@
"Menolak""Getar""Getar"
+ "Nada Dering""Selalu""Hanya saat senyap"
- "Tidak pernah"
+ "Tidak Pernah"
+ "Nada dering ponsel"
+ "Bergetar saat berdering"
+ "Nada sentuh dial pad"
+ "Nada dering"
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 3ffb0dc75..a73657e24 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -25,39 +25,27 @@
"Numero privato""Telefono a monete""In attesa"
- "Chiamata corrente""Linea occupata""Rete occupata""Nessuna risposta, timeout""Server non raggiungibile""Numero non raggiungibile""Password o nome utente errato"
- "Chiamata da fuori rete"
+ "Chiamata da fuori rete""Errore del server. Riprova più tardi.""Nessun segnale""Limite ACM superato""Segnale cellulare disattivato"
- "Nessuna SIM o errore della SIM"
+ "Nessuna SIM o errore della SIM""Area non coperta dal servizio""Chiamate in uscita limitate da FDN."
- "Impossibile effettuare chiamate in uscita con il blocco chiamate attivo."
+ "Impossibile effettuare chiamate in uscita con il blocco chiamate attivo.""Tutte le chiamate sono limitate dal controllo di accesso.""Chiamate di emergenza limitate dal controllo di accesso.""Le normali chiamate sono limitate dal controllo di accesso."
- "CDMA: telefono bloccato fino a ciclo alimentazione."
- "CDMA: chiamata interrotta."
- "CDMA: chiamata intercettata."
- "CDMA: riordinamento."
- "CDMA: rifiuto opzione di servizio."
- "CDMA: riprova ordinamento."
- "CDMA: accesso non riuscito."
- "CDMA: annullato."
- "Sono possibili solo chiamate di emergenza."
- "Numero non valido"
+ "Numero non valido""Audioconferenza""La chiamata è stata persa."
- "Riprova"
- "Chiama Persa""OK""Codice MMI avviato""Esecuzione codice USSD..."
@@ -69,23 +57,14 @@
"Auricolare con cavo""Bluetooth""Inviare i numeri successivi?"\n
- "Invio toni"\n
+ "Invio toni"\n"Invia""Sì""No"
- "Sostituisci carattere jolly con"
+ "Sostituisci carattere jolly con""Numero segreteria mancante""Nessun numero di segreteria presente nella SIM.""Aggiungi numero"
- "Caricamento..."
- "Digita il codice PIN per sbloccare la SIM."
- "SIM sbloccata"
- "Nuovo PIN della SIM"
- "Ridigita il nuovo PIN della SIM per confermare"
- "I PIN della SIM inseriti non corrispondono. Riprova."
- "Digita il codice PUK per sbloccare la SIM"
- "Codice PUK errato."
- "Continua""La SIM è stata sbloccata. Sblocco del telefono...""PIN sblocco rete SIM""Sblocca"
@@ -93,13 +72,13 @@
"Richiesta sblocco rete...""Richiesta di sblocco della rete respinta.""Sblocco della rete riuscito."
- "IMEI"
- "MEID""Imp. chiamate GSM""Impostazioni di chiamata CDMA""Nomi punti di accesso""Impostazioni di rete""Segreteria"
+ Indicatore di messaggio in attesa
+ Visualizza un indicatore di notifica per un messaggio vocale in attesa"ST:""Operatori di rete""Impostazioni chiamate"
@@ -109,6 +88,7 @@
"Altre impostazioni chiamata solo CDMA""Impostazioni servizio di rete""ID chiamante"
+ "Caricamento impostazioni…""Numero nascosto per chiamate in uscita""Numero visualizzato in chiamate in uscita""Usa impostazioni operatore per visualizzare il mio numero in chiamate in uscita"
@@ -127,17 +107,17 @@
"Numero se occupato""Deviazione al numero {0}""Disattivato"
- "Il tuo gestore di telefonia mobile non supporta la disattivazione dell\'inoltro chiamate quando il telefono è occupato."
+ "Il tuo operatore non supporta la disattivazione dell\'inoltro chiamate quando il telefono è occupato.""Devia se non si risponde""Numero se non si risponde""Deviazione al numero {0}""Disattivato"
- "Il tuo gestore di telefonia mobile non supporta la disattivazione dell\'inoltro chiamate quando il telefono non risponde."
+ "Il tuo operatore non supporta la disattivazione dell\'inoltro chiamate quando il telefono non risponde.""Devia se non raggiungibile""Numero se non raggiungibile""Deviazione al numero {0}""Disattivato"
- "Il tuo gestore di telefonia mobile non supporta la disattivazione dell\'inoltro chiamate quando il telefono non è raggiungibile."
+ "Il tuo operatore non supporta la disattivazione dell\'inoltro chiamate quando il telefono non è raggiungibile.""Impostazioni chiamate""Errore durante aggiornam. impostaz. chiamate""Lettura impostazioni..."
@@ -145,8 +125,8 @@
"Annullamento impostazioni...""Risposta imprevista dalla rete.""Errore di rete o della SIM."
- "Operazioni consentite solo sui numeri di selezione fissa."
- "Attiva il segnale cellulare per visualizzare queste impostazioni."
+ "L\'impostazione relativa ai numeri di selezione fissa dell\'applicazione sul tuo telefono è attiva. Di conseguenza, alcune funzioni legate alle chiamate non funzionano."
+ "Attiva il segnale cellulare per visualizzare queste impostazioni.""OK""Attiva""Disattiva"
@@ -156,10 +136,9 @@
"Nascondi numero""Mostra numero"
- "Salva numero segreteria""Numero segreteria modificato."
- "Modifica del numero di segreteria non riuscita."\n"Se il problema persiste, contattare l\'operatore di telefonia."
- "Modifica del numero di inoltro non riuscita."\n"Se il problema persiste, contattare l\'operatore di telefonia."
+ "Modifica del numero della segreteria non riuscita."\n"Contatta il tuo operatore se il problema persiste."
+ "Modifica del numero di deviazione non riuscita."\n"Contatta il tuo operatore se il problema persiste.""Recupero e salvataggio delle impostazioni correnti dei numeri di deviazione non riusciti. "\n"Passare comunque al nuovo fornitore?""Nessuna modifica effettuata.""Scegli il servizio di segreteria"
@@ -171,66 +150,73 @@
"Cerca reti""Errore durante la ricerca di reti.""Registrazione su %s..."
- "La SIM non consente la connessione a questa rete."
- "Impossibile connettersi a questa rete adesso. Riprova più tardi."
+ "La scheda SIM non consente la connessione a questa rete."
+ "Impossibile connettersi a questa rete in questo momento. Riprova più tardi.""Registrato sulla rete."
- "Seleziona un operatore di rete"
+ "Scegli un operatore di rete""Cerca tutte le reti disponibili"
- "Seleziona automaticamente"
- "Seleziona automaticamente la rete preferita"
- "Registrazione automatica..."
+ "Scegli automaticamente"
+ "Scegli automaticamente la rete preferita"
+ "Registrazione automatica...""Modalità rete""Cambia la modalità di funzionamento della rete""Modalità di rete preferita""Modalità di rete preferita: WCDMA (preferita)""Modalità di rete preferita: solo GSM""Modalità di rete preferita: solo WCDMA"
- "Modalità di rete preferita: GSM/WCDMA"
+ "Modalità di rete preferita: GSM / WCDMA""Modalità di rete preferita: CDMA""Modalità di rete preferita: CDMA/EvDo""Modalità di rete preferita: solo CDMA""Modalità di rete preferita: solo EvDo"
- "Modalità di rete preferita: LTE/CDMA"
+ "Modalità di rete preferita: LTE / CDMA"
+ Modalità di rete preferita: LTE / GSM / WCDMA
+ Modalità di rete preferita: LTE / CDMA / EvDo
+ Modalità di rete preferita: LTE / CMDA / EvDo / GSM / WCDMA
- "LTE/CDMA"
+ Globale"Solo EvDo""CDMA senza EvDo"
- "CDMA / EvDo automatico"
- "GSM/WCDMA automatico"
+ "CDMA / EvDo automatico"
+ "GSM / WCDMA automatico""Solo WCDMA""Solo GSM"
- "GSM/WCDMA preferito"
+ "GSM / WCDMA preferito"
- "LTE/CDMA"
- "CDMA"
+ Solo LTE
+ LTE / CMDA / EvDo / GSM / WCDMA
+ LTE / CDMA / EvDo
+ "LTE / CDMA"
+ "CDMA / EvDo automatico"
+
+
+ LTE / GSM / WCDMA
+ GSM / WCDMA preferito"Dati attivati""Attiva l\'accesso ai dati sulla rete cellulare""Roaming dati"
- "Connessione a servizi di dati in caso di roaming"
- "Connessione a servizi di dati in roaming"
- "Connettività dati persa: hai lasciato la rete del tuo operatore con il roaming dati disattivato."
+ "Connetti a servizi di dati se in roaming"
+ "Non connettere a servizi di dati se in roaming"
+ Roaming dati nazionale
+ Connetti a servizi di dati se in roaming nazionale
+ Non connettere a servizi di dati se in roaming nazionale
+ "Connettività dati persa: hai lasciato la rete del tuo operatore con il roaming dati disattivato.""Consentire il roaming dati? I costi potrebbero essere elevati.""Opzioni GSM/UMTS""Opzioni CDMA""Utilizzo dati"
- "Norme dati gestore""Dati utilizzati nel periodo corrente""Periodo utilizzo dati""Norme velocità dati""Ulteriori informazioni"
-
-
-
-
-
-
+ %1$s (%2$d\u066A) di %3$s massimo del periodo\nIl periodo successivo comincierà fra %4$d giorni (%5$s)
+ %1$s (%2$d\u066A) di %3$s massimo dell\'intervallo"%1$s max superato"\n"Velocità dati ridotta a %2$d Kb/s""%1$d% del ciclo trascorso"\n"Il periodo succ. inizia tra %2$d gg (%3$s)""Velocità dati ridotta a %1$d Kb/s se limite utilizzo dati superato""Informazioni sulla norme di utilizzo dati della rete cellulare del gestore"
- "SMS cell broadcast""SMS cell broadcast""SMS cell broadcast""SMS cell broadcast attivato"
@@ -271,15 +257,6 @@
"Coreano""Cinese""Ebraico"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Lingue""Meteo locale"
@@ -309,9 +286,9 @@
"Opportunità di impiego""Opportunità di impiego attivate""Opportunità di impiego disattivate"
- "Medicina, salute e ospedale"
- "Medicina, salute e ospedale attivate"
- "Medicina, salute e ospedale disattivate"
+ "Medicina, salute e ospedale"
+ "Medicina, salute e ospedale attivate"
+ "Medicina, salute e ospedale disattivate""News di tecnologia""News di tecnologia attivate""News di tecnologia disattivate"
@@ -326,35 +303,17 @@
"Solo WCDMA""Solo GSM""GSM/WCDA (WCDMA preferito)"
-
-
- "0"
- "1"
- "2"
- "3""Usa solo reti 2G""Risparmia batteria""Selezione sistema"
- "Cambia la modalità roaming CDMA"
+ "Cambia la modalità roaming CDMA""Selezione sistema""Solo domestica""Automatiche"
- "Modalità roaming CDMA"
- "Cambia la modalità roaming CDMA"
- "Modalità roaming CDMA"
-
- "Solo reti domestiche"
- "Reti affiliate"
- "Qualsiasi rete"
-
-
- "0"
- "1"
- "2"
-
+ "Abbonamento CDMA""Preferenze di rete CDMA""Non ancora implementato.""Preferenze di rete CDMA"
@@ -363,21 +322,11 @@
"Solo CDMA""Solo EvDo"
-
- "0"
- "1"
- "2"
-
- "Abbonamento CDMA""Cambia tra RUIM/SIM e NV""abbonamento""RUIM/SIM""NV"
-
-
- "0"
- "1""Attiva dispositivo""Imposta servizio dati"
@@ -394,18 +343,16 @@
"Gestisci numeri di selezione fissa""Cambia PIN per accesso FDN""Gestisci elenco numeri"
- "Privacy pacchetti vocali"
+ "Privacy pacchetti vocali""Attiva modalità privacy ottimizzata"
- "Modalità TTY"
- "Attiva modalità TTY""Modalità TTY""Imposta modalità TTY"
- "Nuovo tentativo automatico"
- "Attiva la modalità Nuovo tentativo automatico"
+ "Nuovo tentativo automatico"
+ "Attiva la modalità Nuovo tentativo automatico""Aggiungi contatto""Modifica contatto""Elimina contatto"
- "Inserisci PIN2"
+ "Digita PIN2""Nome""Numero""Salva"
@@ -418,56 +365,50 @@
"Elimina numero selezione fissa""Eliminazione numero selezione fissa...""Numero di selezione fissa eliminato."
- "FDN non aggiornato: il PIN inserito non è corretto."
- "FDN non aggiornato: il numero non superare 20 cifre."
+ "FDN non aggiornato perché il PIN inserito non è corretto."
+ "FDN non è stato aggiornato perché il numero non può superare 20 cifre."
+ "FDN non aggiornato. Il codice PIN2 non era corretto o il numero di telefono è stato rifiutato.""Lettura da SIM...""Nessun contatto presente nella SIM.""Seleziona contatti da importare"
- "Per importare i contatti dalla carta SIM, disattiva la modalità aereo."
+ "Per importare i contatti dalla scheda SIM, prima disattiva la modalità aereo.""Attiva/disattiva PIN di SIM""Cambia PIN SIM""PIN della SIM:""PIN attuale""Nuovo PIN""Conferma nuovo PIN"
- "Il PIN attuale digitato è errato. Riprova."
- "I PIN inseriti non corrispondono. Riprova."
+ "Il vecchio PIN digitato è errato. Riprova."
+ "I PIN digitati non corrispondono. Riprova.""Il PIN deve essere di 4-8 numeri.""Disattiva PIN SIM""Attiva PIN di SIM""Attendere..."
- "PIN della SIM attivato"
- "PIN della SIM disattivato"
- "Il PIN digitato è errato"
- "PIN della SIM modificato"
+ "PIN della SIM attivato."
+ "PIN della SIM disattivato."
+ "Il PIN digitato è errato."
+ "PIN della SIM modificato.""Password errata. La SIM è bloccata. Inserisci il codice PUK2.""PIN2""PIN2 attuale""Nuovo PIN2""Conferma nuovo PIN2"
- "Il PUK2 digitato è errato. Riprova."
- "Il vecchio PIN2 digitato è errato. Riprova."
- "I PIN2 inseriti non corrispondono. Riprova."
+ "Il PUK2 digitato è errato. Riprova."
+ "Il vecchio PIN2 digitato è errato. Riprova."
+ "I PIN2 digitati non corrispondono. Riprova.""Il PIN2 deve essere di 4-8 numeri.""Il PUK2 deve essere di 8 numeri."
- "PIN2 modificato"
+ "PIN2 modificato.""Digita il codice PUK2"
- "Password errata. Modifica il PIN2 e riprova."
- "Password errata. La SIM è bloccata. Inserire il codice PUK2."
+ "Password errata. Modifica il PIN2 e riprova."
+ "Password errata. La SIM è bloccata. Inserisci il codice PUK2.""Fine""Audioconferenza %s"
- "Torna a chiamata"
- "Continua senza SIM"
- "Nessuna SIM trovata. Inserisci una SIM nel telefono."
- "Chiudi"
- "Sblocca"
- "Autenticazione PIN...""Numero segreteria""Chiamata in corso""Nuovo tentativo""Audioconferenza""Chiamata in arrivo"
- "Chiamata CDMA in attesa""Chiamata terminata""In attesa""In fase di chiusura"
@@ -477,7 +418,7 @@
"Chiamate senza risposta""%s chiamate senza risposta""Chiamata senza risposta da %s"
- "Chiamata corrente (%s)"
+ "Chiamata in corso""In attesa""Chiamata ricevuta""Nuovo msg vocale"
@@ -486,13 +427,15 @@
"Numero segreteria sconosciuto""Nessun servizio""Rete selezionata (%s) non disponibile"
+ "Riaggancia"
+ "Richiama"
+ "Messaggio""Per fare una telefonata, disattiva la modalità aereo.""Non registrato sulla rete.""Rete cellulare non disponibile.""Chiamata non inviata. Nessun numero valido inserito.""Chiamata non inviata.""Inizio sequenza MMI..."
- "Inizio sequenza codice funzione...""Servizio non supportato.""Impossibile passare all\'altra chiamata.""Impossibile separare le chiamate."
@@ -504,18 +447,13 @@
"Chiamata di emergenza""Attivazione segnale cellulare...""Area non coperta dal servizio. Nuovo tentativo..."
- "Chiamata non inviata. %s non è un numero di emergenza."
- "Chiamata non inviata. Componi un numero di emergenza."
+ "Chiamata non inviata. %s non è un numero di emergenza."
+ "Chiamata non inviata. Componi un numero di emergenza.""Usa tastiera"
- "Selezione a toni""In attesa"
- "Riprendi""Chiudi""Tastierino"
- "Nascondi"
- "Vivavoce""No audio"
- "Bluetooth""Aggiungi""Unisci""Scambia"
@@ -534,36 +472,31 @@
"TTY HCO""TTY VCO"
- "Testo ERI"
- "Toni DTMF"
+ "Toni DTMF""Imposta la lunghezza dei toni DTMF""Normali""Lunghi"
- "Messaggio di rete"
+ "Messaggio di rete""Attiva il telefono""È necessario effettuare una chiamata speciale per attivare il servizio telefonico. "\n\n"Dopo avere premuto \"Attiva\", ascolta le istruzioni fornite per attivare il telefono."
- "Tocca \"Attiva\" per effettuare una chiamata speciale che attiva il telefono sulla rete cellulare del tuo gestore, in modo da poter effettuare chiamate e poterti connettere a reti di dati mobili.""Saltare l\'attivazione?""Se salti l\'attivazione, non potrai effettuare chiamate o connetterti a reti di dati mobili (ma potrai connetterti a reti Wi-Fi). Finché non attiverai il telefono, ti verrà chiesto di attivarlo ogni volta che lo accendi.""Salta"
- "Attiva""Attiva"
- "Il telefono è attivo."
+ "Il telefono è attivo.""Problema con l\'attivazione""Segui le istruzioni vocali fino al segnale di attivazione completata."
- "Tastierino""Vivavoce"
- "Attendi la programmazione del telefono."
- "Programmazione non riuscita"
+ "Attendi la programmazione del telefono."
+ "Programmazione non riuscita""Il telefono è attivo. L\'avvio del servizio potrebbe richiedere fino a 15 minuti."
- "Il telefono non è stato attivato. "\n"Potrebbe essere necessario trovare una zona con copertura migliore (vicino a una finestra o all\'esterno). "\n\n"Riprova o contatta l\'assistenza tecnica per conoscere altre soluzioni."
+ "Il telefono non è stato attivato. "\n"Potrebbe essere necessario trovare una zona con copertura migliore (vicino a una finestra o all\'esterno). "\n\n"Riprova o contatta l\'assistenza clienti per conoscere altre soluzioni.""TROPPI ERRORI SPC""Indietro""Riprova""Avanti"
- "Indietro""EcmExitDialog""Modalità di richiamata di emergenza attivata""Modalità di richiamata di emergenza"
@@ -573,87 +506,71 @@
"Nessuna connessione dati per %s minuti"
- "Il telefono sarà in modalità di richiamata di emergenza per %s minuto. In questa modalità non è possibile utilizzare alcuna applicazione che richiede una connessione dati. Uscire ora?"
- "Il telefono sarà in modalità di richiamata di emergenza per %s minuti. In questa modalità non è possibile utilizzare alcuna applicazione che richiede una connessione dati. Uscire ora?"
+ "Il telefono sarà in modalità di richiamata di emergenza per %s minuto. In questa modalità non è possibile utilizzare alcuna applicazione che faccia uso di una connessione dati. Uscire adesso?"
+ "Il telefono sarà in modalità di richiamata di emergenza per %s minuti. In questa modalità non è possibile utilizzare alcuna applicazione che faccia uso di una connessione dati. Uscire adesso?"
- "L\'azione selezionata non è disponibile in modalità di richiamata di emergenza. Il telefono sarà in questa modalità per %s minuto. Uscire ora?"
- "L\'azione selezionata non è disponibile in modalità di richiamata di emergenza. Il telefono sarà in questa modalità per %s minuti. Uscire ora?"
+ "L\'azione selezionata non è disponibile in modalità di richiamata di emergenza. Il telefono sarà in questa modalità per %s minuto. Uscire adesso?"
+ "L\'azione selezionata non è disponibile in modalità di richiamata di emergenza. Il telefono sarà in questa modalità per %s minuti. Uscire adesso?"
- "L\'azione selezionata non è disponibile in modalità di chiamata di emergenza"
- "Uscita dalla modalità di richiamata di emergenza"
+ "L\'azione selezionata non è disponibile in modalità di chiamata di emergenza."
+ "Uscita dalla modalità di richiamata di emergenza""Sì""No""Ignora"
- "Impostazioni segreteria"
- "<non impostato>"
- "Servizio di segreteria"
- "Impostazioni per %s"
+ "Servizio"
+ "Configurazione"
+ "<Non impostato>""Altre impostazioni chiamate"
- "Componi"
- "Chiamata in corso tramite ^1"\n"^2"
- "Trascina a destra per rispondere"
- "Trascina a sinistra per disattivare la suoneria"
- "Trascina a sinistra per rifiutare"
- "Trascina a destra per rispondere e"\n"mettere in attesa la chiamata attiva"
- "Trascina a destra per rispondere e"\n"terminare la chiamata attiva"
- "Trascina a destra per rispondere e"\n"terminare la chiamata in attesa"
- "Risposta"
- "Rifiuta"
+ "Impostazioni tastierino"
+ "Impostazioni per il tastierino"
+ "Chiamata tramite %s""foto contatto""Privato""seleziona contatto""Impostazioni chiamate Internet""Account di chiamata Internet (SIP)""Account"
- "Gestisci gli account di chiamata Internet (SIP) e lo stato""Ricevi chiamate in arrivo""Riduce la durata della batteria"
- "Configura opzioni di chiamata""Usa chiamata Internet""Usa chiamata Internet (solo Wi-Fi)""Per tutte le chiamate quando è disponibile la rete dati""Solo per chiamate Internet""Chiedi per ogni chiamata""Per tutte le chiamate"
- "Registrazione automatica"
- "Chiamata in uscita tramite SIP""Effettua chiamata""Usa account per chiamate Internet:""Utilizza sempre per effettuare chiamate Internet"
- "Puoi utilizzare le impostazioni di chiamata per cambiare l\'account per chiamate Internet da utilizzare per impostazione predefinita per effettuare chiamate, selezionando un altro account nelle impostazioni per le chiamate Internet."
+ "Puoi cambiare l\'account di chiamata Internet da utilizzare per impostazione predefinita dallo schermo Telefono > Impostazioni > Impostazioni chiamate Internet > Account.""Chiamata con telefono cellulare""Chiamata Internet""Nessun account per chiamate Internet"
- "Non esistono account di chiamata Internet su questo telefono. Aggiungerne uno adesso?"
+ "Non ci sono account di chiamata Internet su questo telefono. Aggiungerne uno adesso?""Aggiungi""Aggiungi account""Rimuovi account""Account SIP"
- "Salvataggio dell\'account..."
- "Rimozione dell\'account..."
+ "Salvataggio dell\'account..."
+ "Rimozione dell\'account...""Salva""Ignora""Chiudi il profilo""OK""Chiudi"
- "Principale"
- "Rendi account principale"
- "Utilizzato per le chiamate in uscita"
- "Impostazioni avanzate""Account principale. %s""Controllo stato..."
- "Registrazione..."
- "Tentativo ancora in corso..."
- "Ricezione chiamate non attiva"
- "Registrazione account interrotta per mancanza di una connessione a Internet"
- "Registrazione account interrotta per mancanza di una connessione Wi-Fi"
- "Registrazione account non riuscita"
- "Ricezione chiamate attiva"
+ "Registrazione..."
+ "Tentativo ancora in corso..."
+ "Ricezione chiamate non attiva."
+ "Registrazione account interrotta per mancanza di una connessione a Internet."
+ "Registrazione account interrotta per mancanza di una connessione Wi-Fi."
+ "Registrazione account non riuscita."
+ "Ricezione chiamate attiva.""Registrazione account non riuscita: (%s); più tardi verrà eseguito un nuovo tentativo"
- "Registrazione account non riuscita: password o nome utente errato"
- "Registrazione account non riuscita: verifica il nome del server"
- "Questo account è attualmente utilizzato dall\'applicazione %s"
+ "Registrazione account non riuscita: password o nome utente errato."
+ "Registrazione account non riuscita: verifica il nome del server."
+ "Questo account è attualmente utilizzato dall\'applicazione %s.""Dettagli account SIP""Dettagli account SIP""Server"
@@ -664,9 +581,6 @@
"Numero porta""Tipo trasporto""Invia keep-alive"
- "Invia messaggi keep-alive SIP"
- "Registrazione automatica"
- "Registra automaticamente il profilo""Account principale""Utilizzato per chiamate in uscita""Impostazioni facoltative"
@@ -677,12 +591,12 @@
"<Facoltativo>""▷ Tocca per mostrare tutto""▽ Tocca per nascondere tutto"
- "%s è obbligatorio e non può essere lasciato vuoto"
- "Il numero della porta deve essere compreso tra 1000 e 65534"
+ "%s è obbligatorio e non può essere lasciato vuoto."
+ "Il numero della porta deve essere compreso tra 1000 e 65534.""Nessuna connessione Internet""Nessuna connessione Wi-Fi"
- "Prima di effettuare una chiamata via Internet controlla la tua connessione a Internet"
- "Devi essere collegato a una rete Wi-Fi per effettuare chiamate via Internet (utilizza le Impostazioni wireless e reti)"
+ "Prima di effettuare una chiamata via Internet, controlla la tua connessione a Internet."
+ "Devi essere collegato a una rete Wi-Fi per effettuare chiamate via Internet (utilizza le impostazioni Wireless e reti).""Chiamate Internet non supportate""Automatico""Invia sempre"
@@ -691,7 +605,7 @@
"Ti richiamo subito.""Ti chiamo dopo.""Non posso parlare ora. Mi chiami dopo?"
- "Personalizza messaggio..."
+ "Messaggio personalizzato""Risposte rapide""Modifica risposte rapide"
@@ -709,7 +623,6 @@
"asterisco""zero""sterlina"
- "cerca""componi""backspace""Vivavoce attivo."
@@ -719,9 +632,31 @@
"Rifiuta""Vibrazione""Vibrazione"
+ "Suoneria""Sempre"
- "Solo in modalità silenziosa"
+ "Solo in modalità Silenzioso""Mai"
+ "Suoneria telefono"
+ "Vibrazione quando squilla"
+ "Toni tastierino numerico"
+ "Suoneria"
+ Cambia rete (2G/3G)
+ Un\'applicazione con questo permesso può passare da 2G a 3G e viceversa in qualsiasi momento. Il 3G è più veloce, consuma più batteria e può anche farti spendere di più.
+ Attenuazione rumore
+ Riduce il rumore di sottofondo presente nelle chiamate
+ Il mio numero di telefono
+ Imposta il numero di telefono per questo dispositivo
+ Impostazioni avanzate
+ Sensore di prossimità
+ Non disattivare il sensore di prossimità durante una chiamata con le cuffie
+ Blocca a fine chiamata
+ Blocca automaticamente il dispositivo quando una chiamata finisce
+ Vibra alla risposta
+ Vibra quando in attesa
+ Vibra al termine
+ Vibra ogni 45 sec
+ Vibra ogni 45 secondi durante le chiamate in uscita
+
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 18538f771..eccab00d0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -25,39 +25,27 @@
"מספר פרטי""טלפון ציבורי""בהמתנה"
- "שיחה נוכחית""הקו לא פנוי""רשת לא פנויה""אין תגובה, החיבור הסתיים""אין אפשרות להשיג את השרת""אין אפשרות להשיג את המספר""שם משתמש או סיסמה שגויים"
- "שיחה מחוץ לרשת"
+ "שיחה מחוץ לרשת""שגיאת שרת. נסה שוב מאוחר יותר.""אין אות""חריגה ממגבלת ACM""רדיו כבוי"
- "אין SIM, או שגיאת SIM"
+ "אין SIM או שגיאת SIM""מחוץ לאזור שירות""שיחות יוצאות מוגבלות על ידי FDN."
- "אינך יכול לבצע שיחות יוצאות כאשר חסימת שיחות מופעלת."
+ "לא ניתן לבצע שיחות יוצאות כאשר חסימת שיחות מופעלת.""כל השיחות מוגבלות על ידי בקרת גישה.""שיחות חירום מוגבלות על ידי בקרת גישה.""שיחות רגילות מוגבלות על ידי בקרת גישה."
- "CDMA: הטלפון נעול עד לכיבוי והפעלה מחדש."
- "CDMA: השיחה בוטלה."
- "CDMA: השיחה עוכבה."
- "CDMA: סידור מחדש."
- "CDMA: דחיית אפשרות שירות."
- "CDMA: ניסיון חוזר להזמנה."
- "CDMA: הגישה נכשלה."
- "CDMA: תפוס."
- "ניתן לבצע רק שיחות חירום."
- "מספר לא תקף"
+ "מספר לא חוקי""שיחת ועידה""השיחה אבדה."
- "נסה שוב"
- "שיחה אבדה""אישור""קוד MMI הופעל""קוד USSD פועל…"
@@ -69,23 +57,14 @@
"אוזניות קוויות""Bluetooth""לשלוח את הצלילים הבאים?"\n
- "שולח צלילים"\n
+ "שולח צלילים"\n"שלח""כן""לא"
- "החלף תו כללי ב:"
+ "החלף את התו הכללי ב""חסר מספר של דואר קולי""בכרטיס ה-SIM לא מאוחסן מספר של דואר קולי.""הוסף מספר"
- "טוען..."
- "הקלד קוד PIN כדי לבטל את נעילת כרטיס ה-SIM."
- "בוטלה נעילת SIM"
- "קוד PIN חדש של SIM"
- "הקלד קוד PIN חדש של SIM שוב כדי לאשר"
- "קודי ה-PIN של ה-SIM שהקלדת אינם תואמים. נסה שוב."
- "הקלד קוד PUK כדי לבטל נעילה של כרטיס SIM."
- "קוד PUK שגוי!"
- "המשך""בוטלה החסימה של כרטיס SIM. מבטל את חסימת הטלפון...""PIN לביטול נעילה של רשת SIM""בטל נעילה"
@@ -93,8 +72,6 @@
"מבקש ביטול נעילת רשת...""הבקשה לביטול נעילת הרשת נכשלה.""ביטול נעילת הרשת התבצע בהצלחה."
- "IMEI"
- "MEID""הגדרות שיחה של GSM""הגדרות שיחה של CDMA""שמות של נקודות גישה"
@@ -109,6 +86,7 @@
"הגדרות שיחה נוספות של CDMA בלבד""הגדרות שירות רשת""זיהוי מתקשר"
+ "טוען הגדרות...""המספר מוסתר בשיחות יוצאות""מספר המוצג בשיחות יוצאות""השתמש בהגדרות ברירת המחדל של המפעיל כדי להציג את המספר שלי בשיחות יוצאות"
@@ -127,17 +105,17 @@
"מספר כאשר לא פנוי""מעביר אל {0}""מושבת"
- "הספק שלך לא תומך בהשבתה של העברת שיחות כאשר הטלפון תפוס."
+ "הספק שלך אינו תומך בהשבתה של העברת שיחות כאשר הטלפון תפוס.""העבר כשאין מענה""מספר לחיוג כשאין מענה""מעביר אל {0}""מושבת"
- "הספק שלך לא תומך בהשבתה של העברת שיחות כאשר אין מענה בטלפון."
+ "הספק אינו תומך בהשבתה של העברת שיחות כאשר אין מענה בטלפון.""העבר כשלא ניתן להשיג""המספר לחיוג כשלא ניתן להשיג""מעביר אל {0}""מושבת"
- "הספק שלך לא תומך בהשבתה של העברת שיחות כאשר לא ניתן להשיג את הטלפון."
+ "הספק שלך לא תומך בהשבתה של העברת שיחות כאשר הטלפון כבוי.""הגדרות שיחה""שגיאה בהגדרות שיחה""קורא הגדרות…"
@@ -145,8 +123,8 @@
"מאחזר הגדרות הקודמות…""תגובה לא צפויה מהרשת.""שגיאת רשת או שגיאה של כרטיס SIM."
- "הפעולות מותרות רק במספרי חיוג קבועים."
- "הפעל את הרדיו לפני העיון בהגדרות אלה."
+ "הגדרת מספרי החיוג הקבועים של יישום הטלפון שלך מופעלת. כתוצאה מכך, חלק מהתכונות הקשורות לשיחות לא פועלות."
+ "הפעל את הרדיו לפני ההצגה של הגדרות אלה.""אישור""הפעל""השבת"
@@ -156,10 +134,9 @@
"הסתר מספר""הצג מספר"
- "שמור מספר דואר קולי""המספר של הדואר הקולי השתנה."
- "נכשל הניסיון לשנות את המספר של הדואר הקולי."\n"פנה אל הספק אם בעיה זו נמשכת."
- "שינוי מספר העברה נכשל."\n"פנה אל הספק אם בעיה זו נמשכת."
+ "לא ניתן לשנות את מספר הגישה לדואר הקולי."\n"אם הבעיה נמשכת, פנה לספק."
+ "לא ניתן לשנות את מספר ההעברה."\n"אם הבעיה נמשכת, פנה לספק.""לא ניתן לאחזר ולשמור את הגדרות מספר ההעברה הנוכחי."\n"לעבור בכל זאת לספק החדש?""לא בוצעו שינויים.""בחר שירות של דואר קולי"
@@ -171,14 +148,14 @@
"חפש רשתות""שגיאה במהלך חיפוש רשתות.""נרשם ב-%s…"
- "כרטיס SIM לא מאפשר חיבור לרשת זו."
- "לא ניתן להתחבר לרשת זו כעת. נסה שוב מאוחר יותר."
+ "כרטיס ה-SIM לא מאפשר חיבור לרשת זו."
+ "לא ניתן להתחבר לרשת זו כעת. נסה שוב מאוחר יותר.""רשום ברשת."
- "בחר מפעיל רשת"
+ "בחר ספק רשת""חפש את כל הרשתות הזמינות"
- "בחר באופן אוטומטי"
- "בחר באופן אוטומטי רשת מועדפת"
- "רישום אוטומטי..."
+ "בחר אוטומטית"
+ "בחר רשת מועדפת באופן אוטומטי"
+ "רישום אוטומטי...""מצב רשת""שנה את מצב ההפעלה של הרשת""מצב רשת מועדפת"
@@ -192,17 +169,17 @@
"מצב רשת מועדפת: EvDo בלבד""מצב רשת מועדפת: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo בלבד""CDMA ללא EvDo"
- "CDMA / EvDo אוטומטי"
- "GSM / WCDMA אוטומטי"
+ "CDMA/EvDo אוטומטי"
+ "GSM/WCDMA אוטומטי""WCDMA בלבד""GSM בלבד"
- "GSM / WCDMA מועדף"
+ "GSM/WCDMA מועדפת"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""נתונים מופעלים"
@@ -210,12 +187,11 @@
"נדידת נתונים""התחבר לשירותי נתונים בעת נדידה""התחבר לשירותי נתונים בעת נדידה"
- "איבדת את קישוריות הנתונים כיוון שעזבת את הרשת הביתית בזמן שנדידת הנתונים היתה כבויה."
+ "איבדת את קישוריות הנתונים כיוון שעזבת את הרשת הביתית כשהנדידה כבויה.""לאפשר נדידת נתונים? אתה עלול לצבור חיובי נדידה משמעותיים!""אפשרויות GSM/UMTS""אפשרויות CDMA""שימוש בנתונים"
- "מדיניות נתונים של ספק""נתונים שנעשה בהם שימוש בתקופה הנוכחית""תקופת השימוש בנתונים""מדיניות קצב נתונים"
@@ -226,7 +202,6 @@
"%1$d?? מהמחזור חלפו"\n"התקופה הבאה מתחילה בעוד %2$d ימים (%3$s)""קצב הנתונים יורד ל-%1$d Kb לשנייה במקרה של חריגה ממגבלת השימוש בנתונים""למידע נוסף על מדיניות השימוש בנתונים ברשת הסלולרית של הספק שלך"
- "SMS בשידור סלולרי""SMS בשידור סלולרי""SMS בשידור סלולרי""SMS בשידור סלולרי מופעל"
@@ -267,15 +242,6 @@
"קוריאנית""סינית""עברית"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""שפות""מזג אוויר מקומי"
@@ -305,9 +271,9 @@
"מדור דרושים""מדור דרושים מופעל""מדור דרושים מושבת"
- "רפואה, בריאות ובתי חולים"
- "האפשרות \'רפואה, בריאות ובתי חולים\' מופעלת"
- "האפשרות \'רפואה, בריאות ובתי חולים\' מושבתת"
+ "רפואה, בריאות ובתי חולים"
+ "האפשרות \'רפואה, בריאות ובתי חולים\' מופעלת"
+ "האפשרות \'רפואה, בריאות ובתי חולים\' מושבתת""חדשות הטכנולוגיה""קטגוריית חדשות טכנולוגיה מופעלת""חדשות טכנולוגיה מושבתות"
@@ -322,35 +288,17 @@
"WCDMA בלבד""GSM בלבד""GSM/WCDA (WCDMA מועדף)"
-
-
- "0"
- "1"
- "2"
- "3""השתמש רק ברשתות 2G""חוסך בצריכת הסוללה""בחירת מערכת"
- "שנה את מצב הנדידה של CDMA"
+ "שנה את מצב נדידת CDMA""בחירת מערכת""בית בלבד""אוטומטי"
- "מצב נדידה של CDMA"
- "שנה את מצב הנדידה של CDMA"
- "מצב נדידה של CDMA"
-
- "רשתות ביתיות בלבד"
- "רשתות מסונפות"
- "רשת כלשהי"
-
-
- "0"
- "1"
- "2"
-
+ "הרשמה ל-CDMA""העדפות רשת CDMA""לא מיושם עדיין!""העדפות רשת CDMA"
@@ -359,21 +307,11 @@
"CDMA בלבד""EvDo בלבד"
-
- "0"
- "1"
- "2"
-
- "הרשמה ל-CDMA""החלף בין RUIM/SIM ל-NV""הרשמה""RUIM/SIM""NV"
-
-
- "0"
- "1""הפעל מכשיר""הגדר שירות נתונים"
@@ -390,18 +328,16 @@
"נהל מספרי חיוג קבועים""שנה את ה-PIN לקבלת גישת FDN""נהל רשימת מספרי טלפון"
- "פרטיות של Google Voice"
+ "פרטיות קול""הפוך מצב פרטיות משופרת לפעיל"
- "מצב TTY"
- "הפוך מצב TTY לפעיל""מצב TTY""הגדר מצב TTY"
- "ניסיון חוזר אוטומטי"
- "הפעל מצב ניסיון חוזר אוטומטי"
+ "ניסיון חוזר אוטומטי"
+ "אפשר מצב \'ניסיון חוזר\'.""הוסף איש קשר""ערוך איש קשר""מחק איש קשר"
- "הזן PIN2"
+ "הקלד PIN2""שם""מספר""שמור"
@@ -414,56 +350,50 @@
"מחק מספר חיוג קבוע""מוחק מספר חיוג קבוע...""מספר חיוג קבוע נמחק."
- "FDN לא מעודכן: הזנת PIN שגוי."
- "FDN לא עודכן: המספר לא יכול להכיל מעל 20 ספרות."
+ "ה-FDN לא עודכן כיוון שהקלדת PIN שגוי."
+ "ה-FDN לא עודכן משום שהמספר חורג ממגבלת 20 הספרות."
+ "FDN לא עודכן. קוד PIN2 היה שגוי או שמספר הטלפון נדחה.""קורא מכרטיס SIM…""אין אנשי קשר בכרטיס ה-SIM.""בחר אנשי קשר ליבוא"
- "כדי לייבא אנשי קשר מכרטיס ה-SIM, כבה מצב טיסה."
+ "כדי לייבא אנשי קשר מכרטיס ה-SIM, כבה תחילה את מצב טיסה.""הפוך לפעיל/השבת PIN של SIM""שנה PIN של SIM""PIN של SIM:""PIN ישן""PIN חדש""אשר PIN חדש"
- "ה-PIN הישן שהקלדת שגוי. נסה שוב."
- "קודי ה-PIN של ה-SIM שהזנת אינם תואמים. נסה שוב."
+ "ה-PIN הישן שהקלדת שגוי. נסה שוב."
+ "קודי ה-PIN שהקלדת אינם תואמים. נסה שוב.""הקלד PIN שאורכו 4 עד 8 ספרות.""השבת PIN של SIM""הפוך PIN של SIM לפעיל""נא המתן..."
- "PIN של SIM מופעל"
- "PIN של SIM מושבת"
- "ה-PIN שהקלדת היה שגוי"
- "ה-PIN של ה-SIM השתנה בהצלחה."
+ "ה-PIN של ה-SIM מופעל."
+ "ה-PIN של ה-SIM הושבת."
+ "ה-PIN שהקלדת היה שגוי."
+ "ה-PIN של ה-SIM שונה בהצלחה.""הסיסמה שגויה, ה-SIM נעול! דרוש PUK2.""PIN2""PIN2 ישן""PIN2 חדש""אשר PIN2 חדש"
- "ה-PUK2 הישן שהקלדת שגוי. נסה שוב."
- "ה-PIN2 הישן שהקלדת שגוי. נסה שוב."
- "קודי ה-PIN2 שהזנת אינם תואמים. נסה שוב."
+ "ה-PUK2 שהקלדת שגוי. נסה שוב."
+ "ה-PIN2 הישן שהקלדת שגוי. נסה שוב."
+ "קודי ה-PIN2 שהקלדת אינם תואמים. נסה שוב.""הקלד PIN2 שאורכו 4 עד 8 ספרות.""הקלד PUK2 שאורכו 8 ספרות."
- "קוד PIN2 השתנה בהצלחה"
+ "ה-PIN2 שונה בהצלחה.""הקלד קוד PUK2"
- "הסיסמה שגויה, שנה PIN2 ונסה שוב!"
- "הסיסמה שגויה, ה-SIM נעול! דרוש PUK2."
+ "הסיסמה שגויה. שנה את ה-PIN2 ונסה שוב."
+ "הסיסמה שגויה, ה-SIM נעול. נדרש PUK2.""סיום""שיחת ועידה %s"
- "חזרה לשיחה"
- "המשך ללא כרטיס SIM"
- "לא נמצא כרטיס SIM. הכנס כרטיס SIM לטלפון."
- "מחק"
- "בטל נעילה"
- "מאמת את ה-PIN…""המספר של הדואר הקולי""מחייג""מנסה שוב""שיחת ועידה""שיחה נכנסת"
- "שיחה ממתינה של CDMA""השיחה הסתיימה""בהמתנה""מנתק"
@@ -473,7 +403,7 @@
"שיחות שלא נענו""%s שיחות שלא נענו""שיחה שלא נענתה מאת %s"
- "שיחה נוכחית (%s)"
+ "שיחה פעילה""בהמתנה""שיחה נכנסת""דואר קולי חדש"
@@ -482,13 +412,15 @@
"המספר של הדואר הקולי אינו ידוע""אין שירות""הרשת שנבחרה (%s) לא זמינה"
+ "נתק"
+ "התקשר חזרה"
+ "שלח הודעה""כדי להתקשר, כבה תחילה את מצב טיסה.""לא רשום ברשת.""הרשת לנייד אינה זמינה.""השיחה לא נשלחה, לא הוזן מספר חוקי.""השיחה לא נשלחה.""מתחיל רצף MMI…"
- "מתחיל רצף של קוד תכונה...""שירות לא נתמך.""אין אפשרות להחליף שיחות.""אין אפשרות להפריד את השיחה."
@@ -500,18 +432,13 @@
"שיחת חירום""מפעיל את הרדיו…""מחוץ לאזור שירות, מנסה שוב..."
- "השיחה לא נשלחה, %s אינו מספר חירום!"
- "השיחה לא נשלחה, חייג מספר חירום!"
+ "השיחה לא נשלחה. %s אינו מספר חירום!"
+ "השיחה לא נשלחה. חייג מספר חירום!""השתמש במקלדת כדי לחייג"
- "מקלדת עם חיוג צלילים""השהה"
- "בטל השהיה""סיום""לוח חיוג"
- "הסתר"
- "רמקול""השתק"
- "Bluetooth""הוסף שיחה""מזג שיחות""החלף"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "טקסט ERI"
- "צלילי DTMF"
+ "צלילי DTMF""הגדר את האורך של צלילי DTMF""רגיל""ארוך"
- "הודעת רשת"
+ "הודעת רשת""הפעל את הטלפון""יש לבצע שיחה מיוחדת כדי להפעיל את השירות לטלפון. "\n\n"לאחר הלחיצה על \'הפעל\', הקשב להוראות להפעלת הטלפון."
- "גע ב\'הפעל\' כדי לבצע שיחה מיוחדת שמפעילה את הטלפון ברשת הסלולרית של הספק, כדי שתוכל להתקשר ולהתחבר לרשתות נתונים לנייד.""לדלג על ההפעלה?""אם תדלג על ההפעלה, לא תוכל להתקשר או להתחבר לרשתות נתונים לנייד (אך תוכל להתחבר לרשתות Wi-Fi). עד שתפעיל את הטלפון, תתבקש להפעיל אותו בכל פעם שתדליק אותו.""דלג"
- "הפעל""הפעל"
- "הטלפון מופעל!"
+ "הטלפון מופעל.""בעיה בהפעלה""בצע את ההוראות הנאמרות עד שתשמע שההפעלה הושלמה."
- "מקלדת""רמקול"
- "המתן בזמן תכנות הטלפון."
- "התכנות נכשל"
+ "מתבצע תכנות של הטלפון. אנא המתן."
+ "התכנות נכשל""הטלפון שלך מופעל כעת. ייתכן שתמתין עד 15 דקות להפעלת השירות."
- "הטלפון שלך לא הופעל."\n"ייתכן שעליך למצוא אזור עם קליטה טובה יותר (ליד חלון או בחוץ). "\n\n"נסה שוב או התקשר לשירות הלקוחות לקבלת אפשרויות נוספות."
+ "הטלפון שלך לא הופעל. "\n"ייתכן שעליך למצוא מקום שהקליטה בו טובה יותר (ליד חלון או בחוץ). "\n\n"נסה שוב או התקשר לשירות לקוחות לקבלת אפשרויות נוספות.""כשלים מרובים של SPC""הקודם""נסה שוב""הבא"
- "הקודם""EcmExitDialog""נכנס למצב חירום של התקשרות חזרה""מצב חירום של התקשרות חזרה"
@@ -569,87 +491,69 @@
"אין חיבור נתונים במשך %s דקות"
- "הטלפון יהיה במצב חירום של התקשרות חזרה במשך דקה %s. במצב זה לא ניתן להשתמש ביישומים המשתמשים בחיבור נתונים. האם ברצונך לצאת כעת?"
- "הטלפון יהיה במצב חירום של התקשרות חזרה במשך %s דקות. במצב זה לא ניתן להשתמש ביישומים המשתמשים בחיבור נתונים. האם ברצונך לצאת כעת?"
+ "הטלפון יהיה במצב התקשרות חזרה בחירום למשך דקה %s. במצב זה לא ניתן להשתמש ביישומים המשתמשים בחיבור נתונים. האם אתה רוצה לצאת כעת?"
+ "הטלפון יהיה במצב התקשרות חזרה בחירום למשך %s דקות. במצב זה לא ניתן להשתמש ביישומים המשתמשים בחיבור נתונים. האם אתה רוצה לצאת כעת?"
- "הפעולה שנבחרה אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה במשך דקה %s. האם ברצונך לצאת כעת?"
- "הפעולה שנבחרה אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה במשך %s דקות. האם ברצונך לצאת כעת?"
+ "הפעולה שנבחרה אינה זמינה במצב התקשרות חזרה בחירום. הטלפון יהיה במצב זה במשך %s דקות. האם אתה רוצה לצאת כעת?"
+ "הפעולה שנבחרה אינה זמינה במצב התקשרות חזרה בחירום. הטלפון יהיה במצב זה במשך %s דקות. אתה רוצה לצאת כעת?"
- "הפעולה שנבחרה אינה זמינה במהלך שיחת חירום"
- "יוצא ממצב חירום של התקשרות חזרה"
+ "הפעולה שנבחרה אינה זמינה במהלך שיחת חירום."
+ "יציאה ממצב התקשרות חזרה בחירום""כן""לא""סגור"
- "הגדרות דואר קולי"
- "<לא הוגדר>"
- "שירות דואר קולי"
- "הגדרות עבור %s"
+ "שירות"
+ "הגדרות"
+ "<לא הוגדר>""הגדרות שיחה אחרות"
- "חייג"
- "מתקשר דרך ^1"\n"^2"
- "גרור ימינה כדי לענות"
- "גרור שמאלה כדי להשתיק את הצלצול"
- "גרור שמאלה כדי לדחות"
- "גרור ימינה כדי לענות"\n"ולהשהות שיחה פעילה"
- "גרור ימינה כדי לענות"\n"ולסיים שיחה פעילה"
- "גרור ימינה כדי לענות"\n"ולסיים שיחה מושהית"
- "מענה"
- "דחה"
+ "שיחה באמצעות %s""תמונה של איש קשר""עבור לשיחה פרטית""בחר איש קשר""הגדרות שיחת אינטרנט""חשבונות (SIP) להתקשרות באינטרנט""חשבונות"
- "נהל חשבונות ומצב של התקשרות באינטרנט (SIP)""קבל שיחות נכנסות""מקצר את חיי הסוללה"
- "הגדר אפשרויות שיחה""השתמש בהתקשרות באינטרנט""השתמש בהתקשרות באינטרנט (Wi-Fi בלבד)""לכל השיחות כאשר רשת הנתונים זמינה""לשיחות אינטרנט בלבד""שאל עבור כל שיחה""לכל השיחות"
- "רישום אוטומטי"
- "שיחה יוצאת באמצעות SIP""בצע שיחה""השתמש בחשבון להתקשרות באינטרנט:""השתמש תמיד כדי לבצע שיחות אינטרנט"
- "תוכל להשתמש ב\'הגדרות שיחה\' כדי לשנות את חשבון השיחות באינטרנט לשימוש כברירת מחדל בעת ביצוע שיחות על ידי בחירת חשבון שונה בהגדרות של שיחות באינטרנט"
+ "ניתן לשנות את חשבון השיחות באינטרנט לשימוש כברירת מחדל דרך \'טלפון\' > \'הגדרות\' > \'הגדרות שיחת אינטרנט\' > \'חשבונות\'.""שיחה בטלפון סלולרי""שיחת אינטרנט""אין חשבון להתקשרות באינטרנט"
- "אין חשבונות להתקשרות באינטרנט בטלפון זה. להוסיף חשבון כעת?"
+ "אין חשבונות שיחת אינטרנט לטלפון זה. האם אתה רוצה להוסיף חשבון כעת?""הוסף""הוסף חשבון""הסר חשבון""חשבונות SIP"
- "שומר את החשבון..."
- "מסיר את החשבון..."
+ "שומר את החשבון..."
+ "מסיר את החשבון...""שמור""מחק""סגור את הפרופיל""אישור""סגור"
- "ראשי"
- "הפוך חשבון זה לחשבון הראשי שלי"
- "משמש לשיחות יוצאות"
- "הגדרות מתקדמות""חשבון ראשי. %s""בודק סטטוס..."
- "מבצע רישום..."
- "עדיין מנסה..."
- "לא מקבל שיחות"
- "רישום החשבון הופסק כיוון שאין חיבור לאינטרנט"
- "רישום החשבון הופסק כיוון שאין חיבור Wi-Fi"
- "הרשמת החשבון נכשלה"
- "מקבל שיחות"
+ "מבצע רישום..."
+ "עדיין מנסה..."
+ "לא מקבל שיחות."
+ "רישום החשבון הופסק כיוון שאין חיבור לאינטרנט."
+ "רישום החשבון הופסק כיוון שאין חיבור Wi-Fi."
+ "רישום החשבון נכשל."
+ "מקבל שיחות.""הרשמת החשבון נכשלה: (%s); יתבצע ניסיון חוזר מאוחר יותר"
- "הרשמת החשבון נכשלה: שם משתמש או סיסמה שגויים"
- "הרשמת החשבון נכשלה: בדוק את שם השרת"
- "חשבון זה נמצא כרגע בשימוש של היישום %s"
+ "רישום החשבון נכשל: שם המשתמש או הסיסמה שגויים."
+ "רישום החשבון נכשל: בדוק את שם השרת."
+ "היישום %s משתמש כרגע בחשבון זה.""פרטי חשבון SIP""פרטי חשבון SIP""שרת"
@@ -660,9 +564,6 @@
"מספר יציאה""סוג העברה""שלח אות חיבור"
- "שלח הודעות של אות חיבור מסוג SIP"
- "רישום אוטומטי"
- "רשום את הפרופיל באופן אוטומטי""הגדר כחשבון ראשי""משמש לשיחות יוצאות""הגדרות אופציונליות"
@@ -673,12 +574,12 @@
"<אופציונלי>""▷ גע כדי להציג את הכל""▽ גע כדי להסתיר את הכל"
- "%s הוא שדה חובה, אין אפשרות להשאיר אותו ריק"
- "מספר היציאה צריך להיות בין 1000 ל-65534"
+ "%s הוא שדה חובה ולא ניתן להשאירו ריק."
+ "מספר היציאה צריך להיות בין 1000 ל-65534.""אין חיבור לאינטרנט""אין חיבור Wi-Fi"
- "כדי לבצע שיחת אינטרנט, בדוק תחילה את החיבור לאינטרנט"
- "עליך להיות מחובר לרשת Wi-Fi לצורך ביצוע שיחות באינטרנט (השתמש בהגדרות \'אלחוטי ורשת\')"
+ "כדי לבצע שיחת אינטרנט, בדוק תחילה את החיבור לאינטרנט."
+ "עליך להיות מחובר לרשת Wi-Fi כדי לבצע שיחות באינטרנט (השתמש בהגדרות \'אלחוטי ורשתות\').""אין תמיכה בהתקשרות באינטרנט""אוטומטי""שלח תמיד"
@@ -687,7 +588,7 @@
"אני מיד חוזר אליך.""אני אתקשר אליך יותר מאוחר.""אני לא יכול לדבר עכשיו. תתקשר אלי מאוחר יותר?"
- "הודעה מותאמת אישית..."
+ "הודעה מותאמת אישית""תגובות מהירות""ערוך תגובות מהירות"
@@ -705,7 +606,6 @@
"כוכבית""אפס""סולמית"
- "חפש""חייג""Backspace""רמקול מופעל."
@@ -715,9 +615,14 @@
"דחה""רטט""רטט"
+ "צלצול""תמיד""במצב שקט בלבד"
- "אף פעם"
+ "לעולם לא"
+ "רינגטון של טלפון"
+ "רטט בעת צלצול"
+ "צלילי מגע של לוח חיוג"
+ "צלצול"
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index d308b82cc..5ff5ddf6d 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -25,39 +25,27 @@
"非通知""公衆電話発信""保留中"
- "通話中""話し中""ネットワークがビジーです""応答なし(タイムアウト)""サーバーに接続できません""番号に接続できません""ユーザー名またはパスワードが正しくありません"
- "ネットワーク外からの着信です"
+ "ネットワーク外からの着信""サーバーエラー: しばらくしてからもう一度お試しください。""圏外""ACMの制限を超えています""無線通信をOFF"
- "エラーまたはSIMなし"
+ "SIMがない、またはSIMエラー""圏外""発信番号制限により発信が制限されています。"
- "発信できません。発信制限がかかっています。"
+ "通話制限中は発信できません。""発信制限が設定されています。""緊急通報の発信制限が設定されています。""緊急通報以外は発信制限が設定されています。"
- "CDMA: 携帯端末は電源を入れ直すまでロックされています。"
- "CDMA: 通話が遮断されました。"
- "CDMA: 通話が傍受されました。"
- "CDMA: 順序が変更されました。"
- "CDMA: サービスオプションが拒否されました。"
- "CDMA: 再試行の順序。"
- "CDMA: アクセスできませんでした。"
- "CDMA: 取得済みです。"
- "緊急通報のみ可能です。"
- "番号が無効です"
+ "無効な番号""グループ通話""通話が切れました。"
- "再試行"
- "通話が切れました""OK""MMIコードの開始""USSDコードを実行中..."
@@ -69,23 +57,14 @@
"有線ヘッドセット""Bluetooth""次の番号を送信しますか?"\n
- "番号を送信中"\n
+ "番号送信"\n"送信""はい""いいえ"
- "ワイルド文字と入れ替える文字"
+ "ワイルド文字を置換:""ボイスメール番号がありません""SIMカードにボイスメールの番号がありません。""番号を追加"
- "読み込み中..."
- "PINコードを入力してSIMカードのロックを解除します。"
- "SIMロックを解除しました"
- "新しいSIM PINコード"
- "確認のため新しいSIM PINコードを再入力"
- "SIM PINと一致しません。入力し直してください。"
- "SIMカードのロック解除のためPUKコードを入力"
- "PUKコードが正しくありません。"
- "次へ""SIMカードロックを解除しました。端末のロックを解除しています...""SIMネットワークのロック解除PIN""ロック解除"
@@ -93,8 +72,6 @@
"ネットワークのロック解除をリクエスト中...""ネットワークロックを解除できませんでした。""ネットワークロックを解除しました。"
- "IMEI(端末識別番号)"
- "MEID""GSM通話設定""CDMA通話設定""アクセスポイント名"
@@ -109,6 +86,7 @@
"その他のCDMA専用通話設定""ネットワークサービス設定""発信者番号"
+ "設定の読み込み中…""発信時に番号を通知しない""発信時に番号を通知する""発信者番号表示に通信事業者のデフォルト値を使用する"
@@ -127,17 +105,17 @@
"通話中着信の転送番号""{0}に転送する""無効"
- "ご利用の携帯通信会社では通話中の着信時の転送を無効にすることができません。"
+ "ご利用の携帯通信会社は通話中の転送の無効化をサポートしていません。""不在着信時に転送""不在着信時の転送番号""{0}に転送する""無効"
- "ご利用の携帯通信会社では不在着信時の転送を無効にすることができません。"
+ "ご利用の携帯通信会社は不在着信時の転送の無効化をサポートしていません。""着信不能時に転送""着信不能時の転送番号""{0}に転送する""無効"
- "ご利用の携帯通信会社では着信不能時の転送を無効にすることができません。"
+ "ご利用の携帯通信会社は着信不能時の転送の無効化をサポートしていません。""通話設定""通話設定エラー""設定を読み取り中..."
@@ -145,8 +123,8 @@
"設定を元に戻しています...""ネットワークから予期しない応答が返されました。""ネットワークまたはSIMカードのエラーです。"
- "発信番号制限で指定された番号に対してのみ操作できます。"
- "無線通信をONにしてから設定を表示してください。"
+ "電話アプリの発信番号制限設定がONになっているため、通話関連の機能の一部を使用できません。"
+ "これらの設定を表示するには無線通信をONにしてください。""OK""有効にする""無効にする"
@@ -156,10 +134,9 @@
"番号を非通知""番号を通知"
- "ボイスメールの番号の保存""ボイスメールの番号が変更されました。"
- "ボイスメールの番号を変更できませんでした。"\n"問題が解決しない場合は携帯通信会社に問い合わせてください。"
- "転送先番号を変更できませんでした。"\n"問題が解決しない場合は携帯通信会社に問い合わせてください。"
+ "ボイスメール番号を変更できませんでした。"\n"この問題が続くようであれば携帯通信会社にお問い合わせください。"
+ "転送番号を変更できませんでした。"\n"この問題が続くようであれば携帯通信会社にお問い合わせください。""現在の転送先番号設定の取得と保存ができませんでした。"\n"別の携帯通信会社に切り替えますか?""変更されていません。""ボイスメールサービスを選択"
@@ -171,14 +148,14 @@
"ネットワークを検索""ネットワークの検索中にエラーが発生しました。""%sに登録中..."
- "このSIMカードではこのネットワークに接続できません。"
- "現在このネットワークに接続できません。後ほどもう一度お試しください。"
+ "お使いのSIMカードではこのネットワークに接続できません。"
+ "現在このネットワークに接続できません。しばらくしてからもう一度お試しください。""ネットワークに登録されました。"
- "通信事業者を選択する"
+ "通信事業者を選択する""利用可能なすべてのネットワークを検索する"
- "自動選択"
- "最適なネットワークを自動的に選択する"
- "自動登録..."
+ "自動的に選択"
+ "最適なネットワークを自動的に選択する"
+ "自動登録...""ネットワークモード""ネットワーク動作モードの変更""優先ネットワークモード"
@@ -192,17 +169,21 @@
"優先ネットワークモード: EvDoのみ""優先ネットワークモード: LTE/CDMA"
- "LTE/CDMA"
+ LTEのみ
+ LTE/CMDA/EvDo/GSM/WCDMA
+ LTE/WCDMA/GSM
+ LTE/CDMA/EvDo
+ "LTE/CDMA""EV-DOのみ""CDMA(EV-DO非準拠)"
- "CDMA/EV-DO自動"
- "GSM/WCDMA自動"
+ "CDMA/EV-DO自動"
+ "GSM/WCDMA自動""WCDMAのみ""GSMのみ"
- "GSM/WCDMAを優先"
+ "GSM/WCDMAを優先"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""データ通信を有効にする"
@@ -210,12 +191,11 @@
"データローミング""ローミング時にデータサービスに接続する""ローミング時にデータサービスに接続する"
- "データローミングをOFFにしてホームネットワークを離れたため、データ接続が切断されました。"
+ "データローミングをOFFにしてホームネットワークを離れたため、データ接続が切断されました。""データローミングを許可すると、ローミング料金が発生する場合があります。""GSM/UMTSオプション""CDMAオプション""データ使用"
- "携帯通信会社のデータポリシー""現期間で使用したデータ""データ使用期間""転送速度ポリシー"
@@ -226,7 +206,6 @@
"サイクルの٪%1$dを経過"\n"次の期間は%2$d日で始まります(%3$s)""データ利用制限を超えると、転送速度が%1$dKb/秒まで低下します""携帯通信会社のモバイルネットワークデータ利用ポリシーの詳細"
- "エリアメールSMS""エリアメールSMS""エリアメールSMS""エリアメールSMSは有効になっています"
@@ -267,15 +246,6 @@
"韓国語""中国語""ヘブライ語"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""言語""各地の天気"
@@ -305,9 +275,9 @@
"求人情報""求人情報は有効になっています""求人情報は無効になっています"
- "医療、健康、病院情報"
- "医療、健康、病院情報は有効になっています"
- "医療、健康、病院情報は無効になっています"
+ "医療、健康、病院情報"
+ "医療、健康、病院情報は有効です"
+ "医療、健康、病院情報は無効です""テクノロジーニュース""テクノロジーニュースは有効になっています""テクノロジーニュースは無効になっています"
@@ -323,34 +293,17 @@
"GSMのみ""GSM/WCDA(WCDMAを優先)"
-
- "0"
- "1"
- "2"
- "3"
-
+
"2Gネットワークのみ使用""節電""システムの選択"
- "CDMAローミングモードを変更する"
+ "CDMAローミングモードを変更する""システムの選択""ホームのみ""自動"
- "CDMAローミングモード"
- "CDMAローミングモードの変更"
- "CDMAローミングモード"
-
- "ホームネットワークのみ"
- "提携ネットワーク"
- "すべてのネットワーク"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA登録""CDMAネットワーク設定""まだ実装されていません。""CDMAネットワーク設定"
@@ -359,21 +312,11 @@
"CDMAのみ""EV-DOのみ"
-
- "0"
- "1"
- "2"
-
- "CDMA登録""RUIM/SIMとNVを切り替える""登録方式""RUIM/SIM""NV"
-
-
- "0"
- "1""端末を有効にする""データサービスの設定"
@@ -390,18 +333,16 @@
"電話番号の指定による発信制限""発信番号制限のPINを変更""電話番号リストを管理"
- "音声のプライバシー"
+ "音声のプライバシー""拡張プライバシーモードを有効にする"
- "TTYモード"
- "TTYモードを有効にする""TTYモード""TTYモードの設定"
- "自動再試行"
- "自動再試行モードを有効にする"
+ "自動再試行"
+ "自動再試行モードを有効にする""連絡先を追加""連絡先を編集""連絡先を削除"
- "PIN2を入力"
+ "PIN2を入力""名前""電話番号""保存"
@@ -414,56 +355,50 @@
"発信番号制限の削除""発信番号制限を削除しています...""発信番号制限を削除しました。"
- "発信番号制限が更新されませんでした。PINが正しくありません。"
- "発信番号制限が更新されませんでした。番号は20桁以内にする必要があります。"
+ "発信番号制限は更新されませんでした。入力したPINは正しくありません。"
+ "発信番号制限は更新されませんでした。20桁を超える番号は指定できません。"
+ "発信番号制限は更新されませんでした。PIN2が正しくないか、電話番号が拒否されました。""SIMカードから読み取り中...""SIMカードに連絡先がありません。""インポートする連絡先の選択"
- "連絡先をSIMカードからインポートするには、機内モードをオフにしてください。"
+ "連絡先をSIMカードからインポートするには、まず機内モードをOFFにしてください。""SIM PINの有効/無効""SIM PINの変更""SIM PIN:""古いPIN""新しいPIN""新しいPINを確認"
- "PINが正しくありません。入力し直してください。"
- "PINと一致しません。入力し直してください。"
+ "入力した古いPINは正しくありません。入力し直してください。"
+ "入力したPINは一致しません。入力し直してください。""4~8桁の数字のPINを入力してください。""SIM PINを無効にする""SIM PINを有効にする""お待ちください..."
- "SIM PINは有効です"
- "SIM PINは無効です"
- "入力したPINは正しくありません"
- "SIM PINが変更されました"
+ "SIM PINは有効です。"
+ "SIM PINは無効です"
+ "入力したPINは正しくありませんでした。"
+ "SIM PINを変更しました。""パスワードが正しくありません。SIMがロックされています。PUK2を入力してください。""PIN2""古いPIN2""新しいPIN2""新しいPIN2の確認"
- "PUK2が正しくありません。入力し直してください。"
- "PIN2が正しくありません。入力し直してください。"
- "PIN2と一致しません。入力し直してください。"
+ "入力したPUK2は正しくありません。入力し直してください。"
+ "入力した古いPIN2は正しくありません。入力し直してください。"
+ "入力したPIN2は一致しません。入力し直してください。""PIN2を4~8桁の数字で入力してください。""8桁の数字のPUK2を入力してください。"
- "PIN2が変更されました"
+ "PIN2を変更しました。""PUK2コードを入力"
- "パスワードが正しくありません。PIN2を変更して再入力してください。"
- "パスワードが正しくありません。SIMがロックされています。PUK2を入力してください。"
+ "パスワードが正しくありません。PIN2を変更してもう一度お試しください。"
+ "パスワードが正しくありません。SIMはロックされています。PUK2を入力してください。""完了""グループ通話 %s"
- "通話に戻る"
- "SIMカードなしで続ける"
- "SIMカードが見つかりません。SIMカードを携帯電話に挿入してください。"
- "無効"
- "ロック解除"
- "PINを認証中...""ボイスメールの番号""発信中""再試行中""グループ通話""着信"
- "CDMA通話中着信""通話終了""保留中""通話終了"
@@ -473,7 +408,7 @@
"不在着信""不在着信%s件""%sさんからの不在着信"
- "通話中(%s)"
+ "通話中""保留中""通話着信""新しいボイスメール"
@@ -482,13 +417,15 @@
"ボイスメールの番号が不明です""通信サービスなし""選択したネットワーク(%s)が利用できません"
+ "通話終了"
+ "コールバック"
+ "メッセージ""機内モードをOFFにしてから発信してください。""ご加入の通信サービスがありません""モバイルネットワークが利用できません。""発信できません。有効な番号が入力されていません。""発信できません。""MMIシーケンスを開始中..."
- "一連の機能コードを開始中...""対応していないサービスです。""通話を切り替えられません。""通話を分割できません。"
@@ -500,18 +437,13 @@
"緊急通報""無線通信をONにしています...""圏外 - 再試行中..."
- "%sは緊急通報番号ではないので発信できません。"
- "発信できません。緊急通報番号におかけください。"
+ "発信できません。%sは緊急通報番号ではありません。"
+ "発信できません。緊急通報番号におかけください。""キーボードで番号を入力してください"
- "タッチトーンキー""保留"
- "保留解除""終了""ダイヤルキー"
- "非表示"
- "スピーカー""ミュート"
- "Bluetooth""通話を追加""グループ通話""切り替え"
@@ -530,36 +462,31 @@
"TTY HCO""TTY VCO"
- "ERIテキスト"
- "DTMFトーン"
+ "DTMFトーン""DTMFトーンの長さを設定します""標準""長め"
- "ネットワークメッセージ"
+ "ネットワークメッセージ""携帯電話を有効にする""通話サービスを有効にするには特別な通話が必要です。"\n\n"[有効にする]を押してから、流れてくる音声に従って電話を有効にしてください。"
- "特別な通話を行うには[有効にする]にタップします。これによりお使いの携帯が携帯通信会社のモバイルネットワークで有効になり、通話とモバイルデータネットワークへの接続が可能になります。""スキップして有効にしない""スキップして有効にしない場合、通話やモバイルデータネットワークの接続ができません(Wi-Fiネットワークには接続できます)。携帯を有効にするまでは、電源を入れるたびに有効にするかどうかを尋ねるメッセージが表示されます。""スキップ"
- "有効にする""有効にする"
- "携帯が有効に設定されました。"
+ "携帯端末が有効になりました。""有効にする際のエラー""完了したというメッセージが流れるまで音声ガイダンスに従ってください。"
- "キーパッド""スピーカー"
- "プログラムが設定されるまでお待ちください。"
- "プログラムの設定に失敗しました"
+ "携帯端末のプログラムを設定しています。お待ちください。"
+ "プログラムの設定に失敗しました""携帯が有効に設定されました。サービスが開始されるまで最大で15分ほどかかることがあります。"
- "携帯を有効に設定できませんでした。"\n"通信状態の良い場所(窓のそばや戸外)に移動することをおすすめします。"\n\n"もう一度やり直すかカスタマーサービスに問い合わせてください。"
+ "携帯端末を有効にできませんでした。"\n"電波状態が悪い可能性があります。"\n\n"電波の良い場所(窓のそばや屋外)に移動してもう一度お試しいただくか、カスタマーサービスに他の方法をお問い合わせください。""超過SPCによる失敗""戻る""再試行""次へ"
- "戻る""EcmExitDialog""緊急通報待機モードになりました""緊急通報待機モード"
@@ -569,87 +496,69 @@
"%s分間データ接続できません"
- "%s分間緊急通報待機モードになります。このモード中はデータ接続が必要なアプリケーションは利用できません。今すぐ終了しますか?"
- "%s分間緊急通報待機モードになります。このモード中はデータ接続が必要なアプリケーションは利用できません。今すぐ終了しますか?"
+ "端末はあと%s分間、緊急通報待機モードです。このモードではデータ通信を行うアプリは使用できません。今すぐこのモードを終了しますか?"
+ "端末はあと%s分間、緊急通報待機モードです。このモードではデータ通信を行うアプリケーションは使用できません。今すぐこのモードを終了しますか?"
- "緊急通報待機モード中のため選択した操作は利用できません。このモードはあと%s分間続行します。今すぐ終了しますか?"
- "緊急通報待機中なので、選択した操作は利用できません。あと%s分間このモードです。今すぐ終了しますか?"
+ "選択した操作は緊急通報待機モードでは実行できません。端末はあと%s分間このモードです。今すぐこのモードを終了しますか?"
+ "選択した操作は緊急通報待機モードでは実行できません。端末はあと%s分間このモードです。今すぐこのモードを終了しますか?"
- "選択した操作は緊急通報待機時には実行できません"
- "緊急通報待機モードを終了中"
+ "選択した操作は緊急通報時には実行できません。"
+ "緊急通報待機モードを終了しています""はい""いいえ""解除"
- "ボイスメールの設定"
- "<未設定>"
- "ボイスメールサービス"
- "%sの設定"
+ "サービス"
+ "セットアップ"
+ "<未設定>""その他の通話設定"
- "発信"
- "^1で発信中:"\n"^2"
- "右にドラッグして応答"
- "左にドラッグして着信音を消音"
- "左にドラッグして応答を拒否"
- "右にドラッグして応答し"\n"現在の通話を保留"
- "右にドラッグして応答し"\n"現在の通話を終了"
- "右にドラッグして応答し"\n"保留中の通話を終了"
- "電話に出る"
- "拒否"
+ "%sで発信中""連絡先の写真""個別通話に切り替え""連絡先を選択""インターネット通話の設定""インターネット通話(SIP)アカウント""アカウント"
- "インターネット通話(SIP)のアカウントと状態を管理""着信を許可""電池使用量が増えます"
- "通話オプションの設定""インターネット通話を使用""インターネット通話を使用(Wi-Fiのみ)""データネットワーク接続時はすべての通話""インターネット通話のみ""通話のたびに確認""すべての通話"
- "自動登録"
- "SIPで発信""発信""インターネット通話アカウントを使用:""インターネット通話発信時に常に使用する"
- "[通話設定]の[インターネット通話の設定]で別のアカウントを選択すると、発信時に使用するデフォルトのインターネット通話アカウントを変更できます。"
+ "[携帯端末]>[設定]>[インターネット通話の設定]>[アカウント]画面で、デフォルトで使用するインターネット通話アカウントを変更できます。""携帯通信網での通話""インターネット通話""インターネット通話アカウントなし"
- "この端末にはインターネット通話アカウントが設定されていません。今すぐ追加しますか?"
+ "この携帯端末にはインターネット通話アカウントがありません。今すぐ追加しますか?""追加""アカウントを追加""アカウントを削除""SIPアカウント"
- "アカウントを保存中..."
- "アカウント削除中..."
+ "アカウントを保存しています..."
+ "アカウントを削除しています...""保存""破棄""プロフィールを閉じる""OK""閉じる"
- "メイン"
- "これをメインのアカウントにする"
- "発信に使用する"
- "詳細設定""メインアカウント(%s)""ステータスを確認中..."
- "登録中..."
- "試行中です..."
- "通話着信OFF"
- "インターネットに接続されていないため、アカウント登録処理が中断されました"
- "Wi-Fi接続されていないため登録処理を中断しました。"
- "アカウントを登録できませんでした"
- "通話着信ON"
+ "登録しています..."
+ "試行しています..."
+ "通話着信OFF"
+ "インターネットに接続されていないため、アカウント登録処理が中断されました。"
+ "Wi-Fi接続されていないため、アカウントの登録を中断しました。"
+ "アカウントを登録できませんでした。"
+ "通話着信ON""アカウントを登録できませんでした(%s)。後ほど再試行します。"
- "アカウントを登録できませんでした: ユーザー名かパスワードが正しくありません"
- "アカウントを登録できませんでした: サーバー名を確認してください"
- "このアカウントは現在%sアプリで使用されています"
+ "アカウントを登録できませんでした: ユーザー名かパスワードが正しくありません。"
+ "アカウントを登録できませんでした: サーバー名を確認してください。"
+ "このアカウントは現在「%s」アプリで使用されています。""SIPアカウントの詳細""SIPアカウントの詳細""サーバー"
@@ -660,9 +569,6 @@
"ポート番号""伝送方式""キープアライブを送信する"
- "SIPキープアライブメッセージを送信します"
- "自動登録"
- "プロフィールを自動的に登録します""メインアカウントに設定""発信に使用する""オプション設定"
@@ -673,12 +579,12 @@
"<オプション>""▷ すべて表示""▽ すべて非表示"
- "%sは必須フィールドです。空欄にしないでください"
- "ポート番号は1000~65534で指定してください"
+ "「%s」は必須です。空欄にはできません。"
+ "ポート番号は1000~65534で指定してください。""インターネット接続なし""Wi-Fi接続なし"
- "インターネット通話を行うにはインターネットへの接続を確認してください。"
- "インターネット通話を行うにはWi-Fiネットワークへの接続が必要です([ワイヤレスとネットワークの設定]を使用)。"
+ "インターネット通話を行うにはまずインターネットへの接続を確認してください。"
+ "インターネット通話にはWi-Fiネットワークへの接続が必要です([ワイヤレスとネットワークの設定]を使用)。""インターネット通話には対応していません""自動""常に送信"
@@ -687,7 +593,7 @@
"すぐにかけ直します。""後でかけ直します。""今話せません。かけ直してください。"
- "カスタムメッセージ..."
+ "カスタムメッセージ""クイック返信""クイック返信の編集"
@@ -705,7 +611,6 @@
"アスタリスク""0""ポンド"
- "検索""発信""バックスペース""スピーカーが有効です。"
@@ -715,9 +620,47 @@
"着信拒否""バイブレーション""バイブレーション"
+ "着信音"
- "常に使用"
- "マナーモード時のみ"
+ "常時"
+ "マナーモード設定時のみ""使用しない"
+ "着信音"
+ "着信時のバイブレーション"
+ "ダイヤルパッドのタッチ操作音"
+ "着信音"
+ ネットワークを変更(2G/3G)
+ この権限を許可されたアプリケーションは、いつでも2G/3Gデータの切り替えが可能です。3Gは高速ですが、バッテリ消費が増加します。また、キャリアの課金も増加することがあります。
+
+
+
+ 優先ネットワーク: LTE / WCDMA / GSM
+
+ 優先ネットワーク: LTE / CDMA / EvDo
+
+ 優先ネットワーク: LTE / CMDA / EvDo / GSM/WCDMA
+
+
+ メッセージ待機中表示
+
+ ボイスメールの通知にメッセージ待機中のインジケータを表示する
+
+
+ ダイヤルパッドの設定
+ ダイヤルパッドの設定
+
+
+
+ ノイズ抑制
+ 通話中のノイズを抑制する
+
+
+
+ 追加設定
+ 応答時に振動
+ 45秒間隔で振動
+ こちらから発信した通話では45秒間隔でバイブレーションする
+ 切断時に振動
+ 呼出中に振動
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index dc8afde9b..7d2da50c1 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -25,39 +25,27 @@
"비공개 번호""공중전화""대기 중"
- "현재 통화""통화 중입니다.""네트워크 사용량이 많습니다.""응답 없음, 시간 초과""서버에 연결할 수 없음""연결할 수 없는 전화 번호""사용자 이름 또는 비밀번호가 잘못되었습니다"
- "네트워크 외부에서 온 전화입니다."
+ "네트워크 외부에서 온 전화입니다.""서버 오류입니다. 잠시 후에 다시 시도해 보세요.""신호 없음""ACM 제한 초과""무선 연결 끊김"
- "SIM이 없거나 SIM에 오류가 있습니다."
+ "SIM이 없거나 SIM에 오류가 있습니다.""서비스 지역을 벗어났습니다.""발신전화가 FDN으로 제한됩니다."
- "착발신 제한이 설정되어 있는 동안에는 전화를 걸 수 없습니다."
+ "착발신 제한이 설정되어 있는 동안에는 전화를 걸 수 없습니다.""모든 전화가 액세스 제어에 의해 제한되어 있습니다.""긴급 전화가 액세스 제어에 의해 제한되어 있습니다.""일반 전화가 액세스 제어에 의해 제한되어 있습니다."
- "CDMA: 전원을 껐다 켤 때까지 휴대전화가 잠깁니다."
- "CDMA: 전화가 끊겼습니다."
- "CDMA: 통화를 가로채기 당했습니다."
- "CDMA: 순서를 재지정합니다."
- "CDMA: 서비스 옵션이 거부되었습니다."
- "CDMA: 명령을 다시 시도합니다."
- "CDMA: 액세스하지 못했습니다."
- "CDMA: 선 점유되었습니다."
- "긴급 통화만 가능합니다."
- "잘못된 번호"
+ "잘못된 번호입니다.""다자간 통화""통화가 끊겼습니다."
- "다시 시도"
- "통화 끊김""확인""MMI 코드 시작됨""USSD 코드 실행 중..."
@@ -69,23 +57,14 @@
"유선 헤드셋""블루투스""다음 톤을 보내시겠습니까?"\n
- "신호음 보내기"\n
+ "신호음 보내기"\n"전송""예""아니요"
- "와일드 문자를 다음으로 바꾸기"
+ "와일드 문자를 다음으로 바꿈:""음성사서함 번호 없음""SIM 카드에 저장된 음성사서함 번호가 없습니다.""번호 추가"
- "로드 중..."
- "SIM 카드의 잠금을 해제하려면 PIN 코드를 입력하세요."
- "SIM 잠금해제됨"
- "새 SIM PIN 코드"
- "확인을 위해 새 SIM PIN 코드 다시 입력"
- "입력한 SIM PIN이 일치하지 않습니다. 다시 시도해 주세요."
- "SIM 카드의 잠금을 해제하려면 PUK 코드 입력"
- "PUK 코드가 잘못되었습니다."
- "계속""SIM 카드의 잠금이 해제되었습니다. 휴대전화의 잠금해제 중...""SIM 네트워크 잠금해제 PIN""잠금해제"
@@ -93,8 +72,6 @@
"네트워크 잠금해제 요청 중...""네트워크 잠금해제 요청이 실패했습니다.""네트워크의 잠금을 해제했습니다."
- "IMEI"
- "MEID""GSM 통화 설정""CDMA 통화 설정""APN"
@@ -109,6 +86,7 @@
"CDMA 전용 통화 설정 추가""네트워크 서비스 설정""발신자 ID"
+ "설정 로드 중...""발신자 표시 제한""발신전화의 번호 표시""기본 사업자 설정을 사용하여 발신전화에 내 번호 표시"
@@ -127,17 +105,17 @@
"통화 중인 경우 착신전환할 번호""{0}(으)로 착신전환 중""사용 중지됨"
- "이동통신사에서 휴대전화가 사용 중일 때 착신전환 사용 중지를 지원하지 않습니다."
+ "휴대전화가 사용 중일 때 착신전환 사용 중지를 이동통신사에서 지원하지 않습니다.""받지 않은 경우""전화를 받지 않은 경우 착신전환할 번호""{0}(으)로 착신전환 중""사용 중지됨"
- "이동통신사에서 휴대전화가 응답하지 않을 때 착신전환 사용 중지를 지원하지 않습니다."
+ "휴대전화가 응답하지 않을 때 착신전환 사용 중지를 이동통신사에서 지원하지 않습니다.""받을 수 없는 경우""전화를 받을 수 없는 경우 착신전환할 번호""{0}(으)로 착신전환 중""사용 중지됨"
- "이동통신사에서 전화를 받을 수 없을 때 착신전환 사용 중지를 지원하지 않습니다."
+ "이동통신사에서 전화를 받을 수 없을 때 착신전환 사용 중지를 지원하지 않습니다.""통화 설정""통화 설정 오류""설정을 읽는 중..."
@@ -145,8 +123,8 @@
"원래 설정으로 되돌리는 중...""네트워크에서 예기치 않은 응답이 전송되었습니다.""네트워크 또는 SIM 카드 오류입니다."
- "발신 허용 번호에서만 허용되는 작업입니다."
- "이러한 설정을 보려면 무선을 사용해야 합니다."
+ "휴대전화 앱의 발신 제한 번호 설정을 사용하기 때문에 일부 통화 관련 기능이 작동되지 않습니다."
+ "이러한 설정을 보려면 무선을 사용해야 합니다.""확인""사용""사용 중지"
@@ -156,10 +134,9 @@
"발신자 표시 제한""발신자 표시"
- "음성사서함 번호 저장""음성사서함 번호가 변경되었습니다."
- "음성사서함 번호를 변경하지 못했습니다."\n"문제가 계속되면 이동통신사에 문의하세요."
- "착신전환할 번호를 변경하지 못했습니다."\n"문제가 계속되면 이동통신사에 문의하세요."
+ "음성사서함 번호를 변경하지 못했습니다."\n"문제가 계속되면 이동통신사에 문의하세요."
+ "착신전환할 번호를 변경하지 못했습니다."\n"문제가 계속되면 이동통신사에 문의하세요.""현재 착신전환 번호 설정을 검색하고 저장하지 못했습니다."\n"그래도 새로운 통신사로 전환하시겠습니까?""변경사항이 없습니다.""음성사서함 서비스 선택"
@@ -171,14 +148,14 @@
"네트워크 검색""네트워크를 검색하는 동안 오류가 발생했습니다.""%s에 등록 중..."
- "SIM 카드에서 이 네트워크에 연결할 수 없습니다."
- "현재 네트워크에 연결할 수 없습니다. 나중에 다시 시도해 주세요."
+ "SIM 카드에서 이 네트워크에 연결할 수 없습니다."
+ "현재 네트워크에 연결할 수 없습니다. 나중에 다시 시도해 주세요.""네트워크에 등록되었습니다."
- "네트워크 운영자 선택"
+ "네트워크 운영자 선택""사용 가능한 모든 네트워크 검색"
- "자동으로 선택"
- "기본 설정 네트워크를 자동으로 선택"
- "자동 등록..."
+ "자동으로 선택"
+ "기본 설정 네트워크를 자동으로 선택"
+ "자동 등록...""네트워크 모드""네트워크 작동 모드 변경""기본 설정된 네트워크 모드"
@@ -192,17 +169,17 @@
"기본 네트워크 모드: EvDo 전용""기본 네트워크 모드: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""EvDo 전용""EvDo없는 CDMA"
- "CDMA/EvDo 자동"
- "GSM/WCDMA 자동"
+ "CDMA/EvDo 자동"
+ "GSM/WCDMA 자동""WCDMA 전용""GSM 전용"
- "GSM/WCDMA로 기본 설정"
+ "GSM/WCDMA로 기본 설정"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""데이터 사용"
@@ -210,12 +187,11 @@
"데이터 로밍""로밍 시 데이터 서비스에 연결""로밍 시 데이터 서비스에 연결"
- "데이터 로밍을 사용 중지한 상태에서 홈 네트워크를 벗어났으므로 데이터 연결이 끊어졌습니다."
+ "데이터 로밍을 사용 중지한 상태에서 홈 네트워크를 벗어났으므로 데이터 연결이 끊어졌습니다.""데이터 로밍을 허용하시겠습니까? 높은 로밍 요금이 부과될 수 있습니다.""GSM/UMTS 옵션""CDMA 옵션""데이터 사용"
- "이동통신사 데이터 정책""현재 데이터 사용량""데이터 사용 기간""데이터 속도 정책"
@@ -226,7 +202,6 @@
"주기의 %1$d٪ 경과"\n"다음 기간은 %2$d일 후에 시작(%3$s)""데이터 사용량 제한을 초과하면 데이터 속도는 %1$dKb/s로 줄어듭니다.""이동통신사의 모바일 네트워크 데이터 사용 정책에 대한 자세한 정보"
- "셀 브로드캐스트 SMS""셀 브로드캐스트 SMS""셀 브로드캐스트 SMS""셀 브로드캐스트 SMS 사용"
@@ -267,15 +242,6 @@
"한국어""중국어""히브리어"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""언어""지역 날씨 정보"
@@ -305,9 +271,9 @@
"채용 정보""채용 정보 사용""채용 정보 사용 중지"
- "의료, 건강 및 병원 정보"
- "의료, 건강 및 병원 정보 사용"
- "의료, 건강 및 병원 정보 사용 중지"
+ "의료, 건강 및 병원 정보"
+ "의료, 건강 및 병원 정보 사용"
+ "의료, 건강 및 병원 정보 사용 중지""기술 뉴스""기술 뉴스 사용""기술 뉴스 사용 중지"
@@ -322,35 +288,17 @@
"WCDMA 전용""GSM 전용""GSM/WCDA(WCDMA로 기본 설정)"
-
-
- "0"
- "1"
- "2"
- "3""2G 네트워크만 사용""배터리 절약""시스템 선택"
- "cdma 로밍 모드 변경"
+ "CDMA 로밍 모드 변경""시스템 선택""집 전용""자동"
- "CDMA 로밍 모드"
- "cdma 로밍 모드 변경"
- "CDMA 로밍 모드"
-
- "홈 네트워크 전용"
- "소속된 네트워크"
- "모든 네트워크"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA 가입""CDMA 네트워크 환경설정""아직 구현되지 않았습니다.""CDMA 네트워크 환경설정"
@@ -359,21 +307,11 @@
"CDMA 전용""EvDo 전용"
-
- "0"
- "1"
- "2"
-
- "CDMA 가입""RUIM/SIM과 NV 간 변경""가입""RUIM/SIM""NV"
-
-
- "0"
- "1""기기 활성화""데이터 서비스 설정"
@@ -390,18 +328,16 @@
"발신 허용 번호 관리""FDN 액세스를 위해 PIN 변경""전화번호 목록 관리"
- "음성 개인정보 보호"
+ "음성 개인정보 보호""향상된 개인정보 보호 모드 사용"
- "TTY 모드"
- "TTY 모드 사용""TTY 모드""TTY 모드 설정"
- "자동으로 다시 시도"
- "자동 다시 시도 모드 사용"
+ "자동으로 다시 시도"
+ "자동 다시 시도 모드 사용""연락처 추가""연락처 수정""연락처 삭제"
- "PIN2 입력"
+ "PIN2 유형""이름""번호""저장"
@@ -414,56 +350,50 @@
"발신 허용 번호 삭제""발신 허용 번호를 삭제하는 중...""발신 허용 번호가 삭제되었습니다."
- "FDN 업데이트 안됨: 잘못된 PIN을 입력했습니다."
- "FDN 업데이트 안됨: 번호는 20자리를 초과할 수 없습니다."
+ "잘못된 PIN을 입력하여 FDN 업데이트 안됨"
+ "숫자가 20자리를 초과할 수 없으므로 FDN을 업데이트하지 못했습니다."
+ "FDN이 업데이트되지 않았습니다. PIN2가 잘못되었거나 전화번호가 거부되었습니다.""SIM 카드에서 읽는 중...""SIM 카드에 주소록이 없습니다.""가져올 주소록 선택"
- "SIM 카드에서 주소록을 가져오려면 비행기 모드를 사용 중지하세요."
+ "SIM 카드에서 주소록을 가져오려면 먼저 비행기 모드를 사용 중지하세요.""SIM PIN 사용/사용 중지""SIM PIN 변경""SIM PIN:""이전 PIN""새 PIN""새 PIN 확인"
- "입력한 이전 PIN이 올바르지 않습니다. 다시 시도해 주세요."
- "입력한 PIN이 일치하지 않습니다. 다시 시도해 주세요."
+ "입력한 이전 PIN이 올바르지 않습니다. 다시 시도해 주세요."
+ "입력한 PIN이 일치하지 않습니다. 다시 시도해 주세요.""4~ 8자리 숫자로 된 PIN을 입력하세요.""SIM PIN 사용 중지""SIM PIN 사용""잠시 기다려 주세요..."
- "SIM PIN 사용"
- "SIM PIN 사용 중지됨"
- "입력한 PIN이 올바르지 않습니다."
- "SIM PIN이 변경되었습니다."
+ "SIM PIN 사용"
+ "SIM PIN 사용 안함"
+ "입력한 PIN이 올바르지 않습니다."
+ "SIM PIN이 변경되었습니다.""비밀번호 틀림. SIM 잠겨 있음! PUK2 요청됨.""PIN2""이전 PIN2""새 PIN2""새 PIN2 확인"
- "입력한 PUK2가 올바르지 않습니다. 다시 시도해 주세요."
- "입력한 이전 PIN2가 올바르지 않습니다. 다시 시도해 주세요."
- "입력한 PIN2가 일치하지 않습니다. 다시 시도해 주세요."
+ "입력한 PUK2가 올바르지 않습니다. 다시 시도해 주세요."
+ "입력한 이전 PIN2가 올바르지 않습니다. 다시 시도해 주세요."
+ "입력한 PIN2가 일치하지 않습니다. 다시 시도해 주세요.""4-8자리 수로 구성된 PIN2를 입력합니다.""8자리 숫자로 된 PUK2를 입력하세요."
- "PIN2가 변경되었습니다."
+ "PIN2가 변경되었습니다.""PUK2 코드 입력"
- "비밀번호가 잘못되었습니다. PIN2를 변경한 후 다시 시도하세요."
- "비밀번호 틀림. SIM 잠겨 있음! PUK2 요청됨."
+ "비밀번호가 잘못되었습니다. PIN2를 변경한 후 다시 시도하세요."
+ "비밀번호 틀림. SIM 잠겨 있음. PUK2 요청한 상태임.""완료""다자간 통화 %s"
- "통화로 돌아가기"
- "SIM 카드 없이 계속"
- "SIM 카드가 없습니다. 휴대전화에 SIM 카드를 삽입하세요."
- "취소"
- "잠금해제"
- "PIN을 인증하는 중...""음성사서함 번호""전화 거는 중""다시 시도 중""다자간 통화""수신전화"
- "Cdma 통화 대기""통화 종료됨""대기 중""전화 끊는 중"
@@ -473,7 +403,7 @@
"부재중 통화""부재중 통화 %s통""%s의 부재중 전화"
- "현재 통화(%s)"
+ "현재 통화""대기 중""수신 전화""새 음성사서함"
@@ -482,13 +412,15 @@
"알 수 없는 음성사서함 번호""서비스 불가""선택한 네트워크(%s)를 사용할 수 없음"
+ "전화 끊기"
+ "통화하기"
+ "문자 메시지""전화를 걸려면 먼저 비행기 모드를 해제하세요.""네트워크에서 등록되지 않았습니다.""모바일 네트워크를 사용할 수 없습니다.""잘못된 번호를 입력했으므로 전화를 걸지 못했습니다.""전화를 걸지 못했습니다.""MMI 시퀀스 시작 중..."
- "기능 코드 시퀀스 시작 중...""지원되지 않는 서비스입니다.""통화를 전환할 수 없습니다.""통화를 분리할 수 없습니다."
@@ -500,18 +432,13 @@
"긴급 전화""무선을 켜는 중...""서비스 지역을 벗어났습니다. 다시 시도하는 중..."
- "%s은(는) 비상 번호가 아니므로 전화를 걸지 못했습니다."
- "전화를 걸지 못했습니다. 긴급 전화번호로 전화를 걸어 보세요."
+ "%s은(는) 긴급 번호가 아니므로 전화를 걸지 못했습니다."
+ "전화를 걸지 못했습니다. 비상 전화번호로 전화를 걸어 보세요.""키보드를 사용하여 전화걸기"
- "터치톤 키패드""대기"
- "대기 해제""종료""다이얼패드"
- "숨기기"
- "스피커""음소거"
- "블루투스""통화 추가""통화 병합""전환"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI 텍스트"
- "DTMF 신호음"
+ "DTMF 신호음""DTMF 신호음 길이 설정""보통""길게"
- "네트워크 메시지"
+ "네트워크 메시지""전화 활성화""전화 서비스를 활성화하려면 특수 통화를 해야 합니다. "\n\n"\'활성화\'를 누른 다음 지시사항을 듣고 전화를 활성화하세요."
- "\'활성화\'를 터치하면 이동통신사의 모바일 네트워크에서 휴대전화를 활성화하는 특수 통화가 걸리며 모바일 데이터 네트워크에 연결할 수 있습니다.""활성화를 건너뛰시겠습니까?""활성화를 건너뛰면 Wi-Fi 네트워크에는 연결할 수 있지만 전화를 걸거나 모바일 데이터 네트워크에 연결할 수 없습니다. 휴대전화를 활성화할 때까지 휴대전화를 켤 때마다 활성화하라는 메시지가 표시됩니다.""건너뛰기"
- "활성화""활성화"
- "전화가 활성화되었습니다."
+ "전화가 활성화되었습니다.""활성화 문제""활성화가 완료되었다는 메시지를 들을 때까지 음성 안내를 따르세요."
- "키패드""스피커"
- "전화가 프로그래밍되는 동안 기다려 주세요."
- "프로그래밍 실패"
+ "전화가 프로그래밍되는 동안 기다려 주세요."
+ "프로그래밍 실패""전화가 이제 활성화되었습니다. 서비스가 시작하는 데 최대 15분이 걸릴 수 있습니다."
- "전화가 활성화되지 않았습니다. "\n"신호가 잘 잡히는 지역(창 근처나 바깥)을 찾아야 할 수 있습니다. "\n\n"다시 시도하거나 고객지원팀에 전화해서 다른 옵션에 대해 문의하세요."
+ "전화가 활성화되지 않았습니다. "\n"신호가 잘 잡히는 지역(창 근처나 바깥)을 찾아야 할 수도 있습니다. "\n\n"다시 시도하거나 고객지원팀에 전화해서 다른 옵션에 대해 문의하세요.""너무 많은 SPC 실패""뒤로""다시 시도""다음"
- "뒤로""EcmExitDialog""긴급 콜백 모드 시작""긴급 콜백 모드"
@@ -569,87 +491,69 @@
"%s분 동안 데이터 연결 없음"
- "전화의 긴급 콜백 모드가 %s분 동안 지속됩니다. 이 모드에서는 데이터 연결을 사용하는 애플리케이션을 사용할 수 없습니다. 지금 종료하시겠습니까?"
- "전화의 긴급 콜백 모드가 %s분 동안 지속됩니다. 이 모드에서는 데이터 연결을 사용하는 애플리케이션을 사용할 수 없습니다. 지금 종료하시겠습니까?"
+ "휴대전화가 %s분간 긴급 콜백 모드를 유지합니다. 그 동안 데이터 연결이 필요한 앱을 사용할 수 없습니다. 종료하시겠습니까?"
+ "휴대전화가 %s분간 긴급 콜백 모드를 유지합니다. 그 동안 데이터 연결이 필요한 애플리케이션을 사용할 수 없습니다. 종료하시겠습니까?"
- "긴급 콜백 모드에서는 선택한 동작을 사용할 수 없습니다. 휴대전화의 긴급 콜백 모드 상태가 %s분 동안 지속됩니다. 지금 종료하시겠습니까?"
- "긴급 콜백 모드에서는 선택한 동작을 사용할 수 없습니다. 휴대전화의 긴급 콜백 모드 상태가 %s분 동안 지속됩니다. 지금 종료하시겠습니까?"
+ "긴급 콜백 모드에서는 선택한 작업을 사용할 수 없습니다. 휴대전화가 %s분간 현재 모드를 유지합니다. 종료하시겠습니까?"
+ "긴급 콜백 모드에서는 선택한 작업을 사용할 수 없습니다. 휴대전화가 %s분간 현재 모드를 유지합니다. 종료하시겠습니까?"
- "긴급 통화 중에는 선택한 동작을 사용할 수 없습니다."
- "긴급 콜백 모드 종료하는 중"
+ "긴급 통화 중에는 선택한 작업을 사용할 수 없습니다."
+ "긴급 콜백 모드 종료하는 중""예""아니요""해제"
- "음성사서함 설정"
- "<설정 안함>"
- "음성사서함 서비스"
- "%s 설정"
+ "서비스"
+ "설정"
+ "<설정 안됨>""기타 통화 설정"
- "전화걸기"
- "^1"\n"^2""을(를) 통해 전화걸기"
- "응답하려면 오른쪽으로 드래그"
- "벨소리 장치를 무음 모드로 전환하려면 왼쪽으로 드래그"
- "거부하려면 왼쪽으로 드래그"
- "응답하고"\n"현재 통화를 보류하려면 오른쪽으로 드래그"
- "응답하고"\n"현재 통화를 종료하려면 오른쪽으로 드래그"
- "응답하고"\n"보류 중인 통화를 종료하려면 오른쪽으로 드래그"
- "응답"
- "거부"
+ "%s을(를) 통해 걸려온 전화""연락처 사진""비공개로 실행""연락처 선택""인터넷 통화 설정""인터넷 전화(SIP) 계정""계정"
- "인터넷 전화(SIP) 계정 및 상태 관리""수신전화 받기""배터리가 빨리 방전될 수 있습니다."
- "통화 옵션 구성""인터넷 전화 사용""인터넷 통화 사용(Wi-Fi 전용)""데이터 네트워크 사용 가능 시 모든 통화에 사용""인터넷 통화 전용""통화할 때마다 묻기""모든 통화에 사용"
- "자동 등록"
- "SIP 발신 통화""발신 전화 유형""인터넷 전화 계정 사용:""인터넷 전화를 걸 때 항상 사용"
- "통화 설정의 인터넷 전화 설정 아래에서 다른 계정을 선택하여 전화를 걸 때 기본적으로 사용할 인터넷 전화 계정을 변경할 수 있습니다."
+ "\'휴대전화 > 설정 > 인터넷 통화 설정 > 계정 화면\'에서 기본으로 사용할 인터넷 통화 계정을 변경할 수 있습니다.""휴대전화 통화""인터넷 전화""인터넷 전화 계정 없음"
- "이 휴대전화에 인터넷 전화 계정이 없습니다. 계정을 추가하시겠습니까?"
+ "휴대전화에 인터넷 통화 계정이 없습니다. 지금 추가하시겠습니까?""추가""계정 추가""계정 삭제""SIP 계정"
- "계정 저장 중..."
- "계정 삭제 중..."
+ "계정 저장 중..."
+ "계정 삭제 중...""저장""취소""프로필 닫기""확인""닫기"
- "기본"
- "내 기본 계정으로 설정"
- "발신 전화에 사용됨"
- "고급 설정""기본 계정. %s""상태 확인 중..."
- "등록 중..."
- "계속 시도 중..."
- "전화를 받지 않음"
- "인터넷에 연결되어 있지 않기 때문에 계정 등록이 중지되었습니다"
- "Wi-Fi에 연결되어 있지 않기 때문에 계정 등록이 중지되었습니다"
- "계정을 등록하지 못했습니다."
- "전화 받기"
+ "등록 중..."
+ "계속 시도 중..."
+ "전화를 수신하지 않습니다."
+ "인터넷에 연결되어 있지 않기 때문에 계정 등록이 중지되었습니다."
+ "Wi-Fi에 연결되어 있지 않기 때문에 계정 등록이 중지되었습니다."
+ "계정을 등록하지 못했습니다."
+ "전화를 수신합니다.""계정을 등록하지 못했습니다(%s). 나중에 다시 시도합니다."
- "계정을 등록하지 못했습니다. 사용자 이름 또는 비밀번호가 잘못되었습니다."
- "계정을 등록하지 못했습니다. 서버 이름을 확인하세요."
- "%s 애플리케이션에서 이 계정을 현재 사용 중입니다."
+ "계정을 등록하지 못했습니다. 사용자 이름 또는 비밀번호가 잘못되었습니다."
+ "계정을 등록하지 못했습니다. 서버 이름을 확인하세요."
+ "%s 앱에서 현재 이 계정을 사용 중입니다.""SIP 계정 세부정보""SIP 계정 세부정보""서버"
@@ -660,9 +564,6 @@
"포트 번호""전송 유형""연결 유지 메시지 보내기"
- "SIP 연결 유지 메시지 보내기"
- "자동 등록"
- "프로필 자동 등록""기본 계정으로 설정""발신 전화에 사용됨""설정(선택사항)"
@@ -673,12 +574,12 @@
"<선택사항>""▷ 모두 표시하려면 터치""▽ 모두 숨기려면 터치"
- "%s은(는) 필수이므로 비워 둘 수 없습니다."
- "포트 번호는 1000에서 65534 이내여야 합니다"
+ "%s은(는) 필수이므로 비워 둘 수 없습니다."
+ "포트 번호는 1000에서 65534 이내여야 합니다.""인터넷에 연결되지 않음""Wi-Fi 연결 없음"
- "인터넷 전화를 걸려면 먼저 인터넷 연결을 확인하세요."
- "인터넷 전화를 사용하려면 Wi-Fi 네트워크에 연결되어 있어야 합니다(\'무선 및 네트워크\' 설정 사용)."
+ "인터넷 전화를 걸려면 먼저 인터넷 연결을 확인하세요."
+ "인터넷 전화를 사용하려면 Wi-Fi 네트워크에 연결되어 있어야 합니다(\'무선 및 네트워크\' 설정 사용).""인터넷 전화가 지원되지 않습니다.""자동""항상 보내기"
@@ -687,7 +588,7 @@
"바로 다시 전화드리겠습니다.""나중에 전화드리겠습니다.""통화 불가. 나중에 전화주세요."
- "메시지 맞춤설정..."
+ "맞춤 메시지""빠른 응답""빠른 응답 수정"
@@ -705,7 +606,6 @@
"별""0""파운드"
- "검색""전화걸기""백스페이스""스피커폰이 사용 설정되었습니다."
@@ -715,9 +615,33 @@
"거부""진동""진동"
+ "벨소리""항상""무음 시에만"
- "사용 안함"
+ "안함"
+ "전화 벨소리"
+ "전화 수신 시 진동"
+ "다이얼패드 터치음"
+ "벨소리"
+ 네트워크 바꾸기 (2G/3G)
+ 이 권한을 가진 어플리케이션은 아무 때나 2G 데이터와 3G 데이터를 선택할 수 있습니다. 3G는 더 빠르지만 배터리를 더 많이 소모하며 요금이 더 많이 나올 수 있습니다.
+
+ "다이얼패드 설정"
+ "다이얼패드의 설정을 변경"
+
+
+ "잡음 제거"
+ "통화 중 잡음을 제거"
+
+
+ "내 전화번호"
+ "기기의 전화번호를 설정"
+ 고급 설정
+ 통화 시작 시 진동
+ 45초마다 진동
+ 거는 통화일 때 45초마다 진동합니다.
+ 통화 종료 시 진동
+ 통화 중 대기시 진동
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 21ea3e368..56ad1594d 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -15,6 +15,4 @@
-->
66dip
- 69dip
- 28sp
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 1fbe6be4d..0c3f4b761 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -25,39 +25,27 @@
"Privatus numeris""Mokamas telefonas""Sulaikyta"
- "Dabartinis skambutis""Linija užimta""Tinklas užimtas""Nėra atsako, baigėsi laikas""Serveris nepasiekiamas""Numeris nepasiekiamas""Neteisingas naudotojo vardas arba slaptažodis"
- "Skambinta iš už tinklo ribų"
+ "Skambinta ne iš šio tinklo""Serverio klaida. Vėliau bandykite dar kartą.""Nėra signalo""Pasiekta ACM riba""Radijas išjungtas"
- "Nėra SIM kortelės arba SIM kortelės klaida"
+ "Nėra SIM kortelės arba įvyko SIM kortelės klaida""Sritis, kurioje neteikiamos paslaugos""Išeinančius skambučius apriboja FDN."
- "Negalite skambinti, kai įjungtas skambučių draudimas."
+ "Negalite skambinti, kai įjungtas skambučių draudimas.""Visi skambučiai apriboti prieigos valdymu.""Pagalbos skambučius apriboja prieigos valdymas.""Įprastus skambučius riboja prieigos valdymas."
- "CDMA: telefonas užrakintas iki maitinimo ciklo."
- "CDMA: skambutis atmestas."
- "CDMA: skambutis sustabdytas."
- "CDMA: užsakymas iš naujo."
- "CDMA: paslaugos parinkties atmetimas."
- "CDMA: užsakymas bandyti iš naujo."
- "CDMA – nepavyko pasiekti."
- "CDMA: sukliudyta."
- "Galimi tik pagalbos skambučiai."
- "Neteisingas numeris"
+ "Neteisingas numeris""Konferencinis skambutis""Skambutis prarastas."
- "Bandyti dar kartą"
- "Prarastas skambutis""Gerai""Paleistas MMI kodas""Paleistas USSD kodas..."
@@ -69,23 +57,14 @@
"Laidinės ausinės""Bluetooth""Siųsti šiuo tonus?"\n
- "Siunčiami tonai"\n
+ "Siunčiami tonai"\n"Siųsti""Taip""Ne"
- "Pakaitos simbolį pakeisti"
+ "Pakaitos simbolį pakeisti""Trūksta balso pašto numerio""SIM kortelėje nėra išsaugoto balso pašto numerio.""Pridėti numerį"
- "Įkeliama…"
- "Jei norite atrakinti SIM kortelę, įveskite PIN kodą."
- "SIM atrakinta"
- "Naujas SIM kortelės PIN kodas"
- "Įveskite naują SIM kortelės PIN kodą dar kartą, kad patvirtintumėte"
- "Įvesti SIM kortelės PIN kodai neatitinka. Bandykite dar kartą."
- "Jei norite atrakinti SIM kortelę, įveskite PUK kodą"
- "Neteisingas PUK kodas!"
- "Tęsti""Jūsų SIM kortelė buvo atblokuota. Atrakinamas telefonas...""SIM tinklo atrakinimo PIN""Atblokuoti"
@@ -93,8 +72,6 @@
"Pateikiama užklausa atrakinti tinklą...""Nesėkminga tinklo atrakinimo užklausa.""Tinklas sėkmingai atrakintas."
- "IMEI"
- "MEID""GSM skambinimo nustatymai""CDMA skambučio nustatymai""Prieigos taškų pavadinimai"
@@ -109,6 +86,7 @@
"Papildomi tik CDMA nustatymai""Tinklo paslaugos nustatymai""Skambintojo ID"
+ "Įkeliami nustatymai…""Numeris paslėptas išeinančiuose skambučiuose""Numeris pateikiamas išeinančiuose skambučiuose""Naudoti numatytuosius nustatymus, kad išeinančiuose skambučiuose būtų pateikiamas mano numeris"
@@ -127,17 +105,17 @@
"Numeris, kai užimta""Peradresuojama į {0}""Išjungta"
- "Jūsų operatorius nepalaiko skambučių peradresavimo, kai telefonas užimtas, išjungimo."
+ "Operatorius nepalaiko skambučių peradresavimo išjungimo, kai telefonas užimtas.""Peradresuoti, kai neatsiliepiama""Numeris kai neatsiliepiama""Peradresuojama į {0}""Išjungta"
- "Jūsų operatorius nepalaiko skambučių peradresavimo, kai neatsiliepiama, išjungimo."
+ "Operatorius nepalaiko skambučių peradresavimo išjungimo, kai neatsiliepiama.""Peradresuoti, kai nepasiekiama""Numeris, kai nepasiekiama""Peradresuojama į {0}""Išjungta"
- "Jūsų operatorius nepalaiko skambučių peradresavimo išjungimo, kai telefonas nepasiekiamas."
+ "Operatorius nepalaiko skambučių peradresavimo išjungimo, kai telefonas nepasiekiamas.""Skambinimo nustatymai""Skambinimo nustatymų klaida""Skaitomi nustatymai..."
@@ -145,8 +123,8 @@
"Grąžinami nustatymai…""Netikėtas atsakas iš tinklo.""Tinklo ar SIM kortelės klaida."
- "Operacijos leidžiamos tik naudojant fiksuoto rinkimo numerius."
- "Prieš žiūrėdami šiuos nustatymus, įjunkite radiją."
+ "Įjungtas jūsų telefono programos fiksuotojo rinkimo numerių nustatymas. Todėl neveikia kai kurios su skambinimu susijusios funkcijos."
+ "Prieš žiūrėdami šiuos nustatymus, įjunkite radiją.""Gerai""Įgalinti""Išjungti"
@@ -156,10 +134,9 @@
"Slėpti numerį""Rodyti numerį"
- "Išsaugoti balso pašto numerį""Pasikeitė balso pašto numeris."
- "Nesėkmingas balso pašto numerio pakeitimas."\n"Jei ši problema išliks, susisiekite su savo operatoriumi."
- "Nesėkmingas peradresavimo numerio pakeitimas."\n"Jie ši problema išliks, kreipkitės į savo operatorių."
+ "Balso pašto numerio pakeisti nepavyko."\n"Jei ši problema kartosis, kreipkitės į operatorių."
+ "Persiuntimo numerio pakeisti nepavyko."\n"Jei ši problema kartosis, kreipkitės į operatorių.""Nepavyko pateikti ir išsaugoti dabartinio peradresavimo numerio nustatymų."\n"Vis tiek perjungti naują teikėją?""Neatlikta jokių pakeitimų.""Pasirinkti balso pašto paslaugą"
@@ -171,14 +148,14 @@
"Ieškoti tinklų""Klaida ieškant tinklų.""Registruojama %s..."
- "Jūsų SIM kortelė neleidžia užmegzti ryšio su šiuo tinklu."
- "Šiuo metu neįmanoma prisijungti prie šio tinklo. Vėliau bandykite dar kartą."
+ "SIM kortelė neleidžia užmegzti ryšio su šiuo tinklu."
+ "Dabar prie šio tinklo prisijungti nepavyksta. Bandykite dar kartą vėliau.""Registruota tinkle."
- "Pasirinkite tinklo operatorių"
+ "Pasirinkite tinklo operatorių""Ieškoti galimų tinklų"
- "Parinkti automatiškai"
- "Automatiškai pasirinkti pageidaujamą tinklą"
- "Automatinė registracija..."
+ "Pasirinkti automatiškai"
+ "Automatiškai pasirinkti pageidaujamą tinklą"
+ "Automatinė registracija...""Tinklo režimas""Pakeisti tinklo veikimo režimą""Pageidaujamas tinklo režimas"
@@ -192,17 +169,17 @@
"Pageidaujamas tinklo režimas: tik „EvDo“""Pageidaujamas tinklo režimas: LTE / CDMA"
- "LTE / CDMA"
+ "LTE / CDMA""Tik EvDo""CDMA w/o EvDo"
- "CDMA / EvDo automatinis"
- "GSM / WCDMA automatinis"
+ "CDMA / „EvDo“ automatinis"
+ "GSM / WCDMA automatinis""Tik WCDMA""Tik GSM"
- "Pageidaujama GSM / WCDMA"
+ "Pageidaujama GSM / WCDMA"
- "LTE / CDMA"
+ "LTE / CDMA""CDMA""Duomenys įgalinti"
@@ -210,12 +187,11 @@
"Tarptinklinis duomenų ryšys""Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų""Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų"
- "Praradote duomenų jungiamumą, nes pagrindinį tinklą palikote išjungę tarptinklinį ryšį."
+ "Ryšys su duomenimis nutrūko, nes iš pagrindinio tinklo išėjote neįjungę tarptinklinio ryšio.""Leisti tarptinklinį duomenų ryšį? Galite būti apmokestinti nemažais tarptinklinio ryšio mokesčiais!""GSM / UMTS parinktys""CDMA parinktys""Duomenų naudojimas"
- "Operatoriaus duomenų politika""Duomenys, naudojami dabartiniame laikotarpyje""Duomenų naudojimo laikotarpis""Duomenų perdavimo spartos politika"
@@ -226,7 +202,6 @@
"Praėjo %1$d٪ ciklo"\n"Kitas laikotarpis prasidės po%2$d dienų (%3$s)""Duomenų perdavimo sparta sumažinta iki %1$d kB / sek., jei pasiekiama duomenų naudojimo riba""Daugiau informacijos apie operatoriaus mobiliojo ryšio duomenų naudojimo politiką"
- "SMS perdavimas į mobilųjį telefoną""SMS perdavimas į mobilųjį telefoną""SMS perdavimas į mobilųjį telefoną""Įgalintas SMS perdavimas į mobilųjį telefoną"
@@ -267,15 +242,6 @@
"Korėjų""Kinų k.""Hebrajų"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Kalbos""Vietiniai orai"
@@ -305,9 +271,9 @@
"Darbo galimybės""Įgalintos darbo galimybės""Išjungtos darbo galimybės"
- "Medicinos, sveikatos ir ligoninės"
- "Medicina, sveikata ir ligoninė įjungta"
- "Medicina, sveikata ir ligoninė išjungta"
+ "Medicina, sveikata ir ligoninė"
+ "„Medicina, sveikata ir ligoninė“ įgalinta"
+ "„Medicina, sveikata ir ligoninė“ neleidžiama""Technologijų naujienos""Įgalintos technologijų naujienos""Išjungtos technologijų naujienos"
@@ -322,35 +288,17 @@
"Tik WCDMA""Tik GSM""GSM / WCDA (pageidaujama WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Naudoti tik 2G tinklus""Taupo akumuliatorių""Sistemos pasirinkimas"
- "Pakeisti tarptinklinio CDMA ryšio režimą"
+ "Pakeisti tarptinklinio CDMA ryšio režimą""Sistemos pasirinkimas""Tik pagrindinis""Automatinis"
- "CDMA tarptinklinio ryšio režimas"
- "Pakeisti tarptinklinio CDMA ryšio režimą"
- "CDMA tarptinklinio ryšio režimas"
-
- "Tik pagrindiniai tinklai"
- "Susiję tinklai"
- "Bet kuris tinklas"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA prenumerata""CDMA tinklo nuostatos""Dar neįdiegta!""CDMA tinklo nuostatos"
@@ -359,21 +307,11 @@
"Tik CDMA""Tik EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA prenumerata""Keisti RUIM / SIM ir NV""prenumerata""RUIM / SIM""NV"
-
-
- "0"
- "1""Suaktyvinti įrenginį""Nustatyti duomenų paslaugą"
@@ -390,18 +328,16 @@
"Valdyti fiksuoto rinkimo numerius""Pakeisti PIN kodą FDN prieigai""Valdyti telefono numerių sąrašą"
- "Balso privatumas"
+ "Balso privatumas""Įgalinti patobulintą privatumo režimą"
- "TTY režimas"
- "Įgalinti TTY režimą""TTY režimas""Nustatyti TTY režimą"
- "Automatinis bandymas iš naujo"
- "Įgalinti automatinio bandymo iš naujo režimą"
+ "Automatinis bandymas iš naujo"
+ "Įgalinti automatinio kartotinio bandymo režimą""Pridėti adresatą""Redaguoti adresatą""Ištrinti adresatą"
- "Įvesti PIN2"
+ "Įveskite PIN2 kodą""Pavadinimas""Numeris""Išsaugoti"
@@ -414,56 +350,50 @@
"Ištrinti fiksuoto rinkimo numerį""Trinamas fiksuoto rinkimo numeris...""Ištrintas fiksuoto rinkimo numeris."
- "FDN neatnaujintas: įvedėte neteisingą PIN kodą."
- "FDN neatnaujinta: skaičius negali viršyti 20 skaitmenų."
+ "FDN neatnaujintas, nes įvedėte neteisingą PIN kodą."
+ "FDN neatnaujintas, nes numerį gali sudaryti ne daugiau kaip 20 skaitmenų."
+ "FDN nebuvo atnaujintas. Įvestas PIN2 kodas buvo netinkamas arba telefono numeris buvo atmestas.""Skaitoma iš SIM kortelės...""SIM kortelėje adresatų nėra.""Pasirinkti importuojamus adresatus"
- "Jei norite importuoti kontaktų duomenis iš SIM kortelės, išjunkite skrydžio režimą."
+ "Jei norite importuoti kontaktus iš SIM kortelės, pirmiausia išjunkite lėktuvo režimą.""Įgalinti / išjungti SIM kortelės PIN""Pakeisti SIM kortelės PIN kodą""SIM kortelės PIN kodas:""Senas PIN kodas""Naujas PIN""Patvirtinti naują PIN"
- "Įvestas senasis PIN neteisingas. Bandykite dar kartą."
- "Įvesti PIN kodai neatitinka. Bandykite dar kartą."
+ "Įvestas senasis PIN kodas yra neteisingas. Bandykite dar kartą."
+ "Įvesti PIN kodai nesutampa. Bandykite dar kartą.""Įveskite PIN kodą, sudarytą iš 4–8 skaičių.""Išjunti SIM kortelės PIN""Įgalinti SIM kortelės PIN""Palaukite..."
- "Įgalintas SIM kortelės PIN kodas"
- "SIM kortelės PIN kodas išjungtas"
- "Įvestas PIN kodas neteisingas"
- "SIM kortelės PIN kodas sėkmingai pakeistas"
+ "SIM kortelės PIN kodas įgalintas"
+ "SIM kortelės PIN kodas neleidžiamas."
+ "Įvestas PIN kodas neteisingas."
+ "SIM kortelės PIN kodas pakeistas sėkmingai.""Slaptažodis neteisingas, SIM kortelė užrakinta! Reikia PUK2 kodo.""PIN2""Senas PIN2 kodas""Naujas PIN2 kodas""Patvirtinti naują PIN2"
- "Įvestas PUK2 neteisingas. Bandykite dar kartą."
- "Įvestas senasis PIN2 neteisingas. Bandykite dar kartą."
- "Įvesti PIN2 neatitinka. Bandykite dar kartą."
+ "Įvestas PUK2 kodas yra neteisingas. Bandykite dar kartą."
+ "Įvestas senasis PIN2 kodas neteisingas. Bandykite dar kartą."
+ "Įvesti PIN2 kodai nesutampa. Bandykite dar kartą.""Įveskite PIN2 kodą, sudarytą iš 4–8 skaičių.""Įveskite 8 skaičių PUK2."
- "PIN2 sėkmingai pakeistas"
+ "PIN2 kodas pakeistas sėkmingai.""Įveskite PUK2 kodą"
- "Neteisingas slaptažodis, pakeiskite PIN2 ir bandykite iš naujo!"
- "Slaptažodis neteisingas, SIM kortelė užrakinta! Reikia PUK2 kodo."
+ "Neteisingas slaptažodis. Pakeiskite PIN2 kodą ir bandykite dar kartą."
+ "Slaptažodis neteisingas, todėl SIM kortelė užrakinta. Būtina įvesti PUK2 kodą.""Atlikta""Konferencinis skambutis %s"
- "Atgal į skambinimą"
- "Tęsti be SIM kortelės"
- "Nerasta SIM kortelė. Įdėkite SIM kortelę į telefoną."
- "Atsisakyti"
- "Atblokuoti"
- "Patvirtinamas PIN kodo autentiškumas...""Balso pašto numeris""Renkamas numeris""Bandoma dar kartą""Konferencinis skambutis""Gaunamas skambutis"
- "Laukia CDMA skambutis""Skambutis baigtas""Sulaikyta""Baigiamas pokalbis"
@@ -473,7 +403,7 @@
"Praleisti skambučiai""%s praleisti (-ų) skambučiai (-ų)""praleistas skambutis nuo %s"
- "Dabartinis skambutis (%s)"
+ "Vykstantis pokalbis""Sulaikyta""Skambina""Naujas balso pašto pranešimas"
@@ -482,13 +412,15 @@
"Nežinomas balso pašto numeris""Nėra paslaugos""Pasirinktas tinklas (%s) negalimas"
+ "Padėti ragelį"
+ "Perskambinti"
+ "Pranešimas""Jei norite skambinti, išjunkite lėktuvo režimą.""Neregistruota tinkle.""Mobilusis tinklas negalimas.""Skambutis neišsiųstas; neįvestas teisingas numeris.""Skambutis neišsiųstas.""Paleidžiama MMI seka..."
- "Paleidžiama funkcijos kodo seka...""Nepalaikoma paslauga.""Neįmanoma perjungti skambučių.""Neįmanoma atskirti skambučio."
@@ -500,18 +432,13 @@
"Skambutis pagalbos numeriu""Įjungiamas radijas…""Sritis, kurioje paslauga neteikiama, bandoma iš naujo..."
- "Nepaskambinta, %s nėra pagalbos numeris!"
- "Nepaskambinta, surinkite pagalbos numerį!"
+ "Nepaskambinta. %s nėra pagalbos numeris!"
+ "Nepaskambinta. Surinkite pagalbos numerį!""Naudokite klaviatūrą ir rinkite numerius"
- "Palieskite tonų klaviatūrą""Sulaikyti"
- "Panaikinti sulaikymą""Pabaiga""Numerio rinkimo klaviatūra"
- "Slėpti"
- "Garsiakalbis""Nutildyti"
- "Bluetooth""Pridėti skambutį""Sujungti skambučius""Apkeisti"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI tekstas"
- "DMTF tonai"
+ "DMTF tonai""Nustatyti DTMF tonų ilgį""Įprastas""Ilgas"
- "Tinklo pranešimas"
+ "Tinklo pranešimas""Aktyvinkite savo telefoną""Kad suaktyvintumėte telefono paslaugą, reikia atlikti specialų skambutį. "\n\n"Paspaudę „Aktyvinti“ klausykite pateikiamų telefono aktyvinimo instrukcijų."
- "Palieskite „Aktyvinti“, kad atliktumėte specialų skambutį, kuris suaktyvina jūsų telefoną operatoriaus mobiliajame tinkle, kad galėtumėte skambinti ir prisijungti prie mobiliųjų duomenų tinklų.""Praleisti aktyvinimą?""Jei praleisite aktyvinimą, negalėsite skambinti ar prisijungti prie mobilių duomenų tinklų (nors ir galite prisijungti prie „Wi-Fi“ tinklų). Iki tol, kol suaktyvinsite telefoną, aktyvinkite jį kaskart jį įjungdami.""Praleisti"
- "Aktyvinti""Aktyvinti"
- "Telefonas suaktyvintas!"
+ "Telefonas suaktyvintas.""Aktyvinimo problema""Vadovaukitės girdimomis instrukcijomis, kol išgirsite, kad aktyvinimas baigtas."
- "Klaviatūra""Garsiakalbis"
- "Palaukite, kol bus užprogramuotas jūsų telefonas."
- "Nesėkmingas programavimas"
+ "Palaukite, kol bus užprogramuotas telefonas."
+ "Užprogramuoti nepavyko""Dabar jūsų telefonas suaktyvintas. Gali praeiti iki 15 min., kol paslauga bus paleista."
- "Telefonas nebuvo suaktyvintas. "\n"Jums gali reikėti rasti sritį, kurioje geresnė aprėptis (prie lango arba lauke). "\n\n"Bandykite dar kartą arba skambinkite klientų tarnybai, kad sužinotumėte kitas parinktis."
+ "Telefonas nebuvo suaktyvintas. "\n"Galbūt reikia rasti vietą, kurioje ryšys veikia geriau (prie lango arba lauke). "\n\n"Bandykite dar kartą arba skambinkite klientų aptarnavimo tarnybai ir išsiaiškinkite, ką dar galima padaryti.""PER DAUG SCP TRIKČIŲ""Atgal""Bandyti dar kartą""Kitas"
- "Atgal""EcmExitDialog""Įvestas atgalinio skambinimo pagalbos numeriu režimas""Atgalinio skambinimo pagalbos numeriu režimas"
@@ -569,87 +491,69 @@
"Jokio duomenų ryšio %s min."
- "Šis telefonas bus atgalinio skambinimo pagalbos numeriu režime %s min. Kol veikia šis režimas, negalima naudoti jokių programų, naudojančių duomenų ryšį. Ar norite išeiti dabar?"
- "Šis telefonas bus atgalinio skambinimo pagalbos numeriu režimu veiks %s min. Kol veikia šis režimas, negalima naudoti jokių programų, naudojančių duomenų ryšį. Ar norite išeiti dabar?"
+ "%s min. telefonas veiks atgalinio skambinimo pagalbos numeriu režimu. Telefonui veikiant šiuo režimu, negalėsite naudoti jokių ryšio su duomenimis programų. Ar norite šį režimą išjungti dabar?"
+ "%s min. telefonas veiks atgalinio skambinimo pagalbos numeriu režimu. Telefonui veikiant šiuo režimu, negalėsite naudoti jokių ryšio su duomenimis programų. Ar norite šį režimą išjungti dabar?"
- "Pasirinkto veiksmo atlikti negalima, kai veikia atgalinio skambinimo pagalbos numeriu režimas. Telefonas šiuo režimu veiks %s min. Ar norite išeiti dabar?"
- "Pasirinkto veiksmo atlikti negalima, kai veikia atgalinio skambinimo pagalbos numeriu režimas. Telefonas šiuo režimu veiks %s min. Ar norite išeiti dabar?"
+ "Skambinant pagalbos telefonu pasirinkto veiksmo atlikti nepavyks. Šiuo režimu telefonas veiks %s min. Ar norite šį režimą išjungti dabar?"
+ "Skambinant atgalinio pagalbos numerio režimu pasirinkto veiksmo atlikti nepavyks. Šiuo režimu telefonas veiks %s min. Ar norite šį režimą išjungti dabar?"
- "Pasirinktas veiksmas negalimas, kai skambinama pagalbos numeriu"
- "Išeinama iš atgalinio skambinimo pagalbos numeriu režimo"
+ "Skambinant pagalbos numeriu pasirinkto veiksmo atlikti nepavyks."
+ "Išeinama iš atgalinio skambinimo pagalbos numeriu režimo""Taip""Ne""Atsisakyti"
- "Balso pašto nustatymai"
- "<nenustatyta>"
- "Balso pašto paslauga"
- "„%s“ nustatymai"
+ "Paslauga"
+ "Sąranka"
+ "<Nenustatyta>""Kiti skambučio nustatymai"
- "Rinkti numerį"
- "Skambinama naudojant ^1"\n"^2"
- "Vilkite į dešinę, kad atsilieptumėte"
- "Vilkite į kairę, kad nutildytumėte skambutį"
- "Vilkite į kairę, kad atmestumėte"
- "Vilkite į dešinę, kad atsilieptumėte ir"\n"sulaikytumėte aktyvų skambutį"
- "Vilkite į dešinę, kad atsilieptumėte ir"\n"užbaigtumėte aktyvų skambutį"
- "Vilkite į dešinę, kad atsilieptumėte ir "\n" užbaigtumėte sulaikytą skambutį"
- "Atsiliepti"
- "Atmesti"
+ "Skambinama naudojantis „%s“ paslaugomis""kontakto nuotrauka""naudoti privatų režimą""pasirinkti kontaktą""Skambučio internetu nustatymai""Skambinimo internetu (SIP) paskyros""Paskyros"
- "Valdyti skambinimo internetu (SIP) paskyras ir būseną""Gauti gaunamus skambučius""Sutrumpėja akumuliatoriaus naudojimo laikas"
- "Konfigūruoti skambučių parinktis""Naudoti skambinimą internetu""Naudoti skambinimą internetu (tik „Wi-Fi“)""Visiems skambučiams, kai pasiekiamas duomenų tinklas""Tik skambučiams internetu""Klausti dėl kiekvieno skambučio""Visiems skambučiams"
- "Automatinė registracija"
- "Siunčiamas skambutis per SIP""Skambinti""Naudoti skambinimo internetu paskyrą:""Visada naudoti skambinant internetu"
- "Kad pakeistumėte skambinant pagal numatytuosius nustatymus naudojamą skambinimo internetu paskyrą, galite naudoti skambučių nustatymus, skambučių internetu nustatymuose pasirinkdami kitą paskyrą"
+ "Numatytą naudoti skambinimo internetu paskyrą galite pakeisti čia: „Telefonas“ > „Nustatymai“ > „Skambučio internetu nustatymai“ > „Paskyrų“ ekranas.""Skambutis mobiliuoju telefonu""Skambutis internetu""Nėra skambinimo internetu paskyros"
- "Šiame telefone nėra skambinimo internetu paskyrų. Dabar pridėti?"
+ "Šiame telefone nenustatyta nė viena skambinimo internetu paskyra. Ar norite pridėti ją dabar?""Pridėti""Pridėti paskyrą""Pašalinti paskyrą""SIP paskyros"
- "Išsaugoma paskyra..."
- "Pašalinama paskyra..."
+ "Išsaugoma paskyra..."
+ "Pašalinama paskyra...""Išsaugoti""Atmesti""Uždaryti profilį""Gerai""Uždaryti"
- "Pagrindinė"
- "Padaryti šią paskyrą pagrindine"
- "Naudojama siunčiamiems skambučiams"
- "Išplėstiniai nustatymai""Pagrindinė paskyra. %s""Tikrinama būsena..."
- "Registruojama..."
- "Vis dar bandoma..."
- "Negaunami skambučiai"
- "Paskyros registracija sustabdyta, nes nėra interneto ryšio"
- "Paskyros registracija sustabdyta, nes nėra „Wi-Fi“ ryšio"
- "Nesėkminga paskyros registracija"
- "Gaunami skambučiai"
+ "Registruojama..."
+ "Vis dar bandoma..."
+ "Skambučiai negaunami."
+ "Paskyros registracija sustabdyta, nes neprisijungta prie interneto."
+ "Paskyros registracija sustabdyta, nes neprisijungta prie „Wi-Fi“."
+ "Paskyros užregistruoti nepavyko."
+ "Gaunami skambučiai.""Paskyros registracija nepavyko: (%s); bus bandoma vėliau"
- "Paskyros registracija nepavyko: netinkamas naudotojo vardas arba slaptažodis"
- "Nesėkminga paskyros registracija: patikrinkite serverio pavadinimą"
- "Šią paskyrą šiuo metu naudoja programa „%s“"
+ "Paskyros užregistruoti nepavyko: netinkamas naudotojo vardas arba slaptažodis."
+ "Paskyros užregistruoti nepavyko. Patikrinkite serverio pavadinimą."
+ "Šią paskyrą dabar naudoja programa „%s“.""Išsami SIP paskyros informacija""Išsami SIP paskyros informacija""Serveris"
@@ -660,9 +564,6 @@
"Prievado numeris""Transportavimo tipas""Siųsti „palaikyti“"
- "Siųsti SIP palaikymo pranešimus"
- "Automatinė registracija"
- "Automatiškai užregistruoti profilį""Nustatyti kaip pagrindinę paskyrą""Naudojama siunčiamiems skambučiams""Pasirenkami nustatymai"
@@ -673,12 +574,12 @@
"<Pasirenkama>""▽ Jei norite viską parodyti, palieskite""▽ Jei norite viską paslėpti, palieskite"
- "%s laukas privalomas, negalima palikti tuščio"
- "Prievado numeris turi būti nuo 1000 iki 65534"
+ "Lauke „%s“ reikšmę nurodyti būtina – jis negali likti tuščias."
+ "Prievado numeris turi būti nuo 1000 iki 65534.""Nėra interneto ryšio""Nėra „Wi-Fi“ ryšio"
- "Jei norite skambinti internetu, pirmiausia patikrinkite interneto ryšį"
- "Kad galėtumėte skambinti internetu, turite būti prisijungę prie „Wi-Fi“ tinklo (naudokite nustatymus „Belaidis ir tinklas“)"
+ "Jei norite skambinti internetu, pirmiausia patikrinkite interneto ryšį."
+ "Jei norite skambinti internetu, turite būti prisijungę prie „Wi-Fi“ ryšio tinklo (naudokite nustatymus „Belaidis ir tinklas“).""Skambinimas internetu nepalaikomas""Automatinis""Visada siųsti"
@@ -687,7 +588,7 @@
"Netrukus perskambinsiu.""Paskambinsiu vėliau.""Dabar negaliu kalb. Pask. vėliau."
- "Priskirtas pranešimas..."
+ "Priskirtas pranešimas""Greiti atsakai""Redaguoti greitus atsakus"
@@ -705,7 +606,6 @@
"žvaigždutė""nulis""svaras"
- "ieškoti""rinkti numerį""naikinimo klavišas""Garsiakalbis įgalintas."
@@ -715,9 +615,14 @@
"Atmesti""Vibruoti""Vibruoti"
+ "Skambėjimo tonas""Visada"
- "Tik kai veikia tyliai"
+ "Tik kai veikia tylos režimu""Niekada"
+ "Telefono skambėjimo tonas"
+ "Vibruoti, kai skambina"
+ "Numerio rinkimo lietimo tonas"
+ "Skambėjimo tonas"
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 2bccb509f..3292ed361 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -25,39 +25,27 @@
"Privāts numurs""Taksofons""Aizturēts"
- "Pašreizējais zvans""Līnija ir aizņemta""Tīkls ir aizņemts""Nav atbildes; noildze""Serveris nav sasniedzams""Numurs nav sasniedzams""Nepareizs lietotājvārds vai parole"
- "Zvans tika veikts ārpus tīkla"
+ "Zvans tika veikts ārpus tīkla.""Servera kļūda. Vēlāk mēģiniet vēlreiz.""Nav signāla""ACM ierobežojums ir pārsniegts.""Radio ir izslēgts."
- "Nav SIM vai SIM kļūda"
+ "Nav SIM, vai SIM kļūda""Ārpus apkalpošanas apgabala""FNSN ierobežo izejošos zvanus."
- "Izejošos zvanus nevar veikt, ja ir ieslēgts zvanu aizliegums."
+ "Izejošos zvanus nevar veikt, ja ir ieslēgts zvanu aizliegums.""Piekļuves vadība ierobežo visus zvanus.""Piekļuves vadība ierobežo ārkārtas zvanus.""Piekļuves vadība ierobežo parastos zvanus."
- "CDMA: tālrunis ir bloķēts līdz nākamajai restartēšanas reizei."
- "CDMA: zvans ir pārtraukts."
- "CDMA: zvans ir pārtverts."
- "CDMA: pārkārtošana."
- "CDMA: pakalpojuma opcija ir noraidīta."
- "CDMA: atkārtotu mēģinājumu kārtība."
- "CDMA: piekļuve neizdevās."
- "CDMA: iegūts ātrāk."
- "Iespējami ir tikai ārkārtas zvani."
- "Nederīgs numurs"
+ "Numurs nav derīgs.""Konferences zvans""Zvans ir zaudēts."
- "Mēģināt vēlreiz"
- "Zvans ir zaudēts""Labi""MMI kods ir startēts.""USSD kods darbojas…"
@@ -69,23 +57,14 @@
"Austiņas ar vadu""Bluetooth""Vai sūtīt tālāk norādītos signālus?"\n
- "Sūtīšanas signāli"\n
+ "Sūtīšanas signāli"\n"Sūtīt""Jā""Nē"
- "Aizstāt aizstājējzīmi ar"
+ "Aizstāt aizstājējzīmi ar:""Trūkst balss pasta numura""SIM kartē neviens balss pasta numurs nav saglabāts.""Pievienot numuru"
- "Notiek ielāde…"
- "Ierakstiet PIN kodu, lai atbloķētu SIM karti."
- "SIM ir atbloķēts"
- "Jauns SIM PIN kods"
- "Lai apstiprinātu, vēlreiz ierakstiet jauno SIM PIN kodu."
- "Ierakstītie SIM PIN neatbilst. Lūdzu, mēģiniet vēlreiz."
- "Ierakstiet PUK kodu, lai atbloķētu SIM karti."
- "Nepareizs PUK kods!"
- "Turpināt""SIM karte ir atbloķēta. Notiek tālruņa atbloķēšana...""SIM tīkla atbloķēšanas PIN""Atbloķēt"
@@ -93,8 +72,6 @@
"Notiek tīkla atbloķēšanas pieprasīšana...""Tīkla atbloķēšanas pieprasījums nav veiksmīgs.""Tīkla atbloķēšana bija veiksmīga."
- "IMEI"
- "MEID""GSM zvanu iestatījumi""CDMA zvanu iestatījumi""Piekļuves punktu nosaukumi"
@@ -109,6 +86,7 @@
"Tikai CDMA zvanu papildu iestatījumi""Tīkla pakalpojuma iestatījumi""Zvanītāja ID"
+ "Notiek iestatījumu ielāde...""Izejošajos zvanos numurs tiek slēpts""Izejošajos zvanos redzamais numurs""Izmantot noklusējuma operatora iestatījumus, lai rādītu manu numuru izejošajos zvanos"
@@ -127,17 +105,17 @@
"Numurs, ja ir aizņemts""Pāradresēšana uz: {0}""Atspējots"
- "Jūsu mobilo sakaru operators neatbalsta zvanu pāradresācijas atspējošanu, ja tālrunis ir aizņemts."
+ "Jūsu operators neatbalsta zvanu pāradresācijas atspējošanu, ja tālrunis ir aizņemts.""Pāradresēt, ja nav atbildes""Numurs, ja nav atbildes""Pāradresēšana uz: {0}""Atspējots"
- "Jūsu mobilo sakaru operators neatbalsta zvanu pāradresācijas atspējošanu, ja tālrunis neatbild."
+ "Jūsu operators neatbalsta zvanu pāradresācijas atspējošanu, ja tālrunis neatbild.""Pāradresēt, ja nevar sasniegt""Numurs, ja nav sasniedzams""Pāradresēšana uz: {0}""Atspējots"
- "Jūsu mobilo sakaru operators neatbalsta zvanu pāradresācijas atspējošanu, ja tālrunis nav sasniedzams."
+ "Jūsu mobilo sakaru operators neatbalsta zvanu pāradresācijas atspējošanu, ja tālrunis nav sasniedzams.""Zvanu iestatījumi""Zvanu iestatījumu kļūda""Notiek iestatījumu lasīšana..."
@@ -145,8 +123,8 @@
"Notiek iestatījumu atsaukšana...""Neparedzēta atbilde no tīkla.""Tīkla vai SIM kartes kļūda."
- "Darbības ir atļautas, tikai zvanot uz fiksētajiem numuriem."
- "Pirms šo iestatījumu skatīšanas, lūdzu, ieslēdziet radio."
+ "Jūsu tālrunī ir ieslēgta fiksēto numuru sastādīšanas lietotne. Tādēļ dažas zvanu funkcijas nav pieejamas."
+ "Pirms šo iestatījumu skatīšanas ieslēdziet radio.""Labi""Iespējot""Atspējot"
@@ -156,10 +134,9 @@
"Slēpt numuru""Rādīt numuru"
- "Saglabāt balss pasta numuru""Balss pasta numurs ir mainīts."
- "Balss pasta numura maiņa nebija veiksmīga."\n"Lūdzu, sazinieties ar mobilo sakaru operatoru, ja šī problēma joprojām pastāv."
- "Pāradresācijas numura maiņa nebija veiksmīga."\n"Lūdzu, sazinieties ar mobilo sakaru operatoru, ja šī problēma joprojām pastāv."
+ "Nevarēja mainīt balss pasta numuru."\n"Ja problēmu neizdodas novērst, sazinieties ar savu mobilo sakaru operatoru."
+ "Nevarēja mainīt pāradresācijas numuru."\n"Ja problēmu neizdodas novērst, sazinieties ar savu mobilo sakaru operatoru.""Nevarēja izgūt un saglabāt pašreizējos pāradresācijas numura iestatījumus."\n"Vai tomēr pārslēgties uz jauno pakalpojumu sniedzēju?""Izmaiņas netika veiktas.""Izvēlieties balss pasta pakalpojumu"
@@ -171,14 +148,14 @@
"Meklēt tīklus""Tīklu meklēšanas laikā radās kļūda.""Notiek reģistrēšana šādā tīklā: %s..."
- "SIM karte neļauj izveidot savienojumu ar šo tīklu."
- "Pašlaik nevar izveidot savienojumu ar šo tīklu. Lūdzu, vēlāk mēģiniet vēlreiz."
+ "SIM karte neļauj izveidot savienojumu ar šo tīklu."
+ "Pašlaik nevar izveidot savienojumu ar šo tīklu. Vēlāk mēģiniet vēlreiz.""Reģistrēts tīklā."
- "Atlasīt tīkla operatoru"
+ "Izvēlēties tīkla operatoru""Meklēt visus pieejamos tīklus"
- "Atlasīt automātiski"
- "Automātiski atlasīt vēlamo tīklu"
- "Automātiska reģistrācija..."
+ "Izvēlēties automātiski"
+ "Automātiski izvēlēties vajadzīgo tīklu"
+ "Automātiska reģistrācija...""Tīkla režīms""Mainiet tīkla darbības režīmu""Vēlamais tīkla režīms"
@@ -192,17 +169,17 @@
"Ieteicamais tīkla režīms: tikai EvDo""Ieteicamais tīkla režīms: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Tikai EvDo""CDMA bez EvDo"
- "CDMA/EvDo automātiski"
- "GSM/WCDMA automātiski"
+ "CDMA/EvDo automātiski"
+ "GSM/WCDMA automātiski""Tikai WCDMA""Tikai GSM"
- "Priekšroka GSM/WCDMA režīmam"
+ "Priekšroka GSM/WCDMA režīmam"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Dati ir iespējoti."
@@ -210,12 +187,11 @@
"Datu viesabonēšana""Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem""Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem"
- "Datu savienojamība ir zaudēta, jo mājas tīkls ar datu viesabonēšanu ir izslēgts."
+ "Datu savienojamība ir zaudēta, jo mājas tīkls ar datu viesabonēšanu ir izslēgts.""Vai atļaut datu viesabonēšanu? Var rasties ievērojamas viesabonēšanas izmaksas.""GSM/UMTS opcijas""CDMA opcijas""Datu lietojums"
- "Mobilo sakaru operatora datu politika""Pašreizējā periodā izmantotie dati""Datu izmantošanas periods""Datu ātruma politika"
@@ -228,7 +204,6 @@
"Datu ātrums tiek samazināts līdz %1$d Kb/s, ja ir pārsniegts datu lietojuma ierobežojums.""Papildinformācija par mobilo sakaru operatora mobilā tīkla datu lietošanas politiku"
- "Šūnu apraides īsziņa""Šūnu apraides īsziņa""Šūnu apraides īsziņa""Šūnu apraides īsziņas ir iespējotas."
@@ -269,15 +244,6 @@
"korejiešu""ķīniešu""ivrits"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Valodas""Vietējā laika prognoze"
@@ -307,9 +273,9 @@
"Nodarbinātības iespējas""Nodarbinātības iespējas ir iespējotas.""Nodarbinātības iespējas ir atspējotas."
- "Medicīna, veselība un slimnīcas"
- "Medicīna, veselība un slimnīcas ir iespējotas."
- "Medicīna, veselība un slimnīcas ir atspējotas."
+ "Medicīna, veselība un slimnīcas"
+ "Opcija Medicīna, veselība un slimnīcas ir iespējota."
+ "Opcija Medicīna, veselība un slimnīcas ir atspējota.""Tehnoloģiju ziņas""Tehnoloģiju ziņas ir iespējotas.""Tehnoloģiju ziņas ir atspējotas."
@@ -324,35 +290,17 @@
"Tikai WCDMA""Tikai GSM""GSM/WCDA (ieteicams WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Izmantot tikai 2G tīklus""Ietaupa akumulatora jaudu""Sistēmas atlasīšana"
- "Mainiet CDMA viesabonēšanas režīmu"
+ "Mainīt CDMA viesabonēšanas režīmu""Sistēmas atlasīšana""Tikai mājās""Automātiski"
- "CDMA viesabonēšanas režīms"
- "Mainiet CDMA viesabonēšanas režīmu"
- "CDMA viesabonēšanas režīms"
-
- "Tikai mājas tīkli"
- "Saistītie tīkli"
- "Jebkurš tīkls"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA abonements""CDMA tīkla preferences""Vēl nav ieviests.""CDMA tīkla preferences"
@@ -361,21 +309,11 @@
"Tikai CDMA""Tikai EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA abonements""Mainīt no RUIM/SIM uz NV un otrādi""abonements""RUIM/SIM""NV"
-
-
- "0"
- "1""Ierīces aktivizēšana""Datu pakalpojuma iestatīšana"
@@ -392,18 +330,16 @@
"Pārvaldiet fiksētos numuru sastādīšanas numurus""Mainīt PIN kodu FNSN piekļuvei""Pārvaldīt tālruņa numuru sarakstu"
- "Balss konfidencialitāte"
+ "Balss konfidencialitāte""Iespējot uzlabotās konfidencialitātes režīmu"
- "Teletaipa režīms"
- "Iespējot teletaipa režīmu""Teletaipa režīms""Iestatīt teletaipa režīmu"
- "Automātiska atkārtota mēģināšana"
- "Iespējot automātiskā atkārtotā mēģinājuma režīmu"
+ "Automātisks atkārtots mēģinājums"
+ "Iespējot automātiskā atkārtotā mēģinājuma režīmu""Pievienot kontaktpersonu""Rediģēt kontaktpersonu""Dzēst kontaktpersonu"
- "Ievadiet PIN2"
+ "Ievadiet PIN2""Vārds""Numurs""Saglabāt"
@@ -416,56 +352,50 @@
"Fiksētā numura sastādīšanas numura dzēšana""Notiek fiksētā numuru sastādīšanas numura dzēšana…""Fiksētais numuru sastādīšanas numurs ir atspējots."
- "FNSN nav atjaunināts: tika ievadīts nepareizs PIN."
- "FNSN nav atjaunināts: numurā nedrīkst būt vairāk par 20 cipariem."
+ "FDN nav atjaunināts, jo tika ievadīts nepareizs PIN."
+ "FDN netika atjaunināts, jo numurā nedrīkst būt vairāk par 20 cipariem."
+ "FDN netika atjaunināts. Ievadītais PIN2 nebija pareizs, vai tālruņa numurs tika noraidīts.""Notiek lasīšana no SIM kartes...""SIM kartē nav nevienas kontaktpersonas.""Importējamo kontaktpersonu atlasīšana"
- "Lai importētu kontaktinformāciju no SIM kartes, lūdzu, izslēdziet lidmašīnas režīmu."
+ "Lai importētu kontaktinformāciju no SIM kartes, vispirms izslēdziet lidojuma režīmu.""Iespējot/atspējot SIM PIN""SIM PIN mainīšana""SIM PIN:""Iepriekšējais PIN""Jauns PIN""Apstiprināt jauno PIN"
- "Ierakstītais iepriekšējais PIN nav pareizs. Lūdzu, mēģiniet vēlreiz."
- "Ievadītie PIN neatbilst. Lūdzu, mēģiniet vēlreiz."
+ "Ievadītais iepriekšējais PIN nav pareizs. Mēģiniet vēlreiz."
+ "Ievadītie PIN neatbilst. Mēģiniet vēlreiz.""Ierakstiet PIN, kas sastāv no 4 līdz 8 cipariem.""SIM PIN atspējošana""SIM PIN iespējošana""Lūdzu, uzgaidiet…"
- "SIM PIN ir iespējots."
- "SIM PIN ir atspējots."
- "Ierakstītais PIN nav pareizs."
- "SIM PIN ir veiksmīgi nomainīts"
+ "SIM kartes PIN ir iespējots."
+ "SIM kartes PIN ir atspējots."
+ "Ievadītais PIN nav pareizs."
+ "SIM kartes PIN ir veiksmīgi mainīts.""Parole nav pareiza, SIM ir bloķēts. Ir jāievada PUK2 kods.""PIN2""Iepriekšējais PIN2""Jauns PIN2""Apstiprināt jauno PIN2"
- "Ierakstītais PUK2 nav pareizs. Lūdzu, mēģiniet vēlreiz."
- "Ierakstītais iepriekšējais PIN2 nav pareizs. Lūdzu, mēģiniet vēlreiz."
- "Ievadītie PIN2 neatbilst. Lūdzu, mēģiniet vēlreiz."
+ "Ievadītais PUK2 nav pareizs. Mēģiniet vēlreiz."
+ "Ievadītais iepriekšējais PIN2 nav pareizs. Mēģiniet vēlreiz."
+ "Ievadītie PIN2 neatbilst. Mēģiniet vēlreiz.""Ierakstiet PIN2, kas sastāv no 4 līdz 8 cipariem.""Ierakstiet PUK2, kas sastāv no 8 cipariem."
- "PIN2 ir veiksmīgi nomainīts"
+ "PIN2 ir mainīts veiksmīgi.""Ierakstiet PUK2 kodu"
- "Parole nav pareiza, lūdzu, mainiet PIN2 un mēģiniet vēlreiz!"
- "Parole nav pareiza, SIM ir bloķēts. Ir jāievada PUK2 kods."
+ "Parole nav pareiza. Mainiet PIN2 un mēģiniet vēlreiz."
+ "Parole nav pareiza, SIM karte ir bloķēta. Ir jāievada PUK2 kods.""Gatavs""Konferences zvans %s"
- "Atpakaļ pie zvana"
- "Turpināt bez SIM kartes"
- "SIM karte netika atrasta. Lūdzu, ievietojiet tālrunī SIM karti."
- "Noraidīt"
- "Atbloķēt"
- "Notiek PIN autentifikācija…""Balss pasta numurs""Notiek numura sastādīšana""Notiek atkārtota mēģināšana""Konferences zvans""Ienākošais zvans"
- "CDMA zvana gaidīšana""Zvans ir pabeigts""Aizturēts""Notiek klausules nolikšana"
@@ -475,7 +405,7 @@
"Neatbildētie zvani""%s neatbildēts(-i) zvans(-i)""Neatbildēts zvans no: %s"
- "Pašreizējais zvans (%s)"
+ "Pašreizējā saruna""Aizturēts""Ienākošs zvans""Jauns balss pasts"
@@ -484,13 +414,15 @@
"Balss pasta numurs nav zināms.""Nav pakalpojuma""Atlasītais tīkls (%s) nav pieejams"
+ "Pārtraukt"
+ "Atzvanīt"
+ "Ziņojums""Lai veiktu zvanu, vispirms izslēdziet lidojuma režīmu.""Tīklā nav reģistrēts.""Mobilais tīkls nav pieejams.""Zvans nav nosūtīts; derīgs numurs nav ievadīts.""Zvans nav nosūtīts.""Notiek MMI secības startēšana…"
- "Notiek funkcijas koda secības startēšana...""Neatbalstīts pakalpojums.""Nevar pārslēgt zvanus.""Nevar atdalīt zvanu."
@@ -502,18 +434,13 @@
"Ārkārtas zvans""Notiek radio ieslēgšana...""Ārpus apkalpošanas apgabala, tiek mēģināts vēlreiz..."
- "Zvans netika nosūtīts, %s nav ārkārtas numurs!"
- "Zvans nav nosūtīts, lūdzu, sastādiet ārkārtas numuru!"
+ "Zvans netika nosūtīts. %s nav ārkārtas izsaukuma numurs."
+ "Zvans nav nosūtīts. Ievadiet ārkārtas izsaukuma numuru.""Izmantojiet tastatūru, lai sastādītu numuru."
- "Skārientastatūra""Aizturēt"
- "Noņemt aizturēšanu""Beigt""Numuru sastādīšanas tastatūra"
- "Slēpt"
- "Skaļrunis""Izslēgt skaņu"
- "Bluetooth""Pievienot zvanu""Sapludināt zvanus""Mainīt"
@@ -532,36 +459,31 @@
"TTY HCO""TTY VCO"
- "ERI teksts"
- "DTMF signāli"
+ "DTMF toņi""Iestatiet DTMF signālu ilgumu""Normāls""Ilgs"
- "Tīkla ziņojums"
+ "Tīkla ziņojums""Tālruņa aktivizēšana""Lai aktivizētu tālruņa pakalpojumu, ir jāveic īpašs zvans. "\n\n"Nospiediet uz Aktivizēt un pēc tam klausieties tālruņa aktivizēšanas norādījumus."
- "Pieskarieties Aktivizēt, lai veiktu īpašu zvanu, kas aktivizē tālruni jūsu mobilo sakaru operatora mobilajā tīklā, lai varat veikt zvanus un izveidot savienojumu ar mobilajiem datu tīkliem.""Vai izlaist aktivizāciju?""Ja tiks izlaista aktivizācija, nevarēs veikt zvanus vai izveidot savienojumu ar mobilajiem datu tīkliem (taču varēs izveidot savienojumu ar Wi-Fi tīkliem). Ikreiz ieslēdzot tālruni, tiks prasīts to aktivizēt (līdz brīdim, kad tas tiks aktivizēts).""Izlaist"
- "Aktivizēt""Aktivizēt"
- "Tālrunis ir aktivizēts!"
+ "Tālrunis ir aktivizēts.""Problēma aktivizācijas laikā""Izpildiet izteiktos norādījumus, līdz dzirdat, ka aktivizācija ir pabeigta."
- "Papildtastatūra""Skaļrunis"
- "Lūdzu, uzgaidiet, līdz tālruņa programmēšana ir pabeigta."
- "Programmēšana nav veiksmīga."
+ "Uzgaidiet, līdz tālruņa programmēšana ir pabeigta."
+ "Programmēšana neizdevās.""Tālrunis tagad ir aktivizēts. Iespējams, būs nepieciešamas 15 minūtes, lai pakalpojums sāktu darboties."
- "Tālrunis netika aktivizēts. "\n"Iespējams, ir jāatrod vieta ar labāku tīkla pārklājumu (pie loga vai ārpusē). "\n\n"Mēģiniet vēlreiz vai zvaniet uz klientu apkalpošanas dienestu, lai uzzinātu par citām opcijām."
+ "Tālrunis netika aktivizēts."\n"Iespējams, ir jāatrod vieta ar labāku tīkla pārklājumu (pie loga vai ārpus telpām)."\n\n"Mēģiniet vēlreiz vai zvaniet uz klientu apkalpošanas dienestu, lai uzzinātu par citām iespējām.""SPC PAPILDKĻŪMES""Atpakaļ""Mēģināt vēlreiz""Tālāk"
- "Atpakaļ""EcmExitDialog""Ievadītais ārkārtas atzvana režīms""Ārkārtas atzvana režīms"
@@ -571,87 +493,69 @@
"%s minūti(-es) nav datu savienojuma."
- "Tālrunis būs ārkārtas atzvana režīmā %s minūti. Šajā režīmā nevar izmantot nevienu lietojumprogrammu, kas lieto datu savienojumu. Vai vēlaties iziet tūlīt?"
- "Tālrunis būs ārkārtas atzvana režīmā %s minūti(-es). Šajā režīmā nevar izmantot nevienu lietojumprogrammu, kas lieto datu savienojumu. Vai vēlaties iziet tūlīt?"
+ "Tālrunis ārkārtas atzvana režīmā atradīsies %s minūti. Lietojot šo režīmu, nevar izmantot nevienu lietotni, kurai nepieciešams datu savienojums. Vai vēlaties iziet tūlīt?"
+ "Tālrunis ārkārtas atzvana režīmā atradīsies %s minūti(-es). Lietojot šo režīmu, nevar izmantot nevienu lietojumprogrammu, kurai nepieciešams datu savienojums. Vai vēlaties iziet tūlīt?"
- "Ārkārtas atzvana režīmā atlasītā darbība nav pieejama. Tālrunis šajā režīmā būs %s minūti. Vai vēlaties iziet tūlīt?"
- "Ārkārtas atzvana režīmā atlasītā darbība nav pieejama. Tālrunis šajā režīmā būs %s minūti(-es). Vai vēlaties iziet tūlīt?"
+ "Atlasītā darbība nav pieejama, izmantojot ārkārtas atzvana režīmu. Tālrunis šajā režīmā atradīsies %s minūti. Vai vēlaties iziet tūlīt?"
+ "Atlasītā darbība nav pieejama, izmantojot ārkārtas atzvana režīmu. Tālrunis šajā režīmā atradīsies %s minūti(-es). Vai vēlaties iziet tūlīt?"
- "Atlasītā darbība nav pieejama, veicot ārkārtas zvanu."
- "Notiek iziešana no ārkārtas atzvana režīma"
+ "Atlasītā darbība nav pieejama, veicot ārkārtas izsaukumu."
+ "Notiek iziešana no ārkārtas atzvana režīma""Jā""Nē""Noraidīt"
- "Balss pasta iestatījumi"
- "<nav iestatīts>"
- "Balss pasta pakalpojums"
- "%s iestatījumi"
+ "Pakalpojums"
+ "Iestatīšana"
+ "<Nav iestatīts>""Citi zvanu iestatījumi"
- "Sastādīt numuru"
- "Zvanīšana, izmantojot ^1:"\n"^2"
- "Velciet pa labi, lai atbildētu"
- "Velciet pa kreisi, lai klusinātu zvanītāju"
- "Velciet pa kreisi, lai noraidītu"
- "Velciet pa labi, lai atbildētu un"\n"aizturētu aktīvo zvanu"
- "Velciet pa labi, lai atbildētu un"\n"beigtu aktīvo zvanu"
- "Velciet pa labi, lai atbildētu un"\n"beigtu aizturēto zvanu"
- "Atbildēt"
- "Noraidīt"
+ "Zvans, ko nodrošina %s""kontaktpersonas fotoattēls""pārslēgt uz privāto režīmu""atlasīt kontaktpersonu""Interneta zvanu iestatījumi""Interneta zvanu (SIP) konti""Konti"
- "Interneta zvanu (SIP) kontu un statusa pārvaldība""Saņemt ienākošos zvanus""Samazina akumulatora darbības mūža ilgumu"
- "Konfigurēt zvana opcijas""Interneta zvanu izmantošana""Izmantot interneta zvanus (tikai Wi-Fi tīklā)""Visiem zvaniem, ja ir pieejams datu tīkls""Tikai interneta zvaniem""Jautāt katram zvanam""Visiem zvaniem"
- "Automātiskā reģistrācija"
- "Izejošais zvans, izmantojot SIP""Veikt zvanu""Izmantot interneta zvanu kontu:""Vienmēr izmantot interneta zvanu veikšanai"
- "Varat izmantot izvēlni Zvana iestatījumi, lai, veicot zvanus, mainītu noklusējuma interneta zvanu kontu, atlasot citu kontu sadaļā Interneta zvanu iestatījumi"
+ "Varat mainīt pēc noklusējuma izmantoto interneta zvanu kontu, atverot ekrānu Tālrunis > Iestatījumi > Interneta zvanu iestatījumi > Konti.""Mobilā tālruņa zvans""Interneta zvans""Nav interneta zvanu konta"
- "Šajā tālrunī nav interneta zvanu kontu. Vai pievienot vienu tūlīt?"
+ "Šajā tālrunī nav neviena interneta zvanu konta. Vai vēlaties pievienot kontu tūlīt?""Pievienot""Pievienot kontu""Noņemt kontu""SIP konti"
- "Notiek konta saglabāšana..."
- "Notiek konta noņemšana..."
+ "Notiek konta saglabāšana..."
+ "Notiek konta noņemšana...""Saglabāt""Atmest""Profila aizvēršana""Labi""Aizvērt"
- "Primārais"
- "Iestatīt šo kontu kā manu primāro kontu"
- "Tiek izmantots izejošajiem zvaniem"
- "Papildiestatījumi""Primārais konts. %s""Notiek statusa pārbaude..."
- "Notiek reģistrēšana..."
- "Joprojām mēģina..."
- "Zvani netiek saņemti"
- "Konta reģistrācija tika apturēta, jo nav interneta savienojuma"
- "Konta reģistrācija tika apturēta, jo nav Wi-Fi savienojuma"
- "Konta reģistrācija neizdevās."
- "Notiek zvanu saņemšana"
+ "Notiek reģistrācija..."
+ "Joprojām mēģina..."
+ "Zvani netiek saņemti"
+ "Konta reģistrācija tika apturēta, jo nav interneta savienojuma."
+ "Konta reģistrācija ir apturēta, jo nav Wi-Fi savienojuma."
+ "Konta reģistrācija neizdevās."
+ "Zvani tiek saņemti.""Konta reģistrācija neizdevās: %s; vēlāk tā tiks veikta atkārtoti."
- "Konta reģistrācija neizdevās: nepareizs lietotājvārds vai parole."
- "Konta reģistrācija neizdevās: pārbaudiet servera nosaukumu."
- "Šis konts pašlaik tiek izmantots lietojumprogrammā %s"
+ "Konta reģistrācija neizdevās: nepareizs lietotājvārds vai parole."
+ "Konta reģistrācija neizdevās: pārbaudiet servera nosaukumu."
+ "Šis konts pašlaik tiek izmantots lietotnē %s.""Dati par SIP kontu""Dati par SIP kontu""Serveris"
@@ -662,9 +566,6 @@
"Porta numurs""Transporta veids""Saites darbības pārbaudes ziņojuma sūtīšana"
- "Sūta SIP saites darbības pārbaudes ziņojumus"
- "Automātiskā reģistrācija"
- "Reģistrēt profilu automātiski""Iestatīt kā primāro kontu""Tiek izmantots izejošajiem zvaniem""Neobligāti iestatījumi"
@@ -675,12 +576,12 @@
"<Neobligāti>""▷ Pieskarieties, lai rādītu visu""▽ Pieskarieties, lai paslēptu visu"
- "Lauks %s ir jāaizpilda obligāti, tas nedrīkst būt tukšs"
- "Porta numuram ir jābūt no 1000 līdz 65534"
+ "Lauks %s ir jāaizpilda obligāti; tas nedrīkst būt tukšs."
+ "Porta numuram ir jābūt skaitlim no 1000 līdz 65534.""Nav interneta savienojuma""Nav Wi-Fi savienojuma"
- "Lai veiktu interneta zvanu, vispirms pārbaudiet interneta savienojumu"
- "Lai veiktu interneta zvanus, ir jābūt izveidotam savienojumam ar Wi-Fi tīklu (izmantojiet sadaļu Bezvadu un tīkla iestatījumi)"
+ "Lai veiktu interneta zvanu, vispirms pārbaudiet interneta savienojumu."
+ "Lai veiktu interneta zvanus, ir jābūt izveidotam savienojumam ar Wi-Fi tīklu (izmantojiet iestatījumus sadaļā Bezvadu savienojumi un tīkli).""Interneta zvani netiek atbalstīti""Automātiski""Vienmēr sūtīt"
@@ -689,7 +590,7 @@
"Tūlīt atzvanīšu.""Piezvanīšu vēlāk.""Nevaru runāt. Vai piezvanīsi vēlāk?"
- "Pielāgots ziņojums..."
+ "Pielāgots ziņojums""Ātrās atbildes""Ātro atbilžu rediģēšana"
@@ -707,7 +608,6 @@
"zvaigznīte""nulle""cipara simbols"
- "meklēt""sastādīt numuru""atpakaļatkāpe""Skaļrunis ir iespējots."
@@ -717,9 +617,14 @@
"Noraidīt""Vibrozvans""Vibrozvans"
+ "Zvana signāls""Vienmēr""Tikai klusuma režīmā""Nekad"
+ "Tālruņa zvana signāls"
+ "Vibrēt zvanot"
+ "Num. sast. tastatūras piesk. signāli"
+ "Zvana signāls"
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 225da6253..0bebdbe23 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -25,39 +25,27 @@
"Nombor peribadi""Telefon awam""Ditunda"
- "Panggilan semasa""Talian sibuk""Rangkaian sibuk""Tiada respons, tamat masa""Pelayan tidak boleh dicapai""Nombor tidak dapat dihubungi""Nama pengguna atau kata laluan tidak betul"
- "Dipanggil dari luar rangkaian"
+ "Dipanggil dari luar rangkaian""Ralat pelayan. Cuba lagi kemudian""Tiada isyarat""Melebihi had ACM""Radio dimatikan"
- "Tiada SIM atau ralat SIM"
+ "Tiada SIM atau ralat SIM""Di luar kawasan perkhidmatan""Panggilan keluar dihadkan oleh FDN."
- "Anda tidak boleh membuat panggilan keluar semasa sekatan panggilan dihidupkan."
+ "Anda tidak boleh membuat panggilan keluar semasa sekatan panggilan dihidupkan.""Semua panggilan dihadkan oleh kawalan akses.""Panggilan kecemasan dihadkan oleh kawalan akses.""Panggilan biasa dihadkan oleh kawalan akses."
- "CDMA: Telefon dikunci sehingga kitaran kuasa."
- "CDMA: Panggilan terputus."
- "CDMA: Panggilan dipintas."
- "CDMA: susun semula."
- "CDMA: Pilihan Perkhidmatan Ditolak."
- "CDMA: cuba semula susunan."
- "CDMA: Akses tidak berjaya."
- "CDMA: Diganti."
- "Hanya Panggilan kecemasan sahaja yang boleh dibuat."
- "Nombor Tidak Sah"
+ "Nombor tidak sah""Panggilan sidang""Panggilan telah terputus."
- "Cuba semula"
- "Panggilan Terputus""OK""Kod MMI dimulakan""Kod USSD dijalankan..."
@@ -69,23 +57,14 @@
"Set kepala berwayar""Bluetooth""Hantar nada berikut?"\n
- "Menghantar Nada"\n
+ "Menghantar nada"\n"Hantar""Ya""Tidak"
- "Gantikan aksara bebas dengan"
+ "Gantikan aksara bebas dengan""Nombor mel suara tiada""Tidak ada nombor mel suara disimpan pada kad SIM.""Tambah nombor"
- "Memuatkan..."
- "Taipkan kod PIN untuk membuka kunci kad SIM."
- "SIM dibukakan kuncinya"
- "Kod PIN SIM baru"
- "Taipkan kod PIN SIM baru sekali lagi untuk mengesahkan"
- "Pin SIM yang anda taipkan tidak sepadan. Sila cuba lagi."
- "Taipkan kod PUK untuk membuka kunci kad SIM"
- "Kod PUK salah!"
- "Teruskan""Kad SIM anda telah dinyahsekat. Telefon anda dibuka kunci...""PIN buka kunci rangkaian SIM""Buka kunci"
@@ -93,8 +72,6 @@
"Meminta dibukakan kunci rangkaian...""Permintaan dibukakan kunci rangkaian tidak berjaya.""Berjaya membuka kunci rangkaian."
- "IMEI"
- "MEID""Tetapan panggilan GSM""Tetapan panggilan CDMA""Nama Titik Capaian"
@@ -109,6 +86,7 @@
"Tetapan panggilan tambahan CDMA sahaja""Tetapan perkhidmatan rangkaian""ID Pemanggil"
+ "Memuatkan tetapan…""Nombor disembunyikan dalam panggilan keluar""Nombor yang ditunjukkan dalam panggilan keluar""Gunakan tetapan lalai pengendali untuk memaparkan nombor saya dalam panggilan keluar"
@@ -127,17 +105,17 @@
"Nombor semasa sibuk""Memajukan ke {0}""Dilumpuhkan"
- "Pembawa anda tidak menyokong pelumpuhan pemajuan panggilan semasa telefon anda sibuk."
+ "Pembawa anda tidak menyokong pelumpuhan pemajuan panggilan semasa telefon anda sibuk.""Majukan apabila tidak dijawab""Nombor apabila tidak dijawab""Memajukan ke {0}""Dilumpuhkan"
- "Pembawa anda tidak menyokong pelumpuhan pemajuan panggilan semasa telefon anda tidak menjawab."
+ "Pengendali anda tidak menyokong pelumpuhan pemajuan panggilan semasa telefon anda tidak menjawab.""Majukan apabila tidak dapat dihubungi""Nombor apabila tidak dapat dihubungi""Memajukan ke {0}""Dilumpuhkan"
- "Pembawa anda tidak menyokong pelumpuhan pemajuan panggilan semasa telefon anda tidak boleh dihubungi."
+ "Pembawa anda tidak menyokong pelumpuhan pemajuan panggilan semasa telefon anda tidak boleh dihubungi.""Tetapan panggilan""Ralat tetapan panggilan""Membaca tetapan..."
@@ -145,8 +123,8 @@
"Mengembalikan tetapan kepada sebelumnya...""Respons tidak dijangka daripada rangkaian.""Ralat Rangkaian atau kad SIM."
- "Pengendalian hanya dibenarkan pada nombor dailan tetap sahaja."
- "Sila hidupkan radio sebelum melihat tetapan ini"
+ "Tetapan Nombor Pendailan Tetap apl Telefon anda dihidupkan. Hasilnya, beberapa ciri berkaitan panggilan tidak berfungsi."
+ "Hidupkan radio sebelum melihat tetapan ini.""OK""Dayakan""Lumpuhkan"
@@ -156,10 +134,9 @@
"Sembunyikan nombor""Tunjukkan nombor"
- "Simpan nombor mel suara""Nombor mel suara ditukar."
- "Penukaran nombor mel suara tidak berjaya."\n"Sila hubungi pembawa anda jika masalah ini berterusan."
- "Penukaran nombor pemajuan tidak berjaya."\n"Sila hubungi pembawa anda jika masalah ini berterusan."
+ "Tidak dapat menukar nombor mel suara."\n"Hubungi pembawa anda jika masalah ini berterusan."
+ "Tidak boleh menukar nombor pemajuan."\n"Hubungi pembawa anda jika masalah ini berterusan.""Tidak boleh mengambil dan menyimpan tetapan nombor pemajuan semasa. "\n" Tukar kepada pembekal yang baru juga?""Tiada perubahan dibuat.""Pilih perkhidmatan mel suara"
@@ -171,14 +148,14 @@
"Cari dalam rangkaian""Ralat ketika mencari rangkaian.""Mendaftar di %s..."
- "Kad SIM anda tidak membenarkan sambungan ke rangkaian ini."
- "Tidak boleh menyambungkan rangkaian ini pada masa ini. Sila cuba sebentar lagi."
+ "Kad SIM anda tidak membenarkan sambungan ke rangkaian ini."
+ "Tidak dapat menyambung kepada rangkaian ini sekarang. Cuba lagi nanti.""Didaftarkan pada rangkaian."
- "Pilih pengendali rangkaian"
+ "Pilih pengendali rangkaian""Cari semua rangkaian tersedia"
- "Pilih secara automatik"
- "Pilih rangkaian keutamaan secara automatik"
- "Pendaftaran automatik..."
+ "Pilih secara automatik"
+ "Pilih rangkaian keutamaan secara automatik"
+ "Pendaftaran automatik...""Mod Rangkaian""Tukar mod pengendalian rangkaian""Mod rangkaian diutamakan"
@@ -192,17 +169,17 @@
"Mod rangkaian pilihan: EvDo sahaja""Mod rangkaian pilihan: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo sahaja""CDMA tanpa EvDo"
- "CDMA / EvDo auto"
- "GSM / WCDMA auto"
+ "CDMA/EvDo auto"
+ "GSM/WCDMA auto""WCDMA sahaja""GSM sahaja"
- "GSM / WCDMA diutamakan"
+ "GSM/WCDMA diutamakan"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Data didayakan"
@@ -210,12 +187,11 @@
"Perayauan data""Sambung ke perkhidmatan data apabila melakukan perayauan""Bersambung ke perkhidmatan data semasa melakukan perayauan"
- "Anda telah kehilangan kesambungan data kerana anda meninggalkan rangkaian rumah anda dengan perayauan data dimatikan."
+ "Anda telah kehilangan kesambungan data kerana anda meninggalkan rangkaian rumah anda dengan data perayauan dimatikan.""Benarkan perayauan data? Anda boleh dikenakan caj perayauan yang tinggi!""Pilihan GSM/UMTS""Pilihan CDMA""Penggunaan data"
- "Dasar data pembawa""Data yang digunakan dalam tempoh semasa""Tempoh penggunaan data""Dasar kadar data"
@@ -226,7 +202,6 @@
"%1$d٪ daripada kitaran telah berlalu"\n"Tempoh berikutnya bermula dalam %2$d hari (%3$s)""Kadar data dikurangkan kepada %1$d Kb/s jika melebihi had penggunaan data""Lagi maklumat mengenai dasar penggunaan data rangkaian mudah alih pembawa anda"
- "SMS Siaran Sel""SMS Siaran Sel""SMS Siaran Sel""SMS Siaran Sel didayakan"
@@ -267,15 +242,6 @@
"Bahasa Korea""Bahasa Cina""Bahasa Ibrani"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Bahasa""Cuaca Tempatan"
@@ -305,9 +271,9 @@
"Peluang Pekerjaan""Peluang Pekerjaan didayakan""Peluang Pekerjaan dilumpuhkan"
- "Perubatan, Kesihatan dan Hospital"
- "Perubatan, Kesihatan dan Hospital didayakan"
- "Perubatan, Kesihatan dan Hospital dilumpuhkan"
+ "Perubatan, Kesihatan dan Hospital"
+ "Perubatan, Kesihatan dan Hospital didayakan"
+ "Perubatan, Kesihatan dan Hospital dilumpuhkan""Berita Teknologi""Berita Teknologi didayakan""Berita Teknologi dilumpuhkan"
@@ -323,34 +289,17 @@
"GSM sahaja""GSM/WCDA (WCDMA diutamakan)"
-
- "0"
- "1"
- "2"
- "3"
-
+
"Gunakan rangkaian 2G sahaja""Menjimatkan bateri""Pilihan sistem"
- "Tukar mod perayauan cdma"
+ "Tukar mod perayauan CDMA""Pilihan sistem""Rumah sahaja""Automatik"
- "Mod Perayauan CDMA"
- "Tukar mod perayauan cdma"
- "Mod perayauan CDMA"
-
- "Rangkaian Rumah sahaja"
- "Rangkaian Gabungan"
- "Sebarang Rangkaian"
-
-
- "0"
- "1"
- "2"
-
+ "Langganan CDMA""Keutamaan Rangkaian CDMA""Belum lagi dilaksanakan!""Keutamaan rangkaian CDMA"
@@ -359,21 +308,11 @@
"CDMA sahaja""EvDo sahaja"
-
- "0"
- "1"
- "2"
-
- "Langganan CDMA""Tukar antara RUIM/SIM dan NV""langganan""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktifkan peranti""Penyediaan perkhidmatan data"
@@ -390,18 +329,16 @@
"Urus Nombor Dailan Tetap""Tukar PIN untuk akses FDN""Urus senarai nombor telefon"
- "Privasi Suara"
+ "Privasi suara""Dayakan mod privasi dipertingkat"
- "Mod TTY"
- "Dayakan mod TTY""Mod TTY""Tetapkan mod TTY"
- "Autocuba Semula"
- "Dayakan mod Autocuba Semula"
+ "Autocuba Semula"
+ "Dayakan mod Autocuba Semula""Tambah kenalan""Edit kenalan""Padamkan kenalan"
- "Masukkan PIN2"
+ "Jenis PIN2""Nama""Nombor""Simpan"
@@ -414,56 +351,50 @@
"Padam nombor dailan tetap""Memadamkan nombor dailan tetap...""Nombor dailan tetap dipadamkan."
- "FDN tidak dikemaskinikan: anda telah memasukkan PIN yang salah."
- "FDN tidak dikemaskinikan: nombor tidak boleh melebihi 20 digit."
+ "FDN tidak dikemaskini kerana anda telah menaip PIN yang salah."
+ "FDN tidak dikemas kini kerana nombor tidak boleh melebihi 20 digit."
+ "FDN tidak dikemaskini. PIN2 salah atau nombor telefon telah ditolak.""Membaca dari kad SIM...""Tiada kenalan pada kad SIM anda.""Pilih kenalan untuk diimport"
- "Untuk mengimport kenalan daripada kad SIM, sila matikan mod Pesawat."
+ "Untuk mengimport kenalan dari kad SIM, mula-mula matikan mod Pesawat.""Dayakan/lumpuhkan PIN SIM""Tukar PIN SIM""PIN SIM:""PIN lama""PIN Baru""Sahkan PIN baru"
- "PIN lama yang anda taipkan, salah. Sila cuba lagi."
- "PIN yang anda masukkan tidak sepadan. Sila cuba lagi."
+ "PIN lama yang anda taipkan tidak betul. Cuba lagi."
+ "PIN yang anda taip tidak sepadan. Cuba lagi.""Taipkan PIN yang mengandungi 4 hingga 8 nombor.""Lumpuhkan PIN SIM""Dayakan PIN SIM""Sila tunggu..."
- "PIN SIM didayakan"
- "PIN SIM dilumpuhkan"
- "PIN yang anda taipkan salah"
- "PIN SIM berjaya ditukar"
+ "PIN SIM didayakan."
+ "PIN SIM dilumpuhkan."
+ "PIN yang anda taipkan adalah salah."
+ "PIN SIM berjaya ditukar.""Kata laluan salah, SIM dikunci! PUK2 diminta.""PIN2""PIN2 lama""PIN2 baru""Sahkan PIN2 baru"
- "PUK2 yang anda taipkan, salah. Sila cuba lagi."
- "PIN2 lama yang anda taipkan, salah. Sila cuba lagi."
- "PIN2 yang anda masukkan tidak sepadan. Sila cuba lagi."
+ "PUK2 yang anda taipkan salah. Cuba lagi."
+ "PIN2 lama yang anda taipkan tidak betul. Cuba lagi."
+ "PIN2 yang anda taip tidak sepadan. Cuba lagi.""Taipkan PIN2 yang mengandungi 4 hingga 8 nombor.""Taipkan PUK2 yang mengandungi 8 nombor."
- "PIN2 berjaya ditukar"
+ "PIN2 berjaya ditukar.""Taipkan kod PUK2"
- "Kata laluan salah, sila tukar PIN2 dan cuba lagi!"
- "Kata laluan salah, SIM dikunci! PUK2 diminta."
+ "Kata laluan tidak betul. Tukar PIN2 dan cuba lagi."
+ "Kata laluan salah, SIM dikunci. PUK2 diminta.""Selesai""Panggilan sidang %s"
- "Kembali ke panggilan"
- "Teruskan tanpa kad SIM"
- "Tiada kad SIM ditemui. Sila masukkan kad SIM ke dalam telefon."
- "Ketepikan"
- "Buka kunci"
- "Mengesahkan PIN...""Nombor mel suara""Mendail""Mencuba semula""Panggilan sidang""Panggilan masuk"
- "Panggilan menunggu Cdma""Panggilan tamat""Ditunda""Menamatkan panggilan"
@@ -473,7 +404,7 @@
"Panggilan tidak dijawab""%s panggilan tidak dijawab""Panggilan tidak dijawab daripada %s"
- "Panggilan semasa (%s)"
+ "Panggilan sedang berjalan""Ditunda""Panggilan masuk""Mel suara baru"
@@ -482,13 +413,15 @@
"Nombor mel suara tidak dikenali""Tiada perkhidmatan""Rangkaian pilihan (%s) tidak tersedia"
+ "Letakkan gagang"
+ "Panggil balik"
+ "Mesej""Untuk membuat panggilan, matikan mod Pesawat terlebih dahulu.""Tidak didaftarkan pada rangkaian.""Rangkaian mudah alih tidak tersedia.""Panggilan tidak dihantar, tiada nombor yang sah dimasukkan.""Panggilan tidak dihantar.""Memulakan jujukan MMI..."
- "Memulakan jujukan kod ciri...""Perkhidmatan tidak disokong.""Tidak boleh bertukar panggilan.""Tidak boleh memisahkan panggilan."
@@ -500,18 +433,13 @@
"Panggilan kecemasan""Menghidupkan radio...""Di luar kawasan perkhidmatan, mencuba lagi..."
- "Panggilan tidak dihantar, %s bukan nombor kecemasan!"
- "Panggilan tidak dihantar, sila dail nombor kecemasan!"
+ "Panggilan tidak dihantar. %s bukan nombor kecemasan!"
+ "Panggilan tidak dihantar. Dail nombor kecemasan!""Gunakan papan kekunci untuk mendail"
- "Pad kekunci nada sentuh""Tunda"
- "Nyahtunda""Tamat""Pad dail"
- "Sembunyikan"
- "Pembesar suara""Redam"
- "Bluetooth""Tambah panggilan""Gabung panggilan""Silih"
@@ -530,36 +458,31 @@
"TTY HCO""TTY VCO"
- "Teks ERI"
- "Nada DTMF"
+ "Nada DTMF""Tetapkan panjang nada DTMF""Biasa""Panjang"
- "Mesej Rangkaian"
+ "Mesej rangkaian""Aktifkan telefon anda""Panggilan khas perlu dibuat untuk mengaktifkan perkhidmatan telefon anda. "\n\n"Selepas menekan “Aktifkan”, dengar arahan yang diberi untuk mengaktifkan telefon anda."
- "Sentuh “Aktifkan” untuk membuat panggilan khas yang mengaktifkan telefon anda pada rangkaian mudah alih pembawa anda supaya anda boleh membuat panggilan dan bersambung ke rangkaian data mudah alih.""Langkau pengaktifan?""Jika anda melangkau pengaktifan, anda tidak boleh membuat panggilan atau bersambung ke rangkaian data mudah alih (walaupun anda boleh bersambung ke rangkaian Wi-Fi). Sehingga anda mengaktifkan telefon anda, anda akan diminta untuk mengaktifkannya setiap kali anda menghidupkannya.""Langkau"
- "Aktifkan""Aktifkan"
- "Telefon diaktifkan!"
+ "Telefon diaktifkan.""Masalah dengan pengaktifan""Ikuti arahan yang diucapkan sehingga anda mendengar bahawa pengaktifan selesai."
- "Pad kekunci""Pembesar suara"
- "Sila tunggu sementara telefon anda diprogramkan."
- "Pemprograman Tidak Berjaya"
+ "Tunggu sementara telefon anda diprogramkan."
+ "Pemprograman tidak berjaya""Telefon anda kini sudah diaktifkan. Tempoh sehingga 15 minit mungkin diperlukan untuk perkhidmatan dimulakan."
- "Telefon anda tidak diaktifkan. "\n"Anda mungkin perlu mencari kawasan yang mempunyai liputan yang lebih baik (berhampiran tingkap atau di luar). "\n\n"Cuba lagi atau hubungi khidmat pelanggan untuk mendapatkan lagi pilihan."
+ "Telefon anda tidak diaktifkan. "\n"Anda mungkin perlu mencari kawasan yang mempunyai liputan yang lebih baik (berhampiran tingkap atau di luar). "\n\n"Cuba lagi atau hubungi khidmat pelanggan untuk mendapatkan lagi pilihan.""KEGAGALAN SPC BERLEBIHAN""Kembali""Cuba lagi""Seterusnya"
- "Kembali""EcmExitDialog""Telah Memasuki Mod Panggil Balik Kecemasan""Mod Paggil Balik Kecemasan"
@@ -569,87 +492,69 @@
"Tiada sambungan data selama %s minit"
- "Telefon akan berada dalam mod panggil balik kecemasan selama %s minit. Semasa berada dalam mod ini, tiada aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?"
- "Telefon akan berada dalam mod panggil balik kecemasan selama %s minit. Semasa berada dalam mod ini, tiada aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?"
+ "Telefon akan berada dalam mod Panggilan Balik Kecemasan untuk %s minit. Semasa dalam mod ini tiada sebarang aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?"
+ "Telefon akan berada dalam mod Panggilan Balik Kecemasan untuk %s minit. Semasa dalam mod ini tiada sebarang aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?"
- "Tindakan yang dipilih tidak tersedia semasa berada dalam mod panggil balik kecemasan. Telefon akan berada dalam mod ini selama %s minit. Adakah anda mahu keluar sekarang?"
- "Tindakan yang dipilih tidak tersedia semasa berada dalam mod panggil balik kecemasan. Telefon akan berada dalam mod ini selama %s minit. Adakah anda mahu keluar sekarang?"
+ "Tindakan yang dipilih tidak tersedia dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini untuk %s minit. Adakah anda mahu keluar sekarang?"
+ "Tindakan yang dipilih tidak tersedia dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini untuk %s minit. Adakah anda mahu keluar sekarang?"
- "Tindakan yang dipilih tidak tersedia semasa berada dalam panggilan kecemasan"
- "Keluar Daripada Mod Panggil Balik Kecemasan"
+ "Tindakan yang dipilih tidak tersedia semasa berada dalam panggilan kecemasan."
+ "Keluar Daripada mod Panggil Balik Kecemasan""Ya""Tidak""Ketepikan"
- "Tetapan mel suara"
- "<tidak ditetapkan>"
- "Perkhidmatan mel suara"
- "Tetapan untuk %s"
+ "Perkhidmatan"
+ "Persediaan"
+ "<Tidak ditetapkan>""Tetapan panggilan lain"
- "Dail"
- "Memanggil melalui ^1"\n"^2"
- "Seret ke kanan untuk menjawab"
- "Seret ke kiri untuk menyenyapkan pendering"
- "Seret ke kiri untuk menolak"
- "Seret ke kanan untuk menjawab dan"\n"menunda panggilan aktif"
- "Seret ke kanan untuk menjawab dan"\n"menamatkan panggilan aktif"
- "Seret ke kanan untuk menjawab dan"\n"menamatkan panggilan tertunda"
- "Jawapan"
- "Tolak"
+ "Memanggil melalui %s""foto kenalan""jadi tertutup""pilih kenalan""Tetapan panggilan Internet""Akaun panggilan Internet (SIP)""Akaun"
- "Menguruskan akaun dan status panggilan Internet (SIP)""Menerima panggilan masuk""Mengurangkan hayat bateri"
- "Konfigurasikan pilihan panggilan""Guna panggilan Internet""Guna panggilan Internet (Wi-Fi sahaja)""Untuk semua panggilan semasa rangkaian data tersedia""Hanya untuk panggilan Internet""Tanya untuk setiap panggilan""Untuk semua panggilan"
- "Auto-pendaftaran"
- "Panggilan keluar melalui SIP""Membuat panggilan""Gunakan akaun panggilan Internet:""Sentiasa gunakan untuk membuat panggilan Internet"
- "Anda boleh menggunakan Tetapan Panggilan untuk akaun panggilan Internet mana yang hendak digunakan sebagai lalai semasa membuat panggilan, dengan memilih akaun lain di bawah tetapan panggilan Internet"
+ "Anda boleh menukar akaun panggilan Internet mana untuk digunakan secara lalai daripada skrin Telefon > Tetapan > tetapan panggilan Internet > Akaun.""Panggilan telefon bimbit""Panggilan internet""Tiada akaun panggilan Internet"
- "Tiada akaun panggilan Internet pada telefon ini. Tambah akaun sekarang?"
+ "Tidak ada akaun panggilan internet pada telefon ini. Adakah anda mahu menambah satu sekarang?""Tambah""Tambah akaun""Alih keluar akaun""Akaun SIP"
- "Menyimpan akaun..."
- "Mengalih keluar akaun..."
+ "Menyimpan akaun..."
+ "Mengalih keluar akaun...""Simpan""Buang""Tutup profil""OK""Tutup"
- "Utama"
- "Jadikan ini akaun utama saya"
- "Digunakan untuk panggilan keluar"
- "Tetapan terperinci""Akaun utama. %s""Menyemak status..."
- "Mendaftar..."
- "Masih mencuba..."
- "Tidak menerima panggilan"
- "Pendaftaran akaun terhenti kerana tiada sambungan Internet"
- "Pendaftaran akaun terhenti kerana tiada sambungan Wi-Fi"
- "Pendaftaran akaun tidak berjaya"
- "Menerima panggilan"
+ "Mendaftar..."
+ "Masih mencuba..."
+ "Tidak menerima panggilan."
+ "Pendaftaran akaun terhenti kerana tiada sambungan Internet."
+ "Pendaftaran akaun terhenti kerana tiada sambungan Wi-Fi."
+ "Pendaftaran akaun tidak berjaya."
+ "Menerima panggilan""Pendaftaran akaun tidak berjaya: (%s); akan mencuba kemudian"
- "Pendaftaran akaun tidak berjaya: nama pengguna atau kata laluan salah"
- "Pendaftaran akaun tidak berjaya: periksa nama pelayan"
- "Akaun ini sedang digunakan buat masa ini oleh aplikasi %s"
+ "Pendaftaran akaun tidak berjaya: Nama pengguna atau kata laluan salah."
+ "Pendaftaran akaun tidak berjaya: Periksa nama pelayan."
+ "Akaun ini sedang digunakan buat masa ini oleh aplikasi %s.""Butiran akaun SIP""Butiran akaun SIP""Pelayan"
@@ -660,9 +565,6 @@
"Nombor port""Jenis pengangkutan""Hantar pengekal"
- "Hantar mesej pengekal SIP"
- "Auto-pendaftaran"
- "Daftarkan profil secara automatik""Tetapkan sebagai akaun utama""Digunakan untuk panggilan keluar""Tetapan pilihan"
@@ -673,12 +575,12 @@
"<Pilihan>""▷ Sentuh untuk menunjukkan semua""▽ Sentuh untuk sembunyikan semua"
- "%s diperlukan, tidak boleh dibiarkan kosong"
- "Nombor port harus berada dalam 1000 dan 65534"
+ "%s diperlukan dan tidak boleh dibiarkan kosong."
+ "Nombor port harus berada dalam lingkungan 1000 dan 65534.""Tiada sambungan Internet""Tiada sambungan Wi-Fi"
- "Untuk membuat panggilan Internet, semak sambungan Internet anda terlebih dahulu"
- "Anda mesti disambungkan kepada rangkaian Wi-Fi untuk membuat panggilan Internet (guna tetapan Wayarles & Rangkaian)"
+ "Untuk membuat panggilan Internet, semak sambungan Internet anda terlebih dahulu."
+ "Anda perlu disambungkan kepada rangkaian Wi-Fi untuk membuat panggilan Internet (guna tetapan Wayarles & Rangkaian)""Panggilan Internet tidak disokong""Automatik""Sentiasa hantar"
@@ -687,7 +589,7 @@
"Saya akn segera hubungi awak nanti.""Saya akan hubungi awak kemudian.""Tdk blh berckp skg. Tel saya nanti?"
- "Mesej peribadi..."
+ "Mesej peribadi""Respons pantas""Edit respons pantas"
@@ -705,7 +607,6 @@
"bintang""sifar""paun"
- "cari""dail""backspace""Telefon pembesar suara didayakan."
@@ -715,9 +616,14 @@
"Tolak""Getar""Getar"
+ "Nada dering""Sentiasa""Apabila senyap sahaja""Jangan sekali-kali"
+ "Nada dering telefon"
+ "Bergetar apabila berdering"
+ "Nada sentuh pad dail"
+ "Nada dering"
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 14305dd88..6db669681 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -25,39 +25,27 @@
"Hemmelig nummer""Telefonkiosk""Parkert"
- "Aktiv samtale""Opptatt""Nettverket er opptatt""Ingen respons, tidsavbrudd""Tjeneren kan ikke nås""Nummeret kan ikke nås""Feil brukernavn eller passord"
- "Anrop utenfor nettverk"
+ "Anrop utenfor nettverk""Tjenerfeil. Prøv igjen senere.""Mangler signal""ACM-grense nådd""Radioen er av"
- "Mangler SIM-kort, eller SIM-feil"
+ "Ikke noe SIM-kort eller SIM-kortfeil""Utenfor dekningsområde""Utgående samtaler er begrenset til faste nummer."
- "Du kan ikke ringe ut mens samtaleblokkering er på."
+ "Du kan ikke foreta utgående anrop når samtalesperre er på.""Alle samtaler er begrenset av tilgangskontroll.""Nødsamtaler er begrenset av tilgangskontroll.""Vanlige samtaler er begrenset av tilgangskontroll."
- "CDMA: Telefonen er låst til varmstart."
- "CDMA: Samtalen ble droppet."
- "CDMA: Samtalen ble avskåret."
- "CDMA: omordnet."
- "CDMA: tjenestevalg avslått."
- "CDMA: forsøk ordning på nytt."
- "CDMA: Tilgang mislykket."
- "CDMA: ble kommet i forkjøpet."
- "Kun nødsamtaler er mulig."
- "Ugyldig nummer"
+ "Ugyldig tall""Telefonmøte""Samtalen er mistet."
- "Prøv på nytt"
- "Samtale mistet""OK""MMI-kode påbegynt""USSD-kode kjører…"
@@ -69,23 +57,14 @@
"Hodetelefon med kabel""Bluetooth""Send disse tonene?"\n
- "Sender ringetoner"\n
+ "Sendetoner"\n"Send""Ja""Nei"
- "Erstatt jokertegnet med"
+ "Erstatt jokertegn med""Mangler nummer til telefonsvarer""Det er ikke lagret noe telefonsvarernummer på SIM-kortet.""Legg til nummer"
- "Laster…"
- "Skriv inn PIN-kode for å låse opp SIM-kortet."
- "SIM-kort låst opp"
- "Ny PIN-kode for SIM-kort"
- "Skriv SIM-koden igjen for å bekrefte"
- "PIN-kodene du skrev inn stemmer ikke overens. Prøv igjen."
- "Skriv inn PUK-kode for å låse opp SIM-kortet"
- "Gal PUK-kode!"
- "Fortsett""SIM-kortet er blitt avblokkert. Telefonen låses opp…""PIN-kode for å fjerne operatørlås""Lås opp"
@@ -93,8 +72,6 @@
"Spør om fjerning av operatørlås…""Fikk ikke fjerne operatørlås.""Operatørlåsen er fjernet."
- "IMEI"
- "MEID""Innstillinger for GSM-samtaler""Innstillinger for CDMA-samtaler""Navn på aksesspunkt"
@@ -109,6 +86,7 @@
"Flere CDMA-spesifikke innstillinger""Nettverkstjenester""Nummervisning"
+ "Laster inn innstillinger …""Skjul nummer ved utgående samtaler""Vis nummer ved utgående samtaler""La operatøren bestemme om nummeret vises ved utgående samtaler"
@@ -127,17 +105,17 @@
"Nummer ved opptattsignal""Viderekobler til {0}""Deaktivert"
- "Operatøren håndterer ikke deaktivering av viderekobling når telefonen er opptatt."
+ "Operatøren støtter ikke deaktivering av viderekobling når telefonen er opptatt.""Viderekoble når det ikke svares""Nummer for når det ikke svares""Viderekobler til {0}""Deaktivert"
- "Operatøren håndterer ikke deaktivering av viderekobling når anropet ikke besvares."
+ "Operatøren støtter ikke deaktivering av viderekobling når anropet ikke besvares.""Viderekoble ved manglende dekning""Nummer ved manglende dekning""Viderekobler til {0}""Deaktivert"
- "Operatøren håndterer ikke deaktivering av viderekobling når telefonen er utenfor dekning."
+ "Operatøren støtter ikke deaktivering av viderekobling når telefonen er utenfor dekning.""Samtaleinnstillinger""Feil ved samtaleinnstillinger""Leser innstillinger…"
@@ -145,8 +123,8 @@
"Tilbakestiller innstillinger ...""Uventet svar fra nettverket.""Nettverks- eller SIM-kort-feil."
- "Handlingene kan kun utføres på numre med anropsbegrensning."
- "Slå på radioen før du ser på disse innstillingene."
+ "Telefonappens innstilling for Faste numre er aktivert. Derfor fungerer ikke enkelte av ringefunksjonene."
+ "Slå på radioen før du ser på disse innstillingene.""OK""Aktiver""Deaktiver"
@@ -156,10 +134,9 @@
"Skjul nummer""Vis nummer"
- "Lagre nummer til telefonsvarer""Telefonsvarernummeret ble endret."
- "Endring av nummeret til talemeldingtjenesten mislyktes."\n"Ta kontakt med operatøren hvis dette problemet vedvarer."
- "Videresending av nummerendring mislyktes."\n"Ta kontakt med operatøren hvis dette problemet vedvarer."
+ "Kan ikke endre mobilsvarnummeret."\n"Kontakt operatøren din hvis dette problemet vedvarer."
+ "Kunne ikke endre viderekoblingsnummeret."\n"Kontakt operatøren hvis dette problemet vedvarer.""Kunne ikke hente og lagre gjeldende innstillinger for viderekoblingsnummer."\n"Vil du likevel bytte til den nye leverandøren?""Ingen endringer ble utført.""Velg talemeldingsleverandør"
@@ -171,14 +148,14 @@
"Søk etter nettverk""Det oppsto en feil under søking etter nettverk.""Kobler til %s…"
- "SIM-kortet tillater ikke tilkobling til dette nettverket."
- "Kan ikke koble til nettverket. Prøv på nytt senere."
+ "SIM-kortet tillater ingen tilkobling til dette nettverket."
+ "Kan ikke koble til dette nettverket akkurat nå. Prøv på nytt senere.""Registrert i nettverket."
- "Velg en nettoperatør"
+ "Velg en nettverksoperatør""Søk etter alle tilgjengelige nettverk"
- "Velg automatisk"
- "Velg foretrukket nettverk automatisk"
- "Automatisk registrering …"
+ "Velg automatisk"
+ "Velg foretrukket nettverk automatisk"
+ "Automatisk registrering""Nettverksmodus""Bytt nettverksmodus""Foretrukket nettverksmodus"
@@ -192,17 +169,17 @@
"Foretrukket nettverksmodus: kun EvDo""Foretrukket nettverksmodus: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Kun EvDo""CDMA uten EvDo"
- "CDMA / EvDo auto"
- "GSM / WCDMA auto"
+ "CDMA/EvDo automatisk"
+ "GSM / WCDMA automatisk""Kun WCDMA""Kun GSM"
- "GSM / WCDMA foretrukket"
+ "GSM/WCDMA foretrukket"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Data aktivert"
@@ -210,12 +187,11 @@
"Dataroaming""Koble til datatjenester ved roaming""Koble til datatjenester ved roaming"
- "Du har mistet datakonnektivitet fordi du har forlatt hjemmenettet ditt med dataroaming slått av."
+ "Du har mistet datatilkoblingen fordi du forlot hjemmenettet med datastreifing avslått.""Tillat dataroaming? Dette kan koste mye penger!""GSM/UMTS-innstillinger""CDMA-innstillinger""Databruk"
- "Retningslinjer for mobildata""Data som er brukt i inneværende periode""Databrukperiode""Retningslinjer for datahastighet"
@@ -232,7 +208,6 @@
"Datahastigheten reduseres til %1$d Kb/s hvis databruken overskrider grenseverdien""Les mer om mobiloperatørens retningslinjer for bruk av nettverksdata"
- "Kringkastings-SMS""Kringkastings-SMS""Kringkastings-SMS""Kringkastings-SMS aktivert"
@@ -273,15 +248,6 @@
"Koreansk""Kinesisk""Hebraisk"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Språk""Lokalt vær"
@@ -311,9 +277,9 @@
"Jobbmuligheter""Jobbmuligheter aktivert""Jobbmuligheter deaktivert"
- "Helse og sykehus"
- "Helse og sykehus aktivert"
- "Helse og sykehus deaktivert"
+ "Helse og sykehus"
+ "Helse og sykehus aktivert"
+ "Helse og sykehus deaktivert""Teknologinyheter""Teknologinyheter aktivert""Teknologinyheter deaktivert"
@@ -328,35 +294,17 @@
"Bare WCDMA""Kun GSM""GSM/WCDA (WCDMA foretrekkes)"
-
-
- "0"
- "1"
- "2"
- "3""Bruk kun 2G-nettverk""Sparer batteri""Systemvalg"
- "Velg roamingmodus for CDMA"
+ "Velg streifingsmodus for CDMA""Systemvalg""Kun hjemmenett""Automatisk"
- "CDMA-roamingmodus"
- "Velg roamingmodus for CDMA"
- "CDMA-roamingmodus"
-
- "Kun hjemmenett"
- "Tilknyttede nettverk"
- "Alle nettverk"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-abonnement""CDMA-nettverksinnstillinger""Ikke implementert ennå!""CDMA-nettverksinnstillinger"
@@ -365,21 +313,11 @@
"Bare CDMA""Kun EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-abonnement""Bytt mellom RUIM/SIM og NV""abonnement""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktiver enhet""Konfigurer datatjeneste"
@@ -396,18 +334,16 @@
"Vedlikehold liste over faste nummer""Endre PIN-kode for å styre faste nummer""Endre liste over telefonnummer"
- "Samtale-personvern"
+ "Personvern for Google Voice""Aktiver forbedret personvern"
- "TTY-modus"
- "Aktiver TTY-modus""TTY-modus""Velg TTY-modus"
- "Automatisk nytt forsøk"
- "Aktiver Automatisk nytt forsøk"
+ "Automatisk nytt forsøk"
+ "Aktiver Automatisk nytt forsøk""Legg til kontakt""Rediger kontakt""Fjern kontakt"
- "Skriv inn PIN2"
+ "Skriv inn PIN2""Navn""Num,er""Lagre"
@@ -420,56 +356,50 @@
"Slett programmert telefonnummer""Sletter programmert telefonnummer ...""Programmert telefonnummer er slettet."
- "Anropsbegrensning er ikke oppdatert: du har angitt feil PIN-kode."
- "Anropsbegrensning er ikke oppdatert: nummeret kan kun inneholde 20 sifrer."
+ "FDN er ikke oppdatert fordi du skrev inn feil PIN-kode."
+ "FDN ble ikke oppdatert fordi tallet ikke kan overstige 20 sifre."
+ "Fast nummer ble ikke oppdatert. PIN2 var feil, eller telefonnummeret ble avvist.""Leser fra SIM-kort…""Ingen kontakter på SIM-kortet.""Velg kontakter som skal importeres"
- "Du må slå av flymodus for å importere kontakter fra SIM-kortet."
+ "Du må slå av flymodus før du kan importere kontakter fra SIM-kortet.""Slå av/på PIN-kode for SIM-kort""Endre PIN-kode for SIM-kort""SIM-kortets PIN-kode:""Gammel PIN-kode""Ny PIN-kode""Bekreft ny PIN-kode"
- "Du skrev gal gammel PIN-kode. Prøv igjen."
- "PIN-kodene du skrev inn, stemmer ikke overens. Prøv igjen."
+ "Den gamle personlige koden du skrev inn, er feil. Prøv på nytt."
+ "De personlige kodene du skrev inn, stemmer ikke overens. Prøv på nytt.""Skriv inn en PIN-kode som er fra 4 til 8 siffer.""Slå av PIN-kode for SIM-kort""Slå på PIN-kode for SIM-kort""Vent litt…"
- "PIN-kode for SIM-kort slått på"
- "PIN-kode for SIM-kort slått av"
- "PIN-koden du skrev inn var gal"
- "PIN-koden for SIM-kortet ble endret"
+ "Personlig kode for SIM-kort aktivert."
+ "Personlig kode for SIM-kort deaktivert."
+ "Den personlige koden du skrev inn, er feil."
+ "Personlig kode for SIM-kort er endret.""Galt passord, SIM-kortet er låst! Skriv inn PUK2-koden.""PIN2-kode""Gammel PIN2-kode""Ny PIN2-kode""Bekreft ny PIN2-kode"
- "PUK2-koden er ikke riktig. Prøv igjen."
- "Den gamle PIN2-koden du skrev er ikke riktig. Prøv igjen."
- "PIN2-kodene du skrev inn, stemmer ikke overens. Prøv igjen."
+ "PUK2-koden du skrev inn, er feil. Prøv på nytt."
+ "Den gamle personlige koden (PIN2) du skrev inn, er feil. Prøv på nytt."
+ "PIN2-kodene du skrev inn, stemmer ikke overens. Prøv på nytt.""Skriv inn en PIN2-kode som er mellom 4 og 8 siffer.""Skriv inn en PUK2-kode som er 8 siffer."
- "PIN2-koden ble endret."
+ "Personlig kode (PIN2) er endret""Skriv inn PUk2-kode"
- "Galt passord, endre PIN2-koden og prøv igjen!"
- "Galt passord, SIM-kortet er låst! Skriv inn PUK2-koden."
+ "Passordet er feil. Endre PIN2 og prøv på nytt."
+ "Feil passord – SIM-kortet er låst. Bruk PUK2 for å låse opp.""Ferdig""Telefonmøte %s"
- "Tilbake til samtale"
- "Fortsett uten SIM-kort"
- "Fant ikke noe SIM-kort. Sett et SIM-kort i telefonen."
- "Skjul"
- "Lås opp"
- "Godkjenner PIN-kode…""Nummer til telefonsvarer""Ringer""Prøver på nytt""Telefonmøte""Innkommende anrop"
- "CDMA samtale venter""Samtale avsluttet""Parkert""Legger på"
@@ -479,7 +409,7 @@
"Tapte anrop""%s tapte anrop""Tapt anrop fra %s"
- "Aktiv samtale (%s)"
+ "Pågående samtale""Parkert""Innkommende samtale""Nye beskjeder på telefonsvarer"
@@ -488,13 +418,15 @@
"Mangler nummer til telefonsvarer""Ingen tjeneste""Valgt nettverk (%s) er ikke tilgjengelig"
+ "Legg på"
+ "Ring tilbake"
+ "Melding""For å ringe, slå av flymodus først.""Ikke registrert på nettverket.""Mobilnettverket er ikke tilgjengelig.""Samtalen ble ikke opprettet, mangler eller ugyldig nummer.""Samtalen ble ikke opprettet.""Begynner MMI-sekvens…"
- "Starter funksjonskode …""Ustøttet tjeneste.""Kan ikke bytte samtale.""Kan ikke skille samtale."
@@ -506,18 +438,13 @@
"Nødanrop""Slår på radio…""Utenfor dekningsområde, prøver igjen…"
- "Samtalen ble ikke opprettet, %s er ikke et nødnummer!"
- "Samtalen ble ikke opprettet, ring et nødnummer!"
+ "Anrop ikke utført. %s er ikke et nødnummer!"
+ "Anrop ikke foretatt. Ring et nødnummer!""Bruk tastaturet for å ringe"
- "Talltastatur for tastetoner""Hold"
- "Opphev""Avslutt""Talltastatur"
- "Skjul"
- "Høyttaler""Lyd av"
- "Bluetooth""Tilføy anrop""Slå sammen samtaler""Bytt"
@@ -536,36 +463,31 @@
"TTY HCO""TTY VCO"
- "ERI-tekst"
- "DTMF-toner"
+ "DTMF-toner""Velg lengde på DTMF-toner""Vanlig""Lang"
- "Nettverksmelding"
+ "Nettverksmelding""Aktiver telefonen din""Det må foretas en spesifikk oppringning for at telefontjenesten skal aktiveres. "\n\n"Trykk «Aktiver», og lytt deretter til instruksjonene for å aktivere telefonen."
- "Trykk på Aktiver for å foreta et spesielt anrop som aktiverer telefonen på mobiltjenesteleverandørens nettverk, slik at du kan foreta anrop og koble til mobildatanettverk.""Hopp over aktivering?""Hvis du hopper over aktiveringen, kan du ikke foreta anrop eller koble til mobildatanettverk (du kan imidlertid koble til trådløse nettverk). Du blir bedt om å aktivere hver gang du slår på telefonen, inntil aktivering er fullført.""Hopp over"
- "Aktiver""Aktiver"
- "Telefonen er aktivert!"
+ "Telefonen er aktivert.""Problemer med aktivering""Følg taleinstruksjonene inntil du får beskjed om at aktiveringen er fullført."
- "Tastatur""Høyttaler"
- "Vent mens telefonen programmeres."
- "Programmering mislyktes"
+ "Vent mens telefonen programmeres."
+ "Programmeringen mislyktes""Telefonen din er aktivert. Det kan ta opptil 15 minutter før tjenestene er i gang."
- "Telefonen din ble ikke aktivert. "\n" Prøv å finne et område med bedre dekning (ved et vindu eller utendørs). "\n\n"Prøv på nytt, eller ring kundetjenestene for å få flere forslag."
+ "Telefonen ble ikke aktivert."\n"Prøv å finne et område med bedre dekning (ved et vindu eller utendørs)."\n\n"Prøv på nytt, eller ring kundetjenesten for å få flere alternativer.""Omfattende SPC-feil""Tilbake""Prøv igjen""Neste"
- "Tilbake""EcmExitDialog""Startet modusen nødsamtale-tilbakeringing""Modusen nødsamtale-tilbakeringing"
@@ -575,87 +497,69 @@
"Ingen datatilkobling i %s minutter"
- "Telefonen vil være i modusen nødsamtale-tilbakeringing i %s minutt. Ingen apper med datatilkobling kan brukes når telefonen er i denne modusen. Vil du avslutte?"
- "Telefonen vil være i modusen nødsamtale-tilbakeringing i %s minutter. Ingen apper med datatilkobling kan brukes når telefonen er i denne modusen. Vil du avslutte?"
+ "Telefonen kommer til å være i nødsamtalemodus i %s minutt. Ingen apper som bruker en datatilkobling, kan brukes i denne modusen. Vil du avslutte nå?"
+ "Telefonen kommer til å være i nødsamtalesmodus i %s minutter. Ingen apper som bruker en datatilkobling, kan brukes i denne modusen. Vil du avslutte nå?"
- "Den valgte handlingen er ikke tilgjengelig i modusen nødsamtale-tilbakeringing. Telefonen vil være i denne modusen i %s minutt. Vil du avslutte?"
- "Den valgte handlingen er ikke tilgjengelig i modusen nødsamtale-tilbakeringing. Telefonen vil være i denne modusen i %s minutter. Vil du avslutte?"
+ "Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen kommer til å være i denne modusen i %s minutt(er). Vil du avslutte nå?"
+ "Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen kommer til å være i denne modusen i %s minutter. Vil du avslutte nå?"
- "Ikke mulig under en nødsamtale"
- "Avslutter modusen nødsamtale-tilbakeringing"
+ "Den valgte handlingen er ikke mulig under en nødsamtale."
+ "Avslutter modusen nødsamtale-tilbakeringing""Ja""Nei""Lukk"
- "Innstillinger for talemelding"
- "<ikke angitt>"
- "Talemeldingtjeneste"
- "Innstillinger for %s"
+ "Tjeneste"
+ "Konfigurering"
+ "<Ikke angitt>""Andre ringeinnstillinger"
- "Ring"
- "Ring via ^1"\n"^2"
- "Dra mot høyre for å svare"
- "Dra mot venstre for å slå av ringetonen"
- "Dra mot venstre for å avslå"
- "Dra mot høyre for·å·svare·og·sette"\n"aktiv samtale på vent"
- "Dra mot høyre for å svare og"\n"avslutte aktiv samtale"
- "Dra mot høyre for·å·svare og"\n"avslutte ventende samtale"
- "Svar"
- "Ikke del"
+ "Ringer via %s""kontaktbilde""aktiver privat samtale""velg kontakt""Innstillinger for Internett-anrop""SIP-kontoer (Internett-anrop)""Kontoer"
- "Administrer SIP-kontoer og status for Internett-anrop""Motta innkommende anrop""Reduserer batterilevetiden"
- "Konfigurer samtalealternativer""Bruk Internett-anrop""Bruk konto for Internett-anrop (kun Wi-Fi)""For alle anrop hvor datanettverk er tilgjengelige""Kun for Internett-anrop""Spør ved alle anrop""Bruk ved alle anrop"
- "Automatisk registrering"
- "Utgående samtale via SIP""Foreta anrop""Bruk konto for Internett-anrop:""Standardvalg for Internett-anrop"
- "Du kan endre hvilken konto du bruker som standard for Internett-anrop ved å gå til innstillingene for anrop. Her kan du velge en annen konto under innstillinger for Internett-anrop"
+ "Du kan endre hvilken konto for Internett-anrop som skal brukes som standard, under Telefon > Innstillinger > Innstillinger for Internett-anrop > Kontoer.""Mobiltelefonanrop""Internett-anrop""Ingen konto for Internett-anrop"
- "Du har ingen kontoer for Internett-anrop på denne telefonen. Vil du legge til en nå?"
+ "Det er ingen konto for Internett-anrop på denne telefonen. Vil du legge til en nå?""Legg til""Legg til konto""Fjern konto""SIP-kontoer"
- "Lagrer konto ..."
- "Fjerner konto ..."
+ "Lagrer konto …"
+ "Fjerner konto …""Lagre""Forkast""Lukk profilen""OK""Lukk"
- "Primær"
- "Gjør dette til min hovedkonto"
- "Brukt til utgående anrop"
- "Avanserte innstillinger""Primærkonto. %s""Kontrollerer status ..."
- "Registrerer ..."
- "Prøver fremdeles ..."
- "Mottar ikke anrop"
- "Kontoregistreringen stoppet på grunn av manglende Internett-tilkobling"
- "Kontoregistreringen stoppet på grunn av manglende Wi-Fi-tilkobling"
- "Kontoregistrering mislyktes"
- "Mottar anrop"
+ "Registrerer …"
+ "Prøver fortsatt …"
+ "Mottar ikke anrop."
+ "Kontoregistreringen stoppet på grunn av manglende Internett-tilkobling."
+ "Kontoregistreringen stoppet på grunn av manglende Wi-Fi-tilkobling."
+ "Kontoregistrering mislyktes."
+ "Mottar anrop.""Kontoregistrering mislyktes: (%s); prøver på nytt senere"
- "Kontoregistrering mislyktes: feil brukernavn eller passord"
- "Kontoregistrering mislyktes: kontroller tjenernavnet"
- "Denne kontoen er for øyeblikket i bruk av appen %s."
+ "Kontoregistrering mislyktes: feil brukernavn eller passord."
+ "Kontoregistrering mislyktes: Kontroller tjenernavnet."
+ "Denne kontoen er for øyeblikket i bruk av appen %s.""Kontoinnstillinger for SIP""Kontoinnstillinger for SIP""Tjener"
@@ -666,9 +570,6 @@
"Portnummer""Transporttype""Send hold-aktiv-meldinger"
- "Send hold-aktiv-meldinger for SIP"
- "Automatisk registrering"
- "Registrer profilen automatisk""Angi som hovedkonto""Brukt til utgående anrop""Valgfrie innstillinger"
@@ -679,12 +580,12 @@
"<Valgfritt>""Trykk for å vise alle""Trykk for å skjule alle"
- "%s er obligatorisk, feltet kan ikke være tomt"
- "Portnummeret må være mellom 1000 og 65534"
+ "%s er obligatorisk. Feltet kan ikke være tomt."
+ "Portnummeret må være mellom 1000 og 65534.""Ingen Internett-tilkobling""Ingen Wi-Fi-tilkobling"
- "Kontroller Internett-tilkoblingen før du foretar et Internett-anrop"
- "Du må være koblet til et Wi-Fi-nettverk for å foreta Internett-anrop (gå til Innstillinger for (trådløse) nettverk)"
+ "Kontroller Internett-tilkoblingen før du foretar et Internett-anrop."
+ "Du må være koblet til et Wi-Fi-nettverk for å foreta Internett-anrop (gå til innstillingene Trådløst og nettverk).""Internett-anrop håndteres ikke""Automatisk""Send alltid"
@@ -693,7 +594,7 @@
"Jeg ringer deg straks tilbake.""Jeg ringer deg senere.""Ikke nå. Ringer du meg senere?"
- "Egendefinert melding"
+ "Egendefinert melding""Hurtigsvar""Rediger hurtigsvar"
@@ -711,7 +612,6 @@
"stjerne""null""firkant"
- "søk""ring""tilbaketast""Høyttaler er aktivert."
@@ -721,9 +621,14 @@
"Avslå""Vibrering""Vibrering"
+ "Ringetone""Alltid"
- "Kun ved stille modus"
+ "Bare i stille modus""Aldri"
+ "Telefonringetone"
+ "Vibrering når det ringer"
+ "Tastetoner for tastatur"
+ "Ringetone"
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
new file mode 100644
index 000000000..9419e5e5f
--- /dev/null
+++ b/res/values-nl/arrays.xml
@@ -0,0 +1,74 @@
+
+
+
+
+ "Netwerkstandaard"
+ "Nummer verbergen"
+ "Nummer tonen"
+
+
+ "LTE/CDMA"
+ "Alleen EvDo"
+ "CDMA zonder EvDo"
+ "CDMA/EvDo (automatisch)"
+ "GSM/WCDMA (automatisch)"
+ "Alleen WCDMA"
+ "Alleen GSM"
+ "Voorkeur voor GSM/WCDMA"
+
+
+ "LTE/CDMA"
+ "CDMA"
+
+
+ "Engels"
+ "Frans"
+ "Spaans"
+ "Japans"
+ "Koreaans"
+ "Chinees"
+ "Hebreeuws"
+
+
+ "Alleen thuis"
+ "Automatisch"
+
+
+ "TTY uit"
+ "TTY vol"
+ "TTY HCO"
+ "TTY VCO"
+
+
+ "Normaal"
+ "Lang"
+
+
+ "Altijd"
+ "Alleen indien stil"
+ "Nooit"
+
+
+
+
+
+
+ LTE/GSM
+ GSM
+
+
diff --git a/res/values-nl/plurals.xml b/res/values-nl/plurals.xml
new file mode 100644
index 000000000..6b0d524a3
--- /dev/null
+++ b/res/values-nl/plurals.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ "Er is al %s minuut geen gegevensverbinding"
+ "Er is al %s minuten geen gegevensverbinding"
+
+
+ "De telefoon blijft %s minuut in de noodoproepmodus. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wilt u nu sluiten?"
+ "De telefoon blijft %s minuten in de noodoproepmodus. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wilt u nu sluiten?"
+
+
+ "De geselecteerde actie is niet beschikbaar in de noodoproepmodus. De telefoon blijft %s minuut in deze modus. Wilt u nu sluiten?"
+ "De geselecteerde actie is niet beschikbaar in de noodoproepmodus. De telefoon blijft %s minuten in deze modus. Wilt u nu sluiten?"
+
+
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index bc08754cf..46fcc9796 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1,5 +1,6 @@
-
-
-
"Mobiele gegevens"
@@ -25,76 +25,53 @@
"Privénummer""Betaaltelefoon""In de wacht"
- "Huidige oproep""Lijn is bezet""Netwerk bezet""Geen reactie, time-out""Server niet bereikbaar""Nummer niet bereikbaar"
- "Ongeldige gebruikersnaam of wachtwoord"
- "Gebeld van buiten het netwerk"
+ "Ongeldig(e) gebruikersnaam of wachtwoord"
+ "Gebeld van buiten het netwerk""Fout met server. Probeer het later opnieuw.""Geen kiestoon""ACM-limiet overschreden""Radio uit"
- "Geen SIM-kaart of fout met SIM-kaart"
+ "Geen simkaart of fout met simkaart""Buiten servicegebied""Uitgaande oproepen worden beperkt door FDN."
- "Uitgaande oproepen zijn niet mogelijk als de functie voor oproepen blokkeren is ingeschakeld."
+ "Uitgaande oproepen zijn niet mogelijk als de functie voor oproepen blokkeren is ingeschakeld.""Alle oproepen worden beperkt door toegangsbeheer.""Noodoproepen worden beperkt door toegangsbeheer.""Normale oproepen worden beperkt door toegangsbeheer."
- "CDMA: telefoon vergrendeld tot opstartcyclus."
- "CDMA: oproep afgebroken."
- "CDMA: oproep onderschept."
- "CDMA: nieuwe opdracht."
- "CDMA: serviceoptie geweigerd."
- "CDMA: opdracht opnieuw proberen."
- "CDMA: toegang mislukt."
- "CDMA: preëmptief gemaakt."
- "Alleen noodoproepen zijn mogelijk."
- "Ongeldig nummer"
+ "Ongeldig getal""Telefonische vergadering""De verbinding is verbroken."
- "Opnieuw proberen"
- "Verbinding verbroken""OK""MMI-code gestart"
- "USSD-code uitvoeren..."
+ "USSD-code uitvoeren\u2026""MMI-code geannuleerd""Annuleren""Telefonische vergadering beheren""Luidspreker"
- "Oortelefoon van handset"
+ "Oortelefoon van toestel""Bedrade headset""Bluetooth""De volgende tonen verzenden?"\n
- "Nummers verzenden"\n
+ "Nummers verzenden"\n"Verzenden""Ja""Nee"
- "Het jokerteken vervangen door"
+ "Jokerteken vervangen door""Voicemailnummer ontbreekt"
- "Er is geen voicemailnummer op de SIM-kaart opgeslagen."
+ "Er is geen voicemailnummer op de simkaart opgeslagen.""Nummer toevoegen"
- "Laden..."
- "Voer de PIN-code in om de SIM-kaart te ontgrendelen."
- "SIM-kaart ontgrendeld"
- "Nieuwe SIM PIN-code"
- "Voer de nieuwe SIM PIN-code nogmaals in ter bevestiging"
- "De SIM PIN-codes die u heeft ingevoerd, komen niet overeen. Probeer het opnieuw."
- "Voer de PUK-code in om de SIM-kaart te ontgrendelen"
- "Onjuiste PUK-code!"
- "Doorgaan"
- "Uw SIM-kaart is gedeblokkeerd. Uw telefoon wordt ontgrendeld..."
- "PIN-code voor ontgrendelen SIM-netwerk"
+ "Uw simkaart is gedeblokkeerd. Uw telefoon wordt ontgrendeld\u2026"
+ "Pincode voor ontgrendelen netwerk""Ontgrendelen""Negeren"
- "Verzoek om ontgrendelen netwerk..."
+ "Verzoek om ontgrendelen netwerk\u2026""Verzoek voor ontgrendelen netwerk mislukt.""Het netwerk is ontgrendeld."
- "IMEI-nummer"
- "MEID""GSM-oproepinstellingen""CDMA-oproepinstellingen""Namen toegangspunten"
@@ -109,12 +86,13 @@
"Aanvullende oproepinstellingen voor alleen CDMA""Instellingen voor netwerkservice""Beller-id"
- "Nummer verborgen bij uitgaande oproepen"
- "Nummer weergegeven bij uitgaande oproepen"
- "Gebruik de standaard operatorinstellingen om mijn nummer bij uitgaande oproepen weer te geven"
+ "Instellingen laden\u2026"
+ "Nummer verbergen bij uitgaande oproepen"
+ "Nummer tonen bij uitgaande oproepen"
+ "Operatorinstellingen gebruiken bij uitgaande oproepen""Wisselgesprek""Inkomende oproepen melden als ik aan het bellen ben"
- "Inkomende oproepen melden als ik aan het bellen ben"
+ "Inkomende oproepen niet melden als ik aan het bellen ben""Instellingen voor doorschakelen van oproepen""Oproep doorschakelen""Altijd doorschakelen"
@@ -127,58 +105,52 @@
"Nummer indien in gesprek""Doorschakelen naar {0}""Uitgeschakeld"
- "Uw provider biedt geen ondersteuning voor het uitschakelen van oproepdoorschakelingen wanneer uw telefoon bezet is."
+ "Uw provider biedt geen ondersteuning voor het uitschakelen van oproepdoorschakelingen wanneer uw telefoon bezet is.""Doorsch. bij onbeantwoord""Nummer indien onbeantwoord""Doorschakelen naar {0}""Uitgeschakeld"
- "Uw provider biedt geen ondersteuning voor het uitschakelen van oproepdoorschakelingen wanneer uw telefoon niet wordt opgenomen."
+ "Uw provider biedt geen ondersteuning voor het uitschakelen van oproepdoorschakelingen wanneer uw telefoon niet wordt opgenomen.""Doorsch. bij onbereikbaar""Nummer indien onbereikbaar""Doorschakelen naar {0}""Uitgeschakeld"
- "Uw provider biedt geen ondersteuning voor het uitschakelen van oproepdoorschakelingen wanneer uw telefoon niet bereikbaar is."
+ "Uw provider biedt geen ondersteuning voor het uitschakelen van oproepdoorschakelingen wanneer uw telefoon niet bereikbaar is.""Oproepinstellingen""Fout met oproepinstellingen"
- "Instellingen lezen..."
- "Instellingen bijwerken..."
- "Instellingen terugzetten..."
+ "Instellingen lezen\u2026"
+ "Instellingen bijwerken\u2026"
+ "Instellingen herstellen\u2026""Onverwachte reactie van netwerk."
- "Netwerk- of SIM-kaartfout."
- "Bewerkingen zijn alleen toegestaan voor vaste nummers."
- "Schakel de radio in voordat u deze instellingen bekijkt."
+ "Netwerk- of simkaartfout."
+ "De instelling \'Vaste nummers\u2019 in Telefoon is ingeschakeld. Hierdoor werken sommige oproepgerelateerde functies niet."
+ "Schakel de radio in voordat u deze instellingen bekijkt.""OK""Inschakelen""Uitschakelen""Bijwerken"
-
- "Netwerkstandaard"
- "Nummer verbergen"
- "Nummer weergeven"
-
- "Voicemailnummer opslaan""Voicemailnummer gewijzigd."
- "Het wijzigen van het voicemailnummer is mislukt."\n"Neem contact op met uw provider als dit probleem zich blijft voordoen."
- "Het wijzigen van het doorschakelnummer is mislukt."\n"Neem contact op met uw provider als dit probleem zich blijft voordoen."
+ "Kan het voicemailnummer niet wijzigen."\n"Neem contact op met uw provider als dit probleem zich blijft voordoen."
+ "Kan het doorschakelnummer niet wijzigen."\n"Neem contact op met uw provider als dit probleem zich blijft voordoen.""Kan huidige instellingen voor doorschakelnummer niet ophalen en opslaan."\n"Toch overschakelen naar de nieuwe provider?""Er zijn geen wijzigingen aangebracht.""Service voor voicemail selecteren""Mijn provider""Instellingen mobiel netwerk""Beschikbare netwerken"
- "Zoeken..."
+ "Zoeken\u2026""Geen netwerken gevonden.""Netwerken zoeken""Fout tijdens zoeken naar netwerken."
- "Registreren op %s…"
- "Uw SIM-kaart staat geen verbinding met dit netwerk toe."
- "Kan momenteel geen verbinding maken met dit netwerk. Probeer het later opnieuw."
+ "Registreren op %s\u2026"
+ "Uw simkaart staat geen verbinding met dit netwerk toe."
+ "Kan nu geen verbinding maken met dit netwerk. Probeer het later opnieuw.""Geregistreerd op netwerk."
- "Een mobiele provider selecteren"
+ "Een mobiele provider kiezen""Alle beschikbare netwerken zoeken"
- "Automatisch selecteren"
- "Voorkeursnetwerk automatisch selecteren"
- "Automatische registratie..."
+ "Automatisch kiezen"
+ "Voorkeursnetwerk automatisch selecteren"
+ "Automatische registratie\u2026""Netwerkmodus""De netwerkgebruiksmodus wijzigen""Voorkeursnetwerkmodus"
@@ -191,31 +163,16 @@
"Voorkeursnetwerkmodus: alleen CDMA""Voorkeursnetwerkmodus: alleen EvDo""Voorkeursnetwerkmodus: LTE/CDMA"
-
- "LTE/CDMA"
- "Alleen EvDo"
- "CDMA zonder EvDo"
- "CDMA/EvDo automatisch"
- "GSM/WCDMA automatisch"
- "Alleen WCDMA"
- "Alleen GSM"
- "Voorkeur voor GSM/WCDMA"
-
-
- "LTE/CDMA"
- "CDMA"
- "Gegevenstoegang aan""Gegevenstoegang via mobiel netwerk inschakelen""Gegevensroaming""Verbinding maken met gegevensservices tijdens roaming""Verbinding maken met gegevensservices tijdens roaming"
- "De gegevensverbinding is verbroken, omdat u uw thuisnetwerk heeft verlaten terwijl gegevensroaming was uitgeschakeld."
+ "De gegevensverbinding is verbroken, omdat u uw thuisnetwerk heeft verlaten terwijl gegevensroaming was uitgeschakeld.""Gegevensroaming toestaan? Er kunnen hoge roamingkosten in rekening worden gebracht.""GSM-/UMTS-opties""CDMA-opties""Gegevensgebruik"
- "Gegevensbeleid van provider""Gegevensgebruik in huidige periode""Periode voor gegevensgebruik""Beleid voor gegevenssnelheid"
@@ -226,7 +183,6 @@
" ٪%1$dvan cyclus verstreken"\n"De volgende periode start over %2$d dagen (%3$s)""Gegevenssnelheid wordt verlaagd tot %1$d kB/s als de limiet voor gegevensgebruik wordt overschreden""Meer informatie over het beleid voor gegevensgebruik van uw mobiele provider"
- "Infodienstbericht""Infodienstbericht""SMS Infodienstbericht""SMS Infodienstbericht ingeschakeld"
@@ -259,24 +215,6 @@
"Buitenlands nieuws uitgeschakeld""Taal""De taal voor het nieuws selecteren"
-
- "Engels"
- "Frans"
- "Spaans"
- "Japans"
- "Koreaans"
- "Chinees"
- "Hebreeuws"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
- "Talen""Lokaal weerbericht""Lokaal weerbericht ingeschakeld"
@@ -305,9 +243,9 @@
"Vacatures""Vacatures ingeschakeld""Vacatures uitgeschakeld"
- "Medisch, gezondheid en ziekenhuis"
- "Medisch, gezondheid en ziekenhuis ingeschakeld"
- "Medisch, gezondheid en ziekenhuis uitgeschakeld"
+ "Medisch, gezondheid en ziekenhuis"
+ "Medisch, gezondheid en ziekenhuis ingeschakeld"
+ "Medisch, gezondheid en ziekenhuis uitgeschakeld""Technologienieuws""Technologienieuws ingeschakeld""Technologienieuws uitgeschakeld"
@@ -322,35 +260,13 @@
"Alleen WCDMA""Alleen GSM""GSM/WCDA (voorkeur voor WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Alleen 2G-netwerken""Energiespaarstand""Systeem selecteren"
- "De CDMA-roamingmodus wijzigen"
+ "De CDMA-roamingmodus wijzigen""Systeem selecteren"
-
- "Alleen thuis"
- "Automatisch"
-
- "CDMA-roamingmodus"
- "De CDMA-roamingmodus wijzigen"
- "CDMA-roamingmodus"
-
- "Alleen thuisnetwerken"
- "Partnernetwerken"
- "Elk netwerk"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-abonnement""CDMA-netwerkvoorkeuren""Nog niet geïmplementeerd.""CDMA-netwerkvoorkeuren"
@@ -359,22 +275,8 @@
"Alleen CDMA""Alleen EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-abonnement""Schakelen tussen RUIM/SIM en NV""abonnement"
-
- "RUIM/SIM"
- "NV"
-
-
- "0"
- "1"
- "Apparaat activeren""Gegevensservice instellen""Vaste nummers"
@@ -384,86 +286,78 @@
"Vaste nummers zijn uitgeschakeld""FDN inschakelen""FDN uitschakelen"
- "PIN2-code wijzigen"
+ "Pin2-code wijzigen""FDN uitschakelen""FDN inschakelen""Vaste nummers beheren"
- "PIN-code voor FDN-toegang wijzigen"
+ "Pincode voor FDN-toegang wijzigen""Lijst met telefoonnummers beheren"
- "Spraakprivacy"
+ "Spraakprivacy""Geavanceerde privacymodus inschakelen"
- "TTY-modus"
- "TTY-modus inschakelen""TTY-modus""TTY-modus instellen"
- "Automatisch opnieuw proberen"
- "Modus voor automatisch opnieuw proberen inschakelen"
+ "Automatisch opnieuw proberen"
+ "Modus voor automatisch opnieuw proberen inschakelen""Contact toevoegen""Contact bewerken""Contact verwijderen"
- "PIN2-code invoeren"
+ "Type PIN2""Naam""Nummer""Opslaan""Vast nummer toevoegen"
- "Vast nummer toevoegen..."
+ "Vast nummer toevoegen\u2026""Vast nummer toegevoegd.""Vast nummer bewerken"
- "Vast nummer bijwerken..."
+ "Vast nummer bijwerken\u2026""Vast nummer bijgewerkt.""Vast nummer verwijderen"
- "Vast nummer verwijderen..."
+ "Vast nummer verwijderen\u2026""Vast nummer verwijderd."
- "FDN niet bijgewerkt: u heeft een onjuiste PIN-code ingevoerd."
- "FDN niet bijgewerkt: nummer mag niet langer zijn dan 20 cijfers."
- "Lezen vanaf SIM-kaart..."
- "Geen contacten op uw SIM-kaart."
+ "FDN is niet bijgewerkt omdat u een onjuiste pincode heeft ingevoerd."
+ "FDN is niet bijgewerkt omdat het nummer niet langer kan zijn dan 20 tekens."
+ "FDN is niet bijgewerkt. De PIN2 was onjuist of het telefoonnummer is geweigerd."
+ "Lezen vanaf simkaart\u2026"
+ "Geen contacten op uw simkaart.""Contacten selecteren om te importeren"
- "Als u contacten wilt importeren van de simkaart, schakelt u de vliegmodus uit."
- "SIM PIN-code in-/uitschakelen"
- "SIM PIN-code wijzigen"
- "SIM PIN-code:"
- "Oude PIN-code"
- "Nieuwe PIN-code"
- "Nieuwe PIN-code bevestigen"
- "De oude PIN-code die u heeft ingevoerd, is onjuist. Probeer het opnieuw."
- "De PIN-codes die u heeft ingevoerd, komen niet overeen. Probeer het opnieuw."
- "Voer een PIN-code van 4 tot 8 cijfers in."
- "SIM PIN-code uitschakelen"
- "SIM PIN-code inschakelen"
- "Een ogenblik geduld..."
- "SIM PIN-code ingeschakeld"
- "SIM PIN-code uitgeschakeld"
- "De PIN-code die u heeft ingevoerd, is onjuist"
- "SIM PIN-code gewijzigd"
- "Wachtwoord onjuist, SIM-kaart is vergrendeld! PUK2-code vereist."
+ "Voor het importeren van contacten vanaf de simkaart moet u eerst de vliegtuigmodus uitschakelen."
+ "SIM-pincode in-/uitschakelen"
+ "SIM-pincode wijzigen"
+ "SIM-pincode:"
+ "Oude pincode"
+ "Nieuwe pincode"
+ "Nieuwe pincode bevestigen"
+ "De oude pincode die u heeft ingevoerd, is onjuist. Probeer het opnieuw."
+ "De pincodes die u heeft ingevoerd, komen niet overeen. Probeer het opnieuw."
+ "Voer een pincode van 4 tot 8 cijfers in."
+ "SIM-pincode uitschakelen"
+ "SIM-pincode inschakelen"
+ "Een ogenblik geduld\u2026"
+ "Pincode voor simkaart ingeschakeld"
+ "Pincode voor simkaart uitgeschakeld."
+ "De pincode die u heeft ingevoerd, is onjuist."
+ "Pincode voor simkaart gewijzigd."
+ "Wachtwoord onjuist, simkaart is vergrendeld! Puk2-code vereist.""PIN2"
- "Oude PIN2-code"
- "Nieuwe PIN2-code"
- "Nieuwe PIN2-code bevestigen"
- "De PUK2-code die u heeft ingevoerd, is onjuist. Probeer het opnieuw."
- "De oude PIN2-code die u heeft ingevoerd, is onjuist. Probeer het opnieuw."
- "De PIN2-codes die u heeft ingevoerd, komen niet overeen. Probeer het opnieuw."
- "Voer een PIN2-code van 4 tot 8 cijfers in."
- "Voer een PUK2-code van 8 cijfers in."
- "PIN2-code gewijzigd"
- "PUK2-code invoeren"
- "Wachtwoord onjuist, wijzig PIN2-code en probeer het opnieuw!"
- "Wachtwoord onjuist, SIM-kaart is vergrendeld! PUK2-code vereist."
+ "Oude pin2-code"
+ "Nieuwe pin2-code"
+ "Nieuwe pin2-code bevestigen"
+ "De puk2-code die u heeft ingevoerd, is onjuist. Probeer het opnieuw."
+ "De oude pin2-code die u heeft ingevoerd, is onjuist. Probeer het opnieuw."
+ "De pin2-codes die u heeft ingevoerd, komen niet overeen. Probeer het opnieuw."
+ "Voer een pin2-code van 4 tot 8 cijfers in."
+ "Voer een puk2-code van 8 cijfers in."
+ "Pin2-code gewijzigd."
+ "Puk2-code invoeren"
+ "Wachtwoord onjuist, wijzig de pin2-code en probeer het opnieuw."
+ "Wachtwoord onjuist, simkaart is vergrendeld. Puk2-code vereist.""Gereed""Telefonische vergadering %s"
- "Terug naar oproep"
- "Doorgaan zonder SIM-kaart"
- "Geen SIM-kaart gevonden. Plaats een SIM-kaart in de telefoon."
- "Negeren"
- "Ontgrendelen"
- "PIN-code verifiëren...""Voicemailnummer""Kiezen""Opnieuw proberen""Telefonische vergadering""Inkomende oproep"
- "CDMA-oproep in wacht""Oproep beëindigd""In de wacht""Ophangen"
@@ -473,7 +367,7 @@
"Gemiste oproepen""%s gemiste oproepen""Gemiste oproep van %s"
- "Huidige oproep (%s)"
+ "Actieve oproep""In de wacht""Inkomende oproep""Nieuwe voicemail"
@@ -482,13 +376,15 @@
"Voicemailnummer onbekend""Geen service""Geselecteerd netwerk (%s) niet beschikbaar"
- "Als u wilt bellen, moet u eerst de Vliegmodus uitschakelen."
+ "Ophangen"
+ "Terugbellen"
+ "Bericht"
+ "Als u wilt bellen, moet u eerst de vliegtuigmodus uitschakelen.""Niet geregistreerd op netwerk.""Mobiel netwerk niet beschikbaar.""Oproep niet verzonden, geen geldig nummer ingevoerd.""Oproep niet verzonden."
- "MMI-reeks starten..."
- "Functiecodereeks starten…"
+ "MMI-reeks starten\u2026""Niet-ondersteunde service.""Kan niet overschakelen tussen oproepen.""Kan oproep niet scheiden."
@@ -498,158 +394,107 @@
"Kan oproepen niet vrijgeven.""Internetoproep""Noodoproep"
- "Radio aanzetten..."
- "Buiten servicegebied, nieuwe poging..."
- "Oproep niet verzonden, %s is geen alarmnummer!"
- "Oproep niet verzonden, kies een alarmnummer!"
+ "Radio aanzetten\u2026"
+ "Buiten servicegebied, nieuwe poging\u2026"
+ "Oproep niet verzonden. %s is geen alarmnummer!"
+ "Oproep niet verzonden. Kies een alarmnummer!""Toetsen gebruiken om te bellen"
- "Toetsenblok voor toetsgeluid""In de wacht"
- "Uit de wacht halen""Beëindigen""Toetsenblok"
- "Verbergen"
- "Luidspreker""Dempen"
- "Bluetooth""Oproep toevoegen""Oproepen samenvoegen""Wisselen""Gesprekken beheren""Conferentie beheren"
- "Audio"
+ "Geluid""Importeren""Alles importeren""SIM-contacten importeren""Importeren uit contacten""Gehoorapparaten""Compatibiliteit voor gehoorapparaat inschakelen"
-
- "TTY uit"
- "TTY vol"
- "TTY HCO"
- "TTY VCO"
-
- "ERI-tekst"
- "DTMF-tonen"
+ "DTMF-tonen""De lengte van DTMF-tonen instellen"
-
- "Normaal"
- "Lang"
-
- "Netwerkbericht"
+ "Netwerkbericht""Uw telefoon activeren"
- "U moet een speciale oproep uitvoeren om uw telefoonservice te activeren. "\n\n"Nadat u op \'Activeren\' heeft gedrukt, luistert u naar de instructies om uw telefoon te activeren."
- "Raak \'Activeren\' aan om een speciale oproep te plaatsen waarmee uw telefoon wordt geactiveerd op het mobiele netwerk van uw provider, zodat u kunt bellen en verbinding kunt maken met mobiele gegevensnetwerken."
+ "U moet een speciale oproep uitvoeren om uw telefoonservice te activeren. "\n\n"Nadat u op \'Activeren\u2019 heeft gedrukt, luistert u naar de instructies om uw telefoon te activeren.""Activering overslaan?""Als u de activering overslaat, kunt u niet bellen of verbinding maken met mobiele gegevensnetwerken (u kunt wel verbinding maken met Wi-Fi-netwerken). Tot u de telefoon activeert, wordt u gevraagd deze te activeren telkens wanneer u de telefoon inschakelt.""Overslaan"
- "Activeren""Activeren"
- "De telefoon is geactiveerd."
+ "De telefoon is geactiveerd.""Probleem met activeren""Volg de gesproken instructies tot u hoort dat de activering is voltooid."
- "Toetsenblok""Luidspreker"
- "Wacht even totdat uw telefoon is geprogrammeerd."
- "Programmeren mislukt"
+ "Wacht een ogenblik totdat uw telefoon is geprogrammeerd."
+ "Programmeren mislukt""Uw telefoon is nu geactiveerd. Het kan maximaal vijftien minuten duren voordat de service actief is."
- "Uw telefoon is niet geactiveerd. "\n"Zoek een plek waar u betere dekking heeft (in de buurt van een raam of buiten). "\n\n"Probeer het opnieuw of bel de klantenservice voor meer opties."
+ "Uw telefoon is niet geactiveerd. "\n"Zoek een plek waar u betere dekking heeft (in de buurt van een raam of buiten). "\n\n"Probeer het opnieuw of bel de klantenservice voor meer opties.""VEEL SPC-FOUTEN""Terug""Opnieuw proberen""Volgende"
- "Terug"
- "EcmExitDialog""Modus voor noodoproepen ingeschakeld""Modus voor noodoproepen""Gegevensverbinding uitgeschakeld"
-
- "Er is al %s minuut geen dataverbinding"
- "Er is al %s minuten geen dataverbinding"
-
-
- "De telefoon staat %s minuut in de modus voor noodoproepen. In deze modus kunt u geen apps gebruiken waarvoor een dataverbinding nodig is. Wilt u de modus verlaten?"
- "De telefoon staat %s minuten in de modus voor noodoproepen. In deze modus kunt u geen apps gebruiken waarvoor een dataverbinding nodig is. Wilt u de modus verlaten?"
-
-
- "De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon staat %s minuut in deze modus. Wilt u de modus verlaten?"
- "De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon staat %s minuten in deze modus. Wilt u de modus verlaten?"
-
- "De geselecteerde actie is niet beschikbaar tijdens noodoproepen"
- "Modus voor noodoproepen verlaten"
+ "De geselecteerde actie is niet beschikbaar tijdens noodoproepen."
+ "Modus voor noodoproepen verlaten""Ja""Nee""Negeren"
- "Instellingen voor voicemail"
- "<niet ingesteld>"
- "Service voor voicemail"
- "Instellingen voor %s"
+ "Service"
+ "Instelling"
+ "\u003CNiet ingesteld\u003E""Andere instellingen voor bellen"
- "Bellen"
- "Bellen via ^1"\n"^2"
- "Sleep naar rechts om op te nemen"
- "Sleep naar links om de belsoftware uit te schakelen"
- "Sleep naar links om te weigeren"
- "Sleep naar rechts om op te nemen en"\n"actieve oproep in de wacht te zetten"
- "Sleep naar rechts om op te nemen en"\n"actieve oproep te beëindigen"
- "Sleep naar rechts om op te nemen en"\n"oproep in de wacht te beëindigen"
- "Beantw."
- "Weigeren"
+ "Bellen via %s""contactfoto""privé""contact selecteren""Instellingen voor bellen via internet""Accounts voor internetoproepen (SIP)""Accounts"
- "Accounts en status voor internetoproepen (SIP) beheren""Inkomende gesprekken ontvangen""Verkort levensduur van accu"
- "Oproepopties configureren""Internetoproepen gebruiken""Internetoproepen gebruiken (alleen Wi-Fi)""Voor alle oproepen indien gegevensnetwerk beschikbaar is""Alleen voor internetoproepen""Vragen bij elke oproep""Voor alle oproepen"
- "Automatische registratie"
- "Uitgaande oproep via SIP""Bellen""Account voor internetoproepen gebruiken:""Altijd gebruiken voor internetoproepen"
- "U kunt \'Oproepinstellingen\' gebruiken om te wijzigen welk account u standaard voor internetoproepen wilt gebruiken door daar een ander account te selecteren."
+ "Via het scherm \'Telefoon \u003E Instellingen \u003E Instellingen voor bellen via internet \u003E Accounts\u2019 kunt u het account wijzigen dat u standaard wilt gebruiken voor bellen via internet.""Oproep met mobiele telefoon""Internetoproep""Geen account voor internetoproepen"
- "U heeft geen accounts voor internetoproepen op deze telefoon. Nu toevoegen?"
+ "Er zijn geen accounts voor bellen via internet ingesteld op deze telefoon. Wilt u nu een account toevoegen?""Toevoegen""Account toevoegen""Account verwijderen""SIP-accounts"
- "Het account opslaan..."
- "Het account verwijderen..."
+ "Het account opslaan\u2026"
+ "Het account verwijderen\u2026""Opslaan""Annuleren""Het profiel sluiten""OK""Sluiten"
- "Primair"
- "Dit instellen als mijn primaire account"
- "Gebruikt voor uitgaande oproepen"
- "Geavanceerde instellingen""Primair account. %s"
- "Status controleren..."
- "Registreren..."
- "Nog steeds bezig..."
- "Oproepen worden niet ontvangen"
- "Accountregistratie gestopt omdat er geen internetverbinding is"
- "Accountregistratie gestopt omdat er geen Wi-Fi-verbinding is"
- "Accountregistratie mislukt"
- "Oproepen ontvangen"
+ "Status controleren\u2026"
+ "Registreren\u2026"
+ "Nog steeds bezig\u2026"
+ "Oproepen worden niet ontvangen."
+ "Accountregistratie gestopt omdat er geen internetverbinding is."
+ "Accountregistratie gestopt omdat er geen Wi-Fi-verbinding is."
+ "Accountregistratie mislukt."
+ "Oproepen worden ontvangen.""Accountregistratie mislukt: (%s). We proberen het later opnieuw."
- "Accountregistratie mislukt: gebruikersnaam of wachtwoord onjuist"
- "Accountregistratie mislukt: controleer de servernaam"
- "Dit account wordt momenteel gebruikt door de app %s"
+ "Accountregistratie mislukt: gebruikersnaam of wachtwoord onjuist."
+ "Accountregistratie mislukt: controleer de servernaam."
+ "Dit account wordt momenteel gebruikt door de app %s.""SIP-accountdetails""SIP-accountdetails""Server"
@@ -660,25 +505,22 @@
"Poortnummer""Transporttype""Keepalive verzenden"
- "SIP-keepalive-berichten verzenden"
- "Automatische registratie"
- "Het profiel automatisch registreren""Instellen als primair account""Gebruikt voor uitgaande oproepen""Optionele instellingen""Gebruikersnaam voor verificatie""Gebruikersnaam die voor de verificatie wordt gebruikt"
- "<Niet ingesteld>"
- "<Gelijk aan gebruikersnaam>"
- "<Optioneel>"
- "▷ Aanraken om alles weer te geven"
- "▽ Aanraken om alles te verbergen"
- "%s is verplicht en mag niet worden leeggelaten"
- "Het poortnummer moet tussen 1000 en 65534 liggen"
+ "\u003CNiet ingesteld\u003E"
+ "\u003CGelijk aan gebruikersnaam\u003E"
+ "\u003COptioneel\u003E"
+ "\u25B7 kiezen om alles te tonen"
+ "\u25BD kiezen om alles te verbergen"
+ "%s is verplicht en mag niet worden leeggelaten."
+ "Het poortnummer moet tussen 1000 en 65534 liggen.""Geen internetverbinding""Geen Wi-Fi-verbinding"
- "Controleer uw internetverbinding voordat u belt via internet"
- "Voor internetoproepen moet u verbinding hebben met een Wi-Fi-netwerk (gebruik \'Draadloze en netwerkinstellingen\')"
+ "Controleer uw internetverbinding voordat u belt via internet."
+ "Voor internetoproepen moet u verbinding hebben met een Wi-Fi-netwerk (gebruik de instellingen bij \'Draadloos \u0026 netwerken\u2019).""Bellen via internet niet ondersteund""Automatisch""Altijd verzenden"
@@ -687,7 +529,7 @@
"Ik bel je zo terug.""Ik bel je later.""Kan nu niet opnemen. Bel me later."
- "Aangepast bericht..."
+ "Aangepast bericht""Snelle reacties""Snelle reacties bewerken"
@@ -705,7 +547,6 @@
"ster""nul""hekje"
- "zoeken""bellen""backspace""Telefoonluidspreker is ingeschakeld."
@@ -715,9 +556,55 @@
"Weigeren""Trillen""Trillen"
-
- "Altijd"
- "Alleen indien stil"
- "Nooit"
-
+ "Beltoon"
+ "Beltoon telefoon"
+ "Trillen bij bellen"
+ "DTMF-tonen kiestoetsen"
+ "Beltoon"
+
+
+ Van netwerk veranderen (2G/3G)
+ Hiermee kunnen apps op elk moment wisselen tussen 2G en 3G. 3G is sneller, maar verbruikt meer stroom en kan duurder zijn.
+
+
+ Nationale gegevensroaming
+
+ Verbinding maken met gegevensdiensten bij nationaal roamen
+
+ Verbinding verbreken met gegevensdiensten bij nationaal roamen
+
+ Mijn telefoonnummer
+ Telefoonnummer van dit apparaat instellen
+
+
+ Voicemailmeldingen
+
+ Meldingen tonen voor nieuwe voicemailberichten
+
+
+ Voorkeursnetwerkmodus: LTE/WCDMA/GSM
+
+ Voorkeursnetwerkmodus: LTE/CDMA/EvDo
+
+ Voorkeursnetwerkmodus: LTE/CMDA/EvDo/GSM/WCDMA
+
+
+ Toetsenblokinstellingen
+ Instellingen voor het numerieke toetsenblok
+
+
+ Ruisonderdrukking
+ Ruisonderdrukking inschakelen tijdens gesprekken
+
+
+ Geavanceerd
+ Nabijheidssensor actief houden
+ Nabijheidssensor niet uitschakelen tijdens bellen met een headset
+ Vergrendelen na einde gesprek
+ Automatisch vergrendelen als het gesprek beëindigd en het scherm uit is
+ Trillen bij aannemen
+ Elke 45 seconden trillen
+ Elke 45 seconden trillen bij uitgaande gesprekken
+ Trillen bij ophangen
+ Trillen bij wachten
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index e4fe6f694..b25b48447 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -25,39 +25,27 @@
"Numer prywatny""Płatny telefon""Oczekujące"
- "Bieżące połączenie""Linia jest zajęta""Sieć zajęta""Brak odpowiedzi, przekroczono limit czasu""Serwer nieosiągalny""Numer nieosiągalny""Nieprawidłowa nazwa użytkownika lub hasło"
- "Połączenie spoza sieci"
+ "Połączenie spoza sieci""Błąd serwera. Spróbuj ponownie później.""Brak sygnału""Przekroczono limit ACM""Sieci bezprzewodowe są wyłączone"
- "Brak lub błąd karty SIM"
+ "Brak lub błąd karty SIM""Obszar nieobsługiwany""Połączenia są ograniczone do listy ustalonych numerów."
- "Nie można wykonywać połączeń wychodzących, gdy włączona jest blokada dzwonienia."
+ "Nie można wykonywać połączeń wychodzących, gdy włączona jest blokada dzwonienia.""Wszystkie połączenia są zablokowane przez funkcję kontroli dostępu.""Połączenia alarmowe są zablokowane przez funkcję kontroli dostępu.""Zwykłe połączenia są zablokowane przez funkcję kontroli dostępu."
- "CDMA: telefon zablokowany do momentu ponownego uruchomienia."
- "CDMA: połączenie porzucone."
- "CDMA: połączenie przechwycone."
- "CDMA: zmiana kolejności."
- "CDMA: odrzucenie opcji usługi."
- "CDMA: kolejność ponawiania próby."
- "CDMA: dostęp zakończony niepowodzeniem."
- "CDMA: zajęte."
- "Możliwe jest wykonywanie tylko połączeń alarmowych."
- "Nieprawidłowy numer"
+ "Nieprawidłowy numer""Poł. konferencyjne""Połączenie zostało zerwane."
- "Ponów próbę"
- "Połączenie zostało zerwane""OK""Kod MMI został rozpoczęty""Uruchomiony kod USSD..."
@@ -69,23 +57,14 @@
"Przewodowy zestaw słuch.""Bluetooth""Wysłać następujące dzwonki?"\n
- "Wysyłanie sygnałów"\n
+ "Wysyłanie sygnałów"\n"Wyślij""Tak""Nie"
- "Zastąp symbol wieloznaczny"
+ "Zastąp symbol wieloznaczny""Brakuje numeru poczty głosowej""Na karcie SIM nie ma zapisanego numeru poczty głosowej.""Dodaj numer"
- "Ładowanie..."
- "Wprowadź kod PIN, aby odblokować kartę SIM."
- "Karta SIM jest odblokowana"
- "Nowy kod PIN do karty SIM"
- "Aby potwierdzić, wpisz ponownie nowy kod PIN do karty SIM"
- "Wprowadzone kody PIN do karty SIM nie są identyczne. Spróbuj ponownie."
- "Wprowadź kod PUK, aby odblokować kartę SIM"
- "Błędny kod PUK!"
- "Dalej""Karta SIM została odblokowana. Odblokowywanie telefonu...""Kod PIN do karty SIM odblokowujący sieć""Odblokuj"
@@ -93,8 +72,6 @@
"Żądanie odblokowania sieci...""Żądanie odblokowania sieci zakończyło się niepowodzeniem.""Sieć została pomyślnie odblokowana."
- "IMEI"
- "Numer MEID""Ustawienia połączenia GSM""Ustawienia połączenia CDMA""Punkty dostępowe"
@@ -109,6 +86,7 @@
"Dodatkowe ustawienia tylko połączenia CDMA""Ustawienia usługi sieciowej""ID rozmówcy"
+ "Wczytywanie ustawień…""Ukrycie numeru podczas rozmów wychodzących""Numer wyświetlany w połączeniach wychodzących""Użyj domyślnych ustawień operatora, aby wyświetlać mój numer w połączeniach wychodzących"
@@ -127,17 +105,17 @@
"Numer, gdy zajęty""Przekazywanie do {0}""Wyłączone"
- "Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer jest zajęty."
+ "Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer jest zajęty.""Przekieruj, gdy nieodebrane""Numer, gdy nieodebrane""Przekazywanie do {0}""Wyłączone"
- "Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer nie odpowiada."
+ "Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer nie odpowiada.""Przekieruj, gdy nieosiągalny""Numer, gdy nieosiągalny.""Przekazywanie do {0}""Wyłączone"
- "Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer jest nieosiągalny."
+ "Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer jest nieosiągalny.""Ustawienia połączeń""Błąd w ustawieniach połączenia""Czytanie ustawień..."
@@ -145,8 +123,8 @@
"Cofanie ustawień…""Nieoczekiwana odpowiedź z sieci.""Błąd sieci lub karty SIM."
- "Dozwolone są wyłącznie operacje na numerach ustalonych."
- "Przed wyświetleniem tych ustawień należy włączyć sieci bezprzewodowe."
+ "W aplikacji Telefon włączone jest ustawienie Numery ustalone. W rezultacie niektóre funkcje związane z połączeniami nie działają."
+ "Przed wyświetleniem tych ustawień włącz radio.""OK""Włącz""Wyłącz"
@@ -156,10 +134,9 @@
"Ukryj numer""Pokaż numer"
- "Zapisz numer poczty głosowej""Numer poczty głosowej został zmieniony."
- "Zmiana numeru poczty głosowej nie powiodła się."\n"Jeśli problem będzie występował nadal, skontaktuj się z operatorem."
- "Zmiana numeru przekazywania nie powiodła się."\n"Jeśli problem będzie występował nadal, skontaktuj się z operatorem."
+ "Nie można zmienić numeru poczty głosowej."\n"Jeśli problem będzie się powtarzał, skontaktuj się z operatorem."
+ "Nie można zmienić numeru przekierowania."\n"Jeśli problem będzie się powtarzał, skontaktuj się z operatorem.""Nie można pobrać i zapisać bieżących ustawień numeru przekazywania."\n"Czy mimo to przełączyć na nowego dostawcę?""Nie dokonano żadnych zmian.""Wybierz usługę poczty głosowej"
@@ -171,14 +148,14 @@
"Wyszukaj sieci""Podczas wyszukiwania sieci wystąpił błąd.""Rejestrowanie w %s..."
- "Karta SIM nie pozwala na połączenia z tą siecią."
- "Nie można nawiązać połączenia z tą siecią. Spróbuj ponownie później."
+ "Karta SIM nie pozwala na połączenia z tą siecią."
+ "Nie można teraz połączyć się z tą siecią. Spróbuj ponownie później.""Zarejestrowano w sieci."
- "Wybierz operatora sieci"
+ "Wybierz operatora sieci.""Wyszukaj wszystkie dostępne sieci"
- "Wybierz automatycznie"
- "Automatycznie wybierz preferowaną sieć"
- "Automatyczna rejestracja..."
+ "Wybierz automatycznie"
+ "Automatycznie wybierz preferowaną sieć"
+ "Automatyczna rejestracja...""Tryb sieci""Zmień tryb działania sieci""Preferowany tryb sieci"
@@ -192,17 +169,17 @@
"Preferowany tryb sieci: tylko EvDo""Preferowany tryb sieci: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Tylko EvDo""CDMA bez EvDo"
- "Automatyczny CDMA/EvDo"
- "Automatyczny GSM/WCDMA"
+ "Automatyczny CDMA/EvDo"
+ "Automatyczny GSM/WCDMA""Tylko WCDMA""Tylko GSM"
- "Preferowany GSM/WCDMA"
+ "Preferowany GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Włącz przesył danych"
@@ -210,12 +187,11 @@
"Dane w roamingu""Połącz z usługami przesyłu danych podczas roamingu""Połącz z usługami przesyłu danych podczas roamingu"
- "Utracono łączność danych, ponieważ pozostawiono wyłączony roaming danych w sieci macierzystej."
+ "Połączenie transmisji danych zostało utracone, ponieważ opuszczono sieć macierzystą przy wyłączonej opcji danych w roamingu.""Czy pozwolić na przesył danych w roamingu? Operator może naliczać wysokie opłaty roamingowe!""Opcje GSM/UMTS""Opcje CDMA""Użycie danych"
- "Zasady operatora dot. danych""Ilość użytych danych w bieżącym okresie""Okres użycia danych""Zasada prędkości przesyłu danych"
@@ -226,7 +202,6 @@
"Minęło %1$d٪ cyklu"\n"Następny okres za: %2$d dni (%3$s)""Zmniejsz transfer do %1$d Kb/s jeśli przekroczę limit użycia danych""Więcej informacji na temat zasad dotyczących użycia danych w sieci komórkowej tego operatora"
- "Wiadomość SMS transmisji komórkowej""Wiadomość SMS transmisji komórkowej""Wiadomość SMS transmisji komórkowej""Wiadomość SMS transmisji komórkowej włączona"
@@ -267,15 +242,6 @@
"koreański""chiński""hebrajski"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Języki""Lokalna prognoza pogody"
@@ -305,9 +271,9 @@
"Oferty pracy""Oferty pracy włączone""Oferty pracy wyłączone"
- "Placówki medyczne, zakłady opieki zdrowotnej i szpitale"
- "Placówki medyczne, zakłady opieki zdrowotnej i szpitale włączone"
- "Placówki medyczne, zakłady opieki zdrowotnej i szpitale wyłączone"
+ "Placówki medyczne, zakłady opieki zdrowotnej i szpitale"
+ "Placówki medyczne, zakłady opieki zdrowotnej i szpitale włączone"
+ "Placówki medyczne, zakłady opieki zdrowotnej i szpitale wyłączone""Wiadomości technologiczne""Wiadomości technologiczne włączone""Wiadomości technologiczne wyłączone"
@@ -322,35 +288,17 @@
"Tylko WCDMA""Tylko GSM""GSM/WCDA (preferowany WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Używaj tylko sieci 2G""Oszczędza baterię""Wybór systemu"
- "Zmień tryb roamingu CDMA"
+ "Zmień tryb roamingu CDMA""Wybór systemu""Tylko główne""Automatycznie"
- "Tryb roamingu CDMA"
- "Zmień tryb roamingu CDMA"
- "Tryb roamingu CDMA"
-
- "Tylko sieci domowe"
- "Sieci stowarzyszone"
- "Dowolna sieć"
-
-
- "0"
- "1"
- "2"
-
+ "Subskrypcja CDMA""Ustawienia sieci CDMA""Funkcja jeszcze niezaimplementowana.""Ustawienia sieci CDMA"
@@ -359,21 +307,11 @@
"Tylko CDMA""Tylko EvDo"
-
- "0"
- "1"
- "2"
-
- "Subskrypcja CDMA""Zmiana między RUIM/SIM i NV""subskrypcja""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktywuj urządzenie""Skonfiguruj plan danych"
@@ -390,18 +328,16 @@
"Zarządzanie ustalonymi numerami""Zmień kod PIN pozwalający na zarządzanie ustalonymi numerami""Zarządzanie listą numerów telefonów"
- "Prywatność połączeń głosowych"
+ "Prywatność połączeń głosowych""Włącz rozszerzony tryb prywatności"
- "Tryb TTY"
- "Włącz tryb TTY""Tryb TTY""Ustaw tryb TTY"
- "Automatyczne ponawianie próby"
- "Włącz tryb automatycznego ponawiania próby"
+ "Automatyczne ponawianie próby"
+ "Włącz tryb automatycznego ponawiania próby""Dodaj kontakt""Edytuj kontakt""Usuń kontakt"
- "Wprowadź PIN2"
+ "Wpisz PIN2""Nazwa""Numer""Zapisz"
@@ -414,56 +350,50 @@
"Usuń ustalony numer""Trwa usuwanie ustalonego numeru…""Usunięto ustalony numer."
- "Nie zaktualizowano usługi FDN: wprowadzono nieprawidłowy kod PIN."
- "Nie zaktualizowano usługi FDN: numer nie może przekraczać 20 cyfr."
+ "Nie zaktualizowano usługi FDN, ponieważ wpisano nieprawidłowy kod PIN."
+ "Nie zaktualizowano usługi FDN, ponieważ numer nie może być dłuższy niż 20 cyfr."
+ "Nie zaktualizowano FDN. PIN2 był niepoprawny lub numer telefonu został odrzucony.""Czytanie z karty SIM...""Brak kontaktów na karcie SIM""Wybierz kontakty do importowania"
- "Aby zaimportować kontakty z karty SIM, wyłącz tryb samolotowy."
+ "Aby zaimportować kontakty z karty SIM, najpierw wyłącz tryb samolotowy.""Włącz/wyłącz kod PIN do karty SIM""Zmień PIN do karty SIM""Kod PIN do karty SIM:""Stary kod PIN""Nowy kod PIN""Potwierdź nowy kod PIN"
- "Wprowadzony stary kod PIN jest nieprawidłowy. Spróbuj ponownie."
- "Wprowadzone kody PIN nie są identyczne. Spróbuj ponownie."
+ "Wpisany stary kod PIN jest nieprawidłowy. Spróbuj ponownie."
+ "Wpisane kody PIN nie są identyczne. Spróbuj ponownie.""Wpisz kod PIN o długości od 4 do 8 cyfr.""Wyłącz PIN do karty SIM""Włącz kod PIN do karty SIM""Proszę czekać..."
- "Kod PIN do karty SIM jest włączony"
- "PIN do karty SIM jest wyłączony"
- "Wprowadzony kod PIN był nieprawidłowy"
- "Kod PIN do karty SIM został pomyślnie zmieniony"
+ "Kod PIN do karty SIM jest włączony."
+ "PIN do karty SIM jest wyłączony."
+ "Wpisany kod PIN był nieprawidłowy."
+ "Kod PIN do karty SIM został zmieniony.""Błędne hasło, karta SIM jest zablokowana! Wymagany kod PUK2.""PIN2""Stary kod PIN2""Nowy PIN2""Potwierdź nowy kod PIN2"
- "Wprowadzony kod PUK2 jest nieprawidłowy. Spróbuj ponownie."
- "Wprowadzony stary kod PIN2 jest niepoprawny. Spróbuj ponownie."
- "Wprowadzone kody PIN2 nie są identyczne. Spróbuj ponownie."
+ "Wpisany kod PUK2 jest nieprawidłowy. Spróbuj ponownie."
+ "Wpisany stary kod PIN2 jest nieprawidłowy. Spróbuj ponownie."
+ "Wpisane kody PIN2 nie są identyczne. Spróbuj ponownie.""Wprowadź kod PIN2, który ma od 4 do 8 cyfr.""Wprowadź 8-cyfrowy kod PUK2."
- "Kod PIN2 został pomyślnie zmieniony"
+ "Kod PIN2 został pomyślnie zmieniony.""Wprowadź kod PUK2"
- "Błędne hasło, zmień kod PIN2 i spróbuj ponownie!"
- "Błędne hasło, karta SIM jest zablokowana! Wymagany kod PUK2."
+ "Błędne hasło. Zmień kod PIN2 i spróbuj ponownie."
+ "Błędne hasło, karta SIM jest zablokowana. Wymagany kod PUK2.""Gotowe""Poł. konferencyjne %s"
- "Powrót do połączenia"
- "Kontynuuj bez karty SIM"
- "Nie znaleziono karty SIM. Należy włożyć kartę SIM do telefonu."
- "Zamknij"
- "Odblokuj"
- "Uwierzytelnianie kodu PIN...""Numer poczty głosowej""Wybieranie""Ponawianie próby""Poł. konferencyjne""Połączenie"
- "Oczekujące połączenie CDMA""Połączenie zakończone""Oczekujące""Trwa rozłączanie"
@@ -473,7 +403,7 @@
"Połączenia nieodebrane""%s nieodebranych połączeń""Nieodebrane połączenie z %s"
- "Bieżące połączenie (%s)"
+ "Trwa połączenie""Oczekujące""Połączenie przychodzące""Nowa poczta głosowa"
@@ -482,13 +412,15 @@
"Nieznany numer poczty głosowej""Brak usługi""Wybrana sieć (%s) jest niedostępna"
+ "Rozłącz"
+ "Oddzwoń"
+ "Wiadomość""Aby rozpocząć połączenie, wyłącz najpierw tryb samolotowy""Nie zarejestrowano w sieci""Sieć komórkowa jest niedostępna.""Połączenie niezrealizowane, nie wprowadzono poprawnego numeru.""Połączenie nie zostało zrealizowane.""Rozpoczynanie sekwencji MMI..."
- "Trwa rozpoczynanie sekwencji kodu funkcji…""Nieobsługiwana usługa.""Nie można przełączyć rozmów.""Nie można rozdzielić połączenia."
@@ -500,18 +432,13 @@
"Połączenie alarmowe""Trwa włączanie sieci bezprzewodowych...""Obszar nieobsługiwany, ponowna próba..."
- "Połączenie niezrealizowane, %s nie jest numerem alarmowym!"
- "Połączenie niezrealizowane, należy wybrać numer alarmowy!"
+ "Połączenie niezrealizowane. %s nie jest numerem alarmowym!"
+ "Połączenie niezrealizowane. Wybierz numer alarmowy!""Aby zadzwonić, użyj klawiatury."
- "Dotknij klawiatury""Wstrzymaj"
- "Wznów""Zakończ""Panel numeryczny"
- "Ukryj"
- "Głośnik""Wycisz"
- "Bluetooth""Dodaj połączenie""Scal połączenia""Przełącz"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Tekst ERI"
- "Tony DTMF"
+ "Tony DTMF""Ustaw długość tonów DTMF""Normalne""Długie"
- "Komunikat sieciowy"
+ "Komunikat sieciowy""Aktywuj telefon""Aby aktywować usługę telekomunikacyjną, należy wykonać połączenie specjalne. "\n\n"Po naciśnięciu przycisku „Aktywuj” posłuchaj dostępnych instrukcji, aby aktywować telefon."
- "Dotknij opcji „Aktywuj”, aby wykonać specjalne połączenie aktywujące telefon w sieci komórkowej operatora. To umożliwi wykonywanie połączeń i łączenie się z komórkowymi sieciami transmisji danych.""Pominąć aktywację?""Jeśli pominiesz aktywację, nie będzie można wykonywać połączeń ani łączyć się z komórkowymi sieciami transmisji danych (łączenie się z sieciami Wi-Fi będzie jednak możliwe). Do momentu dokonania aktywacji odpowiedni monit będzie wyświetlany po każdym włączeniu telefonu.""Pomiń"
- "Aktywuj""Aktywuj"
- "Telefon został aktywowany."
+ "Telefon został aktywowany.""Problem z aktywacją""Postępuj zgodnie z instrukcjami głosowymi, aż usłyszysz informację, że aktywacja została ukończona."
- "Klawiatura""Głośnik"
- "Czekaj, aż programowanie telefonu zostanie zakończone."
- "Programowanie nie powiodło się"
+ "Czekaj, aż programowanie telefonu zostanie zakończone."
+ "Programowanie nie powiodło się""Telefon został aktywowany. Uruchomienie usługi może potrwać do 15 minut."
- "Telefon nie został aktywowany. "\n"Być może należy przejść do miejsca, w którym sygnał sieci jest silniejszy (w pobliżu okna lub na zewnątrz budynku). "\n\n"Spróbuj ponownie lub zadzwoń do działu obsługi klienta, aby uzyskać więcej informacji."
+ "Telefon nie został aktywowany. "\n"Być może należy przejść do miejsca, w którym sygnał sieci jest silniejszy (w pobliżu okna lub na zewnątrz budynku). "\n\n"Spróbuj ponownie lub zadzwoń do działu obsługi klienta, aby uzyskać więcej informacji.""NADMIERNA LICZBA NIEPOWODZEŃ SPC""Wstecz""Spróbuj ponownie""Dalej"
- "Wstecz""EcmExitDialog""Włączono tryb alarmowego połączenia zwrotnego""Tryb alarmowego połączenia zwrotnego"
@@ -569,87 +491,69 @@
"Brak połączenia transmisji danych przez %s min"
- "Telefon będzie w trybie alarmowego połączenia zwrotnego przez %s min. W tym trybie nie można używać aplikacji korzystających z połączenia transmisji danych. Czy chcesz teraz zakończyć?"
- "Telefon będzie w trybie alarmowego połączenia zwrotnego przez %s min. W tym trybie nie można używać aplikacji korzystających z połączenia transmisji danych. Czy chcesz teraz zakończyć?"
+ "Telefon będzie w trybie alarmowym połączenia zwrotnego przez %s minutę. W tym trybie nie można korzystać z aplikacji używających połączeń danych. Czy chcesz teraz wyjść?"
+ "Telefon będzie w trybie alarmowym połączenia zwrotnego przez %s min. W tym trybie nie można korzystać z aplikacji używających połączeń danych. Czy chcesz teraz wyjść?"
- "Wybrana akcja jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez %s min. Czy chcesz teraz zakończyć?"
- "Wybrana akcja jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez %s min. Czy chcesz teraz zakończyć?"
+ "Wybrana akcja nie jest dostępna w trybie alarmowym połączenia zwrotnego. Telefon będzie w tym trybie %s min. Czy chcesz teraz wyjść?"
+ "Wybrana akcja nie jest dostępna w trybie alarmowym połączenia zwrotnego. Telefon będzie w tym trybie %s min. Czy chcesz teraz wyjść?"
- "Wybrana akcja jest niedostępna przy nawiązanym połączeniu alarmowym"
- "Kończenie trybu alarmowego połączenia zwrotnego"
+ "Wybrana akcja jest niedostępna przy nawiązanym połączeniu alarmowym."
+ "Kończenie trybu alarmowego połączenia zwrotnego""Tak""Nie""Zamknij"
- "Ustawienia poczty głosowej"
- "<nie ustawiono>"
- "Usługa poczty głosowej"
- "Ustawienia dla %s"
+ "Usługa"
+ "Konfiguracja"
+ "<Nie ustawiono>""Inne ustawienia połączeń"
- "Wybierz numer"
- "Połączenie za pośrednictwem operatora ^1"\n"^2"
- "Przeciągnij w prawo, aby odebrać"
- "Przeciągnij w lewo, aby wyciszyć dzwonek"
- "Przeciągnij w lewo, aby odrzucić"
- "Przeciągnij w prawo, aby odebrać"\n"i zawiesić aktywne połączenie"
- "Przeciągnij w prawo, aby odebrać"\n"i zakończyć aktywne połączenie"
- "Przeciągnij w prawo, aby odebrać"\n"i zakończyć zawieszone połączenie"
- "Odbierz"
- "Odrzuć"
+ "Nawiązywanie połączenia przez %s""zdjęcie kontaktu""przejdź do rozmowy prywatnej""wybierz kontakt""Dzwonienie przez internet""Konta do połączeń SIP""Konta"
- "Zarządzaj kontami do połączeń przez internet (SIP)""Odbieraj przychodzące""Powoduje skrócenie czasu pracy baterii"
- "Konfiguruj opcje połączenia""Dzwoń przez internet""Dzwoń przez internet (tylko Wi-Fi)""Wszystkie połączenia, gdy transmisja danych jest dostępna""Tylko internetowe""Pytaj przy każdym połączeniu""Wszystkie połączenia"
- "Automatyczna rejestracja"
- "Połączenie wychodzące przez SIP""Zadzwoń""Użyj konta do dzwonienia przez internet:""Zawsze używaj do połączeń przez internet"
- "W Ustawieniach połączeń możesz zmienić konto połączeń przez internet, które będzie domyślnie używane przy nawiązywaniu połączeń, wybierając inne konto w sekcji Ustawienia połączeń przez internet"
+ "Możesz zmienić konto używane domyślnie do dzwonienia przez internet na ekranie Telefon > Ustawienia > Dzwonienie przez internet > Konta.""Komórkowe połączenie telefoniczne""Połączenie przez internet""Brak konta do połączeń przez internet"
- "W tym telefonie nie ma kont do połączeń przez internet. Czy dodać teraz takie konto?"
+ "Na tym telefonie nie ma jeszcze kont do dzwonienia przez internet. Czy chcesz dodać takie konto teraz?""Dodaj""Dodaj konto""Usuń konto""Konta SIP"
- "Trwa zapisywanie konta..."
- "Trwa usuwanie konta..."
+ "Trwa zapisywanie konta..."
+ "Trwa usuwanie konta...""Zapisz""Odrzuć""Zamknij profil""OK""Zamknij"
- "Podstawowe"
- "Ustaw jako konto podstawowe"
- "Używane do połączeń wychodzących"
- "Ustawienia zaawansowane""Konto podstawowe. %s""Sprawdzanie stanu..."
- "Rejestrowanie..."
- "Kontynuowanie prób..."
- "Połączenia nie są odbierane"
- "Rejestracja konta została zatrzymana, ponieważ brak połączenia internetowego"
- "Rejestracja konta została zatrzymana, ponieważ brak jest połączenia Wi-Fi"
- "Rejestracja konta zakończona niepowodzeniem"
- "Odbieranie połączeń"
+ "Rejestrowanie..."
+ "Nadal próbuje..."
+ "Połączenia nie są odbierane."
+ "Rejestracja konta została zatrzymana, ponieważ brak połączenia internetowego."
+ "Rejestracja konta została zatrzymana, ponieważ brak jest połączenia Wi-Fi."
+ "Rejestracja konta zakończyła się niepowodzeniem."
+ "Odbieranie połączeń.""Rejestracja konta zakończona niepowodzeniem: (%s); próba zostanie podjęta później"
- "Rejestracja konta zakończona niepowodzeniem: nieprawidłowa nazwa użytkownika lub hasło"
- "Rejestracja konta zakończona niepowodzeniem: sprawdź nazwę serwera"
- "To konto jest obecnie używane przez aplikację %s"
+ "Rejestracja konta zakończyła się niepowodzeniem: nieprawidłowa nazwa użytkownika lub hasło."
+ "Rejestracja konta zakończyła się niepowodzeniem: sprawdź nazwę serwera."
+ "To konto jest obecnie używane przez aplikację %s.""Szczegóły konta SIP""Szczegóły konta SIP""Serwer"
@@ -660,9 +564,6 @@
"Numer portu""Typ transportu""Utrzymuj połączenie"
- "Wysyłaj komunikaty o utrzymaniu połączeń SIP"
- "Automatyczna rejestracja"
- "Zarejestruj profil automatycznie""Konto podstawowe""Używane do połączeń wychodzących""Ustawienia opcjonalne"
@@ -673,12 +574,12 @@
"<Opcjonalnie>""▷ Dotknij, aby wyświetlić wszystko""▽ Dotknij, aby ukryć wszystko"
- "Pole %s jest wymagane i nie może pozostać puste"
- "Numer portu powinien mieć wartość od 1000 do 65 534"
+ "Pole %s jest wymagane i nie może pozostać puste."
+ "Numer portu powinien mieć wartość od 1000 do 65 534.""Brak połączenia internetowego""Brak połączenia Wi-Fi"
- "Aby nawiązać połączenie przez internet, sprawdź najpierw połączenie internetowe"
- "Połączenia przez internet wymagają nawiązania połączenia z siecią Wi-Fi (użyj ustawień sieci zwykłych i bezprzewodowych)"
+ "Aby zadzwonić przez internet, sprawdź najpierw połączenie internetowe."
+ "By dzwonić przez internet, musisz nawiązać połączenie z siecią Wi-Fi (użyj ustawień sieci zwykłych i bezprzewodowych).""Brak obsługi połączeń przez internet""Automatycznie""Zawsze wysyłaj"
@@ -687,7 +588,7 @@
"Za chwilę do Ciebie oddzwonię.""Zadzwonię do Ciebie później.""Nie mogę rozmawiać. Zadzwonisz później?"
- "Wiadomość niestandardowa"
+ "Wiadomość niestandardowa""Szybkie odpowiedzi""Edytuj szybkie odpowiedzi"
@@ -705,7 +606,6 @@
"gwiazdka""zero""znak funta"
- "szukaj""wybierz numer""cofnij""Głośnik włączony."
@@ -715,9 +615,16 @@
"Odrzuć""Wibracje""Wibracje"
+ "Dzwonek""Zawsze""Tylko po wyciszeniu""Nigdy"
+ "Dzwonek telefonu"
+ "Wibracje i dzwonek"
+ "Dźwięki wybierania numeru"
+ "Dzwonek"
+ Zmień sieć (2G/3G)
+ Aplikacja ma możliwość przełącania się między siecią 2G i 3G. 3G jest szybsze, ale zużywa szybciej baterię.
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index e6613b46a..18352cb10 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -25,39 +25,27 @@
"Número particular""Telefone público""Em espera"
- "Chamada actual""Linha ocupada""Rede ocupada""Sem resposta, tempo limite excedido""Servidor inacessível""Número incontactável"
- "Nome de utilizador ou palavra-passe incorretos"
- "Chamada efetuada de fora da rede"
+ "Nome de utilizador ou palavra-passe incorrectos"
+ "Chamada efectuada de fora da rede""Erro do servidor. Tente novamente mais tarde.""Sem sinal""Limite de ACM excedido""Rádio desactivado"
- "Sem cartão SIM ou erro do cartão"
+ "Sem cartão SIM ou erro do cartão""Fora da área do serviço""As chamadas efectuadas são restringidas por FDN."
- "Não é possível efectuar chamadas com o barramento de chamadas activado."
+ "Não é possível efectuar chamadas com o barramento de chamadas activado.""Todas as chamadas são restringidas por controlo de acesso.""As chamadas de emergência são restringidas por controlo de acesso.""As chamadas normais são restringidas por controlo de acesso."
- "CDMA: telefone bloqueado até ao ciclo de energia."
- "CDMA: a chamada caiu."
- "CDMA: chamada interceptada."
- "CDMA: reordenar."
- "CDMA: Rejeitar Opção de Serviço."
- "CDMA: pedido de nova tentativa."
- "CDMA: Acesso sem êxito."
- "CDMA: impedido."
- "Apenas podem ser efectuadas chamadas de Emergência"
- "Número inválido"
+ "Número inválido""Chamada de conferência""A chamada perdeu-se."
- "Tentar novamente"
- "Chamada perdida""OK""Código de MMI iniciado""A executar código USSD..."
@@ -69,23 +57,14 @@
"Auscultadores com fios""Bluetooth""Enviar os seguintes tons?"\n
- "A enviar tons"\n
+ "A enviar tons"\n"Enviar""Sim""Não"
- "Substituir o carácter universal por"
+ "Substituir o carácter universal por""Número do correio de voz em falta""Não existe um número de correio de voz armazenado no cartão SIM.""Adicionar número"
- "A carregar..."
- "Introduza o código PIN para desbloquear o cartão SIM."
- "SIM desbloqueado"
- "Novo código PIN do cartão SIM"
- "Introduza o novo código PIN do cartão SIM novamente para confirmar"
- "Os PINs do cartão SIM introduzidos não coincidem. Tente novamente."
- "Introduza o código PUK para desbloquear o cartão SIM"
- "Código PUK incorrecto!"
- "Continuar""O cartão SIM foi desbloqueado. O telefone está a ser desbloqueado...""PIN para desbloqueio de rede do cartão SIM""Desbloquear"
@@ -93,8 +72,6 @@
"A pedir desbloqueio de rede...""O pedido de desbloqueio de rede falhou.""Desbloqueio de rede bem sucedido."
- "IMEI"
- "MEID""Definições de chamadas GSM""Definições de chamada CDMA""Nomes dos pontos de acesso"
@@ -109,6 +86,7 @@
"Definições adicionais de chamadas apenas CDMA""Definições do serviço de rede""ID do autor da chamada"
+ "A carregar as definições...""Ocultar o número em chamadas efectuadas""Número apresentado em chamadas efectuadas""Utilizar as predefinições do operador para apresentar o meu número nas chamadas efectuadas"
@@ -122,22 +100,22 @@
"A reencaminhar todas as chamadas""A encaminhar todas as chamadas para {0}""O número está indisponível"
- "Desativado"
+ "Desactivado""Reencaminhar quando ocupado""Número no caso de estar ocupado""A encaminhar para {0}"
- "Desativado"
- "O seu operador não suporta a desactivação do reencaminhamento de chamadas quando o telefone está ocupado."
+ "Desactivado"
+ "O seu operador não suporta a desactivação do reencaminhamento de chamadas quando o telemóvel está ocupado.""Reencaminhar quando não atende""Número no caso de não atender""A encaminhar para {0}"
- "Desativado"
- "O seu operador não suporta a desactivação do reencaminhamento de chamadas quando o telefone não atende."
+ "Desactivado"
+ "O operador não suporta a desactivação do reencaminhamento de chamadas quando o telemóvel não atende.""Reencaminhar quando está inacessível""Número no caso de estar inacessível""A encaminhar para {0}"
- "Desativado"
- "O seu operador não suporta a desactivação do reencaminhamento de chamadas quando o telefone não está acessível."
+ "Desactivado"
+ "O seu operador não suporta a desactivação do reencaminhamento de chamadas quando o telemóvel não está acessível.""Definições de chamadas""Erro nas definições de chamada""A ler as definições..."
@@ -145,8 +123,8 @@
"A reverter as definições…""Resposta inesperada da rede.""Erro do cartão SIM ou da rede."
- "Apenas são autorizadas operações para números fixos autorizados"
- "Active o rádio antes de visualizar estas definições."
+ "A definição Números Autorizados da aplicação do seu Telemóvel está activada. Por conseguinte, algumas funcionalidades relacionadas com chamadas não estão a funcionar."
+ "Active o rádio antes de visualizar estas definições.""OK""Activar""Desactivar"
@@ -156,11 +134,10 @@
"Ocultar número""Mostrar número"
- "Guardar o número do correio de voz""O número do correio de voz foi alterado."
- "A alteração do número de correio de voz falhou."\n"Contacte o seu operador se este problema persistir."
- "A alteração do número de reencaminhamento falhou."\n"Contacte o seu operador se este problema persistir."
- "Não foi possível obter nem guardar as definições do número de encaminhamento atual."\n"Mudar para o novo fornecedor mesmo assim?"
+ "Não foi possível alterar o número de correio de voz. "\n" Contacte o seu operador se este problema persistir."
+ "Não foi possível alterar o número de encaminhamento. "\n" Contacte o seu operador se este problema persistir."
+ "Não foi possível obter nem guardar as definições do número de encaminhamento actual."\n"Mudar para o novo fornecedor mesmo assim?""Não foram efectuadas alterações.""Escolha o serviço de correio de voz""O meu operador"
@@ -171,14 +148,14 @@
"Procurar redes""Erro ao procurar redes.""A registar em %s..."
- "O cartão SIM não permite uma ligação a esta rede."
- "Não foi possível ligar a esta rede neste momento. Tente novamente mais tarde."
+ "O cartão SIM não permite uma ligação a esta rede."
+ "De momento, não é possível estabelecer ligação com esta rede. Tente novamente mais tarde.""Registado na rede."
- "Seleccione um operador de rede"
+ "Escolher um operador de rede""Procurar todas as redes disponíveis"
- "Seleccionar automaticamente"
- "Seleccionar rede preferida automaticamente"
- "Registo automático..."
+ "Seleccionar automaticamente"
+ "Seleccionar rede preferida automaticamente"
+ "Registo automático...""Modo de rede""Alterar o modo de funcionamento em rede""Modo de rede preferido"
@@ -192,30 +169,29 @@
"Modo de rede preferido: apenas EvDO""Modo de rede preferido: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Apenas EvDo""CDMA sem EvDo"
- "CDMA / EvDo automático"
- "GSM / WCDMA automático"
+ "CDMA/EvDo automático"
+ "GSM/WCDMA automático""Apenas WCDMA""Apenas GSM"
- "GSM / WCDMA preferido"
+ "GSM/WCDMA preferido"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Dados activados"
- "Activar acesso a dados através de rede móvel"
+ "Activar acesso a dados através da rede móvel""Roaming de dados""Ligar a serviços de dados em roaming""Ligar a serviços de dados em roaming"
- "A ligação de dados foi perdida porque saiu do alcance da sua rede e o roaming de dados estava desactivado."
+ "A conectividade de dados foi perdida porque saiu do alcance da sua rede e o roaming de dados estava desactivado.""Permitir roaming de dados? Os encargos de roaming podem ser significativos!""Opções GSM/UMTS""Opções CDMA""Utilização de dados"
- "Política de dados do operador""Dados utilizados no período actual""Período de utilização de dados""Política de classificação de dados"
@@ -226,7 +202,6 @@
"%1$d٪ do ciclo decorrido"\n"O período seguinte tem início dentro de %2$d dias (%3$s)""Velocidade de transmissão de dados reduzida para %1$d Kb/s se o limite de utilização de dados for excedido""Mais informações sobre a política de utilização de dados da rede móvel do seu operador."
- "Transmissão Celular SMS""Transmissão Celular SMS""Transmissão Celular SMS""Definições da Transmissão Celular SMS activada"
@@ -267,15 +242,6 @@
"Coreano""Chinês""Hebraico"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Idiomas""Informação Meteorológica Local"
@@ -300,14 +266,14 @@
"Anúncios activados""Anúncios desactivados""Cotações de Acções"
- "Cotações de acções activadas"
+ "Cotações de Acções activadas""Cotações de Acções desactivadas""Oportunidades de Emprego""Oportunidades de Emprego activadas""Oportunidades de Emprego desactivadas"
- "Clínica, Saúde e Hospital"
- "Clínica, Saúde e Hospital activado"
- "Clínica, Saúde e Hospital desactivado"
+ "Clínica, Saúde e Hospital"
+ "Clínica, Saúde e Hospital activado"
+ "Clínica, Saúde e Hospital desactivado""Notícias de Tecnologia""Notícias de Tecnologia activadas""Notícias de Tecnologia desactivadas"
@@ -322,35 +288,17 @@
"Apenas WCDMA""Apenas GSM""GSM/WCDA (WCDMA preferido)"
-
-
- "0"
- "1"
- "2"
- "3""Usar apenas redes 2G""Economiza bateria""Seleccionar sistema"
- "Alterar o modo de roaming cdma"
+ "Alterar o modo de roaming CDMA""Seleccionar sistema""Apenas redes domésticas""Automático"
- "Modo de Roaming CDMA"
- "Alterar o modo de roaming cdma"
- "Modo de roaming CDMA"
-
- "Apenas Redes Domésticas"
- "Redes Associadas"
- "Qualquer Rede"
-
-
- "0"
- "1"
- "2"
-
+ "Subscrição CDMA""Preferência de Rede CDMA""Ainda não implementado!""Preferências de rede CDMA"
@@ -359,23 +307,13 @@
"Apenas CDMA""Apenas EvDo"
-
- "0"
- "1"
- "2"
-
- "Subscrição CDMA""Alternar entre RUIM/SIM e NV""subscrição""RUIM/SIM""NV"
-
- "0"
- "1"
-
- "Activar dispositivo"
+ "Activar dispositivo""Configurar serviço de dados""Números de marcação fixa (FDN)""Lista de números de marcação fixa (FDN)"
@@ -390,18 +328,16 @@
"Gerir os números de marcação fixa""Alterar o PIN de acesso aos números de marcação fixa""Gerir a lista telefónica"
- "Privacidade de Voz"
+ "Privacidade de voz""Activar modo de privacidade optimizado"
- "Modo TTY"
- "Activar modo TTY""Modo TTY""Definir modo TTY"
- "Nova tentativa automática"
- "Activar modo de Nova tentativa Automática"
+ "Nova tentativa automática"
+ "Activar modo Nova tentativa automática""Adicionar contacto""Editar contacto""Eliminar contacto"
- "Introduza o PIN2"
+ "Introduzir PIN2""Nome""Número""Guardar"
@@ -414,56 +350,50 @@
"Eliminar números autorizados""A eliminar números autorizados...""Números autorizados eliminados."
- "Números autorizados não actualizados: o PIN introduzido está incorrecto."
- "Números autorizados não actualizados: o número não pode ultrapassar os 20 dígitos."
+ "Os números autorizados não foram actualizados porque introduziu um PIN incorrecto."
+ "Os números autorizados não foram actualizados porque o número não pode exceder 20 dígitos."
+ "Não foram actualizados os números autorizados. O PIN2 estava errado ou o número de telefone foi rejeitado.""A ler a partir do cartão SIM...""Sem contactos no cartão SIM.""Seleccione os contactos a importar"
- "Para importar contactos do cartão SIM, desative o modo de avião."
+ "Para importar contactos do cartão SIM, primeiro desactive o Modo de Avião.""Activar/desactivar o PIN do cartão SIM""Alterar o PIN do cartão SIM""PIN do SIM:""PIN antigo""Novo PIN""Confirme o novo PIN"
- "O PIN antigo introduzido não está correcto. Tente novamente."
- "Os PINs introduzidos não coincidem. Tente novamente."
+ "O PIN antigo introduzido não está correcto. Tente novamente."
+ "Os PINs introduzidos não correspondem. Tente novamente.""Introduza um PIN com 4 a 8 números.""Desactivar o PIN do SIM""Activar o PIN do cartão SIM""Queira aguardar..."
- "PIN do cartão SIM activado"
- "PIN do cartão SIM desactivado"
- "O PIN introduzido não estava correcto"
- "PIN do cartão SIM alterado com sucesso"
+ "PIN do SIM activado"
+ "PIN do SIM desactivado"
+ "O PIN introduzido não estava correcto."
+ "PIN do SIM alterado com sucesso""Palavra-passe incorrecta, o cartão SIM está bloqueado! É necessário o PUK2.""PIN2""PIN2 antigo""Novo PIN2""Confirme o novo PIN2"
- "O PUK2 introduzido não está correcto. Tente novamente."
- "O PIN2 antigo introduzido não está correcto. Tente novamente."
- "O PIN2 introduzido não coincide. Tente novamente."
+ "O PUK2 introduzido não está correcto. Tente novamente."
+ "O PIN2 antigo introduzido não está correcto. Tente novamente."
+ "Os PIN2 introduzidos não correspondem. Tente novamente.""Introduza um PIN2 com 4 a 8 números.""Introduza um PUK2 com 8 números."
- "PIN2 alterado com sucesso"
+ "PIN2 alterado com sucesso.""Introduza o código PUK2"
- "Palavra-passe incorrecta. Altere o PIN2 e tente novamente!"
- "Palavra-passe incorrecta, o SIM está bloqueado! É necessário o PUK2."
+ "Palavra-passe incorreta. Altere o PIN2 e tente novamente!"
+ "Palavra-passe incorreta, o SIM está bloqueado! É necessário o PUK2.""Concluído""Chamada de conferência %s"
- "Voltar à chamada"
- "Continuar sem o cartão SIM"
- "Cartão SIM não encontrado. Insira um cartão SIM no telefone."
- "Ignorar"
- "Desbloquear"
- "A autenticar o PIN...""Número do correio de voz""A marcar""Tentar novamente""Chamada de conferência""Chamada recebida"
- "Chamada Cdma em espera""Chamada terminada""Em espera""A desligar"
@@ -473,7 +403,7 @@
"Chamadas não atendidas""%s chamadas não atendidas""Chamada não atendida de %s"
- "Chamada actual (%s)"
+ "Chamada em curso""Em espera""Chamada recebida""Novo correio de voz"
@@ -482,13 +412,15 @@
"Número do correio de voz desconhecido""Nenhum serviço""Rede selecionada (%s) indisponível"
+ "Desligar"
+ "Ligar de volta"
+ "Mensagem""Para efectuar uma chamada, desactive primeiro o modo para Avião.""Sem registo na rede.""Rede móvel não disponível.""A chamada não foi efetuada. Não foi introduzido um número válido.""Chamada não efetuada.""A iniciar sequência de MMI..."
- "A iniciar a sequência do código da funcionalidade""Serviço não suportado""Não é possível alternar entre chamadas""Não foi possível separar a chamada."
@@ -500,18 +432,13 @@
"Chamada de emergência""A ligar o rádio...""Fora da área do serviço, a tentar novamente..."
- "A chamada não foi efetuada, %s não é um número de emergência!"
- "Chamada não efetuada. Marque um número de emergência!"
+ "A chamada não foi efetuada. %s não é um número de emergência!"
+ "Chamada não efetuada. Marque um número de emergência!""Utilizar o teclado para marcar"
- "Teclado numérico por tons""Suspender"
- "Retomar""Terminar""Teclado de marcação"
- "Ocultar"
- "Altifalante""Desactivar som"
- "Bluetooth""Adicionar chamada""Intercalar chamadas""Trocar"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Texto ERI"
- "Tons DTMF"
+ "Tons DTMF""Definir o tamanho dos toques DTMF""Normal""Longo"
- "Mensagem de Rede"
+ "Mensagem de rede""Activar o seu telefone""É necessário efectuar uma chamada especial para activar o seu serviço telefónico. "\n\n"Depois de premir “Activar”, ouça as instruções fornecidas para activar o telefone."
- "Toque em \"Activar\" para fazer uma chamada especial que activa o seu telefone na rede móvel da sua operadora, para que possa fazer chamadas e estabelecer ligação a redes móveis de dados.""Ignorar activação?""Se ignorar a activação, não poderá fazer chamadas nem estabelecer ligação a redes móveis de dados (apesar de poder estabelecer ligação a redes Wi-Fi). Enquanto não activar o telefone, ser-lhe-á solicitada activação sempre que ligar o telefone.""Ignorar"
- "Activar""Activar"
- "O telefone está activado!"
+ "O telemóvel está activado!""Problema com a activação""Siga as instruções de voz até ser informado de que a activação está concluída."
- "Teclado""Altifalante"
- "Aguarde enquanto o seu telefone está a ser programado."
- "Programação sem sucesso"
+ "Aguarde enquanto o telemóvel está a ser programado."
+ "Programação sem sucesso""O seu telefone já está activado. O início do serviço pode demorar até 15 minutos."
- "O seu telefone não foi activado. "\n"Pode ser necessário procurar uma zona com melhor cobertura (junto a uma janela ou no exterior). "\n\n"Tente novamente ou ligue para o serviço de apoio ao cliente para obter mais opções."
+ "O seu telemóvel não foi activado. "\n"Pode ser necessário procurar uma zona com melhor cobertura (junto a uma janela ou no exterior). "\n\n"Tente novamente ou ligue para o serviço de apoio ao cliente para obter mais opções.""FALHAS NO EXCESS SPC""Anterior""Tente novamente""Seguinte"
- "Anterior""EcmExitDialog""Entrou em Modo de Chamada de Retorno de Emergência""Modo de Chamada de Retorno de Emergência"
@@ -569,87 +491,69 @@
"Sem ligação de dados durante %s minutos"
- "O telefone ficará no modo de chamada de retorno de emergência durante %s minuto. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?"
- "O telefone ficará no modo de chamada de retorno de emergência durante %s minutos. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?"
+ "O telemóvel ficará no modo de Chamada de Retorno de Emergência durante %s minuto. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?"
+ "O telemóvel ficará no modo de Chamada de Retorno de Emergência durante %s minutos. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?"
- "A acção selecionada não está disponível no modo de chamada de retorno de emergência. O telefone permanecerá neste modo durante %s minuto. Pretende sair agora?"
- "A acção selecionada não está disponível no modo de chamada de retorno de emergência. O telefone permanecerá neste modo durante %s minutos. Pretende sair agora?"
+ "A acção selecionada não está disponível no modo de Chamada de Retorno de Emergência. O telemóvel ficará neste modo durante %s minutos. Pretende sair agora?"
+ "A acção selecionada não está disponível no modo de Chamada de Retorno de Emergência. O telemóvel ficará neste modo durante %s minutos. Pretende sair agora?"
- "A acção selecionada não está disponível durante uma chamada de emergência"
- "Sair do Modo de Chamada de Retorno de Emergência"
+ "A acção selecionada não está disponível durante uma chamada de emergência."
+ "A sair do modo de chamada de retorno de emergência""Sim""Não""Ignorar"
- "Definições de correio de voz"
- "<não definido>"
- "Serviço de correio de voz"
- "Definições para %s"
+ "Serviço"
+ "Configuração"
+ "<Não definido>""Outras definições de chamada"
- "Marcar"
- "A ligar através de ^1"\n"^2"
- "Arraste para a direita para atender"
- "Arraste para a esquerda para silenciar a campainha"
- "Arraste para a esquerda para recusar"
- "Arraste para a direita para atender e"\n"colocar a chamada activa em espera"
- "Arraste para a direita para atender e"\n"terminar a chamada activa"
- "Arraste para a direita para atender e"\n"terminar a chamada em espera"
- "Atender"
- "Recusar"
+ "A chamar através de %s""fotografia do contacto""tornar privado""seleccionar contacto""Definições de chamadas por internet""Contas de chamadas por internet (SIP)""Contas"
- "Gerir contas e estado das chamadas por internet (SIP)""Obter chamadas recebidas""Reduz a vida útil da bateria"
- "Configurar opções de chamadas""Utilizar chamadas por internet""Utilizar chamadas pela internet (apenas Wi-Fi)""Para todas as chamadas quando a rede de dados estiver disponível""Apenas para chamadas pela internet""Perguntar em cada chamada""Para todas as chamadas"
- "Registo automático"
- "Chamada efetuada via SIP""Fazer chamada""Utilizar conta de chamadas pela internet:""Utilizar sempre para fazer chamadas pela internet"
- "Pode usar as Definições de chamadas para alterar a conta de chamadas por internet a utilizar por predefinição ao fazer chamadas, seleccionando uma conta diferente em Definições de chamadas por internet"
+ "Pode alterar a conta de chamadas por internet a utilizar por predefinição a partir do ecrã Telemóvel > Definições > Definições de chamadas por internet > Contas.""Chamada por telemóvel""Chamada por internet""Sem conta de chamadas pela internet"
- "Não há contas de chamadas por internet neste telemóvel. Adicionar uma agora?"
+ "Não há contas de chamadas por internet neste telemóvel. Pretende adicionar uma agora?""Adicionar""Adicionar conta""Remover conta""Contas SIP"
- "A guardar conta..."
- "A remover conta..."
+ "A guardar conta..."
+ "A remover conta...""Guardar""Rejeitar""Feche o perfil""OK""Fechar"
- "Principal"
- "Fazer desta a minha conta principal"
- "Utilizado para chamadas enviadas"
- "Definições avançadas""Conta principal: %s""A verificar o estado..."
- "A registar..."
- "Continuamos a tentar..."
- "Não está a receber chamadas"
- "O registo da conta parou porque não existe ligação à internet"
- "O registo da conta parou porque não existe ligação Wi-Fi"
- "O registo da conta não teve êxito"
- "A receber chamadas"
+ "A registar..."
+ "Ainda a tentar..."
+ "Não está a receber chamadas."
+ "O registo da conta parou porque não existe ligação à internet."
+ "O registo da conta parou porque não existe ligação Wi-Fi."
+ "O registo da conta não teve êxito."
+ "A receber chamadas.""O registo da conta não teve êxito (%s); tentaremos mas tarde"
- "O registo da conta não teve êxito: palavra-passe ou nome de utilizador incorreto"
- "O registo da conta não teve êxito: verifique o nome do servidor"
- "Esta conta está actualmente a ser utilizada pela aplicação %s."
+ "O registo da conta não teve êxito: palavra-passe ou nome de utilizador incorrecto"
+ "O registo da conta não teve êxito: verifique o nome do servidor"
+ "Esta conta está actualmente a ser utilizada pela aplicação %s.""Detalhes da conta SIP""Detalhes da conta SIP""Servidor"
@@ -660,9 +564,6 @@
"Número da porta""Tipo de transporte""Enviar mensagem keep-alive"
- "Enviar mensagens keep-alive SIP"
- "Registo automático"
- "Registar o perfil automaticamente""Definir como conta principal""Utilizado para chamadas enviadas""Definições opcionais"
@@ -673,12 +574,12 @@
"<Opcional>""▷ Toque para mostrar tudo""▽ Toque para ocultar tudo"
- "%s é obrigatório e tem de ser preenchido"
- "O número da porta deve estar entre 1000 e 65534"
+ "%s é obrigatório e tem de ser preenchido."
+ "O número da porta devia estar entre 1000 e 65534.""Sem ligação à internet""Sem ligação Wi-Fi"
- "Para fazer uma chamada por internet, verifique primeiro a ligação à internet"
- "Para fazer chamadas por internet é preciso estar ligado a uma rede Wi-Fi (use as definições de redes sem fios)"
+ "Para fazer uma chamada por internet, verifique primeiro a ligação à internet."
+ "Para fazer chamadas por internet, é preciso estar ligado a uma rede Wi-Fi (use as definições de Redes sem fios e outras redes)""As cham. por internet não são suportadas""Automático""Enviar sempre"
@@ -687,7 +588,7 @@
"Telefono-lhe já a seguir.""Telefono-lhe mais tarde.""Pode telefonar-me mais tarde?"
- "Mensagem personalizada..."
+ "Mensagem personalizada""Respostas rápidas""Editar respostas rápidas"
@@ -705,19 +606,64 @@
"estrela""zero""cardinal"
- "pesquisar""marcar""retrocesso"
- "Alta voz ativada."
+ "Alta voz activada.""Chamada sem som.""Atender""Enviar SMS""Recusar""Vibrar""Vibrar"
+ "Toque"
+
+
+ Vibra quando a ligação for atendida
+ Vibrar a cada 45 segundos
+ Vibrar aos 45 segundos de cada minuto durante chamada efectuada
+ Vibrar ao desligar
+ Vibra quando encerra a ligação
+ Vibrar c/ chamada em espera
+ Vibra com ligação em espera
+
+
+
+ Qualidade de voz
+ Ajuste um perfil para melhorar a qualidade da ligação
+
+ Normal
+ Limpa
+ Nítida
+ Brilhante
+
"Sempre""Apenas quando está em silêncio""Nunca"
+ "Toque do telemóvel"
+ "Vibrar ao tocar"
+ "Sons dos toques no teclado de marcar"
+ "Toque"
+ Alternar rede de dados (2G/3G)
+ A aplicação está com permissões e pode a qualquer momento alternar entre dados 2G and 3G. 3G é mais rápido, consome mais bateria, e também pode gastar mais dinheiro.
+ Modo de rede preferencial: LTE / GSM/WCDMA
+ Teclado
+ Configurações do teclado
+ Supressão do ruído
+ Activar supressão de ruído em ligações
+ Indicador de Mensagem em Espera
+ Exibir mensagem para indicador de notificações de mensagens de voz
+ Modo de rede preferencial: LTE / CDMA / EvDo
+ Modo de rede preferencial: LTE / CDMA / EvDo / GSM / WCDMA
+ Meu número de telefone
+ Definir o número de telefone para este dispositivo
+ Configuração avançada
+ Manter sensor de proximidade ligado
+ Não desligar o sensor de proximidade durante as ligações utilizando um headset.
+ Bloquear ao terminar chamada
+ Bloqueia automaticamente quando uma chamada termina e o ecrã está desligado
+ Roaming de dados nacional
+ Conectar aos serviços de dados quando estiver em roaming nacional
+ Não conectar aos serviços de dados quando estiver em roaming nacional
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
old mode 100644
new mode 100755
index b833537ef..4f8ba5dc6
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -25,39 +25,27 @@
"Número privado""Orelhão""Em espera"
- "Chamada atual""Linha ocupada""Rede ocupada""Nenhuma resposta, tempo limite expirou""Servidor não acessível""Número não acessível""Nome de usuário ou senha incorretos"
- "Chamou de fora da rede"
+ "Chamou de fora da rede""Erro no servidor. Tente mais tarde.""Sem sinal""Limite de ACM excedido""Rádio desativado"
- "Sem SIM, ou erro de SIM"
+ "Sem SIM ou erro de SIM""Área fora de serviço""As chamadas enviadas são restringidas pelo FDN."
- "Você não pode fazer chamadas enquanto o bloqueio de chamadas estiver ativado."
+ "Você não pode fazer chamadas enquanto o bloqueio de chamadas estiver ativado.""Todas as chamada são restringidas pelo controle de acesso.""As chamadas de emergência são restringidas pelo controle de acesso.""As chamadas normais são restringidas pelo controle de acesso."
- "CDMA: Telefone bloqueado até a conclusão do ciclo de energia."
- "CDMA: Caiu a chamada."
- "CDMA: Chamada interceptada."
- "CDMA: reordenar."
- "CDMA: Rejeição de opção de serviço."
- "CDMA: ordem de repetição."
- "CDMA: falha no acesso."
- "CDMA: Ocupado."
- "Somente as chamadas de emergência são permitidas."
- "Número inválido"
+ "Número inválido""Conferência telefônica""A chamada foi perdida."
- "Tentar novamente"
- "Chamada perdida""OK""Código MMI iniciado""Código USSD em execução…"
@@ -69,23 +57,14 @@
"Fone de ouvido com fio""Bluetooth""Enviar os toques a seguir?"\n
- "Enviando tons"\n
+ "Enviando tons"\n"Enviar""Sim""Não"
- "Substitua o caractere curinga por"
+ "Substituir caractere curinga por""Número correio de voz ausente""Não há um número correio de voz armazenado no cartão SIM.""Adicionar número"
- "Carregando..."
- "Digite o código PIN para desbloquear o cartão SIM."
- "SIM desbloqueado"
- "Novo código PIN do SIM"
- "Digite novamente o novo código PIN do SIM para confirmar"
- "Os PINs do SIM digitados não correspondem. Tente novamente."
- "Digite o código PUK para desbloquear o cartão SIM."
- "Código PUK incorreto!"
- "Continuar""O seu cartão SIM foi desbloqueado. O seu telefone está desbloqueando…""PIN de desbloqueio da rede SIM""Desbloquear"
@@ -93,11 +72,9 @@
"Solicitando o desbloqueio de rede…""Falha na solicitação de desbloqueio de rede.""Desbloqueio de rede bem-sucedido."
- "IMEI"
- "MEID""Configurações de chamada GSM""Configurações de chamada CDMA"
- "Nomes ponto de acesso"
+ "Nomes dos pontos de acesso""Configurações de rede""Correio de voz""VM:"
@@ -109,6 +86,7 @@
"Configurações adicionais somente de chamada CDMA""Configurações do serviço de rede""ID da chamada"
+ "Carregando configurações…""Número oculto nas chamadas enviadas""Número exibido nas chamadas enviadas""Usar configurações padrão da operadora para exibir meu número em chamadas efetuadas"
@@ -127,17 +105,17 @@
"Número quando ocupado""Encaminhando para {0}""Desativado"
- "A sua operadora não suporta a desativação do encaminhamento de chamada quando o seu telefone estiver ocupado."
+ "Sua operadora não suporta a desativação do encaminhamento de chamada quando seu telefone está ocupado.""Enc. se não atendido""Número quando não atendido""Encaminhando para {0}""Desativado"
- "A sua operadora não suporta a desativação do encaminhamento de chamada quando o seu telefone não responder."
+ "Sua operadora não suporta a desativação do encaminhamento de chamada quando seu telefone não responde.""Enc. se não acessível""Número quando não acessível""Encaminhando para {0}""Desativado"
- "A sua operadora não suporta a desativação do encaminhamento de chamada quando o seu telefone não estiver acessível."
+ "Sua operadora não suporta a desativação do encaminhamento de chamada quando seu telefone não está acessível.""Configurações de chamadas""Erro de configuração da chamada""Lendo as configurações…"
@@ -145,8 +123,8 @@
"Revertendo configurações…""Resposta inesperada da rede.""Erro de rede ou do cartão SIM."
- "As operações são permitidas somente em números de chamadas fixas."
- "Ative o rádio antes de ver essas configurações."
+ "A configuração \"Números de chamada fixos\" do aplicativo de seu telefone está ativada. Por isso, alguns recursos relacionados a chamadas não funcionam."
+ "Ligue o rádio antes de ver essas configurações.""OK""Ativar""Desativar"
@@ -156,10 +134,9 @@
"Ocultar número""Mostrar número"
- "Salvar número correio de voz""Número correio de voz alterado."
- "Falha na alteração do número correio de voz."\n"Entre em contato com a sua operadora se este problema continuar."
- "Falha na alteração do número de encaminhamento."\n"Entre em contato com a sua operadora se este problema continuar."
+ "Não foi possível alterar o número do correio de voz."\n"Entre em contato com sua operadora se o problema persistir."
+ "Não foi possível alterar o número de encaminhamento."\n"Entre em contato com sua operadora se o problema persistir.""Não foi possível recuperar e salvar as configurações de número atual de encaminhamento."\n"Mudar para o novo provedor?""Nenhuma alteração foi feita.""Escolha o serviço de correio de voz"
@@ -171,14 +148,14 @@
"Pesquisar redes""Erro ao pesquisar redes.""Registrando na %s…"
- "O seu cartão SIM não permite uma conexão com esta rede."
- "Não é possível conectar a esta rede no momento. Tente novamente mais tarde."
+ "Seu cartão SIM não permite uma conexão com esta rede."
+ "Não é possível se conectar a esta rede agora. Tente novamente mais tarde.""Registrado na rede."
- "Selecione um operador de rede"
+ "Selecione um operador de rede""Pesquisar todas as redes disponíveis"
- "Selecionar automaticamente"
- "Selecionar automaticamente a rede preferida"
- "Registro automático..."
+ "Escolher automaticamente"
+ "Escolher automaticamente a rede preferencial"
+ "Registro automático...""Modo de rede""Alterar o modo de operação de rede""Modo de rede de preferência"
@@ -192,30 +169,36 @@
"Modo de rede preferencial: somente EvDO""Modo de rede preferencial: LTE/CDMA"
- "LTE/CDMA"
- "Somente EvDo"
- "CDMA sem EvDo"
- "CDMA/EvDo automático"
- "GSM/WCDMA automático"
- "Somente WCDMA"
- "Somente GSM"
- "GSM/WCDMA de preferência"
+ Global
+ Somente EvDo
+ CDMA sem EvDo
+ CDMA/EvDo automático
+ GSM/WCDMA automático
+ Somente WCDMA
+ Somente GSM
+ GSM/WCDMA de preferência
- "LTE/CDMA"
- "CDMA"
+ Somente LTE
+ LTE/CMDA/EvDo/GSM/WCDMA
+ LTE/CDMA/EvDo
+ LTE/CDMA
+ CDMA/EvDo automático
+
+
+ LTE/GSM/WCDMA
+ GSM/WCDMA de preferência"Dados ativados""Ativar acesso a dados pela rede móvel""Roaming de dados""Conectar aos serviços de dados quando estiver em roaming"
- "Conectar aos serviços de dados quando estiver em roaming"
- "Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."
+ "Não conectar aos serviços de dados quando estiver em roaming"
+ "Você perdeu a conectividade de dados porque deixou o roaming de dados de sua rede doméstica desativado.""Permitir roaming de dados? Isso pode causar cobranças significativas de roaming!""Opções GSM/UMTS""Opções CDMA""Uso de dados"
- "Política de dados da operadora""Uso de dados no período atual""Período de uso de dados""Política de taxa de dados"
@@ -226,7 +209,6 @@
"%1$d٪ do ciclo expirou"\n"O próximo período começa em %2$d dias (%3$s)""Taxa de dados reduzida para %1$d Kb/s se o limite de uso de dados for excedido""Mais informações sobre a política de uso de dados da rede móvel da sua operadora"
- "SMS de difusão celular""SMS de difusão celular""SMS de difusão celular""SMS de difusão celular ativado"
@@ -267,15 +249,6 @@
"Coreano""Chinês""Hebraico"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Idiomas""Clima local"
@@ -305,9 +278,9 @@
"Oportunidades de emprego""Oportunidades de emprego ativadas""Oportunidades de emprego desativadas"
- "Serviços médicos, de saúde e hospitalares"
- "Serviços médicos, de saúde e hospitalares ativados"
- "Serviços médicos, de saúde e hospitalares desativados"
+ "Serviços médicos, de saúde e hospitalares"
+ "Serviços médicos, de saúde e hospitalares ativados"
+ "Serviços médicos, de saúde e hospitalares desativados""Notícias de tecnologia""Notícias de tecnologia ativadas""Notícias de tecnologia desativadas"
@@ -322,35 +295,17 @@
"Somente WCDMA""Somente GSM""GSM/WCDA (WCDMA de preferência)"
-
-
- "0"
- "1"
- "2"
- "3""Usar apenas redes 2G""Economiza bateria""Seleção de sistema"
- "Alterar o modo de roaming CDMA"
+ "Alterar o modo de roaming CDMA""Selecionar sistema""Somente doméstica""Automático"
- "Modo de roaming CDMA"
- "Alterar o modo de roaming CDMA"
- "Modo de roaming CDMA"
-
- "Somente redes domésticas"
- "Redes afiliadas"
- "Qualquer rede"
-
-
- "0"
- "1"
- "2"
-
+ "Inscrição CDMA""Preferências de rede CDMA""Ainda não implementado.""Preferências de rede CDMA"
@@ -359,21 +314,11 @@
"Somente CDMA""Somente EvDo"
-
- "0"
- "1"
- "2"
-
- "Inscrições CDMA""Alterar entre RUIM/SIM e NV""inscrição""RUIM/SIM""NV"
-
-
- "0"
- "1""Ativar aparelho""Configurar serviço de dados"
@@ -390,18 +335,16 @@
"Gerenciar números de chamadas fixas""Alterar PIN para acesso FDN""Gerenciar lista de números telefônicos"
- "Privacidade de voz"
+ "Privacidade de voz""Ativar modo de privacidade aprimorado"
- "Modo TTY"
- "Ativar modo TTY""Modo TTY""Definir modo TTY"
- "Repetir automaticamente"
- "Ativar modo Repetir automaticamente"
+ "Repetir automaticamente"
+ "Ativar modo Repetir automaticamente""Adicionar contato""Editar contato""Excluir contato"
- "Inserir PIN2"
+ "Digitar PIN2""Nome""Número""Salvar"
@@ -414,56 +357,50 @@
"Excluir número de chamadas fixas""Excluindo número de chamadas fixas…""Número de chamadas fixas excluído."
- "FDN não atualizado: você digitou um PIN incorreto."
- "FDN não atualizado: o número não pode exceder 20 dígitos."
+ "O FDN não foi atualizado porque você digitou um PIN incorreto."
+ "O FDN não foi atualizado porque o número não pode exceder 20 dígitos."
+ "O FDN não foi atualizado. O PIN2 estava incorreto, ou o número de telefone foi rejeitado.""Lendo a partir do cartão SIM…""Não há contatos no seu cartão SIM.""Selecione os contatos a serem importados"
- "Para importar contatos do cartão SIM, desative o modo para avião."
+ "Para importar os contatos do cartão SIM, primeiro desligue o modo para avião.""Ativar/desativar PIN do SIM""Alterar PIN do SIM""PIN do SIM:""PIN antigo""Novo PIN""Confirmar novo PIN"
- "O PIN antigo digitado não está correto. Tente novamente."
- "Os PINs digitados não correspondem. Tente novamente."
+ "O PIN antigo digitado não está correto. Tente novamente."
+ "Os PINs digitados não correspondem. Tente novamente.""Digite um PIN com 4 a 8 números.""Desativar PIN do SIM""Ativar PIN do SIM""Aguarde..."
- "PIN do SIM ativado"
- "PIN do SIM desativado"
- "O PIN digitado estava incorreto"
- "PIN do SIM alterado com êxito"
+ "PIN do SIM ativado."
+ "PIN do SIM desativado."
+ "O PIN digitado estava incorreto."
+ "PIN do SIM alterado.""Senha incorreta. SIM bloqueado! PUK2 solicitado.""PIN2""PIN2 antigo""Novo PIN2""Confirmar novo PIN2"
- "O PUK2 digitado não está correto. Tente novamente."
- "O PIN2 antigo digitado não está correto. Tente novamente."
- "Os PIN2s digitados não correspondem. Tente novamente."
+ "O PUK2 digitado não está correto. Tente novamente."
+ "O PIN2 antigo digitado não está correto. Tente novamente."
+ "Os PIN2s digitados não correspondem. Tente novamente.""Digite um PIN2 com 4 a 8 números.""Digite um PUK2 com 8 números."
- "PIN2 alterado com êxito"
+ "PIN2 alterado.""Digitar o código PUK2"
- "Senha incorreta. Altere o PIN2 e tente novamente!"
- "Senha incorreta. SIM bloqueado! PUK2 solicitado."
+ "Senha incorreta. Altere o PIN2 e tente novamente."
+ "Senha incorreta. SIM bloqueado. PUK2 solicitado.""Concluído""Conferência telefônica %s"
- "Voltar à chamada"
- "Continuar sem o cartão SIM"
- "Nenhum cartão SIM encontrado. Insira um cartão SIM no telefone."
- "Dispensar"
- "Desbloquear"
- "Autenticando o PIN…""Número correio de voz""Discando""Tentando novamente""Conferência telefônica""Recebendo chamada"
- "Aguardando chamada CDMA""Chamada encerrada""Em espera""Desligando"
@@ -473,7 +410,7 @@
"Chamadas perdidas""%s chamadas perdidas""Chamada perdida de %s"
- "Chamada atual (%s)"
+ "Chamada em andamento""Em espera""Recebendo chamada""Novo correio de voz"
@@ -482,13 +419,15 @@
"Número correio de voz desconhecido""Sem serviço""A rede selecionada (%s) não está disponível"
+ "Desligar"
+ "Retornar chamada"
+ "Mensagem""Para fazer uma chamada, primeiro desative o modo avião.""Não registrado na rede.""Rede móvel não disponível.""Chamada não completada, o número inserido é inválido.""Chamada não completada.""Iniciando sequência MMI…"
- "Iniciando sequência do código de recursos...""Serviço não suportado.""Não é possível alternar chamadas.""Não é possível separar a chamada."
@@ -500,18 +439,13 @@
"Chamada de emergência""Ativando o rádio…""Área fora de serviço, tentando novamente..."
- "Chamada não completada. %s não é um número de emergência."
- "Chamada não completada. Disque um número de emergência."
+ "Chamada não enviada. %s não é um número de emergência!"
+ "Chamada não enviada. Disque um número de emergência!""Use o teclado para discar"
- "Teclado multifrequencial""Em espera"
- "Desativar modo de espera""Finalizar""Teclado"
- "Ocultar"
- "Alto-falante""Desativar som"
- "Bluetooth""Adicionar chamada""Mesclar chamadas""Trocar"
@@ -530,36 +464,31 @@
"TTY HCO""TTY VCO"
- "Texto ERI"
- "Tons DTMF"
+ "Tons DTMF""Definir duração dos tons DTMF""Normal""Longo"
- "Mensagem de rede"
+ "Mensagem de rede""Ativar o seu telefone""Uma chamada especial precisa ser feita para ativar o serviço do seu telefone. "\n\n"Depois de pressionar “Ativar”, ouça as instruções fornecidas para ativar o seu telefone."
- "Toque em “Ativar” para fazer uma chamada especial que ativa o seu telefone na rede celular da sua operadora, para que você possa fazer chamadas e se conectar a redes móveis de dados.""Ignorar ativação?""Se você ignorar a ativação, não poderá fazer chamadas ou se conectar a redes móveis de dados (embora possa se conectar a redes Wi-Fi). Até que o seu telefone seja ativado, você receberá solicitações de ativação sempre que o ligar.""Ignorar"
- "Ativar""Ativar"
- "O telefone está ativado!"
+ "O telefone está ativado.""Problema com a ativação""Siga as instruções faladas até ouvir que a ativação está concluída."
- "Teclado""Alto-falante"
- "Aguarde enquanto o seu telefone está sendo programado."
- "Falha de programação"
+ "Aguarde enquanto seu telefone é programado."
+ "Falha de programação""O seu telefone está ativado. Pode demorar até 15 minutos para o serviço ser iniciado."
- "O seu telefone não foi ativado. "\n"Talvez seja necessário encontrar uma área com uma cobertura melhor (próximo de uma janela ou no lado de fora). "\n\n"Tente novamente ou ligue para o serviço de atendimento ao cliente para obter mais opções."
+ "Seu telefone não foi ativado. "\n"Talvez seja necessário encontrar uma área com uma cobertura melhor (próximo de uma janela ou no lado de fora). "\n\n"Tente novamente ou ligue para o serviço de atendimento ao cliente para obter mais opções.""FALHAS EM EXCESSO DE SPC""Voltar""Tentar novamente""Próxima"
- "Voltar""EcmExitDialog""Modo de retorno de chamada de emergência acessado""Modo de retorno de chamada de emergência"
@@ -569,87 +498,69 @@
"Nenhuma conexão de dados durante %s minutos"
- "O telefone ficará no modo de retorno de chamada de emergência durante %s minuto. Enquanto estiver nesse modo, nenhum aplicativo que use uma conexão de dados poderá ser usado. Deseja sair?"
- "O telefone ficará no modo de retorno de chamada de emergência durante %s minutos. Enquanto estiver nesse modo, nenhum aplicativo que use uma conexão de dados poderá ser usado. Deseja sair?"
+ "O telefone estará no modo de retorno de chamada de emergência por %s minuto. Nesse modo, nenhum aplicativo que utiliza uma conexão de dados pode ser usado. Você deseja sair agora?"
+ "O telefone estará no modo de retorno de chamada de emergência por %s minutos. Nesse modo, nenhum aplicativo que utiliza uma conexão de dados pode ser usado. Você deseja sair agora?"
- "A ação selecionada não está disponível no modo de retorno de chamada de emergência. O telefone ficará nesse modo durante %s minuto. Deseja sair?"
- "A ação selecionada não está disponível no modo de retorno de chamada de emergência. O telefone ficará nesse modo durante %s minutos. Deseja sair?"
+ "A ação selecionada não está disponível no modo de retorno de chamada de emergência. O telefone estará nesse modo por %s minuto. Você deseja sair agora?"
+ "A ação selecionada não está disponível no modo de retorno de chamada de emergência. O telefone estará nesse modo por %s minutos. Você deseja sair agora?"
- "A ação selecionada não está disponível durante uma chamada de emergência"
- "Saindo do modo de retorno de chamada de emergência"
+ "A ação selecionada não está disponível durante uma chamada de emergência."
+ "Saindo do modo de retorno de chamada de emergência""Sim""Não""Descartar"
- "Conf. do correio de voz"
- "<não definido>"
- "Serviço de correio de voz"
- "Configurações para %s"
+ "Serviço"
+ "Configuração"
+ "<Não definido>""Outras configurações de chamada"
- "Discar"
- "Chamando por meio de ^1"\n"^2"
- "Arraste para a direita para atender"
- "Arraste para a esquerda para silenciar a campainha"
- "Arraste para a esquerda para recusar"
- "Arraste para a direita para atender e"\n"colocar a chamada ativa em espera"
- "Arraste para a direita para atender e"\n"finalizar a chamada ativa"
- "Arraste para a direita para atender e"\n"encerrar a chamada em espera"
- "Atender"
- "Recusar"
+ "Chamando via %s""foto do contato""conversar em particular""selecionar contato""Configurações de chamada pela internet""Contas para chamada pela internet (SIP)""Contas"
- "Gerenciar contas e status para chamada pela internet (SIP)""Receber chamadas""Reduz a vida útil da bateria"
- "Configurar opções de chamada""Usar cham. pela Internet""Usar chamada pela internet (somente Wi-Fi)""Para todas as chamadas, quando a rede de dados estiver disponível""Apenas para cham. pela internet""Perguntar toda chamada""Para todas as chamadas"
- "Registro automático"
- "Chamada efetuada via SIP""Chamar""Usar a conta para chamada pela internet:""Sempre usar para realizar chamadas pela internet"
- "Você pode usar as Configurações de chamada para alterar a conta para chamada pela internet a ser usada por padrão ao realizar chamadas. Para isso, selecione uma conta diferente em \"Configurações de chamada pela internet\""
+ "Você pode alterar qual conta de chamada pela Internet será usada por padrão na tela Telefone > Configurações > Configurações de chamada pela Internet > Contas.""Chamada para celular""Chamada pela internet""Não há conta para chamada pela internet"
- "Não há contas para chamada pela internet neste telefone. Deseja adicionar uma agora?"
+ "Não há contas de chamada pela Internet neste telefone. Você deseja adicionar uma conta agora?""Adicionar""Adicionar conta""Remover conta""Contas SIP"
- "Salvando a conta..."
- "Removendo a conta..."
+ "Salvando a conta..."
+ "Removendo a conta...""Salvar""Descartar""Fechar o perfil""OK""Fechar"
- "Principal"
- "Tornar esta conta minha conta principal"
- "Utilizado para chamadas efetuadas"
- "Configurações avançadas""Conta principal. %s""Verificando status..."
- "Registrando..."
- "Ainda tentando..."
- "Sem chamadas recebidas"
- "Registro da conta interrompido porque não há conexão à internet"
- "Registro da conta interrompido porque não há conexão Wi-Fi"
- "Falha no registro da conta"
- "Chamadas recebidas"
+ "Registrando..."
+ "Ainda tentando..."
+ "Sem chamadas recebidas."
+ "Registro da conta interrompido porque não há conexão à internet."
+ "Registro da conta interrompido porque não há conexão Wi-Fi."
+ "Falha no registro da conta."
+ "Chamadas recebidas.""Falha no registro da conta: (%s). Nova tentativa mais tarde"
- "Falha no registro da conta: nome de usuário ou senha incorretos"
- "Falha no registro da conta: verifique o nome do servidor"
- "Esta conta está sendo usada pelo aplicativo %s"
+ "Falha no registro da conta: nome de usuário ou senha incorretos."
+ "Falha no registro da conta: verifique o nome do servidor."
+ "No momento, esta conta é usada pelo aplicativo %s.""Detalhes da conta SIP""Detalhes da conta SIP""Servidor"
@@ -660,9 +571,6 @@
"Número da porta""Tipo de transporte""Enviar sinal de atividade"
- "Enviar mensagens de atividade do SIP"
- "Registro automático"
- "Registrar o perfil automaticamente""Def. como conta principal""Utilizado para chamadas de saída""Configurações opcionais"
@@ -673,12 +581,12 @@
"<Opcional>""▷ Toque para mostrar todos""▽ Toque para ocultar todos"
- "%s é campo obrigatório e não pode ser deixado em branco"
- "O número da porta deve estar entre 1000 e 65534"
+ "%s é campo obrigatório e não pode ser deixado em branco."
+ "O número da porta deve estar entre 1000 e 65534.""Nenhuma conexão à internet""Nenhuma conexão Wi-Fi"
- "Antes de fazer uma chamada pela internet, verifique a conexão à internet"
- "Você deve estar conectado a uma rede Wi-Fi para realizar chamadas pela internet (use as Configurações de redes sem fio e outras)"
+ "Antes de fazer uma chamada pela Internet, primeiro verifique a conexão com a Internet."
+ "Você precisa estar conectado a uma rede Wi-Fi para realizar chamadas pela Internet (use as Configurações de redes sem fio e outras).""Chamada pela internet não suportada""Automático""Sempre enviar"
@@ -687,7 +595,7 @@
"Já te ligo de volta.""Eu te ligo mais tarde.""Não posso falar agora. Me liga depois, por favor?"
- "Mensagem personalizada..."
+ "Personalizar mensagem""Respostas rápidas""Editar respostas rápidas"
@@ -705,7 +613,6 @@
"marcar com uma estrela""zero""libra"
- "pesquisar""discar""backspace""Viva-voz ativado."
@@ -715,9 +622,54 @@
"Recusar""Vibrar""Vibrar"
+ "Toque""Sempre""Apenas quando estiver no silencioso""Nunca"
+ "Toque do telefone"
+ "Vibrar quando estiver tocando"
+ "Tons de toque do teclado numérico"
+ "Toque"
+ Alternar rede de dados (2G/3G)
+ Aplicação com está permissão pode a qualquer momento, alterar entre dados 2G and 3G. 3G é mais rápido, consome mais bateria, e também pode gastar mais seu dinheiro.
+ Modo de rede preferencial: LTE / GSM/WCDMA
+ Teclado
+ Configurações do teclado
+ Supressão de ruído
+ Ativar supressão de ruído em ligações
+ Indicador de Mensagem em Espera
+ Exibir mensagem para indicador de notificações de mensagens de voz
+ Modo de rede preferencial: LTE / CDMA / EvDo
+ Modo de rede preferencial: LTE / CDMA / EvDo / GSM / WCDMA
+ Meu número de telefone
+ Definir o número de telefone para este dispositivo
+ Configuração avançada
+ Manter sensor de proximidade ligado
+ Não desligar o sensor de proximidade durante ligações utilizando um headset.
+ Bloquear ao terminar chamada
+ Bloqueia automaticamente quando uma chamada termina e a tela está desligada
+ Vibrar ao atender
+ Vibrar ao desligar
+ Vibrar c/ chamada em espera
+ Vibra quando existem chamadas em espera
+ Qualidade de voz
+ Ajuste um perfil para melhorar a qualidade da ligação
+ Normal
+ Limpa
+ Nítida
+ Brilhante
+ Vibrar a cada 45 segundos
+ Vibrar aos 45 segundos de cada minuto durante chamada efetuada
+ Roaming de dados nacional
+ Conectar aos serviços de dados quando estiver em roaming nacional
+ Não conectar aos serviços de dados quando estiver em roaming nacional
+
+
+ Gravar chamada
+ "ATENÇÃO: A gravação de chamadas é considerado ilegal em alguns países! Verifique nas leis locais antes de habilitar esta opção! Quando habilitado, as gravações serão armazenadas na pasta 'CallRecordings' no Cartão SD."
+
+
+
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
deleted file mode 100644
index d70cbf356..000000000
--- a/res/values-rm/strings.xml
+++ /dev/null
@@ -1,838 +0,0 @@
-
-
-
-
-
-
-
-
- "Cloms d\'urgenza"
- "Telefon"
- "Glista da numers autorisads"
- "Nunenconuschent"
- "Numer privat"
- "Cabina da telefon"
- "Spetgant"
- "Clom actual"
- "Lingia occupada"
- "Rait occupada"
-
-
-
-
-
-
-
-
-
-
-
-
- "Nagin signal"
- "Surpassà la limita ACM"
- "Signal radio deactivà"
- "Nagina carta SIM u errur da la carta SIM"
- "Territori senza rait"
- "Ils cloms sortints èn limitads pervia da la limitaziun da cloms (FDN)."
- "Vus na pudais betg telefonar sche la bloccada da cloms è activa."
- "Tut ils cloms èn limitads entras ina controlla d\'access."
- "Ils cloms d\'urgenza èn limitads d\'ina controlla d\'access."
- "Ils cloms normals èn limitads entras la controlla d\'access."
- "CDMA: il telefonin è bloccà enfin ch\'el vegn reavià."
- "CDMA: clom interrut."
- "CDMA: clom interrut"
- "CDMA: ordinar danovamain."
- "CDMA: refusa da l\'opziun da servetsch"
- "CDMA: nova emprova da zavrar."
-
-
- "CDMA: anticipà."
- "Mo cloms d\'urgenza èn pussibels."
- "Numer nuncorrect"
- "Conferenza da telefon"
- "Il clom è ì a perder."
- "Empruvar danovamain"
- "Clom pers"
- "OK"
- "Il code IHM è vegnì lantschà."
- "Execuziun dal code USSD..."
- "Annullà Code IHM"
- "Interrumper"
-
-
-
-
-
-
-
-
-
-
- "Trametter ils tuns suandants?"\n
- "Trametter tuns"\n
- "Trametter"
- "Gea"
- "Na"
- "Remplazzar la variabla cun"
- "Numer da mailbox mancant"
- "Sin la carta SIM n\'è nagin numer da mailbox memorisà."
- "Agiuntar in numer"
- "Chargiar…"
- "Endatai in code PIN per debloccar la carta SIM."
- "SIM debloccada"
- "Nov code PIN da la carta SIM"
- "Endatai anc ina gida il nov code PIN per la carta SIM per al confermar"
- "Ils codes PIN da la carta SIM endatads na correspundan betg. Empruvai anc ina giada."
- "Endatai la clav PUK per debloccar la carta SIM"
- "Il code PUK è nuncorrect!"
- "Vinavant"
- "Vossa carta SIM è vegnida debloccada. Voss telefonin vegn debloccà..."
- "Code PIN da debloccaziun da la rait SIM"
- "Debloccar"
- "Serrar"
- "Dumandar la debloccaziun da la rait..."
- "Betg reussì da dumandar la debloccaziun da la rait."
- "Reussì da debloccar la rait."
- "IMEI"
- "MEID"
- "Parameters da clom GSM"
- "Parameters da clom CDMA"
- "Nums da puncts d\'access"
- "Parameters da la rait"
- "Mailbox"
- "MV:"
- "Gestiunari da la rait"
- "Parameters da clom"
- "Auters parameters"
- "Auters parameters da clom mo GSM"
- "Auters parameters da clom CDMA"
- "Auters parameters da clom mo CDMA"
- "Parameters dal servetsch da rait"
- "ID dal clamader"
- "Numer zuppentà per ils cloms sortints"
- "Numer mussà per ils cloms sortints"
- "Utilisar ils parameters da standard dal gestiunari per mussar mes numer cun cloms sortints"
- "Avis da clom"
- "M\'avisar en cas da cloms entrants durant che jau telefonesch"
- "M\'avisar en cas da cloms entrants durant che jau telefonesch"
- "Parameters da renviament da clom"
- "Renviament da clom"
- "Adina renviar"
- "Adina utilisar quest numer"
- "Renviar tut ils cloms"
-
-
- "Numer betg disponibel"
- "Deactivà"
- "Renviar sche occupà"
- "Numer da renviament sche la lingia è occupada"
-
-
- "Deactivà"
- "Voss gestiunari da la rait na sustegna betg la deactivaziun dal renviament da cloms sche Voss telefonin è occupà."
- "Renviar sche betg respundì"
- "Numer da renviament sche Vus na respundais betg"
-
-
- "Deactivà"
- "Voss gestiunari da la rait na sustegna betg la deactivaziun dal renviament da cloms sche Voss telefonin na respunda betg."
-
-
- "Numer da renviament sche betg accessibel"
-
-
- "Deactivà"
- "Voss gestiunari da la rait na sustegna betg la deactivaziun dal renviament da cloms sche Voss telefonin è inaccessibel."
- "Parameters da clom"
- "Errur dals parameters da clom"
- "Leger ils parameters..."
- "Actualisar ils parameters..."
- "Reinizialisar ils parameters..."
- "Resposta nunspetgada da la rait"
- "Errur da rait u da la carta SIM."
- "Operaziuns reservadas per ils numers autorisads"
- "Activai il signal da radio avant che laschar mussar quests parameters."
- "OK"
- "Activar"
- "Deactivar"
- "Actualisaziun"
-
- "Rait predefinida"
- "Zuppentar il numer"
- "Mussar il numer"
-
- "Memorisar il numer da mailbox"
- "Midà il numer da la mailbox."
- "Betg reussì da midar il numer da la mailbox."\n"Contactai per plaschair il gestiunari da la rait sch\'il problem cumpara vinavant."
- "Betg reussì da midar il numer da renviament."\n"Contactai per plaschair il gestiunari da la rait sch\'il problem cumpara vinavant."
-
-
- "Naginas modificaziuns n\'èn vegnidas fatgas."
- "Tscherner in servetsch da mailbox"
- "Mes gestiunari da la rait"
- "Parameters da la rait mobila"
- "Raits disponiblas"
- "Tschertga en process…"
- "Chattà nagina rait."
- "Tschertgar las raits"
- "Errur cun tschertgar raits."
- "Registrar en %s…"
- "Voss carta SIM na permetta betg ina connexiun a questa rait."
- "Actualmain impussibel da connectar a la rait. Empruvai pli tard anc ina giada."
- "Registrà en la rait."
- "Tscherner in gestiunari da la rait"
- "Tschertgar tut las raits disponiblas"
- "Tscherner automaticamain"
- "Tscherner automaticamain la rait preferida"
- "Registraziun automatica..."
- "Modus da rait"
- "Midar il modus da funcziunament da la rait"
- "Modus da rait preferida"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "Datas activadas"
- "Activar l\'access a las datas sur la rait mobila"
- "Roaming da datas"
- "Connectar als servetschs da datas en cas da roaming"
- "Connectar als servetschs da datas cun roaming"
- "La connexiun è interrutta perquai che Vus essas sortids da la rait domestica ed il roaming da datas n\'è betg activà."
- "Permetter il roaming da datas? Las tariffas da roaming pon esser considerablas!"
- "Opziuns GSM/UMTS"
- "Opziuns CDMA"
- "Utilisaziun da datas"
- "Reglas dal gestiunari areguard las datas"
- "Datas utilisadas en la perioda actuala"
- "Perioda d\'utilisaziun da datas"
- "Reglas davart la sveltezza da transmissiun da datas"
- "Ulteriuras infurmaziuns"
- "%1$s (%2$d٪) da l\'interval maximal da %3$s."\n"Il proxim interval cumenza en %4$d dis (%5$s)."
- "%1$s da %3$s - (%2$d ٪) dal maximum per perioda"
- "Surpassà il maximum da %1$s"\n"La sveltezza da transmissiun da datas è vegnida reducida a %2$d kbit/s"
- "%1$d٪ dal ciclus èn passads."\n"La proxima perioda cumenza en %2$d dis (%3$s)."
- "Reducì la sveltezza da transfer da datas a %1$d kbit/s sche la limita d\'utilisaziun da datas è surpassada."
- "Ulteriuras infurmaziuns davart las reglas da Voss gestiunari da la rait mobila concernent l\'utilisaziun da datas en sia rait."
- "Cell Broadcast SMS"
- "SMS Cell Broadcast"
- "SMS Cell Broadcast"
- "SMS Cell Broadcast activà"
- "SMS Cell Broadcast deactivà"
- "Parameters da SMS Cell Broadcast"
- "Broadcast d\'urgenza"
- "Broadcast d\'urgenza activà"
- "Broadcast d\'urgenza deactivà"
- "Administraziun"
- "Administraziun activada"
- "Administraziun deactivada"
- "Mantegniment"
- "Mantegniment activà"
- "Mantegniment deactivà"
- "Novitads generalas"
- "Economia e finanzas"
- "Novitads da sport"
- "Cultura e divertiment"
- "Local"
- "Novitads localas activadas"
- "Novitads localas deactivadas"
- "Regiunals"
- "Novitads regiunalas activadas"
- "Novitads regiunalas deactivadas"
- "Naziunal"
- "Novitads naziunalas activadas"
- "Novitads naziunalas deactivadas"
- "Internaziunal"
- "Novitads internaziunalas activadas"
- "Novitads internaziunalas deactivadas"
- "Lingua"
- "Tscherni la lingua da novitads"
-
- "Englais"
- "Franzos"
- "Spagnol"
- "Giapunais"
- "Corean"
- "Chinais"
- "Ebraic"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
-
- "Linguas"
- "Meteo local"
- "Meteo local activà"
- "Meteo local deactivà"
- "Infurmaziuns davart il traffic local"
- "Infurmaziuns davart il traffic local activadas"
- "Infurmaziuns davart il traffic local deactivadas"
- "Uraris da sgols dad eroports locals"
- "Uraris da sgols dad eroports locals activads"
- "Uraris da sgols dad eroports locals deactivads"
- "Ustarias"
- "Ustarias activadas"
- "Ustarias deactivadas"
- "Alloschis"
- "Alloschis activads"
- "Alloschis deactivads"
- "Register da las firmas"
- "Register da las firmas activà"
- "Register da las firmas deactivà"
- "Reclamas"
- "Reclama activada"
- "Reclamas deactivadas"
- "Curs da la bursa"
- "Curs da la bursa activads"
- "Curs da la bursa activads"
- "Offertas da plazzas da lavur libras"
- "Offertas da plazzas da lavur libras activadas"
- "Offertas da plazzas da lavur libras deactivadas"
- "Medischina, sanadad ed ospitals"
- "Medischina, sanadad ed ospitals activads"
- "Medischina, sanadad ed ospitals deactivads"
- "Tecnologias"
- "Novitads da tecnologia activadas"
- "Novitads da tecnologia deactivadas"
- "Multicategorias"
- "Multicategorias activadas"
- "Multicategorias deactivadas"
- "Preferenzas da rait GSM/UMTS"
- "Anc betg implementà"
- "Preferenzas da rait GSM/UMTS"
-
- "GSM/WCDMA (modus automatic)"
- "Mo WCDMA"
- "Mo GSM"
- "GSM/WCDA (WCDMA preferì)"
-
-
- "0"
- "1"
- "2"
- "3"
-
- "Mo utilisar las raits 2G"
- "Spargna l\'accu"
- "Tscherner il sistem"
- "Midar il modus da roaming CDMA"
- "Tscherna da sistem"
-
- "Mo raits domesticas"
- "Automaticamain"
-
- "Modus da roaming CDMA"
- "Midar il modus da roaming CDMA"
- "Modus da roaming CDMA"
-
- "Mo raits privatas"
- "Raits affiliadas"
- "Inqual rait"
-
-
- "0"
- "1"
- "2"
-
- "Preferenzas da rait CDMA"
- "Anc betg implementà"
- "Preferenzas rait CDMA"
-
- "CDMA/EvDo"
- "Mo CDMA"
- "Mo EvDo"
-
-
- "0"
- "1"
- "2"
-
- "Abunament CDMA"
- "Midar tranter las cartas RUIM/SIM e NV"
- "abunament"
-
- "RUIM/SIM"
- "NV"
-
-
- "0"
- "1"
-
-
-
-
-
- "Numers autorisads"
- "Glista da numers autorisads"
- "Activaziun da numers autorisads"
- "La limitaziun da cloms è activada."
- "La limitaziun da cloms è deactivada"
- "Activar limitaziun da cloms (FDN)"
- "Deactivar numers autorisads"
- "Midar il code PIN2"
- "Deactivar numers autorisads"
- "Activar"
- "Administrar la glista dals numers autorisads"
- "Modifitgar il code PIN per l\'access a numers autorisads"
- "Administrar la glista da numers da telefon"
- "Protecziun da datas vusch"
- "Activar il modus da protecziun da datas optimada"
- "Modus TTY"
- "Activar il modus TTY"
- "Modus TTY"
- "Definir il modus TTY"
- "Reempruvar automaticamain"
- "Activar il modus Reempruvar automaticamain"
- "Agiuntar in contact"
- "Modifitgar il contact"
- "Stizzar il contact"
- "Endatar il code PIN2"
- "Num"
- "Numer"
- "Memorisar"
- "Agiuntar in numer autorisà"
- "Agiuntar in numer autorisà..."
- "Agiuntà in numer autorisà."
- "Modifitgar il numer autorisà"
- "Actualisaziun dal numer autorisà..."
- "Actualisà il numer autorisà"
- "Stizzar in numer autorisà"
- "Stizzar il numer autorisà..."
- "Stizzà il numer autorisà."
- "Impussibel dad actualisar il numer autorisà: il code PIN che Vus avais endatà è nuncorrect."
- "Impussibel dad actualisar il numer autorisà: quest tip da numer na po betg cuntegnair dapli che 20 cifras."
- "Leger da la carta SIM..."
- "Nagins contacts sin Vossa carta SIM."
- "Selecziunar contacts per importar"
-
-
- "Activar/deactivar il code PIN da la carta SIM"
- "Midar il PIN da la carta SIM"
- "Code PIN da la carta SIM:"
- "PIN vegl"
- "Nov code PIN"
- "Confermar il nov code PIN"
- "Il vegl PIN endatà è nuncorrect. Empruvai per plaschair anc ina giada."
- "Ils codes PIN endatads na correspundan betg. Empruvai anc ina giada."
- "Endatai in code PIN che consista da 4 fin a 8 cifras."
- "Deactivar il code PIN da la carta SIM"
- "Activar il code PIN da la carta SIM"
- "Spetgar..."
- "Il code PIN da la carta SIM è activà."
- "Code PIN da la carta SIM deactivà"
- "Il code PIN endatà n\'era betg correct."
- "Il code PIN da la carta SIM è vegnì midà."
- "Il pled-clav è nuncorrect, la carta SIM è bloccada! Il PUK2 è necessari."
- "PIN2"
- "Vegl PIN2"
- "Nov code PIN2"
- "Confermar il nov code PIN2"
- "Il code PIN2 endatà è nuncorrect. Empruvai per plaschair anc ina giada."
- "Il code PIN2 vegl endatà è nuncorrect. Empruvai per plaschair anc ina giada."
- "Ils codes PIN2 endatads na correspundan betg. Empruvai per plaschair anc ina giada."
- "Endatai in code PIN2 che cuntegna 4 fin 8 cifras."
- "Endatai ina clav PUK2 dad 8 cifras."
- "Midà cun success il PIN2"
- "Endatai il code PUK2"
- "Il pled-clav è nuncorrect. Modifitgai il code PIN2 ed empruvai anc ina giada."
- "Il pled-clav è nuncorrect, la carta SIM è bloccada! Il PUK2 è necessari."
- "Finì"
- "Conferenza da telefon %s"
- "Enavos al clom"
- "Cuntinuar senza carta SIM"
- "Betg chattà ina carta SIM. Inseri ina carta SIM en il telefonin."
- "Serrar"
- "Debloccar"
- "Autentificaziun dal PIN..."
- "Numer da la mailbox"
- "Telefonar..."
- "Nova emprova"
- "Conferenza da telefon"
- "Clom entrant"
- "Clom CDMA spetgant"
- "Finì il telefon"
- "Clom spetgant"
- "Pender si"
- "Clom"
-
-
- "Clom manchentà"
- "Cloms manchentads"
- "%s cloms manchentads"
- "Clom manchentà da %s"
- "Clom actual (%s)"
- "Spetgant"
- "Clom entrant"
- "Nov messadi vocal"
- "Novs messadis vocals (%d)"
- "Cumponer %s"
- "Numer da mailbox nunenconuschent"
- "nagin servetsch"
- "La rait tschernida (%s) n\'è betg disponibla"
- "Deactivai l\'emprim il modus d\'aviun per pudair telefonar."
- "Betg registrà en la rait."
- "Rait mobila betg disponibla."
- "Betg telefonà. Il numer cumponì n\'è betg valid."
- "Il clom n\'è betg vegnì exequì."
- "Iniziar la sequenza MMI..."
- "Lantschar la sequenza da codes da funcziun..."
- "Quest servetsch na vegn betg sustegnì."
- "Impussibel da midar tranter cloms."
- "Impussibel da separar il clom."
- "Impussibel da renviar il clom."
- "Impussibel da lantschar ina conferenza da telefon."
- "Impussibel da refusar il clom."
- "Impussibel da render disponibel il(s) clom(s)."
-
-
- "Clom d\'urgenza"
- "Activaziun dal signal radio..."
- "Territori senza rait, empruvar anc ina giada..."
- "Betg exequì il clom. %s n\'è betg in numer d\'urgenza!"
- "Betg telefonà. Cumponi in numer d\'urgenza!"
- "Utilisai la tastatura per cumponer il numer"
- "Tastas sonoras"
- "Far spetgar"
- "Reprender"
- "Serrar"
- "Tastatura"
- "Zuppentar"
- "Autpledader"
- "Nagin tun"
- "Bluetooth"
- "Agiuntar in clom"
- "Fusiunar ils cloms"
- "Stgamiar"
- "Administrar ils cloms"
-
-
-
-
- "Importar"
- "Importar tuts"
- "Importar contacts SIM"
- "Importar ord contacts"
- "Agids auditivs"
- "Activar la cumpatibilitad dal servetsch d\'agid auditiv"
-
- "Modus TTY deactivà"
- "TTY cumplet"
- "TTY HCO"
- "TTY VCO"
-
- "Text ERI"
- "Tuns DTMF"
- "Definir la durada dals tuns DTMF"
-
- "Normal"
- "Lungs"
-
- "Messadi da rait"
- "Activar Voss telefonin"
- "Vus stuais far in clom spezial per activar il servetsch da telefon. "\n\n"Smatgai sin «Activar» e tadlai las instrucziuns che As permettan dad activar Voss telefonin."
- "Smatgai sin Activar per exequir in clom spezial che vegn ad activar Voss telefon sin la rait mobila da Voss gestiunari da la rait. Silsuenter pudais Vus telefonar ed As connectar a raits da datas mobilas."
- "Sursiglir l\'activaziun?"
- "Sche Vus cuntinuais senza activar Voss telefonin na pudais Vus ni telefonar, ni As connectar ad ina rait da datas mobilas. La connexiun ad ina rait WLAN resta dentant pussaivla. Vus vegnis dumandads dad activar il telefonin mintga giada cura che Vus al mettais en funcziun."
- "Sursiglir"
- "Activar"
- "Activar"
- "Voss telefonin è activa!"
- "Problem cun l\'activaziun"
- "Suandai las instrucziuns a bucca enfin che Vus udis che l\'activaziun è cumpletta."
- "Tastatura"
- "Autpledader"
- "Spetgai per plaschair durant la programmaziun da Voss telefonin."
- "Programmaziun betg reussida"
- "Voss telefonin è ussa activà. Il servetsch vegn activà entaifer las proximas 15 minutas."
- "Voss telefonin n\'ha betg pudì vegnir activà. "\n"Vus stuais forsa ir en in lieu cun meglra connexiun a la rait (datiers dad ina fanestra u en il liber). "\n\n" Reempruvai u telefonai al servetsch da clientella per vegnir a savair dapli davart autras opziuns."
- "MEMIA BLERAS ERRURS SPC"
- "Enavos"
- "Reempruvar"
- "Vinavant"
- "Enavos"
- "EcmExitDialog"
- "Modus da clom enavos d\'urgenza è activà"
- "Modus da clom enavos d\'urgenza"
- "Connexiun da datas deactivada"
-
- "Nagina connexiun da datas durant %s minuta"
- "Nagina connexiun da datas durant %s minutas"
-
-
- "Il telefonin vegn ad esser en il modus da clom enavos d\'urgenza durant %s minuta. En quest modus na po nagina applicaziun che dovra ina connexiun da datas vegnir utilisada. Vulais Vus ussa bandunar quest modus?"
- "Il telefonin vegn ad esser en il modus da clom enavos d\'urgenza durant %s minutas. En quest modus na po nagina applicaziun che dovra ina connexiun da datas vegnir utilisada. Vulais Vus ussa bandunar quest modus?"
-
-
- "L\'acziun tschernida n\'è betg disponibla en il modus da clom enavos d\'urgenza. Quest modus è anc activà durant %s minuta. Al vulais Vus ussa bandunar?"
- "L\'acziun tschernida n\'è betg disponibla sch\'il telefonin è en il modus d\'urgenza.Quest modus è anc activà durant %s minutas. Al vulais Vus ussa bandunar?"
-
- "L\'acziun tschernida n\'è betg disponibla durant in clom d\'urgenza."
- "Bandunar il modus da clom enavos d\'urgenza"
- "Gea"
- "Na"
- "Serrar"
- "Parameters da mailbox"
- "<betg definì>"
- "Servetsch da mailbox"
- "Parameters per %s"
- "Auters parameters da clom"
- "Cumponer"
- "Telefonar cun ^1"\n"^2"
- "Spustar a dretga per respunder"
- "Spustar a sanestra per deactivar il tun da scalin"
- "Spustar a sanestra per refusar"
- "Spustar a dretga per respunder e"\n"far spetgar il clom actual."
- "Spustar a dretga per respunder ed"\n"interrumper il clom actual"
- "Spustar a dretga per respunder ed"\n"interrumper il clom spetgant"
- "Resposta"
- "Refusar"
- "foto dal contact"
- "modus privat"
- "tscherner in contact"
- "Parameters da clom internet"
-
-
-
-
-
-
- "Retschaiver cloms entrants"
-
-
- "Configurar las opziuns da clom"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "Contos SIP"
-
-
-
-
- "Memorisar"
- "Annullar"
-
-
- "OK"
-
-
- "Primar"
- "Definir quest conto sco mes conto primar"
-
-
- "Parameters avanzads"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "Num d\'utilisader"
- "Pled-clav"
- "Num mussà"
-
-
-
-
-
-
- "Trametter keep-alive"
- "Trametter messadis SIP keep-alive"
-
-
- "Registrar automaticamain il profil"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 094c1d135..4e5debc48 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -25,39 +25,27 @@
"Număr privat""Telefon public""În aşteptare"
- "Apel curent""Linie ocupată""Reţea ocupată""Fără răspuns, durata a expirat""Server neaccesibil""Numărul nu poate fi contactat""Nume de utilizator sau parolă incorecte"
- "Apelat din afara reţelei"
+ "Apelat din afara reţelei""Eroare de server. Încercaţi din nou mai târziu.""Niciun semnal""Limită ACM depăşită""Radio oprit"
- "Niciun card SIM sau eroare de SIM"
+ "Nu există SIM sau eroare de SIM""În afara ariei de acoperire""Apelurile trimise sunt restricţionate de FDN."
- "Nu puteţi efectua apeluri de ieşire în timp ce restricţionarea de apel este activă."
+ "Nu puteţi efectua apeluri de ieşire în timp ce blocarea apelurilor este activă.""Toate apelurile sunt restricţionate de controlul de acces.""Apelurile de urgenţă sunt restricţionate de controlul de acces.""Apelurile normale sunt restricţionate de controlul de acces."
- "CDMA: telefon blocat până la următoarea repornire."
- "CDMA: apel abandonat."
- "CDMA: apel interceptat."
- "CDMA: reordonaţi."
- "CDMA: opţiune serviciu respinsă."
- "CDMA: încercaţi din nou comanda."
- "CDMA: acces eşuat."
- "CDMA: anticipat."
- "Sunt posibile doar apelurile de urgenţă."
- "Număr nevalid"
+ "Număr nevalid""Teleconferinţă""Apelul s-a pierdut."
- "Încercaţi din nou"
- "Apel pierdut""OK""Cod MMI pornit""Se rulează codul USSD..."
@@ -69,23 +57,14 @@
"Cască cu fir""Bluetooth""Trimiteţi următoarele tonuri?"\n
- "Se trimit tonuri"\n
+ "Se trimit tonuri"\n"Trimiteţi""Da""Nu"
- "Înlocuiţi metacaracterul cu"
+ "Înlocuiţi metacaracterul cu""Lipseşte numărul mesageriei vocale""Niciun număr de mesagerie vocală nu este stocat pe cardul SIM.""Adăugaţi numărul"
- "Se încarcă..."
- "Tastaţi codul PIN pentru a debloca cardul SIM."
- "Card SIM deblocat"
- "Codul PIN nou pentru cardul SIM"
- "Introduceţi din nou codul PIN al cardului SIM pentru confirmare"
- "Codul PIN tastat pentru cardul SIM nu se potriveşte. Încercaţi din nou."
- "Tastaţi codul PUK pentru a debloca cardul SIM"
- "Cod PUK incorect!"
- "Continuaţi""Cardul dvs. SIM a fost deblocat. Telefonul dvs. se deblochează...""Codul PIN de deblocare a reţelei SIM""Deblocaţi"
@@ -93,8 +72,6 @@
"Se solicită deblocarea reţelei...""Cererea de deblocare a reţelei a eşuat.""Reţeaua a fost deblocată."
- "IMEI"
- "MEID""Setările apelului GSM""Setările apelului CDMA""Numele punctelor de acces"
@@ -109,6 +86,7 @@
"Setări suplimentare numai pentru apelurile CDMA""Setările serviciului de reţea""ID apelant"
+ "Se încarcă setările…""Număr ascuns în apelurile de ieşire""Numărul afişat în apelurile de ieşire""Utilizaţi setările prestabilite ale operatorului, pentru a vă afişa numărul în apelurile de ieşire"
@@ -127,17 +105,17 @@
"Număr pentru redirecţionare dacă este ocupat""Se efectuează redirecţionarea la {0}""Dezactivat"
- "Operatorul dvs. nu acceptă ca redirecţionarea apelurilor să fie dezactivată atunci când telefonul dvs. este ocupat."
+ "Operatorul dvs. nu acceptă ca redirecţionarea apelurilor să fie dezactivată atunci când telefonul dvs. este ocupat.""Redirecţionaţi când nu se răspunde""Număr pentru redirecţionare dacă nu se răspunde""Se efectuează redirecţionarea la {0}""Dezactivat"
- "Operatorul dvs. nu acceptă ca redirecţionarea apelurilor să fie dezactivată atunci când telefonul dvs. nu răspunde."
+ "Operatorul dvs. nu acceptă ca redirecţionarea apelurilor să fie dezactivată atunci când telefonul dvs. nu răspunde.""Redirecţionaţi dacă telefonul nu este accesibil""Număr de redirecţionare dacă telefonul nu este accesibil""Se efectuează redirecţionarea la {0}""Dezactivat"
- "Operatorul dvs. nu acceptă ca redirecţionarea apelurilor să fie dezactivată atunci când telefonul nu este accesibil."
+ "Operatorul dvs. nu acceptă ca redirecţionarea apelurilor să fie dezactivată atunci când telefonul nu este accesibil.""Setări apel""Eroare în setările de apel""Se citesc setările..."
@@ -145,8 +123,8 @@
"Se revine la setări...""Răspuns neaşteptat de la reţea.""Eroare de reţea sau de card SIM."
- "Operaţiile sunt permise numai cu numerele pentru apelări restricţionate."
- "Vă recomandăm să activaţi semnalul radio, înainte de a vizualiza aceste setări."
+ "Setarea Numere cu apelări restricţionate din aplicaţia Telefon este activată. Ca rezultat, unele funcţii legate de apelare nu pot fi utilizate."
+ "Activaţi semnalul radio, înainte de a vizualiza aceste setări.""OK""Activaţi""Dezactivaţi"
@@ -156,10 +134,9 @@
"Ascundeţi numărul""Afişaţi numărul"
- "Salvaţi""Număr mesagerie vocală modificat."
- "Schimbarea numărului mesageriei vocale a eşuat."\n"Contactaţi operatorul dvs. în caz că această problemă persistă."
- "Schimbarea numărului de redirecţionare a eşuat."\n"Contactaţi-vă operatorul dacă această problemă persistă."
+ "Nu s-a putut schimba numărul de mesagerie vocală."\n"Contactaţi operatorul în cazul în care această problemă persistă."
+ "Nu s-a putut schimba numărul de redirecţionare."\n"Contactaţi operatorul dvs. în cazul în care această problemă persistă.""Nu s-au putut prelua şi salva setările actuale ale numărului de redirecţionare."\n"Doriţi să comutaţi oricum către un nou furnizor de servicii?""Nicio schimbare efectuată.""Alegeţi serviciul de mesagerie vocală"
@@ -171,14 +148,14 @@
"Căutaţi reţele""Eroare la căutarea reţelelor.""Se înregistrează pe %s..."
- "Cardul dvs. SIM nu permite conexiunea la această reţea."
- "Nu se poate conecta la această reţea, în acest moment. Încercaţi din nou mai târziu."
+ "Cardul dvs. SIM nu permite conexiunea la această reţea."
+ "Nu se poate efectua conectarea la această reţea chiar acum. Încercaţi din nou mai târziu.""Înregistrat în reţea."
- "Selectaţi un operator de reţea"
+ "Alegeţi un operator de reţea""Căutaţi toate reţelele disponibile"
- "Selectaţi automat"
- "Selectaţi automat reţeaua preferată"
- "Înregistrare automată..."
+ "Selectaţi în mod automat"
+ "Selectaţi în mod automat reţeaua preferată"
+ "Înregistrare automată...""Mod reţea""Schimbaţi modul de operare a reţelei""Mod de reţea preferat"
@@ -192,17 +169,17 @@
"Mod de reţea preferat: numai EvDo""Mod de reţea preferat: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Numai EvDo""CDMA fără EvDo"
- "CDMA/EvDo automat"
- "GSM/WCDMA automat"
+ "CDMA/EvDo automat"
+ "GSM/WCDMA automat""Numai WCDMA""Doar GSM"
- "GSM/WCDMA preferată"
+ "GSM/WCDMA preferată"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Date activate"
@@ -210,12 +187,11 @@
"Roaming de date""Conectaţi-vă la serviciile de date în roaming""Conectaţi-vă la serviciile de date în roaming"
- "Aţi pierdut conectivitatea la date deoarece aţi părăsit reţeaua de domiciliu neavând activat roamingul."
+ "Aţi pierdut conectivitatea la date, deoarece aţi părăsit reţeaua de domiciliu neavând activat roamingul de date.""Permiteţi roamingul de date? Puteţi acumula taxe considerabile pentru roaming!""Opţiuni GSM/UMTS""Opţiuni CDMA""Rata de utilizare a datelor"
- "Politica operatorului de date""Datele utilizate în perioada curentă""Perioada de utilizare a datelor""Politica ratei de transfer a datelor"
@@ -226,7 +202,6 @@
"%1$d٪ din ciclul trecut"\n"Perioada următoare începe în %2$d (de) zile (%3$s)""Rata de transfer a datelor se reduce la %1$d Kb/s, dacă limita de utilizare este depăşită.""Mai multe informaţii despre politica de utilizare a datelor aplicată de operatorul dvs. de telefonie mobilă"
- "Transmisie celulară a mesajelor SMS""Transmisie celulară a mesajelor SMS""Transmisie celulară a mesajelor SMS""Transmisie celulară a mesajelor SMS activată"
@@ -267,15 +242,6 @@
"Coreeană""Chineză""Ebraică"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Limbi""Previziuni meteo locale"
@@ -305,9 +271,9 @@
"Oportunităţi de angajare""Oportunităţi de angajare activate""Oportunităţi de angajare dezactivate"
- "Medicină, sănătate şi spitale"
- "Medicină, sănătate şi spitale activate"
- "Medicină, sănătate şi spitale dezactivate"
+ "Medicină, sănătate şi spitale"
+ "Medicină, sănătate şi spitale activate"
+ "Medicină, sănătate şi spitale dezactivate""Ştiri din tehnologie""Ştiri din tehnologie activate""Ştiri din tehnologie dezactivate"
@@ -322,35 +288,17 @@
"Numai WCDMA""Doar GSM""GSM/WCDA (WCDMA recomandat)"
-
-
- "0"
- "1"
- "2"
- "3""Utilizaţi doar reţele 2G""Economisiţi bateria""Selectaţi sistemul"
- "Schimbaţi modul de roaming CDMA"
+ "Schimbaţi modul de roaming CDMA""Selectaţi sistemul""Doar domiciliu""Automat"
- "Mod roaming CDMA"
- "Schimbaţi modul de roaming CDMA"
- "Mod roaming CDMA"
-
- "Numai reţele de domiciliu"
- "Reţele afiliate"
- "Orice reţea"
-
-
- "0"
- "1"
- "2"
-
+ "Abonament CMDA""Preferinţe reţea CDMA""Neimplementat încă!""Preferinţele reţelei CDMA"
@@ -359,21 +307,11 @@
"Doar CDMA""Numai EvDo"
-
- "0"
- "1"
- "2"
-
- "Abonament CMDA""Comutaţi între RUIM/SIM şi NV""abonament""RUIM/SIM""NV"
-
-
- "0"
- "1""Activaţi dispozitivul""Configuraţi serviciul de date"
@@ -390,18 +328,16 @@
"Gestionaţi numerele cu apelări restricţionate""Schimbaţi codul PIN pentru accesul FDN""Gestionaţi lista numerelor de telefon"
- "Confidenţialitate voce"
+ "Confidenţialitate voce""Activaţi modul avansat de confidenţialitate"
- "Mod TTY"
- "Activaţi modul TTY""Mod TTY""Setaţi modul TTY"
- "Reîncercare automată"
- "Activaţi modul Reîncercare automată"
+ "Reîncercare automată"
+ "Activaţi modul Reîncercare automată""Adăugaţi o persoană în agendă""Modificaţi informaţiile despre persoana din agendă""Ştergeţi persoana din agendă"
- "Introduceţi codul PIN2"
+ "Introduceţi codul PIN2""Nume""Număr""Salvaţi"
@@ -414,56 +350,50 @@
"Ştergeţi numărul cu apelări restricţionate""Se şterge numărul cu apelări restricţionate...""Numărul cu apelări restricţionate a fost şters."
- "FDN nu s-a actualizat: codul PIN introdus este incorect."
- "FDN nu s-a actualizat: numărul nu poate depăşi 20 de cifre."
+ "FDN nu a fost actualizat, deoarece aţi introdus un cod PIN incorect."
+ "FDN nu a fost actualizat, deoarece numărul nu poate depăşi 20 de cifre."
+ "Numărul FDN nu a fost actualizat. Codul PIN2 a fost incorect sau numărul de telefon a fost respins.""Se citeşte de pe cardul SIM...""Nicio persoană în agenda de pe cardul dvs. SIM.""Selectaţi persoanele din agendă care se importă"
- "Pentru a importa contactele de pe cartela SIM, vă rugăm să dezactivaţi modul Avion."
+ "Pentru a importa agenda de pe cardul SIM, dezactivaţi mai întâi modul Avion.""Activaţi/dezactivaţi codul PIN al cardului SIM""Schimbaţi codul PIN pentru SIM""Codul PIN pentru cardul SIM:""Codul PIN vechi""Cod PIN nou""Confirmaţi noul cod PIN"
- "Codul PIN vechi pe care l-aţi tastat nu este corect. Încercaţi din nou."
- "Codurile PIN introduse nu se potrivesc. Încercaţi din nou."
+ "Codul PIN vechi pe care l-aţi introdus nu este corect. Încercaţi din nou."
+ "Codurile PIN introduse nu se potrivesc. Încercaţi din nou.""Introduceţi un cod PIN alcătuit din 4 până la 8 cifre.""Dezactivaţi codul PIN al cardului SIM""Activaţi codul PIN al cardului SIM""Aşteptaţi..."
- "Cod PIN activat pentru cardul SIM"
- "Codul PIN al cardului SIM este dezactivat"
- "Codul PIN introdus a fost incorect"
- "Codul PIN pentru SIM a fost modificat"
+ "Cod PIN activat pentru cardul SIM."
+ "Codul PIN al cardului SIM este dezactivat."
+ "Codul PIN introdus a fost incorect."
+ "Codul PIN pentru SIM a fost modificat.""Parolă incorectă, SIM blocat! Se solicită PUK2.""PIN2""Codul PIN2 vechi""Cod PIN2 nou""Confirmaţi noul cod PIN2"
- "Codul PUK2 introdus nu este corect. Încercaţi din nou."
- "Vechiul cod PIN2 introdus nu este corect. Încercaţi din nou."
- "Codurile PIN2 introduse nu se potrivesc. Încercaţi din nou."
+ "Codul PUK2 introdus nu este corect. Încercaţi din nou."
+ "Vechiul cod PIN2 introdus nu este corect. Încercaţi din nou."
+ "Codurile PIN2 introduse nu se potrivesc. Încercaţi din nou.""Introduceţi un cod PIN2 format din 4-8 cifre.""Introduceţi un cod PUK2 format din 8 cifre."
- "Codul PIN2 a fost schimbat"
+ "Codul PIN2 a fost schimbat.""Introduceţi codul PUK2"
- "Parolă incorectă, schimbaţi codul PIN2 şi încercaţi din nou!"
- "Parolă incorectă, SIM blocat! Se solicită PUK2."
+ "Parolă incorectă. Schimbaţi codul PIN2 şi încercaţi din nou."
+ "Parolă incorectă, SIM blocat. Se solicită codul PUK2.""Terminat""Teleconferinţă %s"
- "Înapoi la apel"
- "Continuaţi fără cardul SIM"
- "Niciun card SIM găsit în telefonul dvs. Introduceţi unul!"
- "Renunţaţi"
- "Deblocaţi"
- "Se autentifică codul PIN...""Număr mesagerie vocală""Apelează""Se încearcă din nou""Teleconferinţă""Apel de intrare"
- "Apel CDMA în aşteptare""Apel încheiat""În aşteptare""Se închide telefonul"
@@ -473,7 +403,7 @@
"Apeluri nepreluate""%s (de) apeluri nepreluate""Apel nepreluat de la %s"
- "Apel curent (%s)"
+ "Apel în desfăşurare""În aşteptare""Apel de intrare""Mesaj vocal nou"
@@ -482,13 +412,15 @@
"Număr mesagerie vocală necunoscut""Fără serviciu""Reţeaua selectată (%s) nu este disponibilă"
+ "Încheiaţi apelul"
+ "Sunaţi înapoi"
+ "Mesaj""Pentru a efectua un apel, mai întâi dezactivaţi modul Avion.""Neînregistrat în reţea.""Reţeaua mobilă nu este disponibilă.""Apelul nu s-a trimis; niciun număr valid introdus.""Apelul nu a fost trimis.""Se porneşte secvenţa MMI..."
- "Se porneşte secvenţa de cod a funcţiei...""Serviciu neacceptat.""Apelurile nu pot fi comutate.""Apelul nu poate fi separat."
@@ -500,18 +432,13 @@
"Apel de urgenţă""Se activează semnalul radio...""În afara ariei de serviciu. Se încearcă din nou..."
- "Apelul nu s-a trimis. %s nu este un număr de urgenţă!"
- "Apelul nu s-a trimis. Apelaţi un număr de urgenţă!"
+ "Apelul nu s-a trimis. %s nu este un număr de urgenţă!"
+ "Apelul nu s-a trimis. Apelaţi un număr de urgenţă!""Utilizaţi tastatura pentru a forma"
- "Tastatură tactilă cu tonuri sonore""Reţineţi"
- "Reluaţi""Terminat""Tastatură numerică"
- "Ascundeţi"
- "Difuzor""Dezactivaţi sunetul"
- "Bluetooth""Adăugaţi un apel""Îmbinaţi apelurile""Schimbaţi"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "Text ERI"
- "Tonuri DTMF"
+ "Tonuri DTMF""Setaţi lungimea tonurilor DTMF""Normală""Lung"
- "Mesaj de reţea"
+ "Mesaj de reţea""Activaţi-vă telefonul""Pentru a vă activa serviciul de telefonie, trebuie să efectuaţi un apel special. "\n\n"După ce apăsaţi „Activaţi”, ascultaţi instrucţiunile furnizate pentru a vă activa telefonul."
- "Atingeţi „Activaţi” pentru a plasa un apel special care vă activează telefonul în reţeaua mobilă a operatorului dvs. Astfel, puteţi plasa apeluri şi vă puteţi conecta la reţele de date mobile.""Omiteţi activarea?""Dacă omiteţi activarea, nu puteţi efectua apeluri şi nici nu vă puteţi conecta la o reţea de date mobilă (deşi vă puteţi conecta la reţele Wi-Fi). Până veţi activa telefonul, vi se va solicita să-l activaţi de fiecare dată când îl porniţi.""Omiteţi"
- "Activaţi""Activaţi"
- "Telefonul este activat!"
+ "Telefonul este activat.""Problemă de activare""Urmăriţi instrucţiunile rostite până când veţi auzi că activarea este finalizată."
- "Tastatură""Difuzor"
- "Aşteptaţi, telefonul dvs. se programează..."
- "Programarea nu a reuşit"
+ "Aşteptaţi, telefonul dvs. se programează."
+ "Programarea nu a reuşit""Telefonul dvs. este acum activat. Poate să dureze până la 15 minute până la pornirea serviciului."
- "Telefonul dvs. nu s-a activat. "\n"Trebuie să găsiţi o arie cu acoperire mai bună (lângă fereastră sau afară). "\n\n"Încercaţi din nou sau apelaţi serviciul de clienţi pentru mai multe opţiuni."
+ "Telefonul dvs. nu s-a activat. "\n"Vă recomandăm să găsiţi o zonă cu acoperire mai bună (lângă fereastră sau afară). "\n\n"Pentru mai multe opţiuni, încercaţi din nou sau apelaţi serviciul pentru clienţi.""ERORI DE DEPĂŞIRE SPC""Înapoi""Încercaţi din nou""Înainte"
- "Înapoi""EcmExitDialog""S-a activat modul de apelare inversă de urgenţă""Mod de apelare inversă de urgenţă"
@@ -569,87 +491,69 @@
"Nicio conexiune de date pentru %s (de) minute"
- "Telefonul va fi în mod de apelare inversă de urgenţă pentru %s (de) minute. În acest timp nu poate fi utilizată nicio aplicaţie care necesită o conexiune de date. Doriţi să ieşiţi acum?"
- "Acest telefon va fi în modul de apelare inversă de urgenţă pentru %s (de) minute. În acest timp nu poate fi utilizată nicio aplicaţie care necesită o conexiune de date. Doriţi să ieşiţi acum?"
+ "Telefonul va fi în modul Apelare inversă de urgenţă pentru %s minut. Cât timp se află în acest mod nu puteţi folosi aplicaţiile care utilizează o conexiune de date. Doriţi să ieşiţi acum?"
+ "Telefonul va fi în modul Apelare inversă de urgenţă pentru %s (de) minute. Cât timp se află în acest mod nu puteţi folosi aplicaţiile care utilizează o conexiune de date. Doriţi să ieşiţi acum?"
- "Acţiunea selectată nu este disponibilă în modul de apelare inversă de urgenţă. Telefonul va fi în acest mod pentru %s (de) minute. Doriţi să ieşiţi acum?"
- "Acţiunea selectată nu este disponibilă în modul de apelare inversă de urgenţă. Telefonul va fi în acest mod pentru %s (de) minute. Doriţi să ieşiţi acum?"
+ "Acţiunea selectată nu este disponibilă în modul Apelare inversă de urgenţă. Telefonul va rămâne în acest mod pentru %s minut. Doriţi să ieşiţi acum?"
+ "Acţiunea selectată nu este disponibilă în modul Apelare inversă de urgenţă. Telefonul va rămâne în acest mod pentru %s (de) minute. Doriţi să ieşiţi acum?"
- "Acţiunea selectată nu este disponibilă în timpul efectuării unui apel de urgenţă"
- "Se iese din modul de apelare inversă de urgenţă"
+ "Acţiunea selectată nu este disponibilă în timpul efectuării unui apel de urgenţă."
+ "Se iese din modul Apelare inversă de urgenţă""Da""Nu""Renunţaţi"
- "Setările mesageriei vocale"
- "<nesetat>"
- "Serviciul de mesagerie vocală"
- "Setări pentru %s"
+ "Servicii"
+ "Configurare"
+ "<Nesetat>""Alte setări de apel"
- "Apelaţi"
- "Se apelează prin ^1"\n"^2"
- "Glisaţi la dreapta pentru a răspunde"
- "Glisaţi la stânga pentru a dezactiva soneria"
- "Glisaţi la stânga pentru a respinge"
- "Glisaţi la dreapta pentru a răspunde şi"\n"reţineţi apelul activ"
- "Glisaţi la dreapta pentru a răspunde şi"\n"terminaţi apelul activ"
- "Glisaţi la dreapta pentru a răspunde şi"\n"terminaţi apelul în aşteptare"
- "Răspuns"
- "Refuzaţi"
+ "Se apelează prin %s""fotografie persoană din agendă""trecerea la modul privat""selectarea unei persoane din agendă""Setări pentru apeluri prin internet""Conturi pentru apelare prin internet (SIP)""Conturi"
- "Gestionaţi conturile pentru apelare prin internet (SIP) şi starea acestora""Primiţi apeluri de intrare""Reduce durata de funcţionare a bateriei"
- "Configuraţi opţiunile pentru apeluri""Utilizaţi apelarea prin internet""Utilizaţi apelarea prin internet (numai Wi-Fi)""Pentru toate apelurile, când reţeaua de date este disponibilă""Numai pentru apeluri prin internet""Întrebare la fiecare apel""Pentru toate apelurile"
- "Înregistrare automată"
- "Apel de ieşire prin SIP""Efectuaţi apel""Utilizaţi contul pentru apelare prin internet:""Utilizaţi întotdeauna pentru a efectua apeluri prin internet"
- "Puteţi utiliza Setările pentru apeluri dacă doriţi să editaţi contul pentru apelare prin internet pe care îl utilizaţi în mod prestabilit atunci când efectuaţi apeluri, setând un cont diferit din Setările pentru apelarea prin internet"
+ "Puteţi să schimbaţi contul de apelare prin internet pe care îl utilizaţi în mod prestabilit, din ecranul Telefon > Setări > Setări apeluri prin internet > Conturi.""Apel de pe mobil""Apel prin internet""Nu există un cont pentru apelare prin internet"
- "Nu există conturi pentru apelarea prin internet pe acest telefon. Adăugaţi unul acum?"
+ "Nu există conturi de apelare prin internet pe acest telefon. Doriţi să adăugaţi unul acum?""Adăugaţi""Adăugaţi un cont""Eliminaţi contul""Conturi SIP"
- "Se salvează contul..."
- "Se elimină contul..."
+ "Se salvează contul..."
+ "Se elimină contul...""Salvaţi""Renunţaţi""Închideţi profilul""OK""Închideţi"
- "Principal"
- "Doresc ca acesta să fie contul meu principal"
- "Utilizat pentru apelurile de ieşire"
- "Setări avansate""Cont principal. %s""Se verifică starea..."
- "Se efectuează înregistrarea..."
- "Se încearcă în continuare..."
- "Nu se primesc apeluri"
- "Înregistrarea contului s-a oprit, deoarece nu există conexiune la internet"
- "Înregistrarea contului s-a oprit, deoarece nu există conexiune Wi-Fi"
- "Înregistrarea contului nu a reuşit"
- "Primire apeluri"
+ "Se înregistrează..."
+ "Se încearcă în continuare..."
+ "Nu se primesc apeluri."
+ "Înregistrarea contului s-a oprit, deoarece nu există conexiune la internet."
+ "Înregistrarea contului s-a oprit, deoarece nu există conexiune Wi-Fi."
+ "Înregistrarea contului nu a reuşit."
+ "Se primesc apeluri.""Înregistrarea contului nu a reuşit: (%s); se va încerca mai târziu"
- "Înregistrarea contului nu a reuşit: nume de utilizator sau parolă incorecte"
- "Înregistrarea contului nu a reuşit: verificaţi numele serverului"
- "Acest cont este utilizat în prezent de aplicaţia %s"
+ "Înregistrarea contului nu a reuşit: nume de utilizator sau parolă incorectă."
+ "Înregistrarea contului nu a reuşit: verificaţi numele serverului."
+ "Acest cont este utilizat în prezent de aplicaţia %s.""Detalii cont SIP""Detalii cont SIP""Server"
@@ -660,9 +564,6 @@
"Numărul portului""Tip de transport""Trimiteţi mesaje keep-alive"
- "Trimiteţi mesaje keep-alive SIP"
- "Înregistrare automată"
- "Înregistraţi profilul în mod automat""Setaţi drept cont principal""Utilizat pentru apelurile de ieşire""Setări opţionale"
@@ -673,12 +574,12 @@
"<Opţional>""▷ Atingeţi pentru a le afişa pe toate""▽ Atingeţi pentru a le ascunde pe toate"
- "%s este obligatoriu şi nu poate fi lăsat necompletat"
- "Numărul portului trebuie să fie cuprins între 1000 şi 65534"
+ "Câmpul %s este obligatoriu şi nu poate fi lăsat necompletat."
+ "Numărul portului trebuie să fie cuprins între 1000 şi 65534.""Nu există conexiune la internet""Nu există conexiune Wi-Fi"
- "Pentru a efectua un apel prin internet, verificaţi mai întâi conexiunea la internet"
- "Trebuie să fiţi conectat(ă) la o reţea Wi-Fi pentru a efectua apeluri prin internet (utilizaţi setările pentru Wireless şi reţea)"
+ "Pentru a efectua un apel prin internet, verificaţi mai întâi conexiunea la internet."
+ "Trebuie să fiţi conectat(ă) la o reţea Wi-Fi pentru a efectua apeluri prin internet (utilizaţi setările pentru Reţele wireless).""Apelarea prin internet neacceptată""Automat""Se trimite întotdeauna"
@@ -687,7 +588,7 @@
"Te sun imediat înapoi.""Te sun mai târziu.""Nu pot acum. Vorbim mai târziu?"
- "Mesaj personalizat..."
+ "Mesaj personalizat""Răspunsuri rapide""Editaţi răspunsurile rapide"
@@ -705,7 +606,6 @@
"stea""zero""diez"
- "căutare""apelare""backspace""Difuzor activat."
@@ -713,11 +613,46 @@
"Răspundeţi""Trimiteţi SMS""Refuzaţi"
- "Vibrare"
- "Vibrare"
+ "Vibraţii"
+ "Vibraţii"
+ "Ton de apel""Întotdeauna""Numai când profilul este Silenţios""Niciodată"
+ "Ton de sonerie telefon"
+ "Vibrează când sună"
+ "Tonuri la ating. tastaturii pt. apelare"
+ "Ton de apel"
+ "Indicator Mesaj în Aşteptare"
+ "Afişaţi notificările indicatorului în aşteptare pentru mesageria vocală"
+ "Mod reţea preferat: LTE / GSM/WCDMA"
+ "Mod reţea preferat: LTE / CDMA / EvDo"
+ "Mod reţea preferat: LTE / CMDA / EvDo / GSM/WCDMA"
+
+ "LTE/GSM/WCDMA"
+ "GSM/WCDMA preferat"
+
+ "Roaming de date naţional"
+ "Serviciile de date în roaming naţional activate"
+ "Serviciile de date în roaming naţional dezactivate"
+ "Setări tast. numerică"
+ "Setări pentru tastatura numerică"
+ "Modificaţi reţeaua (2G/3G)"
+ "Aplicația cu această permisiune poate, în orice moment, schimba între datele 2G şi 3G. 3G este mai rapid, consumă mai multă baterie și vă poate costa de asemenea, mai mulți bani."
+ "Suprimare zgomot"
+ "Activaţi suprimare zgomot pentru apeluri"
+ "Nr. meu de telefon"
+ "Setați numărul de telefon pentru acest dispozitiv"
+ "Setări Avansate"
+ "Păstraţi sensorul de apropiere activat"
+ "Nu dezactivaţi senzorul de apropiere în timpul apelurilor utilizând un set de căști"
+ "Blocare la sfârşitul apelului"
+ "Blocare automată când un apel i-a sfârşit şi ecranul este deconectat"
+ "Vibrare la răspuns"
+ "Vibrare fiecare 45 de secunde"
+ "Vibrare la fiecare a 45-a secundă a unui minut în timpul apelului de ieşire"
+ "Vibrare la sfârşitul apelului"
+ "Vibrare apel în aşteptare"
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 9d18be201..946d4ec76 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -18,46 +18,34 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
"Данные для мобильных устройств""Телефон"
- "Номера экстренных вызовов"
+ "Экстренный вызов""Телефон""Разрешенные номера""Неизвестный абонент""Скрытый номер""Телефон-автомат""Ждет ответа"
- "Активный вызов""Линия занята""Сеть занята""Нет ответа, время ожидания истекло""Сервер недоступен""Номер недоступен""Неверное имя пользователя или пароль"
- "Вызов из сети"
+ "Вызов из другой сети""Ошибка сервера. Повторите попытку позже.""Нет сигнала""Превышен лимит ACM""Радио выключено"
- "SIM-карта не установлена или ошибка SIM-карты"
+ "Ошибка SIM-карты или SIM-карта не установлена""Вне зоны действия сети""Вы можете позвонить только на телефоны из списка разрешенных номеров."
- "Если включена функция запрета вызовов, невозможно осуществлять исходящие вызовы."
+ "Исходящие звонки невозможны, если включен запрет вызовов.""Все вызовы запрещены настройками доступа.""Экстренные вызовы запрещены настройками доступа.""Обычные вызовы запрещены настройками доступа."
- "CDMA: телефон заблокирован до следующего включения."
- "CDMA: вызов сброшен."
- "CDMA: вызов перехвачен."
- "CDMA: возобновить."
- "CDMA: не принят параметр службы."
- "CDMA: порядок дозвона."
- "CDMA: не удалось получить доступ."
- "CDMA: зарезервировано."
- "Возможны только экстренные вызовы"
- "Недействительный номер"
+ "Неверный номер""Конференц-вызов""Вызов был утрачен."
- "Повторить попытку"
- "Вызов утрачен""ОК""Код MMI запущен""Выполняется запрос USSD…"
@@ -69,23 +57,14 @@
"Проводная гарнитура""Bluetooth""Отправить следующие тоны?"\n
- "Отправка тональных сигналов"\n
+ "Отправка тональных сигналов"\n"Позвонить""Да""Нет"
- "Заменить универсальный символ на"
+ "Заменить универсальный символ на""Не указан номер голосовой почты""На SIM-карте нет ни одного номера голосовой почты.""Добавить номер"
- "Идет загрузка…"
- "Чтобы разблокировать SIM-карту, введите PIN."
- "SIM-карта разблокирована"
- "Новый PIN SIM-карты"
- "Для подтверждения введите новый PIN SIM-карты"
- "Введенные коды PIN SIM-карты не совпадают. Повторите попытку."
- "Введите код PUK, чтобы разблокировать SIM-карту"
- "Неверный код PUK"
- "Продолжить""SIM-карта разблокирована. Осуществляется разблокировка телефона...""PIN для разблокировки сети SIM-карты""Разблокировать"
@@ -93,8 +72,6 @@
"Запрос разблокировки сети...""Запрос на разблокировку сети не выполнен.""Разблокировка сети успешно завершена."
- "IMEI"
- "MEID""Настройки вызовов GSM""Настройки вызовов CDMA""Точки доступа (APN)"
@@ -109,6 +86,7 @@
"Дополнительные настройки только для вызовов CDMA""Настройки сетевой службы""АОН"
+ "Загрузка настроек…""Скрывать номер при исходящих вызовах""Номер, отображающийся при исходящих вызовах""При исходящих вызовах использовать для отображения моего номера настройки, предоставляемые оператором"
@@ -127,17 +105,17 @@
"Номер, использующийся, когда линия занята""Переадресация на номер {0}""Отключено"
- "Ваш оператор не поддерживает отключение переадресации звонков, если телефон занят."
+ "Ваш оператор не позволяет отключать переадресацию вызовов, если телефон занят.""При отсутствии ответа""Номер для переадресации при отсутствии ответа""Переадресация на номер {0}""Отключено"
- "Ваш оператор не поддерживает отключение переадресации звонков, если нет ответа."
+ "Ваш оператор не позволяет отключать переадресацию вызовов, если нет ответа.""Если недоступен""Номер для переадресации, если абонент недоступен""Переадресация на номер {0}""Отключено"
- "Ваш оператор не поддерживает отключение переадресации звонков, если телефон находится вне зоны доступа."
+ "Ваш оператор не позволяет отключать переадресацию вызовов, если телефон находится вне зоны доступа.""Настройки вызовов""Ошибка настройки вызовов""Чтение настроек…"
@@ -145,8 +123,8 @@
"Возврат к предыдущим настройкам…""Неожиданный отклик сети.""Ошибка сети или SIM-карты."
- "Возможны операции только с разрешенными номерами."
- "Чтобы увидеть эти настройки, нужно включить радио."
+ "Разрешенные номера в приложении \"Телефон\" включены. В результате некоторые функции вызовов недоступны."
+ "Чтобы увидеть настройки, включите приемопередатчик.""ОК""Включить""Отключить"
@@ -156,10 +134,9 @@
"Скрыть номер""Показывать номер"
- "Сохранить номер голосовой почты""Номер голосовой почты изменен."
- "Не удалось изменить номер голосовой почты."\n"Если проблема не будет решена, свяжитесь со своим оператором."
- "Не удалось изменить номер переадресации вызовов."\n"Если проблема не будет решена, свяжитесь со своим оператором."
+ "Не удалось изменить номер голосовой почты."\n"Если проблема не будет решена, обратитесь к оператору связи."
+ "Не удалось изменить номер переадресации."\n"Если проблема не будет решена, обратитесь к оператору связи.""Не удалось сохранить текущие настройки переадресации."\n"Все равно сменить провайдера?""Номер не изменен.""Выберите службу голосовой почты"
@@ -171,14 +148,14 @@
"Поиск сетей""Ошибка поиска сетей.""Регистрация в сети %s…"
- "Установленная SIM-карта не может подключиться к этой сети."
- "Не удается подключиться к этой сети. Повторите попытку позже."
+ "Ваша SIM-карта не поддерживает подключение к этой сети."
+ "Не удалось подключиться к сети. Повторите попытку позже.""Регистрация в сети завершена."
- "Выберите оператора связи"
+ "Выберите оператора связи""Поиск всех доступных сетей"
- "Выбирать автоматически"
- "Автоматически выбирать предпочтительную сеть"
- "Автоматическая регистрация..."
+ "Автоматически"
+ "Автоматически выбирать предпочтительную сеть"
+ "Автоматическая регистрация...""Режим сети""Изменить режим работы сети""Режим предпочтительной сети"
@@ -192,17 +169,17 @@
"Предпочтительная сеть: только EvDo""Предпочтительная сеть: LTE или CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Только EvDo""CDMA без EvDo"
- "CDMA / EvDo (автоматический режим)"
- "GSM / WCDMA (автоматический режим)"
+ "CDMA/EvDo (авторежим)"
+ "GSM/WCDMA (авторежим)""Только WCDMA""Только GSM"
- "GSM / WCDMA (предпочтительная сеть)"
+ "GSM/WCDMA (предпочтение)"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Передача данных"
@@ -210,12 +187,14 @@
"Интернет-роуминг""Подключаться к службам передачи данных в роуминге""Подключаться к службам передачи данных в роуминге"
- "Передача данных прекращена, потому что телефон находится за пределами домашней сети, а интернет-роуминг выключен."
+ Национальный роуминг
+ Подключаться к службам передачи данных в национальном роуминге
+ Не подключаться к службам передачи данных в национальном роуминге
+ "Передача данных прекращена, потому что телефон находится за пределами домашней сети, а интернет-роуминг выключен.""Разрешить интернет-роуминг? Возможны высокие расходы за использование роуминга.""Параметры GSM/UMTS""Параметры CDMA""Передача данных"
- "Политика передачи данных оператора связи""Передача данных в текущем периоде""Время передачи данных""Скорость передачи данных"
@@ -228,7 +207,6 @@
"Превышение лимита снижает скорость передачи данных до %1$d кбит/с""Подробнее о политике передачи данных вашего оператора мобильной связи..."
- "Широковещательные SMS-службы""Широковещательные SMS-службы""Широковещательные SMS-службы""Широковещательные SMS-службы включены"
@@ -269,15 +247,6 @@
"корейский""китайский""иврит"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Языки""Местный прогноз погоды"
@@ -307,9 +276,9 @@
"Вакансии""Вакансии включены""Вакансии отключены"
- "Медицинские учреждения и больницы"
- "Медицинские учреждения и больницы включены"
- "Медицинские учреждения и больницы отключены"
+ "Медицинские учреждения"
+ "Медицинские учреждения (включено)"
+ "Медицинские учреждения (отключено)""Новости технологий""Новости технологий включены""Новости технологий отключены"
@@ -324,58 +293,22 @@
"Только WCDMA""Только GSM""GSM/WCDA (предпочтительно WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Только сети 2G""Использовать сети 2G для экономии заряда батареи""Выбор системы"
- "Изменить режим роуминга CDMA"
+ "Изменить режим роуминга CDMA""Выбор системы""Только домашняя""Автоматически"
- "Режим роуминга CDMA"
- "Изменить режим роуминга CDMA"
- "Режим роуминга CDMA"
-
- "Только домашние сети"
- "Аффилированные сети"
- "Любая сеть"
-
-
- "0"
- "1"
- "2"
-
- "Параметры сети CDMA"
- "Еще не реализовано!"
- "Настройки сети CDMA"
-
- "CDMA/EvDo"
- "Только CDMA"
- "Только EvDo"
-
-
- "0"
- "1"
- "2"
-
- "CDMA-подключение"
+ "Подписка CDMA""Переключение между RUIM/SIM и NV""подписка""RUIM/SIM""NV"
-
-
- "0"
- "1""Активировать устройство""Настроить передачу данных"
@@ -392,18 +325,16 @@
"Управление списком разрешенных номеров""Изменить PIN для доступа к списку разрешенных номеров""Управление списком разрешенных номеров"
- "Конфиденциальность разговоров"
+ "Конфиденциальность""Включить усиленный режим конфиденциальности"
- "Режим телетайпа"
- "Включить режим телетайпа""Режим телетайпа""Установить режим телетайпа"
- "Автодозвон"
- "Включить режим автодозвона"
+ "Автодозвон"
+ "Включить режим автодозвона""Добавить контакт""Изменить контакт""Удалить контакт"
- "Введите PIN2"
+ "Тип кода PIN2""Имя""Номер""Сохранить"
@@ -416,56 +347,50 @@
"Удалить номер ограниченного набора""Выполняется удаление номера ограниченного набора…""Номер ограниченного набора удален."
- "Номер ограниченного набора не обновлен: вы ввели неверный PIN-код."
- "Номер ограниченного набора не обновлен: он не должен содержать больше 20 цифр."
+ "Разрешенный номер не обновлен, так как введен неверный PIN-код."
+ "Разрешенный номер не обновлен, т. к. не может содержать более 20 цифр."
+ "Список разрешенных номеров не обновлен. Указан неверный PIN2 или номер телефона.""Считывание с SIM-карты…""На SIM-карте нет контактов.""Выберите контакты для импорта"
- "Чтобы импортировать контакты с SIM-карты, отключите режим полета."
+ "Чтобы перенести контакты с SIM-карты, отключите режим полета.""Включить/отключить запрос PIN SIM-карты""Изменить PIN SIM-карты""PIN SIM-карты:""Прежний PIN""Новый PIN""Подтвердите новый PIN"
- "Введен неверный прежний PIN. Повторите попытку."
- "Введенные коды PIN не совпадают. Повторите попытку."
+ "Прежний PIN-код указан неверно. Повторите попытку."
+ "Введенные PIN-коды не совпадают. Повторите попытку.""Введите PIN, содержащий от 4 до 8 цифр.""Отключить запрос PIN SIM-карты""Включить запрос PIN SIM-карты""Подождите..."
- "Запрос PIN SIM-карты включен"
- "Запрос PIN SIM-карты отключен"
- "Введен неверный PIN"
- "PIN SIM-карты успешно изменен"
+ "Запрос PIN-кода SIM-карты включен"
+ "Запрос PIN-кода SIM-карты отключен."
+ "PIN-код указан неверно."
+ "PIN-код изменен.""Неверный пароль, SIM-карта заблокирована! Введите код PUK2.""PIN2""Прежний PIN2""Новый PIN2""Подтвердите новый PIN2"
- "Введен неверный код PUK2. Повторите попытку."
- "Введен неверный прежний код PIN2. Повторите попытку."
- "Введенные коды PIN2 не совпадают. Повторите попытку."
+ "Код PUK2 указан неверно. Повторите попытку."
+ "Прежний код PIN2 указан неверно. Повторите попытку."
+ "Введенные коды PIN2 не совпадают. Повторите попытку.""Введите PIN2, содержащий от 4 до 8 цифр.""Введите 8-значный код PUK2."
- "PIN2 успешно изменен"
+ "Код PIN2 изменен.""Введите код PUK2"
- "Неверный пароль. Измените код PIN2 и повторите попытку."
- "Неверный пароль, SIM-карта заблокирована! Введите код PUK2."
+ "Неверный пароль. Измените код PIN2 и повторите попытку."
+ "Неверный пароль, SIM-карта заблокирована. Введите код PUK2.""Готово""Конференц-вызов: %s"
- "Вернуться к вызову"
- "Продолжить без SIM-карты"
- "SIM-карта отсутствует. Установите SIM-карту в телефон."
- "Закрыть"
- "Разблокировать"
- "Проверка PIN…""Номер голосовой почты""Набор номера""Повторная попытка""Конференц-вызов""Входящий вызов"
- "Ожидание вызова CDMA""Вызов завершен""Ждет ответа""Завершение разговора"
@@ -475,7 +400,7 @@
"Пропущенные вызовы""Пропущенных вызовов: %s""Пропущенные вызовы от абонента %s"
- "Активный вызов (%s)"
+ "Текущий вызов""На удержании""Входящий вызов""Новое сообщение голосовой почты"
@@ -484,13 +409,15 @@
"Номер голосовой почты неизвестен""Сеть не найдена""Выбранная сеть (%s) недоступна."
+ "Завершить разговор"
+ "Перезвонить"
+ "Сообщение""Перед тем как звонить, отключите режим полета.""Нет регистрации в сети.""Мобильная сеть недоступна.""Вызов не осуществляется, действительный номер телефона не указан.""Вызов не осуществляется.""Запуск последовательности MMI..."
- "Запуск последовательности кодов функций...""Услуга не поддерживается.""Не удается переключить вызовы.""Не удалось разделить вызов."
@@ -502,18 +429,13 @@
"Экстренный вызов""Включение радио…""Вне зоны действия сети, повторное подключение..."
- "Вызов не осуществляется, %s не является номером экстренного вызова!"
- "Вызов не осуществлен, наберите номер экстренного вызова!"
+ "Вызов не выполнен. %s – не номер экстренной службы."
+ "Вызов не выполнен. Наберите номер.""Используйте клавиатуру для набора номера"
- "Тональная клавиатура""Удерживать"
- "Снять удержание""Завершить""Кнопки"
- "Скрыть"
- "Динамик""Откл. звук"
- "Bluetooth""+ вызов""Соединить""Перевод звонка"
@@ -532,36 +454,31 @@
"Телетайп с возможностью слышать собеседника""Телетайп с возможностью передачи голоса"
- "Текст ERI"
- "Тональные сигналы DTMF"
+ "DTMF-сигналы""Настроить длительность тональных сигналов DTMF""Обычные""Длинные"
- "Сообщение сети"
+ "Сообщение сети""Активировать телефон""Необходим специальный звонок для активации службы телефона. "\n\n"После нажатия кнопки \"Активировать\" прослушайте инструкции по активации телефона."
- "Нажмите “Активировать”, чтобы позвонить на специальный номер для активации телефона в сети оператора мобильной связи. После этого вы сможете совершать вызовы и подключаться к мобильным сетям передачи данных.""Пропустить активацию?""Если вы пропустите активацию, вы не сможете совершать вызовы и подключаться к мобильным сетям передачи данных (хотя вы сможете подключаться к сетям Wi-Fi). Пока вы не активируете свой телефон, запрос активации будет отображаться при каждом его включении.""Пропустить"
- "Активировать""Активировать"
- "Телефон активирован!"
+ "Телефон активирован.""Неполадки при активации""Следуйте голосовым инструкциям, пока вам не сообщат, что активация завершена."
- "Клавиатура""Динамик"
- "Дождитесь завершения программирования телефона."
- "Сбой при программировании"
+ "Дождитесь завершения программирования."
+ "Сбой при программировании""Ваш телефон активирован. Включение службы может занять до 15 минут."
- "Телефон не был активирован. "\n"Возможно, вам следует найти зону с более высоким уровнем сигнала (у окна или на улице). "\n\n"Повторите попытку или свяжитесь со службой поддержки."
+ "Телефон не был активирован."\n"Возможно, вам следует найти зону с более высоким уровнем сигнала (у окна или на улице)."\n\n"Повторите попытку или свяжитесь со службой поддержки.""ПРЕВЫШЕНИЕ ЧИСЛА ОШИБОК SPC""Назад""Повторите попытку""Далее"
- "Назад""ДиалогВыходаРАЭВ""Телефон переведен в режим экстренных обратных вызовов""Режим экстренных обратных вызовов"
@@ -571,87 +488,69 @@
"Подключение для передачи данных отсутствует %s мин."
- "Телефон перейдет в режим экстренных обратных вызовов на %s мин. В этом режиме невозможно использовать приложения, задействующие передачу данных. Выйти из режима?"
- "Телефон перейдет в режим экстренных обратных вызовов на %s мин. В этом режиме невозможно использовать приложения, задействующие передачу данных. Выйти из режима?"
+ "Телефон будет оставаться в режиме экстренных обратных вызовов еще %s мин. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?"
+ "Телефон будет оставаться в режиме экстренных обратных вызовов еще %s мин. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?"
- "Выбранное действие недоступно в режиме экстренных обратных вызовов. Телефон будет оставаться в этом режиме еще %s мин. Выйти из режима?"
- "Выбранное действие недоступно в режиме экстренных обратных вызовов. Телефон будет оставаться в этом режиме еще %s мин. Выйти из режима?"
+ "Выбранное действие невозможно при экстренных обратных вызовах. Телефон будет оставаться в этом режиме еще %s мин. Выйти?"
+ "Выбранное действие невозможно при экстренных обратных вызовах. Телефон будет оставаться в этом режиме еще %s мин. Выйти?"
- "Выбранное действие невозможно в режиме экстренной связи"
- "Выход из режима экстренных обратных вызовов"
+ "Выбранное действие невозможно при экстренном вызове."
+ "Выход из режима экстренных обратных вызовов""Да""Нет""Закрыть"
- "Настройки голосовой почты"
- "<не задано>"
- "Служба голосовой почты"
- "Настройки (%s)"
+ "Служба"
+ "Настройка"
+ "<Не задано>""Другие настройки вызовов"
- "Набор номера"
- "Звонок через ^1"\n"^2"
- "Перетащите вкладку вправо, чтобы ответить"
- "Перетащите вкладку влево, чтобы отключить звонок"
- "Перетащите вкладку влево, чтобы отклонить вызов"
- "Перетащите вкладку вправо, чтобы ответить,"\n"удерживая активный вызов"
- "Перетащите вкладку вправо, чтобы ответить,"\n"завершив активный вызов"
- "Перетащите вкладку вправо, чтобы ответить,"\n"завершив удерживаемый вызов"
- "Ответить"
- "Отклонить"
+ "Звонок через %s""фотография контакта""приватная конференция""выбрать контакт""Настройки интернет-телефонии""Аккаунты интернет-телефонии (SIP)""Аккаунты"
- "Управление аккаунтами и состоянием интернет-вызовов (SIP)""Принимать входящие""Повышает расход заряда батареи"
- "Настроить параметры вызова""Использовать Интернет""Использовать интернет-соединение (Wi-Fi)""Для всех вызовов при возможности передачи данных""Только для интернет-вызовов""Спрашивать для каждого вызова""Для всех вызовов"
- "Автоматическая регистрация"
- "Исходящий вызов через SIP""Исходящий вызов""Аккаунт для интернет-вызовов:""Использовать для всех интернет-вызовов"
- "В настройках вызовов можно изменить аккаунт интернет-телефонии, который используется по умолчанию при выполнении вызовов. Для этого выберите другой аккаунт в настройках интернет-вызовов."
+ "Изменить аккаунт интернет-вызовов, используемый по умолчанию, можно в настройках интернет-телефонии на экране \"Аккаунты\".""Вызов по сотовой сети""Интернет-вызов""Нет аккаунтов для интернет-вызовов"
- "Нет аккаунтов для интернет-вызовов. Создать аккаунт?"
+ "На телефоне нет аккаунтов для интернет-телефонии. Добавить?""Добавить""Добавить аккаунт""Удалить аккаунт""SIP-аккаунты"
- "Сохранение аккаунта..."
- "Удаление аккаунта..."
+ "Сохранение..."
+ "Удаление аккаунта...""Сохранить""Отменить""Закройте профиль""ОК""Закрыть"
- "Основной"
- "Сделать этот аккаунт основным"
- "Использовать этот аккаунт по умолчанию для исходящих вызовов"
- "Расширенные настройки""Основной аккаунт. %s""Проверка состояния..."
- "Регистрация..."
- "Подождите..."
- "Вызовы не принимаются"
- "Регистрация аккаунта прервана – отсутствует подключение к Интернету"
- "Регистрация прервана – отсутствует подключение Wi-Fi"
- "Не удалось зарегистрировать аккаунт"
- "Вызовы принимаются"
+ "Регистрация..."
+ "Подождите..."
+ "Вызовы не принимаются."
+ "Регистрация аккаунта прервана – отсутствует подключение к Интернету."
+ "Регистрация прервана. Отсутствует подключение к Wi-Fi"
+ "Не удалось зарегистрировать аккаунт."
+ "Вызовы принимаются.""Не удалось зарегистрировать аккаунт (%s). Новая попытка будет предпринята позже."
- "Не удалось зарегистрировать аккаунт. Неверное имя пользователя или пароль."
- "Не удалось зарегистрировать аккаунт. Неверное имя сервера."
- "Этим аккаунтом сейчас пользуется приложение %s"
+ "Не удалось зарегистрировать аккаунт. Неверное имя пользователя или пароль."
+ "Не удалось зарегистрировать аккаунт. Неверное имя сервера."
+ "Аккаунт используется приложением \"%s\".""Настройки SIP-аккаунта""Настройки SIP-аккаунта""Сервер"
@@ -662,9 +561,6 @@
"Номер порта""Протокол""Отправлять keep-alive"
- "Отправлять сообщения keep-alive"
- "Автоматическая регистрация"
- "Регистрировать профиль автоматически""Основной аккаунт""Использовать этот аккаунт по умолчанию для исходящих вызовов""Расширенные настройки"
@@ -675,12 +571,12 @@
"<Необязательно>""▷ Нажмите, чтобы показать все""▽ Нажмите, чтобы скрыть все"
- "Поле \"%s\" не может быть пустым"
- "Номер порта должен быть от 1000 до 65534"
+ "Поле \"%s\" должно быть заполнено."
+ "Номер порта должен быть от 1000 до 65534.""Подключение к Интернету отсутствует""Отсутствует подключение Wi-Fi"
- "Перед звонком через Интернет проверьте подключение"
- "Для совершения интернет-вызовов необходимо подключение к сети Wi-Fi (используйте настройки беспроводной сети)."
+ "Перед звонком проверьте подключение к Интернету"
+ "Чтобы выполнить интернет-вызов, подключитесь к сети Wi-Fi (см. настройки беспроводной сети).""Интернет-вызов не поддерживается""Автоматически""Отправлять всегда"
@@ -689,7 +585,7 @@
"Я сейчас вам перезвоню.""Я перезвоню вам позже.""Не могу говорить. Позвоните позже."
- "Собственное сообщение..."
+ "Добавить сообщение""Быстрые ответы""Быстрые ответы"
@@ -707,7 +603,6 @@
"звездочка""ноль""решетка"
- "поиск""набор номера""возврат""Громкая связь включена."
@@ -717,9 +612,46 @@
"Отклонить""Вибросигнал""Вибросигнал"
+ "Рингтон""Всегда"
- "Только в режиме без звука"
+ "Только в тихом режиме""Никогда"
+
+ "Рингтон"
+ "Вибросигнал и рингтон"
+ "Звук клавиш"
+ "Рингтон"
+
+
+ Настройка CrystalTalk
+ Аудио-профили: %s
+
+
+ Настройки кнопок
+ Настройки номеронабирателя
+
+ Изменение сети (2G/3G)
+ Приложение, имеющее данное разрешение, может в любое время переключать режимы связи между 2G и 3G. Режим 3G имеет более высокую скорость и большее потребление энергии.
+
+
+ Шумоподавление
+ Включить шумоподавление в телефонных разговорах
+ Мой номер телефона
+ Установка номера телефона для этого устройства
+
+
+ Дополнительные настройки
+ Не выключать датчик приближения
+ Не выключать датчик приближения во время разговора с использованием гарнитуры
+ Блокировка по окончании разговора
+ Заблокировать экран после окончания разговора
+ Вибрировать при ответе
+ Вибрировать при ожидании
+ Вибрировать при ожидании на линии
+ Вибрировать при отбое
+ Вибрировать когда разговор окончен
+ Вибрировать каждые 45с
+ Вибрировать каждые 45 секунд в течение исходящего звонка
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index f8ae18258..ee360b1ab 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -25,39 +25,27 @@
"Súkromné číslo""Verejný telefón""Podržaný hovor"
- "Aktuálny hovor""Linka je obsadená""Sieť je zaneprázdnená""Bez odozvy, vypršal časový limit""Server je nedostupný""Volané číslo je nedostupné""Nesprávne používateľské meno alebo heslo"
- "Volanie z priestoru mimo siete"
+ "Volanie z priestoru mimo siete""Chyba servera: Skúste to znova neskôr.""Žiadny signál""Bol prekročený limit ACM""Rádio je vypnuté"
- "Karta SIM chýba alebo nefunguje"
+ "Karta SIM chýba alebo nefunguje""Nepokrytá oblasť""Odchádzajúce hovory sú obmedzené na pevne určené čísla (FDN)."
- "Ak je zapnuté blokovanie hovorov, nie je možné uskutočňovať odchádzajúce hovory."
+ "Ak je zapnuté blokovanie hovorov, nie je možné uskutočňovať odchádzajúce hovory.""Všetky hovory sú obmedzené ovládaním prístupu.""Tiesňové volania sú obmedzené ovládaním prístupu.""Bežné volania sú obmedzené ovládaním prístupu."
- "CDMA: Telefón uzamknutý do Ďalšieho cyklu nabíjania."
- "CDMA: Hovor prerušený."
- "CDMA: Hovor prerušený."
- "CDMA: preusporiadanie."
- "CDMA: Odmietnutie možnosti služby."
- "CDMA: Poradie opakovaní."
- "CDMA: Prístup nebol úspešný."
- "CDMA: Zabránené."
- "Uskutočňovať sa dajú len tiesňové volania."
- "Neplatné číslo"
+ "Neplatné číslo""Konferenčný hovor""Hovor bol prerušený."
- "Skúsiť znova"
- "Hovor bol prerušený""OK""Kód MMI bol spustený""Kód USSD je spustený..."
@@ -69,23 +57,14 @@
"Náhlavná súprava s káblom""Bluetooth""Odoslať nasledujúce tóny?"\n
- "Odosielanie tónov"\n
+ "Odosielanie tónov"\n"Odoslať""Áno""Nie"
- "Nahradiť zástupný znak znakom"
+ "Nahradiť zástupný znak znakom""Chýba číslo hlasovej schránky""Na karte SIM nie je uložené žiadne číslo hlasovej schránky.""Pridať číslo"
- "Prebieha načítavanie…"
- "Kartu SIM odomknete zadaním kódu PIN:"
- "Karta SIM bola odomknutá."
- "Nový kód PIN karty SIM"
- "Potvrďte nový kód PIN karty SIM"
- "Zadané kódy PIN karty SIM sa nezhodujú. Skúste to znova."
- "Kartu SIM odomknete zadaním kódu PUK"
- "Zadaný kód PUK je nesprávny."
- "Pokračovať""Karta SIM bola odblokovaná. Prebieha odomykanie telefónu...""Kód PIN odomknutia siete pre kartu SIM""Odomknúť"
@@ -93,8 +72,6 @@
"Žiadosť o odomknutie siete...""Žiadosť o odomknutie siete nebola úspešná.""Sieť bola odomknutá."
- "IMEI"
- "MEID""Nastavenia hovorov GSM""Nastavenia hovorov CDMA""Názvy prístupových bodov"
@@ -109,6 +86,7 @@
"Ďalšie nastavenia hovorov, iba CDMA""Nastavenia sieťovej služby""Identifikácia volajúceho"
+ "Načítavajú sa nastavenia...""Číslo je v odchádzajúcich hovoroch skryté""Číslo je zobrazené v odchádzajúcich hovoroch""Zobrazenie čísla v odchádzajúcich hovoroch sa bude riadiť predvolenými nastaveniami operátora"
@@ -127,17 +105,17 @@
"Číslo pri obsadenej linke""Presmerovanie na {0}""Zakázané"
- "Váš operátor neumožňuje zakázanie presmerovaní, keď je telefón obsadený."
+ "Váš operátor neumožňuje zakázanie presmerovaní, keď je telefón nedostupný.""Presmerovať – neprijatý hovor""Číslo pri neprijatí hovoru""Presmerovanie na {0}""Zakázané"
- "Váš operátor neumožňuje zakázanie presmerovaní, keď telefón neodpovedá."
+ "Váš operátor neumožňuje zakázanie presmerovaní hovorov, keď telefón neodpovedá.""Presmerovať v prípade nedostupnosti""Číslo pri nedostupnosti""Presmerovanie na {0}""Zakázané"
- "Váš operátor neumožňuje zakázanie presmerovaní, keď je telefón nedostupný."
+ "Váš operátor neumožňuje zakázanie presmerovaní, keď je telefón nedostupný.""Nastavenia hovorov""Chyba nastavení hovorov""Prebieha načítavanie nastavení..."
@@ -145,8 +123,8 @@
"Prebieha vrátenie predchádzajúcich nastavení…""Neočakávaná odpoveď siete.""Došlo k chybe siete alebo karty SIM."
- "Operácie je možné vykonávať iba na číslach pevného vytáčania."
- "Pred zobrazením nastavení zapnite rádio."
+ "Nastavenie Pevne určené čísla v aplikácii Telefón je povolené. Z toho dôvodu nefungujú niektoré funkcie volania."
+ "Pred zobrazením nastavení zapnite rádio.""OK""Povoliť""Zakázať"
@@ -156,10 +134,9 @@
"Skryť číslo""Zobraziť číslo"
- "Uložiť číslo hlasovej schránky""Číslo hlasovej schránky bolo zmenené."
- "Zmena čísla hlasovej schránky nebola úspešná."\n"Ak problém pretrváva, kontaktujte svojho operátora."
- "Zmena čísla pre presmerovania nebola úspešná."\n"Ak problém pretrváva, kontaktujte svojho operátora."
+ "Číslo hlasovej schránky sa nepodarilo zmeniť."\n"Ak bude problém pretrvávať, kontaktujte operátora."
+ "Číslo presmerovania hovorov sa nepodarilo zmeniť."\n"Ak bude problém pretrvávať, kontaktujte operátora.""Načítanie a uloženie aktuálnych nastavení čísla presmerovania zlyhalo."\n"Chcete aj napriek tomu prepnúť na nového poskytovateľa?""Neuskutočnili sa žiadne zmeny.""Zvoliť službu hlasovej schránky"
@@ -171,14 +148,14 @@
"Vyhľadávanie sietí""Pri vyhľadávaní sietí došlo k chybe.""Prebieha registrácia v sieti %s..."
- "Vaša karta SIM nepovoľuje pripojenie k tejto sieti."
- "K tejto sieti sa teraz nepodarilo pripojiť. Skúste to znova neskôr."
+ "Vaša karta SIM nepovoľuje pripojenie k tejto sieti."
+ "V tejto chvíli sa nedá pripojiť k sieti. Skúste to znova neskôr.""Prihlásenie k sieti prebehlo úspešne."
- "Vybrať sieťového operátora"
+ "Zvoliť sieťového operátora""Hľadať všetky dostupné siete"
- "Automatický výber"
- "Preferovaná sieť je volená automaticky"
- "Automatická registrácia..."
+ "Vybrať automaticky"
+ "Automaticky vybrať preferovanú sieť"
+ "Automatická registrácia...""Režim siete""Zmeniť prevádzkový režim siete""Preferovaný režim siete"
@@ -192,17 +169,17 @@
"Preferovaný režim siete: iba EVDO""Preferovaný režim siete: LTE / CDMA"
- "LTE / CDMA"
+ "LTE / CDMA""Iba EvDo""CDMA bez EvDo"
- "CDMA/EvDo – automaticky"
- "GSM/WCDMA – automaticky"
+ "CDMA / EvDo – automaticky"
+ "GSM / WCDMA – automaticky""Iba WCDMA""Iba GSM"
- "GSM/WCDMA – preferované"
+ "GSM / WCDMA – preferované"
- "LTE / CDMA"
+ "LTE / CDMA""CDMA""Dátové prenosy aktivované"
@@ -210,12 +187,11 @@
"Dátové služby pri roamingu""Dátové služby sa môžu pripájať pri roamingu""Dátové služby sa môžu pripájať pri roamingu"
- "Pripojenie dátových služieb bolo prerušené, pretože ste opustili domovskú sieť a dátové služby pri roamingu máte vypnuté."
+ "Pripojenie dátových služieb bolo prerušené, pretože ste opustili domovskú sieť a dátové služby pri roamingu máte vypnuté.""Naozaj chcete povoliť dátové služby pri roamingu? Môžu sa účtovať vysoké poplatky.""Možnosti GSM/UMTS""Možnosti CDMA""Využitie dát"
- "Pravidlá operátora pre dáta""Dáta využité v aktuálnom období""Obdobie využitia dát""Pravidlá pre prenosovú rýchlosť"
@@ -226,7 +202,6 @@
"Uplynulo %1$d٪ cyklu"\n"Počet dní do začiatku ďalšieho obdobia: %2$d (%3$s)""V prípade prekročenia limitu využitia dát sa prenosová rýchlosť zníži na %1$d kB/s""Ďalšie informácie o pravidlách využitia dát v mobilnej sieti vášho mobilného operátora"
- "SMS Cell Broadcast""SMS Cell Broadcast""SMS Cell Broadcast""SMS Cell Broadcast povolené"
@@ -267,15 +242,6 @@
"Kórejčina""čínština""Hebrejčina"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Jazyky""Miestne počasie"
@@ -305,9 +271,9 @@
"Pracovné príležitosti""Pracovné príležitosti povolené""Pracovné príležitosti zakázané"
- "Lekárstvo, zdravie a nemocnica"
- "Lekárstvo, zdravie a nemocnica povolené"
- "Lekárstvo, zdravie a nemocnica zakázané"
+ "Lekárstvo, zdravie a nemocnica"
+ "Lekárstvo, zdravie a nemocnica povolené"
+ "Lekárstvo, zdravie a nemocnica zakázané""Technologické správy""Technologické správy povolené""Technologické správy zakázané"
@@ -323,34 +289,17 @@
"Iba GSM""GSM/WCDA (preferované WCDMA)"
-
- "0"
- "1"
- "2"
- "3"
-
+
"Používať iba siete 2G""Šetrí batériu""Výber systému"
- "Zmeniť režim roamingu CDMA"
+ "Zmeniť režim roamingu CDMA""Výber systému""Iba plocha""Automaticky"
- "Režim CDMA roamingu"
- "Zmeniť režim roamingu CDMA"
- "Režim roamingu CDMA"
-
- "Iba domovské siete"
- "Partnerské siete"
- "Akákoľvek sieť"
-
-
- "0"
- "1"
- "2"
-
+ "Odber CDMA""Nastavenia siete CDMA""Zatiaľ neimplementované""Predvoľby siete CDMA"
@@ -359,21 +308,11 @@
"Iba CDMA""Iba EvDo"
-
- "0"
- "1"
- "2"
-
- "Odber CDMA""Prepnúť medzi RUIM/SIM a NV""odber""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktivovať zariadenie""Nastaviť dátovú službu"
@@ -390,18 +329,16 @@
"Umožňuje spravovať Pevne určené čísla""Umožňuje zmeniť kód PIN pre prístup k pevne určeným číslam (FDN)""Správa telefónneho zoznamu"
- "Ochrana osobných údajov hlasovej pošty"
+ "Ochrana osobných údajov hlasovej pošty""Povoliť režim vylepšenej ochrany osobných údajov"
- "Režim TTY"
- "Povoliť režim TTY""Režim TTY""Nastaviť režim TTY"
- "Automaticky skúsiť znova"
- "Povoliť režim Automaticky skúsiť znova"
+ "Automaticky skúsiť znova"
+ "Povoliť režim Automaticky skúsiť znova.""Pridať kontakt""Upraviť kontakt""Odstrániť kontakt"
- "Zadať kód PIN2"
+ "Zadajte kód PIN2""Meno""Číslo""Uložiť"
@@ -414,56 +351,50 @@
"Odstrániť pevne určené čísla""Prebieha odstraňovanie pevne určených čísiel...""Pevne určené čísla boli odstránené."
- "Pevne určené čísla (FDN) neboli aktualizované: Zadali ste nesprávny kód PIN."
- "Pevne určené čísla (FDN) neboli aktualizované: dĺžka čísla nemôže presahovať 20 číslic."
+ "Pevne určené čísla (FDN) neboli aktualizované, pretože ste zadali nesprávny kód PIN."
+ "Pevne určené čísla (FDN) neboli aktualizované, pretože číslo nesmie presiahnuť 20 číslic."
+ "Pevne určené čísla (FDN) neboli aktualizované. Kód PIN2 bol nesprávny alebo bolo telefónne číslo odmietnuté.""Prebieha čítanie z karty SIM...""Na karte SIM nie sú žiadne kontakty.""Vybrať kontakty na import"
- "Ak chcete importovať kontakty z karty SIM, vypnite režim V lietadle."
+ "Ak chcete importovať kontakty z karty SIM, vypnite režim V lietadle.""Povoliť alebo zakázať kód PIN karty SIM""Zmeniť kód PIN karty SIM""Kód PIN karty SIM:""Pôvodný kód PIN""Nový kód PIN""Potvrďte nový kód PIN"
- "Pôvodný kód PIN bol zadaný nesprávne. Skúste to znova."
- "Zadané kódy PIN sa nezhodujú. Skúste to znova."
+ "Pôvodný kód PIN bol zadaný nesprávne. Skúste to znova."
+ "Zadané kódy PIN sa nezhodujú. Skúste to znova.""Zadajte kód PIN s dĺžkou 4 až 8 číslic.""Zakázať kód PIN karty SIM""Povoliť kód PIN karty SIM""Čakajte..."
- "Kód PIN karty SIM je povolený"
- "Kód PIN karty SIM je zakázaný."
- "Zadaný kód PIN je nesprávny."
- "Kód PIN karty SIM bol zmenený."
+ "Kód PIN karty SIM je povolený."
+ "Kód PIN karty SIM je zakázaný."
+ "Zadaný kód PIN je nesprávny."
+ "Kód PIN karty SIM bol zmenený.""Neplatné heslo, karta SIM je uzamknutá. Zadajte kód PUK2.""PIN2""Pôvodný kód PIN2""Nový kód PIN2""Potvrdiť nový kód PIN2"
- "Pôvodný kód PUK2 bol zadaný nesprávne. Skúste to znova."
- "Pôvodný kód PIN2 bol zadaný nesprávne. Skúste to znova."
- "Zadané kódy PIN2 sa nezhodujú. Skúste to znova."
+ "Zadaný kód PUK2 nie je správny. Skúste to znova."
+ "Pôvodný kód PIN2 bol zadaný nesprávne. Skúste to znova."
+ "Zadané kódy PIN2 sa nezhodujú. Skúste to znova.""Zadajte kód PIN2 s dĺžkou 4 až 8 číslic.""Zadajte 8-miestny kód PUK2."
- "Kód PIN2 bol úspešne zmenený"
+ "Kód PIN2 bol zmenený.""Zadajte kód PUK2"
- "Heslo je nesprávne. Zmeňte kód PIN2 a skúste to znova."
- "Neplatné heslo, karta SIM je uzamknutá. Zadajte kód PUK2."
+ "Heslo je nesprávne. Zmeňte kód PIN2 a skúste to znova."
+ "Nesprávne heslo, karta SIM bola uzamknutá. Zadajte kód PUK2.""Hotovo""Konferenčný hovor %s"
- "Späť na hovor"
- "Pokračovať bez karty SIM"
- "Karta SIM sa nenašla. Vložte do telefónu kartu SIM."
- "Zrušiť"
- "Odomknúť"
- "Prebieha overovanie kódu PIN...""Číslo hlasovej schránky""Vytáčanie""Opakuje sa pokus""Konferenčný hovor""Prichádzajúci hovor"
- "Čakajúci hovor CDMA""Hovor bol ukončený""Podržaný hovor""Ukončovanie hovoru"
@@ -473,7 +404,7 @@
"Zmeškané hovory""Zmeškané hovory: %s.""Zmeškaný hovor od volajúceho %s"
- "Aktuálny hovor (%s)"
+ "Prebiehajúci hovor""Podržaný hovor""Prichádzajúci hovor""Nová hlasová správa"
@@ -482,13 +413,15 @@
"Číslo hlasovej schránky je neznáme""Žiadny signál""Vybratá sieť (%s) nie je k dispozícii"
+ "Položiť"
+ "Zavolať späť"
+ "Správa""Ak chcete telefonovať, vypnite najprv režim V lietadle.""Prihlásenie do siete nebolo úspešné.""Mobilná sieť nie je k dispozícii.""Hovor sa nepodarilo spojiť, nebolo zadané platné číslo.""Hovor nebol spojený.""Prebieha spúšťanie sekvencie MMI..."
- "Prebieha spúšťanie sekvencie kódu funkcie…""Nepodporovaná služba.""Hovory nie je možné prepnúť.""Hovor nie je možné oddeliť."
@@ -500,18 +433,13 @@
"Tiesňové volanie""Prebieha zapínanie rádia...""Nepokrytá oblasť, opakovanie pokusu..."
- "Hovor sa nepodarilo spojiť, %s nie je číslo núdzového volania."
- "Hovor nebol spojený, vytočte číslo tiesňového volania."
+ "Hovor sa nepodarilo spojiť. %s nie je číslo núdzového volania."
+ "Hovor nebol spojený, vytočte číslo tiesňového volania.""Číslo vytočíte pomocou klávesnice."
- "Tónová klávesnica""Podržať"
- "Pokračovať""Koniec""Číselná klávesnica"
- "Skryť"
- "Reproduktor""Ignorovať"
- "Bluetooth""Pridať hovor""Zlúčiť hovory""Zameniť"
@@ -530,36 +458,31 @@
"TTY HCO""TTY VCO"
- "Text ERI"
- "Tóny DTMF"
+ "Tóny DTMF""Nastaviť dĺžku tónov DTMF""Normálna""Dlhé"
- "Správa siete"
+ "Informácia siete""Aktivujte svoj telefón""Telefónnu službu je potrebné aktivovať uskutočnením mimoriadneho hovoru. "\n\n"Stlačte tlačidlo Aktivovať a aktivujte telefón podľa poskytnutých pokynov."
- "Dotknite sa tlačidla Aktivovať. Uskutočníte tak mimoriadny hovor, ktorým telefón aktivujete v mobilnej sieti svojho operátora. Budete tak môcť volať a pripájať sa k mobilným dátovým sieťam.""Preskočiť aktiváciu?""Ak preskočíte aktiváciu, nemôžete volať ani sa pripájať k mobilným dátovým sieťam (môžete sa ale pripojiť k sieťam Wi-Fi). Ak svoj telefón neaktivujete, bude sa pri každom zapnutí zobrazovať výzva na aktiváciu.""Preskočiť"
- "Aktivovať""Aktivovať"
- "Telefón je aktivovaný."
+ "Telefón je aktivovaný.""Problém s aktiváciou""Postupujte podľa hlasových pokynov, až kým nebudete informovaní o dokončení aktivácie."
- "Klávesnica""Reproduktor"
- "Počkajte, kým sa telefón naprogramuje."
- "Programovanie nebolo úspešné"
+ "Počkajte, kým sa telefón naprogramuje."
+ "Programovanie nebolo úspešné""Váš telefón je teraz aktivovaný. Spustenie služby môže trvať až 15 minút."
- "Váš telefón nebol aktivovaný."\n"Možno bude treba vyhľadať oblasť s lepším pokrytím (blízko okna alebo vonku). "\n\n"Skúste to znova alebo kontaktujte oddelenie zákazníckych služieb, kde získate informácie o ďalších možnostiach."
+ "Váš telefón nebol aktivovaný. "\n"Možno bude treba vyhľadať oblasť s lepším pokrytím (blízko okna alebo vonku). "\n\n"Skúste to znova alebo kontaktujte oddelenie zákazníckych služieb, kde získate informácie o ďalších možnostiach.""PRÍLIŠ VEĽA ZLYHANÍ CERTIFIKÁTOV SPC""Späť""Skúsiť znova""Ďalej"
- "Späť""Dialóg ukončenia režimu tiesňového spätného volania""Bol aktivovaný režim tiesňového spätného volania""Režim tiesňového spätného volania"
@@ -569,87 +492,69 @@
"Žiadne dátové pripojenie po dobu %s min"
- "Telefón zotrvá v režime tiesňového spätného volania %s min. V tomto režime nie je možné použiť žiadne aplikácie využívajúce dátové pripojenie. Chcete režim ukončiť teraz?"
- "Telefón zotrvá v režime tiesňového spätného volania %s min. V tomto režime nie je možné použiť žiadne aplikácie využívajúce dátové pripojenie. Chcete režim ukončiť teraz?"
+ "Telefón bude v režime spätného núdzového volania počas %s min. V tomto režime nie je možné používať žiadne aplikácie používajúce dátové pripojenie. Chcete ho ukončiť?"
+ "Telefón bude v režime spätného núdzového volania počas %s min. V tomto režime nie je možné používať žiadne aplikácie používajúce dátové pripojenie. Chcete ho ukončiť?"
- "Vybratá akcia nie je v režime tiesňového spätného volania k dispozícii. Telefón zotrvá v tomto režime %s min. Chcete režim ukončiť teraz?"
- "Vybratá akcia nie je v režime tiesňového spätného volania k dispozícii. Telefón zotrvá v tomto režime %s min. Chcete režim ukončiť teraz?"
+ "Vybratá akcia nie je k dispozícii v režime Tiesňového spätného volania. Telefón v ňom bude %s min. Chcete ho ukončiť?"
+ "Vybratá akcia nie je k dispozícii v režime Tiesňového spätného volania. Telefón v ňom bude %s min. Chcete ho ukončiť?"
- "Počas tiesňového volania nie je vybratá akcia k dispozícii"
- "Ukončenie režimu tiesňového spätného volania"
+ "Počas tiesňového volania nie je vybratá akcia k dispozícii."
+ "Ukončenie režimu tiesňového spätného volania""Áno""Nie""Zrušiť"
- "Nastavenia hlasovej schránky"
- "<nenastavené>"
- "Služba hlasovej schránky"
- "Nastavenia poskytovateľa „%s“"
+ "Služba"
+ "Nastavenie"
+ "<Nenastavené>""Ďalšie nastavenia hovorov"
- "Vytočiť"
- "Volanie prostredníctvom ^1"\n"^2"
- "Pretiahnutím doprava hovor prijmete"
- "Pretiahnutím doľava stlmíte vyzváňanie"
- "Pretiahnutím doľava hovor odmietnete"
- "Pretiahnutím doprava hovor prijmete"\n"a aktívny podržíte"
- "Pretiahnutím doprava prijmete aj"\n"ukončíte aktívny hovor"
- "Pretiahnutím doprava hovor prijmete"\n"a podržaný ukončíte"
- "Odpoveď"
- "Odmietnuť"
+ "Voláte prostredníctvom poskytovateľa %s""fotografia kontaktu""prepnúť na súkromné""vybrať kontakt""Nastavenie internetových hovorov""Účty pre internetové hovory (SIP)""Účty"
- "Správa a stav účtov pre internetové volanie (SIP)""Prijímať prichádzajúce hovory""Znižuje výdrž batérie"
- "Konfigurácia možností hovorov""Použiť internetový volanie""Použiť internetový hovor (iba s pripojením Wi-Fi)""Pre všetky hovory, pokiaľ je k dispozícii dátová sieť""Iba pre internetové hovory""Zakaždým sa spýtať""Pre všetky hovory"
- "Automatická registrácia"
- "Odchádzajúce hovory pomocou protokolu SIP""Uskutočniť hovor""Použiť účet na internetové hovory:""Vždy používať pri internetových hovoroch"
- "V časti Nastavenia hovorov môžete pomocou možnosti Nastavenia internetových hovorov zmeniť účet pre internetové hovory, ktorý chcete pri volaní používať ako predvolený."
+ "Predvolený účet na internetové hovory môžete zvoliť na obrazovke Telefón > Nastavenia > Nastavenia internetového hovoru > Účty.""Hovor z mobilného telefónu""Internetový hovor""Žiadny účet na internetové hovory:"
- "V tomto telefóne nie sú žiadne účty pre internetové hovory. Chcete účet pridať?"
+ "V tomto telefóne neexistujú žiadne účty internetového hovoru. Chcete jeden pridať?""Pridať""Pridať účet""Odstrániť účet""Účty SIP"
- "Prebieha ukladanie účtu..."
- "Prebieha odstraňovanie účtu..."
+ "Prebieha ukladanie účtu..."
+ "Prebieha odstraňovanie účtu...""Uložiť""Zahodiť""Zavrieť profil""OK""Zavrieť"
- "Primárny"
- "Nastaviť tento účet ako primárny"
- "Použité pre odchádzajúce hovory"
- "Rozšírené nastavenia""Primárny účet. %s""Prebieha kontrola stavu..."
- "Prebieha registrácia..."
- "Prebiehajú ďalšie pokusy..."
- "Hovory sa neprijímajú"
- "Registrácia účtu bola zastavená, pretože pripojenie k Internetu nie je k dispozícii"
- "Registrácia účtu bola zastavená, pretože pripojenie Wi-Fi nie je k dispozícii"
- "Registrácia účtu nebola úspešná"
- "Príjem hovorov"
+ "Prebieha registrácia..."
+ "Prebiehajú ďalšie pokusy..."
+ "Hovory sa neprijímajú."
+ "Registrácia účtu bola zastavená, pretože pripojenie k internetu nie je k dispozícii."
+ "Registrácia účtu bola zastavená, pretože pripojenie Wi-Fi nie je k dispozícii."
+ "Registrácia účtu nebola úspešná."
+ "Príjem hovorov.""Registrácia účtu nebola úspešná: (%s); skúsime to znova neskôr"
- "Registrácia účtu nebola úspešná: nesprávne používateľské meno alebo heslo"
- "Registrácia účtu nebola úspešná: skontrolujte názov servera"
- "Tento účet je aktuálne používaný aplikáciou %s."
+ "Registrácia účtu nebola úspešná: nesprávne používateľské meno alebo heslo."
+ "Registrácia účtu nebola úspešná: skontrolujte názov servera."
+ "Tento účet je momentálne používaný aplikáciou %s.""Podrobnosti o účtu SIP""Podrobnosti o účtu SIP""Server"
@@ -660,9 +565,6 @@
"Číslo portu""Typ prenosu""Odosielať správy na zachovanie pripojenia"
- "Odosielať správy protokolu SIP na zachovanie pripojenia"
- "Automatická registrácia"
- "Profil zaregistrovať automaticky""Nastaviť ako primárny účet""Použité pre odchádzajúce hovory""Voliteľné nastavenia"
@@ -673,12 +575,12 @@
"<Voliteľné>""▷ Výberom tejto položky zobrazíte všetky nastavenia""▽ Výberom tejto položky skryjete všetky nastavenia"
- "Pole %s je povinné. Nie je možné ho ponechať prázdne."
- "Číslo portu by malo byť od 1000 do 65 534"
+ "Pole %s je povinné. Nie je možné ho ponechať prázdne."
+ "Číslo portu by malo byť od 1 000 do 65 534.""Žiadne pripojenie k Internetu""Pripojenie Wi-Fi nie je k dispozícii"
- "Ak chcete uskutočniť internetový hovor, skontrolujte, či ste pripojení k Internetu"
- "Aby ste mohli uskutočniť internetový hovor, musíte byť pripojení k sieti Wi-Fi (viď časť Nastavenia bezdrôtového pripojenia a siete)."
+ "Ak chcete uskutočniť internetový hovor, skontrolujte, či máte pripojenie k internetu."
+ "Ak chcete uskutočniť internetový hovor, musíte mať pripojenie k sieti Wi-Fi (použite sekciu Nastavenia bezdrôtového pripojenia a siete).""Internetové hovory nie sú podporované""Automatické""Vždy odoslať"
@@ -687,7 +589,7 @@
"Zavolám späť.""Zavolám neskôr.""Teraz nemôžem, zavolajte inokedy."
- "Vlastná správa..."
+ "Vlastná správa""Rýchle odpovede""Upraviť rýchle odpovede"
@@ -705,7 +607,6 @@
"hviezdička""nula""libra"
- "hľadať""vytáčanie""backspace""Reproduktor je povolený."
@@ -715,9 +616,22 @@
"Odmietnuť""Vibrovať""Vibrovať"
+ "Tón zvonenia""Vždy""Iba v tichom režime""Nikdy"
+ "Tón zvonenia telefónu"
+ "Vibrovať pri zvonení"
+ "Zvuky pri dotyku na číselnú klávesnicu"
+ "Tón zvonenia"
+ Zmeniť sieť (2G/3G)
+ Aplikácia s týmito povoleniami môže kedykoľvek zmeniť sieť medzi 2G a 3G. 3G je rýchlejšie, viac využíva batériu, a taktiež Vás môže stáť viac peňazí.
+ Rozšírené Nastavenia
+ Vibrovať pri odpovedi
+ Vibrovať každých 45 sekúnd
+ Vibrovať každých 45 sekúnd počas odchádzajúceho hovoru
+ Vibrovať pri zložení
+ Vibrovať pri čakajúcom hovore
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 171ef1ed0..ec58e3b76 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -25,39 +25,27 @@
"Zasebna številka""Telefonska govorilnica""Zadržano"
- "Trenutni klic""Linija je zasedena""Omrežje je zasedeno""Ni odziva, časovna omejitev je potekla""Strežnik ni dosegljiv""Številka ni dosegljiva""Napačno uporabniško ime ali geslo"
- "Klic iz omrežja"
+ "Klic iz nepooblaščenega omrežja""Napaka strežnika: poskusite znova pozneje.""Ni signala""Presežena omejitev ACM""Radio je izklopljen"
- "Ni kartice SIM ali napaka kartice SIM"
+ "Ni kartice SIM ali napaka kartice SIM""Območje zunaj storitve""Odhodni klici so omejeni s FDN."
- "Ko je vklopljena zapora klicev, ne morete klicati."
+ "Ko je vklopljena zapora klicev, ne morete klicati.""Vsi klici so omejeni z nadzorom dostopa.""Klici v sili so omejeni z nadzorom dostopa.""Navadni klici so omejeni z nadzorom dostopa."
- "CDMA: Telefon je zaklenjen, dokler ga ne izklopite in ponovno vklopite."
- "CDMA: Klic izpuščen."
- "CDMA: Klic prestrežen."
- "CDMA: ponovno naročilo."
- "CDMA: Možnost storitve zavrnjena."
- "CDMA: ponoven poskus naročila."
- "CDMA: dostop ni uspel."
- "CDMA: Izvedeno prej."
- "Mogoči so samo klici v sili."
- "Neveljavna številka"
+ "Neveljavna številka""Konferenčni klic""Klic je bil izgubljen."
- "Poskusi znova"
- "Izgubljeni klic""V redu""Koda MMI zagnana""Koda USSD se izvaja ..."
@@ -69,23 +57,14 @@
"Žične slušalke""Bluetooth""Ali želite poslati naslednje tone?"\n
- "Pošiljanje tonov "\n
+ "Pošiljanje tonov"\n"Pošlji""Da""Ne"
- "Zamenjaj nadomestni znak z"
+ "Zamenjaj nadomestni znak z""Manjkajoča številka glasovne pošte""Na kartici SIM ni shranjena številka glasovne pošte.""Dodaj številko"
- "Nalaganje …"
- "Vnesite kodo PIN, da odklenete kartico SIM."
- "Kartica SIM odklenjena"
- "Nova koda PIN kartice SIM"
- "Za potrditev ponovno vnesite novo kodo PIN kartice SIM"
- "Vneseni kodi PIN kartice SIM se ne ujemata. Poskusite znova."
- "Vnesite kodo PUK, da odklenete kartico SIM."
- "Nepravilna koda PUK."
- "Naprej""Kartica SIM je bila deblokirana. Telefon se odklepa ...""PIN za odklep omrežja kartice SIM""Odkleni"
@@ -93,8 +72,6 @@
"Zahteva za odklepanje omrežja ...""Zahteva za odklepanje omrežja neuspešna.""Odklepanje omrežja uspešno."
- "IMEI"
- "MEID""Nastavitve klicev GSM""Nastavitve klicev CDMA""Imena dostopnih točk"
@@ -109,6 +86,7 @@
"Dodatne nastavitve klicev samo za CDMA""Omrežne nastavitve""ID klicatelja"
+ "Nalaganje nastavitev ...""Skrita številka pri odhodnih klicih""Prikaz številke pri odhodnih klicih""Uporaba privzetih nastavitev operaterja za prikaz moje številke pri odhodnih klicih"
@@ -127,17 +105,17 @@
"Številka, ko je zasedeno""Preusmerjanje na {0}""Onemogočeno"
- "Operater ne podpira izklopa preusmeritve klicev, kadar je linija zasedena."
+ "Operater ne podpira izklopa preusmeritve klicev, kadar je linija zasedena.""Preusmeri, ko ni odgovora""Številka, ko ni odgovora""Preusmerjanje na {0}""Onemogočeno"
- "Operater ne podpira izklopa preusmeritve klicev, kadar ni odgovora."
+ "Operater ne podpira izklopa preusmeritve klicev, kadar ni odgovora.""Preusmeri, ko ni dosegljivo.""Številka, ko ni dosegljivo""Preusmerjanje na {0}""Onemogočeno"
- "Vaš operater ne podpira izklopa preusmeritve klicev, kadar je telefon nedosegljiv."
+ "Vaš operater ne podpira izklopa preusmeritve klicev, kadar je telefon nedosegljiv.""Nastavitve klicev""Napaka nastavitev klicev""Branje nastavitev …"
@@ -145,8 +123,8 @@
"Povrnitev nastavitev ...""Nepričakovan odgovor iz omrežja.""Napaka omrežja ali kartice SIM."
- "Postopki so dovoljeni samo za telefonske številke, za katere ne velja zapora odhodnega klica."
- "Pred ogledom teh nastavitev vklopite radio."
+ "Nastavitev predpisanih številk aplikacije telefona je vklopljena. Zato nekatere funkcije, povezane s klici, ne delujejo."
+ "Pred ogledom teh nastavitev vklopite radijski oddajnik.""V redu""Omogoči""Onemogoči"
@@ -156,10 +134,9 @@
"Skrij številko""Prikaz številke"
- "Shrani številko glasovne pošte""Številka glasovne pošte je spremenjena."
- "Sprememba številke glasovne pošte neuspešna."\n"Če se težava ponovi, se obrnite na operaterja."
- "Sprememba številke za preusmeritev neuspešna."\n"Če se težava ponovi, se obrnite na svojega operaterja."
+ "Številke odzivnika ni mogoče spremeniti."\n"Če se težava ponovi, se obrnite na operaterja."
+ "Številke za preusmeritev ni mogoče spremeniti."\n"Če se težava ponovi, se obrnite na operaterja.""Trenutnih nastavitev številke za posredovanje ni mogoče pridobiti in shraniti."\n"Ali želite vseeno preklopiti na novega ponudnika?""Narejena ni bila nobena sprememba.""Izberite storitev glasovne pošte"
@@ -171,14 +148,14 @@
"Preišči omrežja""Napaka pri iskanju omrežij.""Registriranje v %s ..."
- "Kartica SIM ne dovoljuje povezave s tem omrežjem."
- "Trenutno ni mogoče vzpostaviti povezave s tem omrežjem. Poskusite znova pozneje."
+ "Kartica SIM ne dovoljuje povezave s tem omrežjem."
+ "S tem omrežjem trenutno ni mogoče vzpostaviti povezave. Poskusite znova pozneje.""Registrirano v omrežju."
- "Izbira omrežnega operaterja"
+ "Izbira omrežnega operaterja""Najdi vsa razpoložljiva omrežja"
- "Samodejno izberi"
- "Samodejna izbira želenega omrežja"
- "Samodejna registracija ..."
+ "Samodejna izbira"
+ "Samodejna izbira želenega omrežja"
+ "Samodejna registracija ...""Način omrežja""Sprememba načina delovanja omrežja""Prednostni način omrežja"
@@ -192,17 +169,17 @@
"Prednostni način omrežja: samo EvDo""Prednostni način omrežja: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Samo EvDo""CDMA brez EvDo"
- "Samodejno CDMA/EvDo"
- "Samodejno GSM/WCDMA"
+ "Samodejno CDMA/EvDo"
+ "Samodejno GSM/WCDMA""Samo WCDMA""Samo GSM"
- "Prednostno GSM/WCDMA"
+ "Prednostno GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Podatki omogočeni"
@@ -210,12 +187,11 @@
"Podatkovno gostovanje""Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami""Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami"
- "Podatkovna povezava ni mogoča, ker ste zapustili domače omrežje, podatkovno gostovanje pa je izklopljeno."
+ "Podatkovna povezava ni mogoča, ker ste zapustili domače omrežje, podatkovno gostovanje pa je izklopljeno.""Ali želite dovoliti podatkovno gostovanje? Stroški gostovanja utegnejo biti veliki.""Možnosti GSM/UMTS""Možnosti CDMA""Uporaba podatkov"
- "Podatkovni pravilnik operaterja""Poraba podatkov v trenutnem obdobju""Obdobje uporabe podatkov""Pravilnik podatkovne hitrosti"
@@ -226,7 +202,6 @@
"%1$d٪ cikla potečenega"\n"Naslednje obdobje se začne čez %2$d dni (%3$s)""Če je presežena omejitev porabe podatkov, se podatkovna hitrost zmanjša na %1$d Kb/s.""Več informacij o pravilniku o uporabi podatkov v mobilnem omrežju vašega operaterja"
- "Oddajni vmesnik SMS""Oddajni vmesnik SMS""Oddajni vmesnik SMS""Oddajni vmesnik SMS omogočen"
@@ -267,15 +242,6 @@
"korejščina""kitajščina""hebrejščina"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Jeziki""Lokalno vreme"
@@ -305,9 +271,9 @@
"Zaposlitvene priložnosti""Zaposlitvene priložnosti omogočene""Zaposlitvene priložnosti onemogočene"
- "Zdravila in zdravstveni pripomočki, zdravje in bolnišnica"
- "Zdravila in zdravstveni pripomočki, zdravje in bolnišnica omogočeni"
- "Zdravila in zdravstveni pripomočki, zdravje in bolnišnica onemogočeni"
+ "Zdravila in zdravstveni pripomočki, zdravje in bolnišnica"
+ "Zdravila in zdravstveni pripomočki, zdravje in bolnišnica omogočeni"
+ "Zdravila in zdravstveni pripomočki, zdravje in bolnišnica onemogočeni""Tehnološke novice""Tehnološke novice omogočene""Tehnološke novice onemogočene"
@@ -323,34 +289,18 @@
"Samo GSM""GSM/WCDA (prednostno WCDMA)"
-
- "0"
- "1"
- "2"
- "3"
-
+
"Uporabi samo omrežja 2G""Varčevanje z baterijo""Sistemska izbira"
- "Spremeni način gostovanja cdma"
+ "Spremeni način gostovanja CDMA""Sistemska izbira""Samo domov""Samodejno"
- "Način gostovanja CDMA"
- "Spremeni način gostovanja cdma"
- "Način gostovanja CDMA"
-
- "Samo domača omrežja"
- "Povezana omrežja"
- "Katero koli omrežje"
-
-
- "0"
- "1"
- "2"
-
+
+ "Naročnina CDMA""Prednostne nastavitve omrežja CDMA""Ni še uveljavljeno.""Prednostne nastavitve omrežja CDMA"
@@ -359,21 +309,11 @@
"Samo CDMA""Samo EvDo"
-
- "0"
- "1"
- "2"
-
- "Naročnina CDMA""Preklopi med RUIM/SIM in NV""naročnina""RUIM/SIM""NV"
-
-
- "0"
- "1""Vklop naprave""Nastavite podatkovni prenos"
@@ -390,18 +330,16 @@
"Upravljanje zapor odhodnih klicev""Spremeni kodo PIN za dostop FDN""Upravljanje seznama telefonskih številk"
- "Zasebnost glasovne pošte"
+ "Zasebnost odzivnika""Omogoči izboljšane nastavitve zasebnosti"
- "Način TTY"
- "Omogoči način TTY""Način TTY""Nastavitev načina TTY"
- "Samodejen ponovni poskus"
- "Omogoči način samodejnega ponovnega poskusa"
+ "Samodejen ponovni poskus"
+ "Omogoči način samodejnega ponovnega poskusa""Dodaj stik""Urejanje stika""Izbriši stik"
- "Vnesite kodo PIN2"
+ "Vnesite kodo PIN2""Ime""Številka""Shrani"
@@ -414,56 +352,50 @@
"Izbriši zaporo odhodnega klica""Brisanje zapore odhodnega klica ...""Zapora odhodnega klica izbrisana."
- "FDN ni posodobljen; vnesli ste nepravilni PIN."
- "FDN ni posodobljen: število ne sme imeti več kot 20 števk."
+ "FDN ni bil posodobljen, ker ste vnesli napačno kodo PIN."
+ "FDN ni bil posodobljen, ker število ne sme presegati 20 mest."
+ "FDN ni bil posodobljen. Koda PIN2 je bila napačna ali pa je bila telefonska številka zavrnjena.""Branje kartice SIM ...""Na kartici SIM ni stikov.""Izberite stike, ki jih želite uvoziti"
- "Če želite uvoziti stike s kartice SIM, izklopite letalski način."
+ "Če želite uvoziti stike s kartice SIM, najprej izklopite način za letalo.""Omogoči/onemogoči PIN kartice SIM""Spremeni PIN kartice SIM""PIN kartice SIM""Stara koda PIN""Novi PIN""Potrdi novi PIN"
- "Stara koda PIN, ki ste jo vnesli, ni pravilna. Poskusite znova."
- "Kodi PIN, ki ste ju vnesli, se ne ujemata. Poskusite znova."
+ "Stara koda PIN, ki ste jo vnesli, ni pravilna. Poskusite znova."
+ "Kodi PIN, ki ste ju vnesli, se ne ujemata. Poskusite znova.""Vnesite PIN, ki vsebuje od štiri do osem številk.""Onemogoči PIN kartice SIM""Omogoči PIN kartice SIM""Počakajte trenutek ..."
- "PIN kartice SIM omogočen"
- "PIN kartice SIM onemogočen"
- "PIN, ki ste ga vnesli, ni bil pravilen"
- "Sprememba kode PIN za kartico SIM je uspela"
+ "PIN za kartico SIM omogočen"
+ "PIN za kartico SIM onemogočen."
+ "PIN, ki ste ga vnesli, ni bil pravilen."
+ "Sprememba kode PIN za kartico SIM je uspela.""Nepravilno geslo, kartica SIM je zaklenjena. Vnesti morate kodo PUK2.""PIN2""Stari PIN2""Novi PIN2""Potrdi novi PIN2"
- "Vnesena koda PUK2 ni pravilna. Poskusite znova."
- "Stara koda PIN2, ki ste jo vnesli, ni pravilna. Poskusite znova."
- "Kodi PIN2, ki ste ju vnesli, se ne ujemata. Poskusite znova."
+ "Vnesena koda PUK2 ni pravilna. Poskusite znova."
+ "Stara koda PIN2, ki ste jo vnesli, ni pravilna. Poskusite znova."
+ "Kodi PIN2, ki ste ju vnesli, se ne ujemata. Poskusite znova.""Vnesite kodo PIN2, ki vsebuje od štiri do osem številk.""Vnesite osemmestno kodo PUK2."
- "Koda PIN2 je bila uspešno spremenjena."
+ "Koda PIN2 je bila uspešno spremenjena.""Vnesite kodo PUK2"
- "Nepravilno geslo. Spremenite PIN2 in poskusite znova."
- "Nepravilno geslo, kartica SIM je zaklenjena. Vnesti morate kodo PUK2."
+ "Napačno geslo. Spremenite PIN2 in poskusite znova."
+ "Nepravilno geslo, kartica SIM je zaklenjena. Vnesti morate kodo PUK2.""Dokončano""Konferenčni klic %s"
- "Nazaj na klic"
- "Nadaljuj brez kartice SIM"
- "Kartica SIM ni bila najdena. Vstavite kartico SIM v telefon."
- "Opusti"
- "Odkleni"
- "Preverjanje pristnosti kode PIN ...""Številka glasovne pošte""Klicanje""Ponovni poskus""Konferenčni klic""Dohodni klic"
- "Čakajoči klic CDMA""Klic je bil končan""Zadržano""Prekinitev"
@@ -473,7 +405,7 @@
"Neodgovorjeni klici""%s neodgovorjenih klicev""Neodgovorjeni klic od %s"
- "Trenutni klic (%s)"
+ "Aktivni klic""Zadržano""Dohodni klic""Nova glasovna pošta"
@@ -482,13 +414,15 @@
"Neznana številka glasovne pošte""Ni storitve""Izbrano omrežje (%s) ni na voljo"
+ "Prekinite klic"
+ "Povratni klic"
+ "Sporočilo""Če želite poklicati, najprej izklopite način za letalo.""Ni registrirano v omrežju.""Omrežje prenosnega telefona ni na voljo.""Klic ni bil poslan, veljavna številka ni vnesena.""Klic ni bil poslan.""Začetek zaporedja MMI ..."
- "Zagon zaporedja kod funkcije...""Nepodprta storitev.""Preklop klicev ni mogoč.""Klica ni mogoče ločiti."
@@ -500,18 +434,13 @@
"Klic v sili""Vklop radia …""Zunaj območja storitve, ponovni poskus ..."
- "Klic ni bil poslan, %s ni številka za nujne primere."
- "Klic ni bil poslan, pokličite številko za nujne primere!"
+ "Klic ni bil poslan. %s ni številka za nujne primere!"
+ "Klic ni bil poslan. Pokličite številko za nujne primere!""Za klicanje uporabite tipkovnico"
- "Tonska tipkovnica""Zadrži"
- "Ne zadrži""Konec""Številčnica"
- "Skrij"
- "Zvočnik""Nemo"
- "Bluetooth""Dodaj klic""Združi klice""Zamenjaj"
@@ -530,36 +459,31 @@
"TTY HCO""TTY VCO"
- "Besedilo ERI"
- "Toni DTMF"
+ "Toni DTMF""Nastavitev dolžine tonov DTMF""Navadno""Dolgo"
- "Sporočilo omrežja"
+ "Sporočilo omrežja""Aktivirajte telefon""Izvesti morate poseben klic, da aktivirate telefonsko storitev. "\n\n"Po pritisku »Aktiviranje« poslušajte navodila za aktiviranje telefona."
- "Dotaknite se možnosti »Aktiviranje«, da izvedete poseben klic, s katerim boste aktivirali telefon v mobilnem omrežju svojega operaterja, da boste lahko klicali in vzpostavili povezavo z mobilnimi podatkovnimi omrežji.""Želite preskočiti aktiviranje?""Če preskočite aktiviranje, ne morete klicati oziroma vzpostaviti stika z mobilnimi podatkovnimi omrežji (lahko pa se povežete v brezžična omrežja). Dokler telefona ne aktivirate, boste k aktiviranju pozvani ob vsakem vklopu telefona.""Preskoči"
- "Aktiviraj""Aktiviraj"
- "Telefon je aktiviran."
+ "Telefon je aktiviran.""Težava pri aktiviranju""Sledite govorjenim navodilom, dokler ne zaslišite, da je aktiviranje končano."
- "Tipkovnica""Zvočnik"
- "Počakajte trenutek, telefon se programira."
- "Programiranje neuspešno"
+ "Počakajte trenutek, telefon se programira."
+ "Programiranje neuspešno""Telefon je zdaj aktiviran. Traja lahko do 15 minut, da se storitev zažene."
- "Telefon se ni aktiviral. "\n"Morda boste morali poiskati mesto z boljšo pokritostjo signala (v bližini okna ali zunaj). "\n\n"Poskusite znova ali se obrnite na storitve za stranke za več možnosti."
+ "Telefon se ni aktiviral. "\n"Morda boste morali poiskati mesto z boljšo pokritostjo signala (v bližini okna ali zunaj). "\n\n"Poskusite znova ali se obrnite na podporo za stranke za več možnosti.""PREVELIKO ŠTEVILO NAPAK SPC""Nazaj""Poskusite znova""Naprej"
- "Nazaj""EcmExitDialog""Vnesen način za povratni klic v sili""Način povratnega klica v sili"
@@ -569,87 +493,69 @@
"Podatkovne povezave ni %s minut"
- "Telefon bo v načinu za povratni klic v sili še %s minuto. V tem času ni mogoče uporabljati programov s podatkovno povezavo. Ali želite ta način zdaj zapreti?"
- "Telefon bo v načinu za povratni klic v sili še %s minut. V tem času ni mogoče uporabljati programov s podatkovno povezavo. Ali želite ta način zdaj zapreti?"
+ "Telefon bo v načinu za povratni klic v sili %s minuto. V tem načinu ni mogoče uporabljati programov, ki uporabljajo podatkovno povezavo. Ali želite zapreti okno?"
+ "Telefon bo v načinu za povratni klic v sili %s minut. V tem načinu ni mogoče uporabljati programov, ki uporabljajo podatkovno povezavo. Ali želite zapreti okno?"
- "Izbrano dejanje ni na voljo, ko je vklopljen način za povratni klic v sili. Telefon bo v tem načinu še %s minut. Ali želite ta način zdaj zapreti?"
- "Izbrano dejanje ni na voljo, ko je vklopljen način za povratni klic v sili. Telefon bo v tem načinu še %s minut. Ali želite ta način zdaj zapreti?"
+ "Izbrano dejanje ni na voljo, kadar je aktiven način za povratni klic v sili. Telefon bo v tem načinu %s minuto. Ali želite zapustiti program?"
+ "Izbrano dejanje ni na voljo, kadar je aktiven način za povratni klic v sili. Telefon bo v tem načinu %s minut. Ali želite zapustiti program?"
- "Izbrano dejanje ni na voljo, kadar je aktiven klic v sili"
- "Izhod iz načina za povratni klic v sili"
+ "Izbrano dejanje ni na voljo med klicanjem v sili."
+ "Izhod iz načina za povratni klic v sili""Da""Ne""Opusti"
- "Nastavitve glasovne pošte"
- "<ni nastavljeno>"
- "Storitev glasovne pošte"
- "Nastavitve za %s"
+ "Storitev"
+ "Nastavitev"
+ "<Ni nastavljeno>""Druge nastavitve klicev"
- "Kliči"
- "Klic prek ^1"\n"^2"
- "Povlecite v desno za odgovor"
- "Povlecite v levo, da utišate zvonjenje"
- "Povlecite v levo za zavrnitev"
- "Povlecite v desno za odgovor in"\n"zadržite aktivni klic"
- "Povlecite v desno za odgovor in"\n"zaključite aktivni klic"
- "Povlecite v desno za odgovor in "\n" končanje zadržanega klica"
- "Odgovor"
- "Zavrni"
+ "Klicanje prek ponudnika %s""fotografija stika""zasebno""izbira stika""Nastavitve internetnega klicanja""Računi za internetno klicanje (SIP)""Računi"
- "Upravljanje računov in stanja za internetno klicanje (SIP)""Sprejmi dohodne klice""Skrajša delovanje baterije"
- "Konfiguriraj klicne možnosti""Uporaba internetnega klicanja""Uporaba internetnega klicanja (samo brezžični dostop)""Za vse klice, ko podatkovno omrežje ni na voljo""Samo za internetne klice""Vprašaj za vsak klic""Za vse klice"
- "Samodejna registracija"
- "Odhodni klic prek SIP""Klicanje""Uporaba računa za internetno klicanje""Vedno uporabi za internetno klicanje"
- "V klicnih nastavitvah lahko spremenite privzeti račun za internetno klicanje, tako da v nastavitvah internetnega klica izberete želeni račun."
+ "Na zaslonu Telefon > Nastavitve > Nastavitve internetnega klicanja > Računi lahko spremenite privzeti račun za internetno klicanje.""Klic z mobilnim telefonom""Internetni klic""Ni računa za internetno klicanje"
- "V telefonu ni računa za internetno klicanje. Ali ga želite dodati zdaj?"
+ "V tem telefonu ni računov za internetno klicanje. Ali želite dodati račun zdaj?""Dodaj""Dodaj račun""Odstrani račun""Računi SIP"
- "Shranjevanje računa ..."
- "Odstranjevanje računa ..."
+ "Shranjevanje računa ..."
+ "Odstranjevanje računa ...""Shrani""Zavrzi""Zapiranje profila""V redu""Zapri"
- "Primarni"
- "Naj bo moj primarni račun"
- "Za odhodne klice"
- "Dodatne nastavitve""Primarni račun. %s""Preverjanje stanja ..."
- "Registriranje ..."
- "Še poskušamo ..."
- "Ne sprejema klicev"
- "Registracija računa je zaustavljena, ker ni internetne povezave"
- "Registracija računa je zaustavljena, ker ni brezžične povezave"
- "Registracija računa ni uspela"
- "Sprejemanje klicev"
+ "Registriranje ..."
+ "Še vedno poskušamo ..."
+ "Ne sprejema klicev."
+ "Registracija računa je bila ustavljena, ker ni internetne povezave."
+ "Registracija računa je bila ustavljena, ker ni povezave Wi-Fi."
+ "Registracija računa ni uspela."
+ "Sprejemanje klicev.""Registracija računa ni uspela: (%s); znova poskusite pozneje"
- "Registracija računa ni uspela: napačno uporabniško ime ali geslo"
- "Registracija računa ni uspela: preverite ime strežnika"
- "Ta račun trenutno uporablja program %s"
+ "Registracija računa ni uspela: napačno uporabniško ime ali geslo."
+ "Registracija računa ni uspela: preverite ime strežnika."
+ "Ta račun trenutno uporablja program %s.""Podrobnosti o računu SIP""Podrobnosti o računu SIP""Strežnik"
@@ -660,9 +566,6 @@
"Številka vrat""Vrsta prevoza""Pošlji ohranjanje povezave"
- "Pošiljaj sporočila za ohranjanje povezave SIP"
- "Samodejna registracija"
- "Samodejno registriraj profil""Nastavi kot primarni račun""Za odhodne klice""Izbirne nastavitve"
@@ -673,12 +576,12 @@
"<Izbirno>""▷ Dotaknite se, da prikažete vse""▽ Dotaknite se, če želite skriti vse"
- "Polje %s je obvezno"
- "Številka vrat mora biti med 1000 in 65534"
+ "Polje %s je obvezno in ne sme biti prazno."
+ "Številka vrat mora biti med 1000 in 65534.""Ni internetne povezave""Ni brezžične povezave"
- "Če želite opraviti internetni klic, najprej preverite internetno povezavo"
- "Če želite opraviti internetni klic, vzpostavite povezavo z brezžičnim omrežjem (v nastavitvah »Brezžične in omrežne povezave«)"
+ "Če želite opraviti internetni klic, najprej preverite internetno povezavo."
+ "Če želite klicati po internetu, morate biti v omrežju WiFi (v nastavitvah »Brezžične in omrežne nastavitve«).""Internetno klicanje ni podprto""Samodejno""Vedno pošlji"
@@ -687,7 +590,7 @@
"Takoj bom poklical.""Poklical bom pozneje.""Zdaj ne morem govoriti. Pozneje?"
- "Sporočilo po meri ..."
+ "Sporočilo po meri""Hitri odgovori""Urejanje hitrih odgovorov"
@@ -705,7 +608,6 @@
"zvezda""nič""funt"
- "iskanje""klicanje""vračalka""Zvočnik omogočen."
@@ -713,11 +615,16 @@
"Odgovori""Pošlji SMS""Zavrni"
- "Vibriranje"
- "Vibriranje"
+ "Vibriraj"
+ "Vibriraj"
+ "Melodija zvonjenja""Vedno""Samo v tihem načinu""Nikoli"
+ "Ton zvonjenja telefona"
+ "Vibriranje ob zvonjenju"
+ "Zvok številčnice"
+ "Ton zvonjenja"
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index b9cbbe736..e18b9bb0c 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -25,39 +25,27 @@
"Приватан број""Јавна говорница""На чекању"
- "Тренутни позив""Линија је заузета""Мрежа је заузета""Нема одговора, време је истекло""Сервер није доступан""Број је недоступан""Неважеће корисничко име или лозинка"
- "Позив изван мреже"
+ "Позив изван мреже""Грешка сервера: покушајте поново касније.""Нема сигнала""Прекорачено је ACM ограничење""Радио је искључен"
- "Нема SIM картица или постоји грешка на њој"
+ "Нема SIM картице или постоји грешка на њој""Област ван домета""Број за фиксно бирање је ограничио одлазне позиве."
- "Успостављање одлазних позива није могуће док је у току забрана позива."
+ "Не можете да упућујете одлазне позиве док је укључено ограничавање позива.""Сви позиви су ограничени контролом приступа.""Сви хитни позиви су ограничени контролом приступа.""Стандардни позиви су ограничени контролом приступа."
- "CDMA: телефон је закључан током укључивања и искључивања."
- "CDMA: позив је прекинут."
- "CDMA: позив је блокиран."
- "CDMA: прегруписање."
- "CDMA: одбијена је опција услуге"
- "CDMA: налог за поновни покушај."
- "CDMA: Приступање није успело."
- "CDMA: унапред испражњено."
- "Могући си само хитни позиви"
- "Неважећи број"
+ "Неважећи број""Конференцијски позив""Позив је изгубљен."
- "Покушај поново"
- "Позив је изгубљен""Потврди""Покренут је MMI кôд.""USSD кôд је покренут…"
@@ -69,23 +57,14 @@
"Жичане слушалице""Bluetooth""Желите ли да пошаљете следеће тонове?"\n
- "Тонови слања "\n
+ "Тонови слања"\n"Пошаљи""Да""Не"
- "Замени ове џокер знакове са"
+ "Замените џокер знак са""Недостаје број за говорну пошту""Није ускладиштен ниједан број говорне поште на SIM картици.""Додај број"
- "Учитавање…"
- "Унесите PIN кôд да бисте откључали SIM картицу."
- "SIM картица је закључана"
- "Нови SIM PIN кôд"
- "Унесите нови SIM PIN поново да бисте потврдили"
- "Унети SIM PIN бојеви се не подударају. Покушајте поново."
- "Унесите PUK кôд да бисте откључали SIM картицу"
- "Нетачан PUK кôд!"
- "Настави""Ваша SIM картица је одблокирана. Телефон се откључава...""PIN за откључавање мреже на SIM картици""Откључај"
@@ -93,8 +72,6 @@
"Тражење откључавања мреже""Неуспешан захтев за закључавање мреже.""Успешно откључавање мреже"
- "IMEI"
- "MEID""Подешавања GSM позива""CDMA подешавања позива""Називи приступних тачака"
@@ -109,6 +86,7 @@
"Додатна само CDMA подешавања позива""Подешавања мрежне услуге""ИД позиваоца"
+ "Учитавање подешавања…""Број је скривен у одлазним позивима""Број приказан у одлазним позивима""Користи подразумевана подешавања оператера за приказивање мог броја у одлазним порукама"
@@ -127,17 +105,17 @@
"Број када је заузето""Прослеђивање на {0}""Онемогућено"
- "Ваш мобилни оператер не подржава онемогућавање прослеђивања позива када је телефон заузет."
+ "Оператер не подржава онемогућавање преусмеравања позива када је телефон заузет.""Проследи када нема одговора""Број када нема одговора""Прослеђивање на {0}""Онемогућено"
- "Ваш мобилни оператер не подржава онемогућавање прослеђивања позива када нема одговора на телефону."
+ "Оператер не подржава онемогућавање преусмеравања позива када се на позив не одговори.""Проследи када је недоступно""Број у случају недоступности""Прослеђивање на {0}""Онемогућено"
- "Ваш мобилни оператер не подржава онемогућавање прослеђивања позива када телефон није доступан."
+ "Мобилни оператер не подржава онемогућавање преусмеравања позива када је телефон недоступан.""Подешавања позива""Грешка у подешавањима позива""Учитавање подешавања…"
@@ -145,8 +123,8 @@
"Враћање подешавања…""Неочекивани одговор мреже.""Грешка на мрежи или SIM картици."
- "Операције су дозвољене само за фиксне бројеве."
- "Укључите радио пре него што прикажете ова подешавања."
+ "Подешавање Бројева за фиксно бирање апликације Телефон је укључено. Због тога неке функције у вези са позивима не функционишу."
+ "Укључите радио пре прегледања ових подешавања.""Потврди""Омогући""Онемогући"
@@ -156,10 +134,9 @@
"Сакриј број""Прикажи број"
- "Сачувај број говорне поште""Промењен је број говорне поште."
- "Неуспешна промена броја говорне поште."\n"Обратите се мобилном оператеру ако се овај проблем настави."
- "Неуспешно прослеђивање промене броја."\n"Обратите се мобилном оператеру ако се овај проблем настави."
+ "Није могуће променити број говорне поште."\n"Контактирајте мобилног оператера ако се овај проблем настави."
+ "Није могуће променити број за преусмеравање."\n"Контактирајте мобилног оператера ако се овај проблем настави.""Није било могуће преузети и сачувати тренутна подешавања броја за прослеђивање."\n"Желите ли да ипак пређете на новог добављача?""Нису начињене промене.""Одаберите услугу говорне поште"
@@ -171,14 +148,14 @@
"Претражи мреже""Грешка током тражења мрежа.""Регистровање на %s…"
- "Ваша SIM картица не дозвољава везу са овом мрежом."
- "Повезивање са овом мрежом тренутно није могуће. Покушајте поново касније."
+ "SIM картица не дозвољава везу са овом мрежом."
+ "Тренутно није могуће повезати се са овом мрежом. Покушајте поново касније.""Регистровано на мрежи."
- "Избор мрежног оператера"
+ "Изаберите мрежног оператера""Потражи све доступне мреже"
- "Аутоматски избор"
- "Аутоматски избор жељене мреже"
- "Аутоматска регистрација..."
+ "Изабери аутоматски"
+ "Аутоматски избор жељене мреже"
+ "Аутоматска регистрација...""Режим мреже""Промена режима рада мреже""Жељени режим мреже"
@@ -192,17 +169,17 @@
"Жељени режим мреже: само EvDo""Жељени режим мреже: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Само EvDo""CDMA w/o EvDo"
- "CDMA / EvDo аутоматски"
- "GSM / WCDMA аутоматски"
+ "CDMA/EvDo аутоматски"
+ "GSM/WCDMA аутоматски""Само WCDMA""Само GSM"
- "GSM / WCDMA има предност"
+ "GSM/WCDMA има предност"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Подаци су омогућени"
@@ -210,12 +187,11 @@
"Пренос података у ромингу""Повезивање са услугом за податке током роминга""Повезивање са услугом за податке током роминга"
- "Веза за пренос података је прекинута зато што сте напустили матичну мрежу са искљученим преносом података у ромингу."
+ "Веза за пренос података је прекинута зато што сте напустили кућну мрежу са искљученим преносом података у ромингу.""Желите ли да дозволите пренос података у ромингу? Могу да настану велики трошкови роминга!""Опције за GSM/UMTS""CDMA опције""Коришћење података"
- "Смернице мобилног оператера за податке""Подаци коришћени у тренутном периоду""Период коришћења података""Смернице за оцену података"
@@ -226,7 +202,6 @@
"%1$d٪ је протекло од циклуса"\n"Следећи период почиње за %2$d дана (%3$s)""Брзина преноса података смањена је на %1$d Kb/s ако је премашено ограничење за коришћење података""Више информација о смерницама за коришћење података мобилне мреже оператера"
- "SMS инфо сервиса""SMS инфо сервиса""SMS инфо сервиса""Омогућен је SMS инфо сервиса"
@@ -267,15 +242,6 @@
"корејски""кинески""хебрејски"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Језици""Локално време"
@@ -305,9 +271,9 @@
"Могућности за запошљавање""Могућности за запошљавање су омогућене""Могућности за запошљавање су онемогућене"
- "Медицина, здравље и болница"
- "Медицина, здравље и болница су омогућени"
- "Медицина, здравље и болница су онемогућени"
+ "Медицина, здравље и болница"
+ "Медицина, здравље и болница су омогућени"
+ "Медицина, здравље и болница су онемогућени""Вести из технологије""Вести из технологије су омогућене""Вести из технологије су онемогућене"
@@ -322,35 +288,17 @@
"Само WCDMA""Само GSM""GSM/WCDA (WCDMA има приоритет)"
-
-
- "0"
- "1"
- "2"
- "3""Користи само 2G мреже""Чува батерију""Избор система"
- "Промена cdma режима роминга"
+ "Промена режима CDMA роминга""Избор система""Само почетна""Аутоматски"
- "CDMA режим роминга"
- "Промена cdma режима роминга"
- "CDMA режим роминга"
-
- "Само кућне мреже"
- "Сродне мреже"
- "Било која мрежа"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA пријава""CDMA мрежна подешавања""Још увек није примењено!""CDMA мрежна подешавања"
@@ -359,21 +307,11 @@
"Само CDMA""Само EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA пријава""Промени између RUIM/SIM и NV""пријава""RUIM/SIM""NV"
-
-
- "0"
- "1""Активирање уређаја""Подесите усл. преноса података"
@@ -390,18 +328,16 @@
"Управљање фиксним бираним бројевима""Промени PIN за приступ броју за фиксно бирање""Управљање листе телефонских бројева"
- "Приватност гласа"
+ "Приватност гласа""Омогући побољшан режим приватности"
- "TTY режим"
- "Омогући TTY режим""TTY режим""Подеси TTY режим"
- "Аутоматски покушај поново"
- "Омогући режим аутоматског поновно покушаја"
+ "Аутоматски поновни покушај"
+ "Омогућавање режима аутоматског поновног покушаја""Додај контакт""Измени контакт""Избриши контакт"
- "Унесите PIN2"
+ "Унесите PIN2""Име""Број""Сачувај"
@@ -414,56 +350,50 @@
"Избриши број за фиксно бирање""Брисање броја за фиксно бирање…""Избрисан је број за фиксно бирање."
- "Број за фиксно бирање није ажуриран: унели сте нетачан PIN."
- "Број за фиксно бирање није ажуриран: број не сме да премаши 20 цифара."
+ "Број за фиксно бирање није ажуриран јер сте унели нетачан PIN кôд."
+ "Број за фиксно бирање није ажуриран јер број не сме да премашује 20 цифара."
+ "FDN није ажуриран. PIN2 је нетачан или је број телефона одбачен.""Читање са SIM картице…""Нема контаката на SIM картици.""Избор контаката за увоз"
- "Да бисте увезли контакте са SIM картице, искључите Режим рада у авиону."
+ "Да бисте увезли контакте са SIM картице, прво искључите Режим рада у авиону.""Омогућавање/онемогућавање SIM PIN-а""Промена SIM PIN-а""SIM PIN:""Стари PIN""Нови PIN""Потврдите нови PIN"
- "Стари PIN који сте унели је нетачан. Покушајте поново."
- "Унети PIN бојеви се не подударају. Покушајте поново."
+ "Стари PIN кôд који сте унели је нетачан. Покушајте поново."
+ "PIN кодови које сте унели се не подударају. Покушајте поново.""Откуцајте PIN који има од 4 до 8 бројева.""Онемогућавање SIM PIN-а""Омогући SIM PIN""Сачекајте…"
- "Омогућен је SIM PIN"
- "SIM PIN је онемогућен"
- "Унети PIN је нетачан."
- "SIM PIN је успешно промењен"
+ "PIN кôд SIM картице је омогућен."
+ "PIN кôд SIM картице је онемогућен."
+ "PIN кôд који сте унели је нетачан."
+ "PIN кôд SIM картице је промењен.""Лозинка је нетачна, SIM картица је закључана! Потребан је PUK2 кôд.""PIN2""Стари PIN2""Нови PIN2""Потврдите нови PIN2"
- " PUK2 који сте унели је нетачан. Покушајте поново."
- "Стари PIN2 који сте унели је нетачан. Покушајте поново."
- "Унети PIN2 бројеви се не подударају. Покушајте поново."
+ "PUK2 кôд који сте унели је нетачан. Покушајте поново."
+ "Стари PIN2 кôд који сте унели је нетачан. Покушајте поново."
+ "PIN2 кодови које сте унели се не подударају. Покушајте поново.""Откуцајте PIN2 који има од 4 до 8 бројева.""Унесите PUK2 који садржи 8 бројева."
- "PIN2 је успешно промењен"
+ "PIN2 кôд је промењен.""Унесите PUK2 кôд"
- "Лозинка је нетачна, промените PIN2 и покушајте поново!"
- "Лозинка је нетачна, SIM картица је закључана! Потребан је PUK2 кôд."
+ "Лозинка је нетачна. Промените PIN2 кôд и покушајте поново."
+ "Лозинка је нетачна, SIM картица је закључана. Потребан је PUK2 кôд.""Готово""Конференцијски позив %s"
- "Назад на позив"
- "Настави без SIM картице"
- "Није пронађена SIM картица. Ставите SIM картицу у телефон."
- "Одбаци"
- "Откључај"
- "Провера PIN-а…""Број говорне поште""Позивање""Поновни покушај""Конференцијски позив""Долазни позив"
- "Cdma позив на чекању""Позив је завршен""На чекању""Прекид везе"
@@ -473,7 +403,7 @@
"Пропуштени позиви""Број пропуштених позива: %s""Пропуштен позив од: %s"
- "Тренутни позив (%s)"
+ "Актуелни позив""На чекању""Долазни позив""Нова говорна пошта"
@@ -482,13 +412,15 @@
"Непознат број говорне поште""Нема услуге""Изабрана мрежа (%s) није доступна"
+ "Прекини везу"
+ "Узврати позив"
+ "Порука""Да бисте упутили позив, прво искључите режим рада у авиону.""Није регистровано на мрежи.""Мобилна мрежа није доступна.""Позив није послат, није унет исправан број.""Позив није послат.""Покретање MMI секвенце"
- "Почетак секвенце функције кода...""Неподржана услуга.""Није могуће пребацивати позиве.""Одвајање позива није могуће."
@@ -500,18 +432,13 @@
"Хитни позив""Укључивање радија…""Област ван домета, поновни покушај..."
- "Позив није прослеђен, %s није хитан број!"
- "Позив није послат, позовите хитан број!"
+ "Позив није послат. %s није број за хитне случајеве!"
+ "Позив није послат. Позовите број за хитне случајеве!""Користите тастатуру за позивање"
- "Додирни екран""Чекање"
- "Опозив чекања""Заврши""Нумеричка тастатура"
- "Сакриј"
- "Звучник""Искључи звук"
- "Bluetooth""Додај позив""Обједини позиве""Замени"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI текст"
- "DTMF тонови"
+ "DTMF тонови""Подеси јачину DTMF тонова""Нормалан""Дугачак"
- "Мрежна порука"
+ "Мрежна порука""Активирајте телефон""Потребно је да упутите посебан позив да бисте активирали услугу свој телефона. "\n\n"Након што притиснете дугме „Активирај“, слушајте дата упутства да бисте да бисте активирали свој телефон."
- "Додирните „Aктивирај“ да бисте поставили посебан позив који активира ваш телефон у мобилној мрежи провајдера, тако да можете да успостављате позиве и повезујете се са мрежама за пренос мобилних података.""Желите ли да прескочите активацију?""Ако прескочите активацију, не можете да упућујете позиве или да се повезујете са мрежама за мобилни пренос података (иако можете да се повежете са Wi-Fi мрежама). Све док не активирате свој телефон, бићете упитани да то учините сваки пут када га укључите.""Прескочи"
- "Активирај""Активирај"
- "Телефон је активиран!"
+ "Телефон је активиран.""Проблем са активацијом""Следите изговорена упутства све док не чујете да је активација завршена."
- "Тастатура""Звучник"
- "Сачекајте док се ваш телефон програмира."
- "Програмирање је неуспешно"
+ "Сачекајте док се телефон програмира."
+ "Програмирање је неуспешно""Телефон је сада активиран. Можда ће бити потребно највише 15 минута да би се услуга покренула."
- "Телефон није активиран. "\n"Потребно је да пронађете област са бољом покривеношћу (близу прозора или напољу). "\n\n"Покушајте поново или се обратите корисничкој подршци да бисте добили још опција."
+ "Телефон се није активирао. "\n"Можда је потребно да пронађете област са бољом покривеношћу (близу прозора или напољу). "\n\n"Покушајте поново или позовите корисничку подршку за још опција.""СЛУЧАЈНА SPC ГРЕШКА""Назад""Покушај поново""Следеће"
- "Назад""Дијалог за излазак из режима хитног повратног позива""Унет је режим за хитан повратни позив""Режим за хитан повратни позив"
@@ -569,87 +491,69 @@
"Нема везе за пренос података за %s минута"
- "Телефон ће бити у режиму хитног повратног позива на %s минута. Док је у овом режиму, неће бити коришћене апликације са везом за преноса података. Желите ли сада да изађете?"
- "Телефон ће бити у режиму хитног повратног позива на %s минута. Док је у овом режиму, неће бити коришћене апликације са везом за преноса података. Желите ли сада да изађете?"
+ "Телефон ће бити у Режиму хитног повратног позива %s минут. Док сте у овом режиму, не можете да користите ниједну апликацију која користи везу за пренос података. Да ли желите сада да изађете?"
+ "Телефон ће бити у Режиму хитног повратног позива %s минута. Док сте у овом режиму, не можете да користите ниједну апликацију која користи везу за пренос података. Да ли желите сада да изађете?"
- "Изабрана радња није доступна када је у режиму хитног повратног позива. Телефон ће бити у овом режиму у наредних %s минута. Желите ли да изађете одмах?"
- "Изабрана радња није доступна када је у режиму хитног повратног позива. Телефон ће бити у овом режиму у наредних %s минута. Желите ли да изађете одмах?"
+ "Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму %s минут. Да ли желите сада да изађете?"
+ "Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму %s минутa. Да ли желите сада да изађете?"
- "Изабрана радња није доступна када је у току хитан позив"
- "Излаз из режима за хитан повратни позив"
+ "Изабрана радња није доступна када је у току хитан позив"
+ "Излазак из Режима хитног повратног позива""Да""Не""Одбаци"
- "Подешавања гласовне поште"
- "&није подешено>"
- "Услуга говорне поште"
- "Подешавања за %s"
+ "Услуга"
+ "Подешавање"
+ "<Није подешено>""Друга подешавања позива"
- "Позови"
- "Позивање преко ^1"\n"^2"
- "Превуците удесно да бисте одговорили"
- "Превлачите налево да бисте утишали звоно"
- "Превуците налево да бисте одбили"
- "Превуците удесно да бисте одговорили на"\n"активан позив и ставили га на чекање"
- "Превуците удесно да бисте одговорили на"\n"активан позив и прекинули га"
- "Превуците удесно да бисте одговорили и "\n" прекинули позив на чекању"
- "Одговори"
- "Одбиј"
+ "Позивање преко добављача %s""фотографија контакта""иди на приватно""изаберите контакт""Подешавања Интернет позива""Налози за Интернет позивање (SIP)""Налози"
- "Управљање налозима за Интернет позиве (SIP) и статусима""Прими долазеће позиве""Смањује радни век батерије"
- "Конфигурисање опција позива""Користи Интернет позивање""Користи Интернет позивање (само Wi-Fi)""За све позиве када је мрежа података доступна""Само за Интернет позиве""Упитај за сваки позив""За све позиве"
- "Аутоматска регистрација"
- "Долазни позив преко SIP-а""Успостави позив""Користи налог за Интернет позивање:""Користи увек за успостављање Интернет позива"
- "Можете да користите поставке позива да бисте променили налог за Интернет позивање који ће се подразумевано користити за успостављање позива, тако што ћете изабрати други налог у оквиру подешавања Интернет позива"
+ "Можете да промените налог за интернет позиве који ће се подразумевано користити на екрану Телефон > Подешавања > Подешавања интернет позива > Налози.""Позив ка мобилном телефону""Интернет позив""Нема налога за Интернет позивање"
- "На овом телефону не постоје налози за Интернет позиве. Желите ли сада да га додате?"
+ "Нема налога за интернет позиве на овом телефону. Да ли желите сада да додате један?""Додај""Додај налог""Уклони налог""SIP налози"
- "Чување налога..."
- "Уклањање налога..."
+ "Чување налога..."
+ "Уклањање налога...""Сачувај""Одбаци""Затвори профил""Потврди""Затвори"
- "Примарни"
- "Постави овај налог као примарни"
- "Користи се за одлазне позиве"
- "Напредна подешавања""Примарни налог. %s""Провера статуса..."
- "Регистровање..."
- "И даље покушава..."
- "Не прима позиве"
- "Заустављена је регистрација налога зато што не постоји Интернет веза"
- "Заустављена је регистрација налога зато што не постоји Wi-Fi веза"
- "Регистрација налога није успела"
- "Пријем позива"
+ "Регистровање..."
+ "И даље покушава..."
+ "Не прима позиве."
+ "Регистрација налога је заустављена зато што не постоји интернет веза."
+ "Регистрација налога је заустављена зато што не постоји Wi-Fi веза."
+ "Регистрација налога није успела."
+ "Пријем позива.""Регистрација налога није успела: (%s); покушаћемо касније"
- "Регистрација налога није успела: нетачно корисничко име или лозинка"
- "Регистрација налога није успела: Проверите назив сервера"
- "Овај налог тренутно користи апликација %s"
+ "Регистрација налога није успела: нетачно корисничко име или лозинка."
+ "Регистрација налога није успела: Проверите назив сервера."
+ "Овај налог тренутно користи апликација %s.""Детаљи о SIP налогу""Детаљи о SIP налогу""Сервер"
@@ -660,9 +564,6 @@
"Број порта""Тип преноса""Пошаљи keep-alive поруку"
- "Пошаљи SIP keep-alive поруке"
- "Аутоматска регистрација"
- "Аутоматски региструј профил""Подеси као примарни налог""Користи се за одлазне позиве""Опционална подешавања"
@@ -673,12 +574,12 @@
"<Опционално>""▷ Додирните да бисте приказали све""▽ Додирните да бисте све сакрили"
- "%s је потребно, не може да буде празно"
- "Број порта би требало да буде између 1000 и 65534"
+ "Поље %s је обавезно и не може да буде празно."
+ "Број порта би требало да буде између 1000 и 65534.""Нема Интернет везе""Не постоји Wi-Fi веза"
- "Да бисте успоставили Интернет позив, прво проверите своју Интернет везу"
- "Потребно је да се повежете са Wi-Fi мрежом за Internet позиве (користите Подешавања бежичне и мобилне мреже)"
+ "Да бисте упутили интернет позив, прво проверите интернет везу."
+ "Потребно је да се повежете са Wi-Fi мрежом за интернет позиве (користите Подешавања бежичне везе и мреже).""Интернет позиви нису подржани""Аутоматски""Увек шаљи"
@@ -687,7 +588,7 @@
"Позваћу те ускоро.""Позваћу те касније.""У гужви сам. Да се чујемо касније?"
- "Прилагођена порука..."
+ "Прилагођена порука""Брзи одговори""Измена брзих одговора"
@@ -705,7 +606,6 @@
"звездица""нула""фунта"
- "претрага""бирање""тастер за брисање""Спикерфон је омогућен."
@@ -715,9 +615,14 @@
"Одбиј""Вибрација""Вибрација"
+ "Мелодија звона""Увек""Само у нечујном режиму"
- "Никад"
+ "Никада"
+ "Мелодија звона телефона"
+ "Вибрирај када звони"
+ "Тонови при додиру нумеричке тастатуре"
+ "Мелодија звона"
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 98bf1c169..95c570b92 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -25,39 +25,27 @@
"Privat nummer""Telefonautomat""Parkerat"
- "Pågående samtal""Linjen är upptagen""Nätverket är upptaget""Inget svar, avbröts""Servern kan inte nås""Numret kan inte nås""Felaktigt användarnamn eller lösenord"
- "Uppringt från ett annat nätverk"
+ "Uppringt från ett annat nätverk""Serverfel. Försök igen senare.""Ingen signal""ACM-gränsen har överskridits""Radio av"
- "Inget SIM-kort eller SIM-kortsfel"
+ "Inget SIM-kort eller SIM-kortsfel""Fungerar inte i detta område""Utgående samtal begränsas av FDN."
- "Du kan inte ringa utgående samtal när samtalsspärren är aktiverad."
+ "Du kan inte ringa utgående samtal när samtalsspärren är aktiverad.""Alla samtal begränsas av åtkomstkontroll.""Nödsamtal begränsas av åtkomstkontroll.""Vanliga samtal begränsas av åtkomstkontroll."
- "CDMA: Telefonen är låst till kall omstart."
- "CDMA: Samtalet gick förlorat."
- "CDMA: Samtalet hänvisades."
- "CDMA: Beställ igen."
- "CDMA: Tillval av tjänst avvisat."
- "CDMA: Beställ igen."
- "CDMA: Åtkomstfel."
- "CDMA: Flyttat."
- "Det går bara att ringa nödsamtal."
- "Ogiltigt nummer"
+ "Ogiltigt nummer""Konferenssamtal""Samtal har försvunnit."
- "Försök igen"
- "Samtalet försvann""OK""MMI-kod körs""USSD-kod körs…"
@@ -69,23 +57,14 @@
"Trådanslutet headset""Bluetooth""Skicka följande toner?"\n
- "Skickar signaler"\n
+ "Skickar signaler"\n"Skicka""Ja""Nej"
- "Ersätt jokertecknet med"
+ "Ersätt jokertecknet med""Nummer till röstbrevlåda saknas""Det finns inget nummer till röstbrevlådan sparat på SIM-kortet.""Lägg till nummer"
- "Läser in…"
- "Ange PIN-kod för att låsa upp SIM-kortet."
- "SIM-kortet är upplåst"
- "Ny PIN-kod för SIM-kort"
- "Bekräfta genom att ange SIM-kortets nya PIN-kod igen"
- "PIN-koderna som du angav för SIM-kortet matchar inte. Försök igen."
- "Ange PUK-kod för att låsa upp SIM-kortet"
- "Felaktig PUK-kod!"
- "Fortsätt""SIM-kortets spärr har tagits bort. Låser upp telefonen…""PIN-kod för upplåsning av SIM-nätverk""Lås upp"
@@ -93,8 +72,6 @@
"Försöker låsa upp nätverket…""Det gick inte att låsa upp nätverket.""Nätverket upplåst"
- "IMEI-kod"
- "MEID""Samtalsinst. för GSM""Samtalsinst. för CDMA""Åtkomstpunktsnamn"
@@ -109,6 +86,7 @@
"Ytterligare samtalsinställningar för endast CDMA""Inställningar för nätverkstjänst""Nummerpresentatör"
+ "Inställningarna läses in ...""Dolt nummer i utgående samtal""Nummer som visas för utgående samtal""Använd operatörens standardinställningar när mitt nummer visas för utgående samtal"
@@ -127,17 +105,17 @@
"Nummer vid upptagen""Vidarebefordrar till {0}""Inaktiverat"
- "Operatören stöder inte inaktivering av vidarebefordran av samtal när telefonen används."
+ "Operatören stöder inte inaktivering av vidarebefordran av samtal under pågående samtal.""Vidarebefordra vid ej svar""Nummer vid ej svar""Vidarebefordrar till {0}""Inaktiverat"
- "Operatören stöder inte inaktivering av vidarebefordran av samtal när ingen svarar i telefonen."
+ "Operatören stöder inte inaktivering av vidarebefordran av samtal när du inte svarar i telefonen.""Vidarebefordra när du inte är tillgänglig""Nummer när du inte är tillgänglig""Vidarebefordrar till {0}""Inaktiverat"
- "Operatören stöder inte inaktivering av vidarebefordran av samtal när det inte går att nå telefonen."
+ "Operatören stöder inte inaktivering av vidarebefordran av samtal när det inte går att nå telefonen.""Samtalsinställningar""Felaktiga samtalsinställningar""Läser inställningar…"
@@ -145,8 +123,8 @@
"Återställer inställningarna…""Oväntat svar från nätverket.""Nätverks- eller SIM-kortsfel."
- "Endast fasta nummer kan användas."
- "Sätt på radion innan du visar inställningarna."
+ "Inställningen Fasta nummer i mobilappen är aktiverad. Därför fungerar inte vissa samtalsfunktioner."
+ "Sätt på radion innan du visar inställningarna.""OK""Aktivera""Inaktivera"
@@ -156,10 +134,9 @@
"Dölj nummer""Visa nummer"
- "Spara nummer till röstbrevlåda""Numret till röstbrevlåda har ändrats."
- "Det gick inte att ändra numret till röstbrevlådan."\n"Kontakta operatören om problemet kvarstår."
- "Det gick inte att ändra numret för vidarebefordran."\n"Kontakta operatören om problemet kvarstår."
+ "Det gick inte att ändra numret till röstbrevlådan."\n"Kontakta operatören om problemet kvarstår."
+ "Det gick inte att ändra numret för vidarebefordran."\n"Kontakta din operatör om problemet kvarstår.""Det gick inte att hämta och spara inställningarna för numret för vidarebefordran."\n"Vill du byta till den nya operatören istället?""Du har inte gjort några ändringar.""Välj tjänst för röstbrevlådan"
@@ -171,14 +148,14 @@
"Sök efter nätverk""Ett fel uppstod när vi sökte efter nätverk.""Registrerar på %s…"
- "Ditt SIM-kort tillåter inte anslutning till detta nätverk."
- "Det går inte att ansluta till nätverket för tillfället. Försök igen senare."
+ "Ditt SIM-kort tillåter inte anslutning till detta nätverk."
+ "Det går inte att ansluta till det här nätverket just nu. Försök igen senare.""Registrerad på nätverk."
- "Välj en nätverksoperatör"
+ "Välj en nätverksoperatör""Sök efter alla tillgängliga nätverk"
- "Välj automatiskt"
- "Välj önskat nätverk automatiskt"
- "Automatisk registrering..."
+ "Välj automatiskt"
+ "Välj önskat nätverk automatiskt"
+ "Automatisk registrering ...""Nätverksläge""Ändra nätverksläge""Föredraget nätverksläge"
@@ -192,17 +169,17 @@
"Föredraget nätverksläge: Endast EvDo""Föredraget nätverksläge: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""Endast EvDo""CDMA utan EvDo"
- "CDMA / EvDo auto"
- "GSM / WCDMA auto"
+ "CDMA/EvDo auto"
+ "GSM/WCDMA auto""Endast WCDMA""Endast GSM"
- "Föredrar GSM / WCDMA"
+ "Föredrar GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""Data är aktiverat"
@@ -210,12 +187,11 @@
"Roaming""Anslut till datatjänster vid roaming""Anslut till datatjänster vid roaming"
- "Du förlorade dataanslutningen eftersom du lämnade ditt hemnätverk utan att aktivera roaming."
+ "Du förlorade dataanslutningen eftersom du lämnade ditt hemnätverk utan att aktivera roaming.""Tillåta roaming? Observera att detta kan leda till höga kostnader!""Alternativ för GSM/UMTS""CDMA-alternativ""Dataanvändning"
- "Operatörens datapolicy""Använda data under nuvarande period""Dataanvändningsperiod""Datahastighetspolicy"
@@ -232,7 +208,6 @@
"Datahastigheten sänks till %1$d kbit/s om dataanvändningsgränsen överskrids""Mer information om operatörens dataanvändningspolicy för mobilnätverket"
- "Cell Broadcast SMS""Cell Broadcast SMS""Cell Broadcast SMS""Cell Broadcast SMS aktiverat"
@@ -273,15 +248,6 @@
"Koreanska""Kinesiska""Hebreiska"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Språk""Lokala väderprognoser"
@@ -311,9 +277,9 @@
"Jobbannonser""Jobbannonser aktiverade""Jobbannonser inaktiverade"
- "Medicin, hälsa och sjukvård"
- "Medicin, hälsa och sjukvård aktiverade"
- "Medicin, hälsa och sjukvård inaktiverade"
+ "Medicin, hälsa och sjukvård"
+ "Medicin, hälsa och sjukvård aktiverade"
+ "Medicin, hälsa och sjukvård inaktiverade""Tekniknyheter""Tekniknyheter aktiverade""Tekniknyheter inaktiverade"
@@ -329,34 +295,17 @@
"Endast GSM""GSM/WCDA (föredrar WCDMA)"
-
- "0"
- "1"
- "2"
- "3"
-
+
"Använd endast 2G-nätv.""Sparar batteri""Systemval"
- "Ändra cdma-roamingläge"
+ "Ändra CDMA-roamingläge""Systemval""Endast hemma""Automatiskt"
- "CDMA-roamingläge"
- "Ändra cdma-roamingläge"
- "CDMA-roamingläge"
-
- "Endast hemnätverk"
- "Anslutna nätverk"
- "Alla nätverk"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA-prenumeration""Nätverksinställningar för CDMA""Inte implementerad än!""Nätverksinställningar för CDMA"
@@ -365,21 +314,11 @@
"Endast CDMA""Endast EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA-prenumeration""Växla mellan RUIM/SIM och NV""prenumeration""RUIM/SIM""NV"
-
-
- "0"
- "1""Aktivera enhet""Ställ in datatjänst"
@@ -396,18 +335,16 @@
"Hantera fasta nummer""Ändra PIN-kod för FDN-åtkomst""Hantera nummerlistan"
- "Röstsekretess"
+ "Sekretess för Voice""Aktivera avancerat sekretessläge"
- "TTY-läge"
- "Aktivera TTY-läge""TTY-läge""Ange TTY-läge"
- "Försök igen automatiskt"
- "Aktivera läget Försök igen automatiskt"
+ "Försök igen automatiskt"
+ "Aktivera läget Försök igen automatiskt""Lägg till kontakt""Redigera kontakt""Ta bort kontakt"
- "Ange PIN2"
+ "Ange PIN2-kod""Namn""Nummer""Spara"
@@ -420,56 +357,50 @@
"Ta bort fast nummer""Tar bort fast nummer…""Det fasta numret har tagits bort."
- "FDN är inte uppdaterat. Du angav en felaktig PIN-kod."
- "FDN är inte uppdaterat. Numret får inte innehålla fler än 20 siffror."
+ "FDN uppdaterades inte eftersom du skrev en felaktig PIN-kod."
+ "FDN uppdaterades inte eftersom numret inte får ha mer än 20 siffror."
+ "FDN uppdaterades inte. Antingen har du angivit fel PIN2, eller så avvisades telefonnumret.""Läser från SIM-kort…""Inga kontakter på SIM-kortet.""Välj vilka kontakter som ska importeras"
- "Om du vill importera kontakter från SIM-kortet måste du inaktivera flygplansläget."
+ "Om du vill importera kontakter från SIM-kortet måste du inaktivera flygplansläget.""Aktivera/inaktivera SIM-kortets PIN-kod""Ändra SIM-kortets PIN-kod""SIM-kortets PIN-kod:""Gammal PIN-kod""Ny PIN-kod""Bekräfta ny PIN-kod"
- "Den gamla PIN-koden är felaktig. Försök igen."
- "PIN-koderna som du angav matchar inte. Försök igen."
+ "Den gamla PIN-koden som du angav är felaktig. Försök igen."
+ "PIN-koderna du skrev matchar inte. Försök igen.""Ange en PIN-kod med 4 till 8 siffror.""Inaktivera SIM-kortets PIN-kod""Aktivera PIN-kod""Vänta…"
- "SIM-kortets PIN-kod är aktiverad"
- "SIM-kortets PIN-kod är inaktiverad"
- "PIN-koden du angav är felaktig"
- "SIM-kortets PIN-kod har ändrats"
+ "SIM-kortets PIN-kod är aktiverad."
+ "SIM-kortets PIN-kod är inaktiverad."
+ "Du angav fel PIN-kod."
+ "SIM-kortets PIN-kod har ändrats.""Lösenordet är felaktigt och SIM-kortet har spärrats! PUK2 krävs.""PIN2""Gammal PIN2""Ny PIN2""Bekräfta ny PIN2-kod"
- "PUK2-koden du angav är felaktig. Försök igen."
- "Den gamla PIN2-koden du angav är felaktig. Försök igen."
- "PIN2-koderna som du angav matchar inte. Försök igen."
+ "PUK2-koden du angav är felaktig. Försök igen."
+ "Den gamla PIN2-koden som du angav är felaktig. Försök igen."
+ "PIN2-koderna som du angav matchar inte. Försök igen.""Ange en PIN2-kod med 4 till 8 siffror.""Ange en PUK2-kod med 8 siffror."
- "PIN2 har ändrats"
+ "PIN2 har ändrats.""Ange PUK2-kod"
- "Lösenordet är felaktigt. Ange en annan PIN2-kod och försök igen!"
- "Lösenordet är felaktigt och SIM-kortet har spärrats! PUK2 krävs."
+ "Lösenordet är felaktigt. Ange en annan PIN2-kod och försök igen."
+ "Lösenordet är felaktigt och SIM-kortet har spärrats. PUK2 krävs.""Färdig""Konferenssamtal %s"
- "Tillbaka till samtal"
- "Fortsätt utan SIM-kort"
- "Inget SIM-kort hittades. Sätt i ett SIM-kort i telefonen."
- "Ta bort permanent"
- "Lås upp"
- "Verifierar PIN-kod…""Nummer till röstbrevlåda""Ringer""Försöker igen""Konferenssamtal""Inkommande samtal"
- "Cdma-samtal väntar""Samtal avslutat""Parkerat""Lägger på"
@@ -479,7 +410,7 @@
"Missade samtal""%s missade samtal""Missat samtal från %s"
- "Pågående samtal (%s)"
+ "Pågående samtal""Parkerat""Inkommande samtal""Ny röstbrevlåda"
@@ -488,13 +419,15 @@
"Nummer till röstbrevlåda okänt""Ingen tjänst""Det valda nätverket (%s) är inte tillgängligt"
+ "Lägg på"
+ "Ring upp"
+ "Meddelande""Om du vill ringa ett samtal måste du först inaktivera flygplansläge.""Inte registrerat på nätverk.""Inget mobilt nätverk är tillgängligt.""Samtalet har inte skickats. Du måste ange ett giltigt nummer.""Samtalet har inte skickats.""Startar sekvens för MMI-kod…"
- "Startar sekvens för funktionskod...""Inget stöd för tjänsten.""Det gick inte att växla mellan samtal.""Det gick inte att koppla isär samtalen."
@@ -506,18 +439,13 @@
"Nödsamtal""Sätter på radion…""Fungerar inte i detta område. Försöker igen…"
- "Samtalet har inte skickats. %s är inte ett nödsamtalsnummer!"
- "Samtalet har inte skickats. Ring ett nödsamtalsnummer!"
+ "Samtalet har inte skickats. %s är inte ett nödsamtalsnummer!"
+ "Samtalet har inte skickats. Ring ett nödsamtalsnummer!""Använd tangentbordet om du vill ringa"
- "Knappsats för tonval""Parkera"
- "Ta bort parkering""Avsluta""Knappsats"
- "Dölj"
- "Högtalare""Ljud av"
- "Bluetooth""Lägg till samtal""Koppla ihop samtal""Växla"
@@ -536,36 +464,31 @@
"TTY HCO""TTY VCO"
- "ERI-text"
- "DTMF-signaler"
+ "DTMF-signaler""Ange längd på DTMF-signaler""Normal""Lång"
- "Nätverksmeddelande"
+ "Nätverksmeddelande""Aktivera telefonen""Du måste ringa ett särskilt samtal för att aktivera telefontjänsten. "\n\n" Tryck på \"Aktivera\" och lyssna på instruktionerna om hur du aktiverar telefonen."
- "Tryck på Aktivera för att ringa ett speciellt samtal som aktiverar din telefon i operatörens mobila nätverk, så att du kan ringa och ansluta till mobila datanätverk.""Vill du hoppa över aktiveringen?""Om du hoppar över aktiveringen kan du inte ringa samtal eller ansluta till mobila datanätverk (men du kan ansluta till WiFi-nätverk). Du kommer att påminnas om att aktivera telefonen varje gång du sätter på den, tills du har aktiverat den.""Hoppa över"
- "Aktivera""Aktivera"
- "Telefonen är aktiverad!"
+ "Telefonen är aktiverad.""Problem med aktivering""Följ de talade instruktionerna tills du här att aktiveringen är slutförd."
- "Knappsats""Högtalare"
- "Vänta medan telefonen programmeras."
- "Det gick inte att programmera"
+ "Vänta medan mobilen programmeras."
+ "Det gick inte att programmera""Telefonen är nu aktiverad. Det kan ta upp till 15 minuter innan tjänsten startar."
- "Telefonen har inte aktiverats. "\n"Du kanske måste hitta en plats med bättre täckning (nära ett fönster eller utomhus). "\n\n"Försök igen eller ring kundtjänst om du vill ha fler alternativ."
+ "Telefonen har inte aktiverats. "\n"Du kanske måste hitta en plats med bättre täckning (nära ett fönster eller utomhus). "\n\n"Försök igen eller ring kundtjänst om du vill ha fler alternativ.""FÖR MÅNGA MISSLYCKADE SPC""Tillbaka""Försök igen""Nästa"
- "Tillbaka""EcmExitDialog""Starta läget Återuppringning vid nödsamtal""Läget Återuppringning vid nödsamtal"
@@ -575,87 +498,69 @@
"Inga dataanslutningar på %s minuter"
- "Telefonen är i läget Återuppringning vid nödsamtal i %s minut. I det här läget kan inga appar som använder dataanslutningar användas. Vill du avsluta nu?"
- "Telefonen är i läget Återuppringning vid nödsamtal i %s minuter. I det här läget kan inga program som använder dataanslutningar användas. Vill du avsluta nu?"
+ "Telefonen kommer att vara i läget Återuppringning vid nödsamtal i %s minut. I det här läget kan inga appar som kräver en dataanslutning användas. Vill du avsluta nu?"
+ "Telefonen kommer att vara i läget Återuppringning vid nödsamtal i %s minuter. I det här läget kan inga appar som kräver en dataanslutning användas. Vill du avsluta nu?"
- "Den valda åtgärden är inte tillgänglig i läget Återuppringning vid nödsamtal. Telefonen kommer att vara i det här läget i %s minut. Vill du avsluta nu?"
- "Den valda åtgärden är inte tillgänglig i läget Återuppringning vid nödsamtal. Telefonen kommer att vara i det här läget i %s minuter. Vill du avsluta nu?"
+ "Den valda åtgärden är inte tillgänglig i läget Återuppringning vid nödsamtal. Telefonen kommer att vara i det här läget i %s minut. Vill du avsluta nu?"
+ "Den valda åtgärden är inte tillgänglig i läget Återuppringning vid nödsamtal. Telefonen kommer att vara i det här läget i %s minuter. Vill du avsluta nu?"
- "Den valda åtgärden är inte tillgänglig under nödsamtal"
- "Avslutar läget Återuppringning vid nödsamtal"
+ "Den valda åtgärden är inte tillgänglig under nödsamtal."
+ "Avslutar läget Återuppringning vid nödsamtal""Ja""Nej""Ta bort permanent"
- "Inställningar för röstbrevlådan"
- "<Har inte angetts>"
- "Tjänst för röstbrevlådan"
- "Inställningar för %s"
+ "Tjänst"
+ "Konfiguration"
+ "<Har inte angetts>""Övriga samtalsinställningar"
- "Ring"
- "Ringer via ^1"\n"^2"
- "Tryck och dra till höger om du vill svara"
- "Tryck och dra till vänster för tyst signal"
- "Tryck och dra till vänster om du vill avvisa"
- "Tryck och dra till höger om du vill svara och"\n"parkera det aktiva samtalet"
- "Tryck och dra till höger om du vill svara och"\n"avsluta det aktiva samtalet"
- "Tryck och dra till höger om du vill svara och"\n"avsluta det parkerade samtalet"
- "Svara"
- "Avvisa"
+ "Ringer via %s""kontaktbild""gör privat""välj kontakt""Inställningar för Internetsamtal""Konton för Internetsamtal (SIP)""Konton"
- "Hantera konton och status för Internetsamtal (SIP)""Ta emot inkommande samtal""Sänker batteriförbrukningen"
- "Konfigurera samtalsalternativ""Använd Internetsamtal""Använd Internetsamtal (endast WiFi)""För alla samtal när datanätverk är tillgängligt""Endast för Internetsamtal""Fråga för varje samtal""För alla samtal"
- "Automatisk registrering"
- "Utgående samtal via SIP""Ring samtal""Använd detta konto för Internetsamtal:""Använd för alla Internetsamtal"
- "Från Samtalsinställningar kan du ändra vilket konto för Internetsamtal som ska användas som standard när du ringer. Det gör du genom att markera ett annat konto under Inställningar för Internetsamtal"
+ "Du kan ändra vilket konto som ska användas som standard för Internetsamtal. Valet görs under Telefon > Inställningar > Inställningar för Internetsamtal > Konton.""Mobilsamtal""Internetsamtal""Inget konto för Internetsamtal"
- "Det finns inga konton för Internetsamtal. Vill du lägga till ett nu?"
+ "Det finns inget konto för Internetsamtal på den här mobilen. Vill du lägga till ett nu?""Lägg till""Lägg till konto""Ta bort konto""SIP-konton"
- "Sparar kontot..."
- "Tar bort kontot..."
+ "Kontot sparas ..."
+ "Kontot tas bort ...""Spara""Släng""Stäng profilen""OK""Stäng"
- "Primärt"
- "Gör det här till mitt primära konto"
- "Används för utgående samtal"
- "Avancerade inställningar""Primärt konto. %s""Kontrollerar status..."
- "Registrerar..."
- "Försöker fortfarande..."
- "Tar inte emot samtal"
- "Kontoregistreringen avbröts eftersom det inte finns någon Internetanslutning"
- "Kontoregistreringen avbröts eftersom det inte finns någon WiFi-anslutning"
- "Det gick inte att registrera kontot"
- "Tar emot samtal"
+ "Registrerar ..."
+ "Försöker fortfarande ..."
+ "Tar inte emot samtal."
+ "Kontoregistreringen avbröts eftersom det inte finns någon Internetanslutning."
+ "Kontoregistreringen avbröts eftersom det inte finns någon Wi-Fi-anslutning."
+ "Det gick inte att registrera kontot."
+ "Tar emot samtal.""Det gick inte att registrera kontot: (%s); försöker igen senare"
- "Det gick inte att registrera kontot: felaktigt användarnamn eller lösenord"
- "Det gick inte att registrera kontot. Kontrollera servernamnet"
- "Kontot används för närvarande i appen %s"
+ "Det gick inte att registrera kontot: felaktigt användarnamn eller lösenord."
+ "Det gick inte att registrera kontot. Kontrollera servernamnet."
+ "Kontot används för närvarande i appen %s.""Information om SIP-kontot""Information om SIP-kontot""Server"
@@ -666,9 +571,6 @@
"Portnummer""Transporttyp""Skicka \"behåll aktiv\""
- "Skicka SIP-meddelanden om \"behåll aktiv\""
- "Automatisk registrering"
- "Registrera profilen automatiskt""Använd som primärt konto""Används för utgående samtal""Valfria inställningar"
@@ -679,12 +581,12 @@
"<Valfri>""▷ Tryck om du vill visa alla""▷ Tryck om du vill dölja alla"
- "%s är ett obligatoriskt fält som måste fyllas i"
- "Portnumret ska vara mellan 1000 och 65534"
+ "%s är ett obligatoriskt fält som måste fyllas i."
+ "Portnumret ska vara mellan 1000 och 65534.""Ingen Internetanslutning""Ingen WiFi-anslutning"
- "Kontrollera Internetanslutningen om du vill ringa Internetsamtal"
- "Telefonen måste vara ansluten till ett WiFi-nätverk för att du ska kunna ringa Internetsamtal (använd inställningarna för trådlöst och nätverk)"
+ "Kontrollera Internetanslutningen om du vill ringa Internetsamtal."
+ "Enheten måste vara ansluten till ett Wi-Fi-nätverk för att du ska kunna ringa Internetsamtal (använd inställningarna under Trådlöst och nätverk).""Inget stöd för Internetsamtal""Automatiskt""Skicka alltid"
@@ -693,7 +595,7 @@
"Jag ringer tillbaka alldeles strax.""Jag ringer dig senare.""Kan inte prata nu. Ring senare!"
- "Anpassat meddelande..."
+ "Anpassat meddelande""Snabbsvar""Redigera snabbsvar"
@@ -711,7 +613,6 @@
"stjärna""noll""pund"
- "sök""ring upp""backsteg""Högtalartelefon aktiverad."
@@ -721,9 +622,22 @@
"Avvisa""Vibrera""Vibrera"
+ "Ringsignal""Alltid"
- "Bara vid tyst"
+ "Bara i tyst läge""Aldrig"
+ "Ringsignal"
+ "Mobilen vibrerar när det ringer"
+ "Knappljud"
+ "Ringsignal"
+ Byt nätverk (2G/3G)
+ En applikation med denna tillåtelse kan, när som helst, byta mellan 2G data och 3G data. 3G är snabbare, förbrukar mer batteri och kan också kosta dig mer pengar.
+ Avancerade inställningar
+ Vibrera vid svar
+ Vibrera var 45:e sekund
+ Vibrera var 45:e sekund under utgående samtal
+ Vibrera vid avslut
+ Vibrera vid samtal väntar
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b82c501ef..edf342f10 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -25,39 +25,27 @@
" Number isiyojulikana""Simu ya kulipia""Inangoja"
- "Simu ya sasa""Simu inatumika""Mtandao unatumika""Hakuna jibu, muda umekwisha""Seva haiwezi kufikiwa""Nambari haifikiwi""Jina la mtumiaji au nenosiri sio sahihi"
- "Ulipiga kutoka nje ya mtandao"
+ "Ilipigwa kutoka nje ya mtandao""Hitilafu ya seva: Tafadhali jaribu tena baadaye.""Hakuna mtandao""Kiwango cha ACM kimezidishwa""Radio imezima"
- "Hakuna SIM, ama hitilafu ya SIM"
+ "Hakuna SIM au kuna hitilafu ya SIM""Eneo ambalo halina huduma""Simu zinazopigwa zimezuiliwa na FDN"
- "Hauwezi kupiga simu wakati kizuia simu kimefunguliwa"
+ "Huwezi kupiga simu za kutoka wakati kupiga simu kumezuiwa.""Simu zote zimezuiwa na kidhibiti ufikiaji.""Simu za dharura zimezuiwa na kidhibiti ufikiaji.""Simu za kawaida zimezuiwa na kidhibiti ufikiaji."
- "CDMA: Simu imefungwa hadi mzunguko wa nishati."
- "CDMA: Simu imekatwa."
- "CDMA: Simu imeingiliwa."
- "CDMA: agiza upya."
- "CDMA: Kataa Chaguo la Huduma."
- "CDMA: jaribu agizo tena."
- "CDMA: Ufikivu haujafaulu."
- "CDMA: Imeopolewa mapema."
- "Simu za dharura tu ndizo zinazowezekana."
- "Nambari Batili"
+ "Nambari batili""Simu ya kongamano""Simu imepotea."
- "Jaribu tena"
- "Simu Imepotea""Sawa""Msimbo wa MMI umeanza""Msimbo wa USSD unafungua"
@@ -69,23 +57,14 @@
"Viskizi vya maskio pasiwaya""Bluetooth""Tuma toni zinazofuata? "\n
- "Inatuma Toni "\n
+ "Inatuma toni"\n"Tuma""Ndiyo""Hapana"
- "Badilisha herufi ngeni na"
+ "Badilisha kibambo egemezi na""Nambari ya sauti inayokosekana""Hakuna nambari ya ujumbe wa sauti iliyohifadhiwa katika SIM kadi.""Ongeza nambari"
- "Inapakia…"
- "Andika msimbo wa PUK ili kufungua SIM kadi."
- "SIM imefunguliwa"
- "Msimbo mpya wa PIN ya SIM"
- "Andika tena msimbo mpya wa PIN ya SIM ili kuthibitisha"
- "Manenosiri ya pili uliyoweka hayaoani. Tafadhali jaribu tena."
- "Andika msimbo wa PUK ili kufungua SIM kadi"
- "Msimbo wa PUK sio sahihi!"
- "Endelea""Kadi yako ya simu imefunguliwa. Simu yangu inafungua….""PIN ya kufungua mtandao wa SIM""Fungua"
@@ -93,8 +72,6 @@
"Inaomba nywila ya mtandao….""Ombi la kufungua mtandao halijafaulu.""Umefaulu kufungua mtandao."
- "IMEI"
- "MEID""Mipangilio ya simu ya GSM""Mipangilio ya simu ya CDMA""Fikia Majina ya Pointi za mfikio"
@@ -109,6 +86,7 @@
"Mipangilio ya ziada ya simu ya CDMA tu""Mipangilio ya huduma ya mtandao""Kitambulisho cha mpigaji SIM"
+ "Inapakia mipangilio...""Nambari imefichwa kwa simu unayopiga""Namba inaonekana kwa simu zinazopigwa""Tumia mipangilio ya kiendesha chaguo-msingi kuonyesha namba kwa simu zinazopigwa"
@@ -127,17 +105,17 @@
"Wakati namba inatumika""Inasambaza kwa {0}""Imelemazwa"
- "Mtoa huduma wako hahimili ulemezaji wa usambazaji wa simu wakati simu yako inashughulika."
+ "Mtoa huduma wako haauni ulemezaji wa kusambaza simu wakati simu yako inashughuli.""Sambaza wakati haipokelewi""Weka namba wakati haijajibiwa""Inasambaza kwa {0}""Imelemazwa"
- "Mtoa huduma wako hahimili usambazaji wa kupeleka mbele simu wakati simu yako haipokelewi."
+ "Mtoa huduma wako haauni ulemezaji wa kusambaza simu wakati simu yako haijibu.""Sambaza wakati haifikiwi""Wakati namba haipatikani""Inasambaza kwa {0}""Imelemazwa"
- "Mtoa huduma wako hahimili kuzima usambazaji wa simu wakat simu yako haifikiwi."
+ "Mtoa huduma wako haauni ulemezaji wa kusambaza simu wakati simu yako haifikiwi.""Mipangilio ya simu""Hitlafu ya mipangilio ya kupiga simu""Inasoma mipangilio…."
@@ -145,8 +123,8 @@
"Inageuza mipangilio...""Jibu lisilotarajiwa kutoka kwa mtandao.""Hitilafu ya Mtandao au SIM kadi"
- "Uendeshaji unaruhusiwa tu kwa namba za upigaji simu za kudumu."
- "Tafadhaali fungua redio kabla ya kutazama mipangilio hii."
+ "Mpangilio wa programu ya simu yako wa Kupigia Nambari Fulani Pekee umewashwa. Kutokana na hayo, baadhi ya vipengele vinavyohusiana na simu havifanyi kazi."
+ "Washa redio kabla ya kutazama mipangilio hii.""Sawa""Wezesha""Lemaza"
@@ -156,10 +134,9 @@
"Ficha nambari""Onyesha nambari"
- "Hifadhi namba z ujumbe wa sauti""Nambari ya ujumbe wa sauti haijabadilishwa"
- "Mabadiliko ya nambari ya barua za sauti hayakufanikiwa. "\n"Tafadhali wasiliana na mtoa huduma wako ikiwa tatizo hili litaendelea."
- "Mabadiliko ya namba hayakufanikiwa"\n"Tafadhali wasiliana na mtoa huduma wako kama tatizo hili litaendelea."
+ "Haikuweza kubadilisha namba ya ujumbe wa sauti."\n"Wasiliana na mtoa huduma wako shida hii ikiendelea."
+ "Haikuweza kubadilisha namba ya kusambaza."\n"Wasiliana na mtoa huduma wako shida hii ikiendelea.""Haikuweza kuepua na kuhifadhi mipangilio ya nambari ya usambazaji. "\n" Hata hivyo swichi kwa mtoahuduma mpya?""Hakuna mabadiliko yaliyofanywa""Chagua huduma ya barua ya sauti"
@@ -171,14 +148,14 @@
"Tafuta mitandao""Hitilafu wakati wa utafutaji wa mitandao.""Inasajili kwa %s….."
- "Kadi yako ya SIM hairuhusu muunganidho kwa mtandao huu."
- "Haiwezi kuunganisha kwa mtandao huu kwa wakati huu. Tafadhali jaribu tena baadaye."
+ "SIM kadi yako hairuhusu muunganisho wa mtandao huu."
+ "Haiwezi kuunganisha na mtandao huu hivi sasa. Jaribu tena baadaye.""Imesajiliwa katika mtandao"
- "Chagua kiendesha mtandao"
+ "Chagua mtoa huduma wa mtandao""Tafuta mitandao yote inayopatikana"
- "Chagua kiotomatiki"
- "Chagua kiotomatiki mtandao unaopendelea"
- "Usajili otomatiki..."
+ "Chagua kiotomatiki"
+ "Chagua mtandao unaoupendelea kiotomatiki"
+ "Usajili otomatiki...""Hali ya Mtandao""Badilisha gumzo ya utendaji wa mtandao""hali ya mtandao unaopendelewa"
@@ -192,17 +169,17 @@
"Modi pendekezwa ya mtandao: EvDo pekee""Modi pendekezwa ya mtandao: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo tu""CDMA w/o EvDo"
- "CDMA / EvDo kioto"
- "GSM / WCDMA kiotomatiki"
+ "CDMA/EvDo otomatiki"
+ "GSM/WCDMA otomatiki""WCDMA tu""GSM tu"
- "GSM / WCDMA inapendelewa"
+ "GSM/WCDMA inapendelewa"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Data imewezeshwa"
@@ -210,12 +187,11 @@
"Urandaji wa data""Unganisha huduma ya data wakati wa urandaji""Unganisha huduma ya data wakati wa urandaji"
- "Umepoteza muunganisho wa data kwa sababu uliacha mtandao wako wa nyumbani wa urandaji ukiwa umezimwa"
+ "Umepoteza muunganisho wa data kwa sababu uliacha mtandao wako wa nyumbani, data ya urandaji ikiwa imezimwa.""Je, unnataka kuruhusuji wa data? Huenda ukagharamia ada za urandaji!""Chaguo za GSM/UMTS""Chaguo za CDMA""Matumizi ya data"
- "Sera ya data ya mtoa huduma""Data iliyotumika katika kipindi cha sasa""Muda wa matumizi ya data""Sera ya kasi ya data"
@@ -226,7 +202,6 @@
"%1$d٪ ya mzunguko imekamilika"\n"Muda ufuatao unaanza baada ya siku %2$d (%3$s)""Kasi ya data imepunguzwa hadi kilibaiti %1$d kwa sekunde kama kiwango cha matumizi ya data kimepitwa""Maelezo zaidi kuhusu sera ya matumizi ya data ya mtandao wa mtoa huduma wako"
- "SMS ya Matangazo ya Simu""SMS ya Matangazo ya Simu""SMS ya Kutangaza Seli""SMS ya Kutangaza Seli imewezeshwa"
@@ -267,15 +242,6 @@
"Kikorea""Kichina""Kiyahudi"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Lugha""Hali ya hewa ya Nchini"
@@ -305,9 +271,9 @@
"Nafasi za Ajira""Nafasi za Ajira zimewezeshwa""Nafasi za Ajira zimelemazwa"
- "Tiba, Afya na Hospitali"
- "Tiba, Afya na Hospitali imewezeshwa"
- "Tiba, Afya na Hospitali imelemazwa"
+ "Tiba, Afya, na Hospitali"
+ "Tiba, Afya, na Hospitali imewezeshwa"
+ "Tiba, Afya, na Hospitali imelemazwa""Habari za Teknolojia""Habari za Teknolojia zimewezeshwa""Habari za Teknolojia zimelemazwa"
@@ -322,35 +288,18 @@
"WCDMA tu""GSM tu""GSM/WCDA (WCDMA inapendelewa)"
-
-
- "0"
- "1"
- "2"
- "3""Tumia mitandao ya 2g peke yake""Huokoa betri""Chagua mfumo"
- "Badilisha gumzo ya kuzurura ya cdma"
+ "Badilisha hali ya urandaji ya CDMA""Chagua mfumo""Nyumbani tu""Otomatiki"
- "Hali ya Kuzurura ya CDMA"
- "Badilisha hali ya kuzurura ya cdma"
- "Hali ya kuzurura ya CDMA"
-
- "Mitandao ya Nyumbani tu"
- "Mitandao Husika"
- "Mtandao Wowote"
-
-
- "0"
- "1"
- "2"
-
+
+ "Usajili wa CDMA""Mapendeleo ya mtandao wa CDMA""Haijatekelezwa bado!""Mapendeleo ya mtandao wa CDMA"
@@ -359,21 +308,12 @@
"CDMA tu""EvDo tu"
-
- "0"
- "1"
- "2"
-
- "Usajili wa CDMA"
+
"Badilisha kati ya RUIM/SIM na NV""usajili""RUIM/SIM""NV"
-
-
- "0"
- "1""Wezesha kifaa""Sanidi huduma ya data"
@@ -390,18 +330,16 @@
"Dhibiti nambari Za Upigaji simu Zilizobanwa""Badilisha nenosiri la kufikia FDN""Dhibiti orodha ya nambari ya simu"
- "Faragha ya Sauti"
+ "Faragha ya sauti""Wezesha gumzo ya faragha iliyoboreshwa"
- "Hali ya TTY"
- "Wezesha gumzo ya TTY""Hali ya TTY""Weka hali ya TTY"
- "Jaribu tena Kiotomati"
- "Wezesha gumzo ya Jaribu tena Kioto"
+ "Jaribu tena Kiotomatiki"
+ "Wezesha hali ya kujaribu tena Kiotomatiki""Ongeza anwani""Hariri anwani""Futa anwani"
- "Ingiza nenosiri la 2"
+ "Chapa PIN2""Jina""Nambari""Hifadhi"
@@ -414,56 +352,50 @@
"Futa namba ya upigaji simu ya kudumu""Inafuta nambari ya upigaji simu uliobanwa...""Nambari ya upigaji simu uliobanwa imefutwa"
- "FDN haijasasishwa. Uliingiza PIN isiyo sahihi."
- "FDN haijasasishwa: nambari haiwezi kuzidisha dijiti 20."
+ "FDN haikusasishwa kwa sababu uliweka PIN isiyo sahihi."
+ "FDN haikusasishwa kwa sababu namba haiwezi kuzidisha herufi 20."
+ "FDN haikusasishwa. PIN2 haikuwa sahihi, au namba ya simu ilikataliwa.""Inasoma kutoka kwa SIM kadi""Hakuna anwani kwenye kadi yako ya SIM.""Chagua anwani za kuagiza"
- "Kuleta wasiliani kutoka kwa SIM kadi tafadhali zima modi ya Ndege."
+ "Ili kuleta anwani kutoka kwa SIM kadi, kwanza zima hali ya Ndege.""Wezesha/lemaza nenosiri la SIM""Badilisha nenosiri la SIM""PIN ya SIM:""PIN ya zamani""PIN mpya""Thibitisha PIN mpya"
- "PUK uliyoandika sio sahihi. Tafadhali jaribu tena."
- "Manenosiri ya pili uliyoweka hayaoani. Tafadhali jaribu tena."
+ "PIN ya zamani uliyochapa sio sahihi. Jaribu tena."
+ "PIN ulizochapa hazilingani. Jaribu tena.""Chapisha nenosiri lenye nambari kati ya 4 na 8.""Lemaza Nensiri la SIM""Wezesha Nenosiri la SIM""Tafadhali subiri…"
- "Nenosiri la SIM limewezeshwa"
- "Nenosiri la SIM limelemazwa"
- "Nenosiri ulilochapisha sio sahihi."
- "Umefaulu kubadilisha nenosiri la SIM"
+ "PIN ya SIM imewezeshwa."
+ "PIN ya SIM imelemazwa."
+ "PIN uliyochapa haikuwa sahihi."
+ "Umefaulu kubadilisha PIN ya SIM.""Nenosiri sio sahihi, SIM imefungwa! PUK2 imeombwa.""PIN2""Nenosiri la zamani""Nenosiri la 2 mpya""Thibitisha nenosiri la pili mpya"
- "PUK2 uliyoandika sio sahihi. Tafadhali jaribu tena."
- "PUK2 uliyoandika sio sahihi. Tafadhali jaribu tena."
- "Manenosiri ya pili uliyoweka hayaoani. Tafadhali jaribu tena."
+ "PUK2 uliyocharaza sio sahihi. Jaribu tena."
+ "PIN2 ya zamani uliyochapa sio sahihi. Jaribu tena."
+ "PIN2 ulizocharaza haziambatani. Jaribu tena.""Chapisha nenosiri la 2 yaani nambari 4 hadi 8.""Chapisha PUK2 ambayo ina namba 8."
- "Umefaulu kubadilisha nenosiri la 2"
+ "PIN2 imefaulu kubadilishwa.""Andika msimbo wa PUK ya 2."
- "Nenosiri sio sahihi, tafadhali badilisha nenosiri la pili kisha ujaribu tena!"
- "Nenosiri sio sahihi, SIM imefungwa! PUK2 imeombwa."
+ "Nenosiri sio sahihi. Badilisha PIN2 na ujaribu tena."
+ "Nenosiri sio sahihi, SIM imefungwa. PUK2 imeombwa.""Kwisha""Simu ya kongamano %s"
- "Rudi nyuma upige simu"
- "Endelea bila ya SIM kadi"
- "Hakuna SIM kadi iliyopatikana. Tafadhali weka SIM kadi kwa simu."
- "Kataa"
- "Fungua"
- "Inathibitisha nenosiri....""Nambari ya ujumbe wa sauti""Inapiga""Inajaribu tena""Simu ya kongamano""Simu inayoingia"
- "Kusubiri simu ya Cdma""Simu imekamilika""Inangoja""Kukata simu"
@@ -473,7 +405,7 @@
"Simu zisizojibiwa""%s simu ambazo hazijajibiwa""Simu isiyojibiwa kutoka %s"
- "Simu ya sasa (%s)"
+ "Simu inayoendelea""Inangoja""Simu inayoingia""Ujumbe mpya wa sauti"
@@ -482,13 +414,15 @@
"Nambari ya ujumbe wa sauti haijulikani.""Hakuna huduma""Mtandao uliochaguliwa %s haupatikani"
+ "Kata simu"
+ "Mpigie"
+ "Ujumbe""Kupiga simu, kwanza zima hali ya ndege.""Haijasajiliwa kwa mitandao""Mtandao wa simu haupatikani.""Simu haijatumwa, hakuna nambari halali iliyoingizwa.""Simu haijatumwa.""Inaanzisha msururu wa MMI…"
- "Inaanzisha mfuatano wa msimbo wa kipengele...""Kifaa ambacho hakijahiliwa.""Imeshindwa kubadilisha simu""Imeshindwa kutenganisha simu."
@@ -500,18 +434,13 @@
"Simu ya dharura""Inawasha redio...""Uko mahali pasipokuwa na huduma, inajaribu tena…."
- "Simu haijatumwa, %s sio nambari ya dharura!"
- "Simu haijatumwa, tafadhali bonyeza nambari ya dharura!"
+ "Simu haijatumwa. %s sio nambari ya dharura!"
+ "Simu haijatumwa. Piga nambari ya dharura!""Tumia kichapishi kubonyeza"
- "Kibao namba cha toni cha mguso""Shikilia"
- "Endeleza""Mwisho""Kibao cha kupiga"
- "Ficha"
- "Spika""Nyamazisha"
- "Bluetooth""Ongeza simu""Changanyisha simu""Badili"
@@ -530,36 +459,31 @@
"TTY HCO""TTY VCO"
- "Maandishi ya ERI"
- "Toni za DTMF"
+ "Toni za DTMF""Weka urefu wa toni za DTMF""Kawaida""Ndefu"
- "Ujumbe wa Mtandao"
+ "Ujumbe wa mtandao""Wezesha simu yako""Simu maalum inahitaji kupigwa ili kuamilisha huduma ya simu yako. "\n\n" Baada ya kubonyeza \"Amilisha\", sikiliza maagizo yaliyotolewa ili kuamilisha simu yako."
- "Gusa \'\'Wezesha\'\' ili kupiga simu maalum ambayo inaamilisha simu yako kwenye mtoa huduma wa mtando wa simu, sasa unaweza kupia simu na kuunganisha kwa mitandao ya data ya simu.""Ruka uwezeshaji?""Kama utaruka kuwezesha, hauwezi kupiga simu au kuunganisha kwa mitandao ya data ya simu (ingawaje unaweza kuunganisha kwa mitandao-hewa). Hadi uiwezeshe simu yako, utaulizwa uiwezeshe kila utakapoiwasha.""Ruka"
- "Wezesha""Amilisha"
- "Simu imelemazwa!"
+ "Simu imeamilishwa.""Tatizo na uamilisho""Fuata maagizo yanayotamkwa hadi usikie kwamba uwezeshaji umekamilika."
- "Kibao cha vitufe""Spika"
- "Tafadhali subiri wakati simu yako inaprogramiwa."
- "Usanidi Haukufanikiwa"
+ "Subiri wakati simu yako inapoprogramiwa."
+ "Usanidi haukufanikiwa""Simu yako imeamilishwa sasa. Huenda ikachukua hadi dakika 15 kwa huduma kuanza."
- "Simu yako haikuamilishwa. "\n" Huenda ukahitaji kupata eneo lenye mtandao bora (karibu na dirisha, au nje). "\n\n" Jaribu tena au piga simu kwa huduma kwa wateja kwa chaguo zaidi."
+ "Simu yako haikuamilishwa. "\n" Huenda ukahitaji kupata eneo lenye mtandao bora (karibu na dirisha, au nje). "\n\n"Jaribu tena au piga simu kwa huduma ya wateja kwa chaguo zaidi.""USHINDE ZAIDI WA SPC""Nyuma""Jaribu tena""Ifuatayo"
- "Nyuma""EcmExitDialog""Umeingia katika gumzo ya kupiga tena simu ya Dharura""hali ya kupiga tena simu ya Dharura"
@@ -569,87 +493,69 @@
"Hakuna data ya muunganisho kwa dakika %s"
- "Simu itakuwa katika hali ya kupiga tena simu za dharura kwa dakika %s. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumiwa. Je, ungependa kuondoka sasa."
- "Simu itakuwa katika gumzo ya kupiga tena simu ya dharura kwa dakika %s. Ukiwa katika gumzo hii hakuna programu za kompyuta zinazotumia muunganisho wa data zinazoweza kutumiwa. Je, ungependa kutoka sasa?"
+ "Simu itakuwa katika hali ya Kupiga tena Simu ya Dharura kwa dakika %s. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumika. Je, unataka kutoka sasa?"
+ "Simu itakuwa katika hali ya Kupiga tena Simu ya Dharura kwa dakika %s. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumika. Je, unataka kutoka sasa?"
- "Kitendo kilichochaguliwa hakipatikani ikiwa katika hali ya kupiga tena simu ya dharura. Simu itakuwa katika hali hii kwa dakika %s. Ungependa kutoka sasa?"
- "Kitendo kilichochaguliwa hakipatikani ikiwa katika hali ya kupiga tena simu ya dharura. Simu itakuwa katika hali hii kwa dakika %s. Ungependa kutoka sasa?"
+ "Tendo lililochaguliwa halipatikana wakati iko katika hali ya kupiga tena simu ya dharura. Simu itakuwa katika hali hii kwa dakika %s. Je, unataka kutoka sasa?"
+ "Kitendo kilichochaguliwa hakipatikani katika hali ya Kupiga Tena Simu ya Dharura. Simu itakuwa katika hali hii kwa dakika %s. Je, unataka kutoka sasa?"
- "Kitendo kilichochaguliwa hakipatikani ikiwa katika simu ya dharura"
- "Inatoka kwa Hali ya kupiga tena simu ya Dharura"
+ "Kitendo kilichochaguliwa hakipatikani ikiwa katika simu ya dharura."
+ "Inatoka kwa hali ya Kupiga tena simu ya Dharura""Ndiyo""Hapana""Kataa"
- "Mipangilio ya barua ya sauti"
- "<haijawekwa>"
- "Huduma ya barua ya sauti"
- "Mipangilio ya %s"
+ "Huduma"
+ "Sanidi"
+ "<Haijawekwa>""Mipangilio mingine ya simu"
- "Piga"
- "Inapiga simu kupitia ^1"\n"^2"
- "Kokota kulia ili kujibu"
- "Kokota kushoto ili kunyamazisha mlio"
- "Kokota kushoto kukataa"
- "Kokota kulia ili jibu na "\n"kushikilia simu inayoendelea"
- "Kokota kulia ili kujibu na "\n"katisha simu amilifu"
- "Kokota kulia ili kujibu na "\n"kata simu inayosubiri"
- "Jibu"
- "Kataa"
+ "Kupiga simu kupitia %s""picha ya anwani""nenda kwa faragha""chagua anwani""Mipangilio ya simu za wavuti""Akaunti za upigaji simu za wavuti (SIP)""Akaunti"
- " Dhibiti akaunti na hali za upigaji simu za wavuti (SIP)""Pokea simu zinazoingia""Hupunguza maisha ya betri"
- "Sanidi chaguo za simu""Tumia upigaji simu wa wavuti""Tumia upigaji simu ya wavuti (mtandao-hewa tu)""Kwa simu zote wakati mtandao wa data unapatikana""Kwa simu za wavuti tu""Uliza kwa kila simu""Kwa simu zote"
- "Usajili wa kiotomatiki"
- "Simu ya kutoka kupitia SIP""Piga simu""Tumia akaunti ya upigaji simu za wavuti:""Tumia kila wakati kupiga simu za wavuti"
- "Unaweza kutumia Mipangilio ya Kupiga simu kubadilisha ni akaunti ipi ya upigaji simu kwenye wavuti itakayotumika kwa chaguo-msingi wakati wa kupiga simu, kwa kuchagua akaunti tofauti chini ya mipangilio ya Upigaji simu za Wavuti"
+ "Unaweza kubadilisha ni akaunti gani ya kupiga simu ya mtandao itatumika kimsingi kutoka kwa Simu > Mipangilio > mipangilio ya kupiga simu ya mtandao > Skrini ya akaunti.""Kupiga simu ya mkononi""Simu ya wavuti""Hakuna akaunti ya upigaji simu wa Mtandao"
- "Hakuna akaunti za upigaji wa simu za wavuti kwenye simu hii. Ongeza moja sasa?"
+ "Hakuna akaunti za kupiga simu za mtandao kwenye simu hii. Je, unataka kuongeza moja sasa?""Ongeza""Ongeza akaunti""Ondoa akaunti""Akaunti za SIP"
- "Inahifadhi akaunti..."
- "Inaondoa akaunti..."
+ "Inahifadhi akaunti..."
+ "Inaondoa akaunti...""Hifadhi""Tupa""Funga maelezo mafupi""Sawa""Funga"
- "Msingi"
- "Fanya hii iwe akaunti yangu ya msingi"
- "Ilitumika kwa simu zinazotoka"
- "Mipangilio mahiri""Akaunti ya msingi: %s""Inakakuga hali..."
- "Inasajili..."
- "Bado inajaribu..."
- "Haipokeai simu"
- "Usajili wa akaunti umesimamishwa kwa sababu hakuna muunganisho wa Mtandao"
- "Usajili wa akaunti umekomeshwa kwa sababu hakuna muunganisho wa mtandao-hewa"
- "Usajili wa akaunti haujafanikiwa"
- "Inapokea simu"
+ "Inasajili..."
+ "Bado inajaribu..."
+ "Haipokei simu."
+ "Usajili wa akaunti umesimamishwa kwa sababu hakuna muunganisho wa Mtandao."
+ "Usajili wa akaunti umekomeshwa kwa sababu hakuna muunganisho wa Wi-Fi."
+ "Usajili wa akaunti haujafanikiwa."
+ "Inapokea simu.""Usajili wa akaunti haujafaulu: %s; nitajaribu baadaye"
- "Usajili wa akaunti hujafanikiwa: jina lamtumiaji au nywila isiyo sahihi"
- "Usajili wa akaunti hujafaulu: angalia jina la seva"
- "Akaunti hii inatumika kwa sasa na programu ya %s"
+ "Usajili wa akaunti hujafaulu: Jina la mtumiaji au nenosiri sio sahihi."
+ "Usajili wa akaunti haujafaulu: Kagua jina la seva."
+ "Akaunti hii inatumika kwa sasa na programu ya %s.""Maelezo ya akaunti ya SIP""Maelezo ya akaunti ya SIP""Seva"
@@ -660,9 +566,6 @@
"Nambari ya mlango""Aina ya usafiri""Tuma weka-hai"
- "Tuma ujumbe wa SIP keep-alive"
- "Usajili wa kiotomatiki?"
- "Sajili maelezo mafupi kiotomatiki""Weka kama akaunti ya msingi""Hutumika kwa simu zinazotoka""Mipangilio ya hiari"
@@ -673,12 +576,12 @@
"< Ni hiari >""▷ Gusa ili kuonyesha yote""▽ Guza ili kuficha zote"
- "%s inahitajika, haiwezi kuachwa wazi"
- "Nambari ya mlango inafaa kuwa kati ya 1000 na 65534"
+ "%s inahitajika na haiwezi kuachwa wazi."
+ "Nambari ya kituo tarishi inafaa kuwa kati ya 1000 na 65534.""Hakuna muunganisho wa wavuti""Hakuna muunganisho wa mtandao-hewa"
- "Ili kupiga simu ya wavuti, kagua muunganisho wako wa wavuti kwanza"
- "Lazima uwe umeunganishwa kwa mtandao-hewa ili kupiga simu za Wavuti (tumia mipangilio ya Mtandao-hewa na Mtandao)"
+ "Ili kupiga simu ya mtandao, kagua muunganisho wako wa Mtandao kwanza."
+ "Lazima uwe umeunganishwa kwa mtandao wa Wi-Fi ili kupiga simu za mtandao(tumia pasi waya & Mipangilio ya mtandao).""Upigaji simu za wavuti hauhimiliwi""Otomatiki""Tuma kila wakati"
@@ -687,7 +590,7 @@
"Nitakupigia mara moja.""Nitakupigia baadaye.""Siwezi kuongea sasa. Nipigie baadaye?"
- "Ujumbe maalum..."
+ "Ujumbe maalum""Majibu ya haraka""Hariri majibu ya haraka"
@@ -705,7 +608,6 @@
"nyota""sufuri""pauni"
- "tafuta""piga simu""nafasi ya nyuma""Spika za simu zimewezeshwa"
@@ -713,11 +615,16 @@
"Jibu""Tuma SMS""Kataa"
- "Tikisika"
- "Tikisika"
+ "Mtetemo"
+ "Mtetemo"
+ "Mlio wa simu"
- "Kila wakati"
+ "Daima""Ikiwa kimya tu"
- "Katu"
+ "Kamwe"
+ "Mlio wa simu"
+ "Tetema wakati wa kuita"
+ "Toni za mguso wa pedi ya kupiga"
+ "Mlio wa simu"
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index b076cd1a8..5430184fd 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -25,39 +25,27 @@
"หมายเลขส่วนตัว""โทรศัพท์สาธารณะ""พักสาย"
- "สายปัจจุบัน""สายไม่ว่าง""เครือข่ายไม่ว่าง""ไม่มีการตอบกลับ หมดเวลา""ไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้""ไม่สามารถติดต่อเลขหมายนี้ได้""ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"
- "โทรจากนอกเครือข่าย"
+ "โทรจากนอกเครือข่าย""ข้อผิดพลาดของเซิร์ฟเวอร์ โปรดลองอีกครั้งในภายหลัง""ไม่มีสัญญาณ""เกินจำนวนสูงสุดของ ACM แล้ว""ปิดวิทยุ"
- "ไม่มีซิมหรือเกิดข้อผิดพลาดกับซิม"
+ "ไม่มีซิมหรือเกิดข้อผิดพลาดกับซิม""นอกพื้นที่ให้บริการ""การโทรออกถูกจำกัดโดย FDN"
- "โทรออกไม่ได้เมื่อระงับการโทรไว้"
+ "โทรออกไม่ได้เมื่อระงับการโทรไว้""การโทรทั้งหมดถูกจำกัดโดยการควบคุมการเข้าถึง""การโทรฉุกเฉินถูกจำกัดโดยการควบคุมการเข้าถึง""การโทรปกติถูกจำกัดโดยการควบคุมการเข้าถึง"
- "CDMA: โทรศัพท์ถูกล็อกจนกว่าจะเปิดเครื่องครั้งถัดไป"
- "CDMA: สายหลุด"
- "CDMA: สายถูกขัดจังหวะ"
- "CDMA: ลำดับใหม่"
- "CDMA: ตัวเลือกบริการถูกปฏิเสธ"
- "CDMA: ลองลำดับใหม่"
- "CDMA: การเข้าใช้ไม่สำเร็จ"
- "CDMA: ถูกจองใช้งานไว้"
- "ได้เฉพาะโทรฉุกเฉินเท่านั้น"
- "หมายเลขไม่ถูกต้อง"
+ "หมายเลขไม่ถูกต้อง""การประชุมสาย""สายหลุดไป"
- "ลองอีกครั้ง"
- "สายหลุด""ตกลง""เริ่มรหัส MMI แล้ว""กำลังรันรหัส USSD..."
@@ -69,23 +57,14 @@
"ชุดหูฟังแบบมีสาย""บลูทูธ""ส่งโทนเสียงต่อไปนี้หรือไม่ "\n
- "กำลังส่งโทนเสียง "\n
+ "กำลังส่งโทนเสียง"\n"ส่ง""ใช่""ไม่"
- "แทนที่อักขระแทนด้วย"
+ "แทนที่อักขระแทนด้วย""ไม่มีหมายเลขข้อความเสียง""ไม่มีหมายเลขข้อความเสียงจัดเก็บอยู่ในซิมการ์ด""เพิ่มหมายเลข"
- "กำลังโหลด…"
- "พิมพ์รหัส PIN เพื่อปลดล็อdซิมการ์ด"
- "ปลดล็อกซิมแล้ว"
- "รหัส PIN ของซิมใหม่"
- "พิมพ์รหัส PIN ใหม่ของซิมอีกครั้งเพื่อยืนยัน"
- "PIN ของซิมที่คุณพิมพ์ไม่ตรง โปรดลองอีกครั้ง"
- "พิมพ์รหัส PUK เพื่อปลดล็อกซิมการ์ด"
- "รหัส PUK ไม่ถูกต้อง!"
- "ดำเนินการต่อ""ยกเลิกการปิดกั้นซิมการ์ดแล้ว กำลังปลดล็อกโทรศัพท์ของคุณ...""PIN ปลดล็อกเครือข่ายซิม""ปลดล็อก"
@@ -93,8 +72,6 @@
"กำลังขอปลดล็อกเครือข่าย...""คำขอปลดล็อกเครือข่ายไม่สำเร็จ""ปลดล็อกเครือข่ายไม่สำเร็จ"
- "IMEI"
- "MEID""การตั้งค่าการโทร GSM""การตั้งค่าการโทร CDMA""ชื่อจุดเข้าใช้งาน"
@@ -109,6 +86,7 @@
"การตั้งค่าการโทรเฉพาะ CDMA เพิ่มเติม""การตั้งค่าบริการเครือข่าย""หมายเลขผู้โทร"
+ "กำลังโหลดการตั้งค่า…""หมายเลขที่ซ่อนในสายโทรออก""หมายเลขที่แสดงในสายโทรออก""ใช้การตั้งค่าเริ่มต้นของผู้ให้บริการเพื่อแสดงหมายเลขของฉันขณะโทรออก"
@@ -127,17 +105,17 @@
"หมายเลขเมื่อสายไม่ว่าง""โอนสายไปที่ {0}""ถูกปิดใช้งาน"
- "ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อสายไม่ว่าง"
+ "ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อสายไม่ว่าง""โอนสายเมื่อไม่มีผู้รับ""หมายเลขเมื่อไม่ได้รับสาย""โอนสายไปที่ {0}""ถูกปิดใช้งาน"
- "ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อไม่มีผู้รับสาย"
+ "ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อไม่มีผู้รับสาย""โอนสายเมื่อติดต่อไม่ได้""หมายเลขเมื่อติดต่อไม่ได้""โอนสายไปที่ {0}""ถูกปิดใช้งาน"
- "ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อติดต่อไม่ได้"
+ "ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อติดต่อไม่ได้""การตั้งค่าการโทร""ข้อผิดพลาดในการตั้งค่าการโทร""กำลังอ่านการตั้งค่า…"
@@ -145,8 +123,8 @@
"กำลังย้อนกลับการตั้งค่า…""พบการตอบกลับที่ไม่คาดหมายจากเครือข่าย""ข้อผิดพลาดของเครือข่ายหรือซิมการ์ด"
- "การดำเนินการนี้อนุญาตให้ทำได้ตามการจำกัดหมายเลขโทรออกเท่านั้น"
- "โปรดเปิดวิทยุก่อนดูการตั้งค่าเหล่านี้"
+ "เนื่องจากมีการเปิดใช้การตั้งค่าการจำกัดหมายเลขโทรออกของแอปโทรศัพท์ จึงเป็นผลให้คุณลักษณะที่เกี่ยวกับการโทรบางอย่างไม่ทำงาน"
+ "เปิดวิทยุก่อนดูการตั้งค่าเหล่านี้""ตกลง""ใช้งาน""ปิดการใช้งาน"
@@ -156,10 +134,9 @@
"ซ่อนหมายเลข""แสดงหมายเลข"
- "บันทึกหมายเลขข้อความเสียง""เปลี่ยนหมายเลขข้อความเสียงแล้ว"
- "เปลี่ยนหมายเลขข้อความเสียงไม่สำเร็จ "\n"โปรดติดต่อผู้ให้บริการของคุณหากยังพบปัญหานี้อยู่"
- "เปลี่ยนหมายเลขโอนสายไม่สำเร็จ "\n"โปรดติดต่อผู้ให้บริการของคุณหากยังพบปัญหานี้อยู่"
+ "ไม่สามารถเปลี่ยนหมายเลขข้อความเสียง"\n"ติดต่อผู้ให้บริการของคุณหากปัญหานี้ยังคงอยู่"
+ "ไม่สามารถเปลี่ยนหมายเลขที่จะโอน"\n"ติดต่อผู้ให้บริการของคุณหากปัญหานี้ยังคงอยู่""ไม่สามารถดึงและบันทึกการตั้งค่าจำนวนการส่งต่อในปัจจุบัน "\n"ยังคงต้องการสลับไปยังผู้ให้บริการใหม่หรือไม่""ไม่มีการเปลี่ยนแปลง""เลือกบริการข้อความเสียง"
@@ -171,14 +148,14 @@
"ค้นหาเครือข่าย""พบข้อผิดพลาดขณะค้นหาเครือข่าย""กำลังลงทะเบียนบน %s…"
- "ซิมการ์ดของคุณไม่อนุญาตให้เชื่อมต่อกับเครือข่ายนี้"
- "ไม่สามารถเชื่อมต่อกับเครือข่ายนี้ในขณะนี้ โปรดลองอีกครั้งในภายหลัง"
+ "ซิมการ์ดของคุณไม่อนุญาตให้เชื่อมต่อกับเครือข่ายนี้"
+ "ไม่สามารถเชื่อมต่อเครือข่ายนี้ได้ในขณะนี้ ลองอีกครั้งในภายหลัง""ลงทะเบียนบนเครือข่ายแล้ว"
- "เลือกผู้ให้บริการเครือข่าย"
+ "เลือกผู้ให้บริการเครือข่าย""ค้นหาเครือข่ายทั้งหมดที่ใช้ได้"
- "เลือกอัตโนมัติ"
- "เลือกเครือข่ายที่ต้องการอัตโนมัติ"
- "การลงทะเบียนอัตโนมัติ..."
+ "เลือกโดยอัตโนมัติ"
+ "เลือกเครือข่ายที่ต้องการอัตโนมัติ"
+ "การลงทะเบียนอัตโนมัติ...""โหมดเครือข่าย""เปลี่ยนโหมดปฏิบัติการของเครือข่าย""โหมดเครือข่ายที่ต้องการ"
@@ -192,17 +169,17 @@
"โหมดเครือข่ายที่ต้องการ: EvDo เท่านั้น""โหมดเครือข่ายที่ต้องการ: LTE/CDMA"
- "LTE/CDMA"
+ "LTE/CDMA""EvDo เท่านั้น""CDMA w/o EvDo"
- "CDMA/EvDo อัตโนมัติ"
- "GSM/WCDMA อัตโนมัติ"
+ "CDMA/EvDo อัตโนมัติ"
+ "GSM/WCDMA อัตโนมัติ""WCDMA เท่านั้น""GSM เท่านั้น"
- "ต้องการ GSM/WCDMA"
+ "ต้องการ GSM/WCDMA"
- "LTE/CDMA"
+ "LTE/CDMA""CDMA""เปิดใช้งานข้อมูลแล้ว"
@@ -210,12 +187,11 @@
"การโรมมิ่งข้อมูล""เชื่อมต่อบริการข้อมูลขณะโรมมิ่ง""เชื่อมต่อบริการข้อมูลขณะโรมมิ่ง"
- "การเชื่อมต่อข้อมูลของคุณหายไปเนื่องจากคุณออกจากเครือข่ายที่บ้านโดยปิดการโรมมิ่งข้อมูลไว้"
+ "การเชื่อมต่อข้อมูลของคุณหายไปเนื่องจากคุณออกจากเครือข่ายที่บ้านโดยปิดการโรมมิ่งข้อมูลไว้""การเปิดโรมมิ่งข้อมูลอาจทำให้คุณเสียค่าใช้จ่ายมาก!""ตัวเลือก GSM//UMTS""ตัวเลือก CDMA""การใช้ข้อมูล"
- "นโยบายข้อมูลของผู้ให้บริการ""ข้อมูลที่ใช้ในช่วงเวลาปัจจุบัน""ช่วงเวลาการใช้ข้อมูล""นโยบายอัตราการส่งข้อมูล"
@@ -226,7 +202,6 @@
"%1$d٪ ของรอบผ่านไป "\n" ช่วงถัดไปจะเริ่มในอีก %2$d วัน (%3$s)""อัตราการส่งข้อมูลถูกลดเหลือ %1$d Kb/s เมื่อใช้ข้อมูลเกินขีดจำกัดแล้ว""ข้อมูลเพิ่มเติมเกี่ยวกับนโยบายการใช้ข้อมูลของเครือข่ายมือถือจากผู้ให้บริการของคุณ"
- "SMS แจ้งเครือข่ายที่ใช้งาน""SMS แจ้งเครือข่ายที่ใช้งาน""SMS แจ้งเครือข่ายที่ใช้งาน""เปิดการใช้งาน SMS แจ้งเครือข่ายที่ใช้งานแล้ว"
@@ -267,15 +242,6 @@
"เกาหลี""จีน""ฮีบรู"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""ภาษา""พยากรณ์อากาศท้องถิ่น"
@@ -305,9 +271,9 @@
"โอกาสการจ้างงาน""เปิดใช้งานโอกาสการจ้างงานแล้ว""ปิดใช้งานโอกาสการจ้างงาน"
- "การแพทย์ สุขภาพ และโรงพยาบาล"
- "เปิดใช้งานการแพทย์ สุขภาพ และโรงพยาบาลแล้ว"
- "การแพทย์ สุขภาพ และโรงพยาบาลถูกปิดใช้งาน"
+ "การแพทย์ สุขภาพ และโรงพยาบาล"
+ "เปิดใช้งานการแพทย์ สุขภาพ และโรงพยาบาลแล้ว"
+ "การแพทย์ สุขภาพ และโรงพยาบาลถูกปิดใช้งาน""ข่าวเทคโนโลยี""เปิดใช้งานข่าวเทคโนโลยีแล้ว""ปิดใช้งานข่าวเทคโนโลยี"
@@ -322,35 +288,17 @@
"WCDMA เท่านั้น""GSM เท่านั้น""GSM/WCDA (ต้องการ WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""ใช้เฉพาะเครือข่าย 2G""ประหยัดแบตเตอรี่""การเลือกระบบ"
- "เปลี่ยนโหมดการเชื่อมต่อกับเครือข่าย CDMA อื่น"
+ "เปลี่ยนโหมดการเชื่อมต่อกับเครือข่าย CDMA อื่น""การเลือกระบบ""โทรกลับบ้านเท่านั้น""อัตโนมัติ"
- "โหมดการเชื่อมต่อกับเครือข่าย CDMA อื่น"
- "เปลี่ยนโหมดการเชื่อมต่อกับเครือข่าย CDMA อื่น"
- "โหมดการเชื่อมต่อกับเครือข่าย CDMA อื่น"
-
- "เครือข่ายในบ้านเท่านั้น"
- "เครือข่ายที่เชื่อมโยงไว้"
- "เครือข่ายใดก็ได้"
-
-
- "0"
- "1"
- "2"
-
+ "การสมัครรับข้อมูล CDMA""ค่ากำหนดเครือข่าย CDMA""ยังไม่ได้ใช้งาน!""ค่ากำหนดเครือข่าย CDMA"
@@ -359,21 +307,11 @@
"CDMA เท่านั้น""EvDo เท่านั้น"
-
- "0"
- "1"
- "2"
-
- "การสมัครรับข้อมูล CDMA""เปลี่ยนระหว่าง RUIM/SIM และ NV""การสมัครรับข้อมูล""RUIM/SIM""NV"
-
-
- "0"
- "1""เปิดใช้งานอุปกรณ์""ตั้งค่าบริการข้อมูล"
@@ -390,18 +328,16 @@
"จัดการการกำจัดหมายเลขโทรออก""เปลี่ยน PIN สำหรับการเข้าถึง FDN""จัดการรายการหมายเลขโทรศัพท์"
- "ความเป็นส่วนตัวในการโทรด้วยเสียง"
+ "ความเป็นส่วนตัวในการโทรด้วยเสียง""เปิดใช้งานโหมดเพิ่มความเป็นส่วนตัว"
- "โหมด TTY"
- "เปิดใช้งานโหมด TTY""โหมด TTY""ตั้งค่าโหมด TTY"
- "ลองซ้ำอัตโนมัติ"
- "เปิดใช้งานการลองซ้ำอัตโนมัติ"
+ "ลองซ้ำอัตโนมัติ"
+ "เปิดใช้งานโหมดลองซ้ำอัตโนมัติ""เพิ่มที่อยู่ติดต่อ""แก้ไขที่อยู่ติดต่อ""ลบที่อยู่ติดต่อ"
- "ป้อน PIN2"
+ "พิมพ์ PIN2""ชื่อ""หมายเลข""บันทึก"
@@ -414,56 +350,50 @@
"ลบการจำกัดหมายเลขโทรออก""กำลังลบการจำกัดหมายเลขโทรออก…""ลบการจำกัดหมายเลขโทรออกแล้ว"
- "FDN ไม่อัปเดต: คุณป้อน PIN ไม่ถูกต้อง"
- "FDN ไม่อัปเดต: ตัวเลขต้องไม่เกิน 20 หลัก"
+ "FDN ไม่อัปเดตเพราะคุณป้อน PIN ไม่ถูกต้อง"
+ "FDN ไม่อัปเดตเพราะหมายเลขจะมีจำนวนเกิน 20 หลักไม่ได้"
+ "ไม่ได้อัปเดต FDN เพราะ PIN2 ไม่ถูกต้องหรือหมายเลขโทรศัพท์ถูกปฏิเสธ""กำลังอ่านจากซิมการ์ด…""ไม่มีที่อยู่ติดต่อบนซิมการ์ดของคุณ""เลือกสมุดโทรศัพท์ที่จะนำเข้า"
- "โปรดปิดโหมดใช้งานบนเครื่องบินเพื่อนำเข้าผู้ติดต่อจากซิมการ์ด"
+ "ในการนำเข้าผู้ติดต่อจากซิมการ์ด ให้ปิดโหมดบนเครื่องบินก่อน""เปิด/ปิดใช้งาน PIN ของซิม""เปลี่ยน PIN ของซิม""PIN ของซิม:""PIN เก่า""PIN ใหม่""ยืนยัน PIN ใหม่"
- "PIN เก่าที่คุณพิมพ์ไม่ถูกต้อง โปรดลองอีกครั้ง"
- "PIN ของซิมที่คุณพิมพ์ไม่ตรง โปรดลองอีกครั้ง"
+ "PIN เก่าที่คุณพิมพ์ไม่ถูกต้อง โปรดลองอีกครั้ง"
+ "PIN ที่คุณพิมพ์ไม่ตรงกัน โปรดลองอีกครั้ง""พิมพ์ PIN ซึ่งเป็นเลข 4-8 หลัก""ปิดใช้งานรหัส PIN ของซิม""เปิดใช้งาน PIN ของซิม""โปรดรอสักครู่..."
- "เปิดการใช้งาน PIN ของซิมแล้ว"
- "ปิดใช้งาน PIN ของซิม"
- "PIN ที่คุณพิมพ์ไม่ถูกต้อง"
- "เปลี่ยน PIN ของซิมสำเร็จแล้ว"
+ "เปิดใช้งาน PIN ของซิมแล้ว"
+ "ปิดใช้งาน PIN ของซิมแล้ว"
+ "PIN ที่คุณพิมพ์ไม่ถูกต้อง"
+ "เปลี่ยน PIN ของซิมสำเร็จแล้ว""รหัสผ่านไม่ถูกต้อง ซิมถูกล็อก! ขอ PUK2""PIN2""PIN2 เก่า""PIN2 ใหม่""ยืนยัน PIN2 ใหม่"
- "PUK2 ที่คุณพิมพ์ไม่ถูกต้อง โปรดลองอีกครั้ง"
- "PIN2 เก่าที่คุณพิมพ์ไม่ถูกต้อง โปรดลองอีกครั้ง"
- "PIN2 ที่คุณป้อนไม่ตรงกัน โปรดลองอีกครั้ง"
+ "PUK2 ที่คุณพิมพ์ไม่ถูกต้อง โปรดลองอีกครั้ง"
+ "PIN2 เก่าที่คุณพิมพ์ไม่ถูกต้อง โปรดลองอีกครั้ง"
+ "PIN2 ที่คุณพิมพ์ไม่ตรงกัน โปรดลองอีกครั้ง""พิมพ์ PIN2 ซึ่งเป็นเลข 4-8 หลัก""พิมพ์ PUK2 ซึ่งเป็นเลข 8 หลัก"
- "เปลี่ยน PIN2 เรียบร้อยแล้ว"
+ "เปลี่ยน PIN2 เรียบร้อยแล้ว""พิมพ์รหัส PUK2"
- "รหัสผ่านไม่ถูกต้อง โปรดเปลี่ยน PIN2 แล้วลองอีกครั้ง!"
- "รหัสผ่านไม่ถูกต้อง ซิมถูกล็อก! ขอ PUK2 แล้ว"
+ "รหัสผ่านไม่ถูกต้อง เปลี่ยน PIN2 แล้วลองอีกครั้ง"
+ "รหัสผ่านไม่ถูกต้อง ซิมถูกล็อก ขอ PUK2""เสร็จสิ้น""การประชุมสาย %s"
- "กลับไปที่การโทร"
- "ทำงานต่อโดยไม่มีซิมการ์ด"
- "ไม่พบซิมการ์ด โปรดใส่ซิมการ์ดลงในโทรศัพท์"
- "เลิกแสดง"
- "ปลดล็อก"
- "กำลังตรวจสอบสิทธิ์ PIN…""หมายเลขข้อความเสียง""กำลังโทรออก""กำลังทดลองซ้ำ""การประชุมสาย""สายเข้า"
- "สายเรียกซ้อน Cdma""วางสายแล้ว""พักสาย""กำลังวางสาย"
@@ -473,7 +403,7 @@
"สายที่ไม่ได้รับ""%s สายที่ไม่ได้รับ""สายที่ไม่ได้รับจาก %s"
- "สายปัจจุบัน (%s)"
+ "โทรต่อเนื่อง""พักสาย""สายเรียกเข้า""ข้อความเสียงใหม่"
@@ -482,13 +412,15 @@
"ไม่ทราบหมายเลขข้อความเสียง""ไม่มีบริการ""เครือข่ายที่เลือกไว้ (%s) ใช้งานไม่ได้"
+ "วางสาย"
+ "โทรกลับ"
+ "ข้อความ""หากต้องการโทรออก ให้ปิดโหมดใช้งานบนเครื่องบินก่อน""ยังไม่ได้ลงทะเบียนบนเครือข่าย""เครือข่ายมือถือใช้งานไม่ได้""ไม่ได้โทรออก ไม่ได้ป้อนหมายเลขที่ถูกต้อง""ไม่ได้โทรออก""กำลังเริ่มต้นลำดับ MMI..."
- "กำลังเริ่มต้นลำดับของรหัสคุณลักษณะ...""บริการไม่ได้รับการสนับสนุน""สลับสายไม่ได้""แยกสายไม่ได้"
@@ -500,18 +432,13 @@
"หมายเลขฉุกเฉิน""กำลังเปิดวิทยุ…""นอกพื้นที่ให้บริการ กำลังลองซ้ำ..."
- "ไม่ได้โทรออก %s ไม่ใช่หมายเลขฉุกเฉิน!"
- "ไม่ได้โทรออก โปรดหมุนหมายเลขฉุกเฉิน!"
+ "ไม่ได้โทรออก %s ไม่ใช่หมายเลขฉุกเฉิน!"
+ "ไม่ได้โทรออก หมุนหมายเลขฉุกเฉิน!""ใช้แป้นพิมพ์กดหมายเลขโทรศัพท์"
- "แตะปุ่มกดสัญญาณเสียง""พักสาย"
- "เลิกพักสาย""สิ้นสุด""แป้นหมายเลข"
- "ซ่อน"
- "ลำโพง""ปิดเสียง"
- "บลูทูธ""เพิ่มการโทร""รวมสาย""สลับ"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ข้อความ ERI"
- "เสียงสัญญาณ DTMF"
+ "เสียงสัญญาณ DTMF""ตั้งค่าความยาวเสียงสัญญาณ DTMF""ปกติ""ยาว"
- "ข้อความจากเครือข่าย"
+ "ข้อความจากเครือข่าย""เปิดการใช้งานโทรศัพท์ของคุณ""ต้องทำการโทรพิเศษเพื่อเปิดใช้บริการโทรศัพท์ของคุณ "\n\n"หลังจากกด “เปิดการใช้งาน” ให้ฟังคำแนะนำเพื่อเปิดใช้บริการโทรศัพท์ของคุณ"
- "แตะ \"เปิดการใช้งาน\" เพื่อทำการโทรพิเศษซึ่งจะเปิดการใช้งานโทรศัพท์ของคุณบนเครือข่ายผู้ให้บริการมือถือคุณ เพื่อให้คุณโทรออกและเชื่อมต่อกับเครือข่ายข้อมูลมือถือได้""ข้ามการเปิดใช้งานหรือไม่""หากคุณข้ามการเปิดใช้งาน คุณจะโทรออกหรือเชื่อมต่อเครือข่ายข้อมูลมือถือไม่ได้ (แม้จะเชื่อมต่อเครือข่าย Wi-Fi ได้ก็ตาม) และระบบจะขอให้คุณเปิดใช้งานทุกครั้งที่คุณเปิดเครื่องจนกว่าคุณจะเปิดใช้งานโทรศัพท์""ข้าม"
- "เปิดการใช้งาน""เปิดการใช้งาน"
- "เปิดใช้งานโทรศัพท์แล้ว!"
+ "เปิดใช้งานโทรศัพท์แล้ว""พบปัญหาในการเปิดใช้งาน""ทำตามคำแนะนำที่ได้ยินจนกว่าคุณจะได้ยินว่าการเปิดใช้งานเสร็จสมบูรณ์แล้ว"
- "ปุ่มกด""ลำโพง"
- "โปรดรอสักครู่ขณะที่กำลังตั้งโปรแกรมโทรศัพท์ของคุณ"
- "ตั้งโปรแกรมไม่สำเร็จ"
+ "รอสักครู่ขณะที่กำลังตั้งโปรแกรมโทรศัพท์ของคุณ"
+ "ตั้งโปรแกรมไม่สำเร็จ""เปิดการใช้งานโทรศัพท์ของคุณแล้ว คุณอาจต้องรอไม่เกิน 15 นาทีเพื่อให้บริการเริ่มทำงาน"
- "โทรศัพท์ของคุณไม่เปิดการใช้งาน"\n"คุณอาจต้องหาพื้นที่ที่มีสัญญาณดีกว่านี้ (ใกล้หน้าต่างหรือออกไปข้างนอก)"\n\n"ลองใหม่อีกครั้งหรือติดต่อศูนย์บริการลูกค้าเพื่อรับฟังตัวเลือกเพิ่มเติม"
+ "โทรศัพท์ของคุณไม่เปิดใช้งาน"\n"คุณอาจต้องหาพื้นที่ที่มีสัญญาณดีกว่านี้ (ใกล้หน้าต่างหรือออกไปข้างนอก)"\n\n"ลองใหม่อีกครั้งหรือติดต่อศูนย์บริการลูกค้าเพื่อรับฟังตัวเลือกเพิ่มเติม""SPC ส่วนเกินล้มเหลว""ย้อนกลับ""ลองใหม่อีกครั้ง""ถัดไป"
- "ย้อนกลับ""EcmExitDialog""เข้าสู่โหมดติดต่อกลับฉุกเฉิน""โหมดติดต่อกลับฉุกเฉิน"
@@ -569,87 +491,69 @@
"ไม่มีการเชื่อมต่อข้อมูลนาน %s นาที"
- "โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา %s นาที ในระหว่างนี้จะไม่สามารถใช้แอปพลิเคชันใดที่ต้องมีการเชื่อมต่อข้อมูล คุณต้องการจบการทำงานตอนนี้เลยหรือไม่"
- "โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา %s นาที ในระหว่างนี้จะไม่สามารถใช้แอปพลิเคชันใดที่ต้องมีการเชื่อมต่อข้อมูล คุณต้องการจบการทำงานตอนนี้เลยหรือไม่"
+ "โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา %s นาที ในระหว่างที่อยู่ในโหมดนี้ จะไม่สามารถใช้แอปพลิเคชันที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการจะออกเดี๋ยวนี้หรือไม่"
+ "โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา %s นาที ในระหว่างที่อยู่ในโหมดนี้ จะไม่สามารถใช้แอปพลิเคชันที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการจะออกเดี๋ยวนี้หรือไม่"
- "การทำงานที่เลือกใช้ไม่ได้ขณะอยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา %s นาที คุณต้องการจบการทำงานตอนนี้เลยหรือไม่"
- "การทำงานที่เลือกใช้ไม่ได้ขณะอยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา %s นาที คุณต้องการจบการทำงานตอนนี้เลยหรือไม่"
+ "การทำงานที่เลือกจะไม่สามารถใช้ได้เมื่ออยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา %s นาที คุณต้องการจะออกเดี๋ยวนี้หรือไม่"
+ "การทำงานที่เลือกจะไม่สามารถใช้ได้เมื่ออยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา %s นาที คุณต้องการจะออกเดี๋ยวนี้หรือไม่"
- "การทำงานที่เลือกใช้ไม่ได้ในระหว่างโทรฉุกเฉิน"
- "กำลังออกจากโหมดติดต่อกลับฉุกเฉิน"
+ "การทำงานที่เลือกใช้ไม่ได้ในระหว่างโทรฉุกเฉิน"
+ "กำลังออกจากโหมดติดต่อกลับฉุกเฉิน""ใช่""ไม่""เลิกแสดง"
- "การตั้งค่าข้อความเสียง"
- "<ไม่ได้ตั้งค่า>"
- "บริการข้อความเสียง"
- "การตั้งค่าสำหรับ %s"
+ "บริการ"
+ "การตั้งค่า"
+ "<ไม่ได้ตั้งค่า>""การตั้งค่าการโทรอื่นๆ"
- "หมุนหมายเลข"
- "กำลังโทรผ่าน ^1"\n"^2"
- "ลากไปทางขวาเพื่อตอบ"
- "ลากไปทางซ้ายเพื่อปิดเสียงเรียกเข้า"
- "ลากไปทางซ้ายเพื่อปฏิเสธ"
- "ลากไปทางขวาเพื่อตอบและ"\n"พักสายที่โทรอยู่"
- "ลากไปทางขวาเพื่อตอบและ"\n"วางสายที่โทรอยู่"
- "ลากไปทางขวาเพื่อตอบและ"\n"วางสายที่พักไว้"
- "รับสาย"
- "ปฏิเสธ"
+ "โทรผ่าน %s""ภาพของรายชื่อติดต่อ""เข้าสู่โหมดส่วนตัว""เลือกรายชื่อติดต่อ""การตั้งค่าการโทรทางอินเทอร์เน็ต""บัญชีการโทรทางอินเทอร์เน็ต (SIP)""บัญชี"
- "จัดการบัญชีการโทรทางอินเทอร์เน็ต (SIP) และสถานะ""รับสายเรียกเข้า""ลดอายุการใช้งานแบตเตอรี่"
- "กำหนดค่าตัวเลือกการโทร""ใช้การโทรทางอินเทอร์เน็ต""ใช้การโทรทางอินเทอร์เน็ต (Wi-Fi เท่านั้น)""สำหรับทุกสายเมื่อเครือข่ายข้อมูลใช้งานได้""สำหรับการโทรทางอินเทอร์เน็ตเท่านั้น""ถามทุกครั้งที่โทรออก""สำหรับการโทรออกทั้งหมด"
- "การลงทะเบียนอัตโนมัติ"
- "การโทรออกผ่าน VIP""โทรออก""ใช้บัญชีการโทรทางอินเทอร์เน็ต:""ใช้ทุกครั้งที่โทรออกทางอินเทอร์เน็ต"
- "คุณสามารถใช้การตั้งค่าการโทรเพื่อเปลี่ยนว่าจะใช้บัญชีการโทรทางอินเทอร์เน็ตบัญชีใดโดยค่าเริ่มต้นเมื่อโทรออก โดยการเลือกบัญชีอื่นภายใต้การตั้งค่าการโทรทางอินเทอร์เน็ต"
+ "คุณสามารถเปลี่ยนบัญชีการโทรทางอินเทอร์เน็ตที่จะใช้เป็นค่าเริ่มต้นได้จากหน้าจอโทรศัพท์ > ตั้งค่า > การตั้งค่าการโทรทางอินเทอร์เน็ต > บัญชี""โทรออกด้วยโทรศัพท์มือถือ""การโทรทางอินเทอร์เน็ต""ไม่มีบัญชีการโทรทางอินเทอร์เน็ต"
- "ไม่มีบัญชีการโทรทางอินเทอร์เน็ตบนโทรศัพท์เครื่องนี้ เพิ่มบัญชีเดี๋ยวนี้หรือไม่"
+ "ไม่มีบัญชีการโทรทางอินเทอร์เน็ตบนโทรศัพท์นี้ คุณต้องการเพิ่มบัญชีตอนนี้หรือไม่""เพิ่ม""เพิ่มบัญชี""นำบัญชีออก""บัญชี SIP"
- "กำลังบันทึกบัญชี..."
- "กำลังเอาบัญชีออก..."
+ "กำลังบันทึกบัญชี..."
+ "กำลังนำบัญชีออก...""บันทึก""ยกเลิก""ปิดโปรไฟล์""ตกลง""ปิด"
- "หลัก"
- "กำหนดให้บัญชีนี้เป็นบัญชีหลักของฉัน"
- "ใช้สำหรับการโทรออก"
- "การตั้งค่าขั้นสูง""บัญชีหลัก %s""กำลังตรวจสอบสถานะ..."
- "กำลังลงทะเบียน..."
- "กำลังพยายามอยู่..."
- "ไม่รับสาย"
- "การลงทะเบียนบัญชีหยุดทำงานเนื่องจากไม่มีการเชื่อมต่ออินเทอร์เน็ต"
- "การลงทะเบียนบัญชีหยุดทำงานเนื่องจากไม่มีการเชื่อมต่อ Wi-Fi"
- "การลงทะเบียนบัญชีไม่สำเร็จ"
- "รับสาย"
+ "กำลังลงทะเบียน..."
+ "กำลังพยายามอยู่..."
+ "ไม่รับสาย"
+ "การลงทะเบียนบัญชีหยุดทำงานเนื่องจากไม่มีการเชื่อมต่ออินเทอร์เน็ต"
+ "การลงทะเบียนบัญชีหยุดทำงานเนื่องจากไม่มีการเชื่อมต่อ WiFi"
+ "การลงทะเบียนบัญชีไม่สำเร็จ"
+ "รับสาย""การลงทะเบียนบัญชีไม่สำเร็จ: (%s) จะลองใหม่ในภายหลัง"
- "การลงทะเบียนบัญชีไม่สำเร็จ: ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"
- "การลงทะเบียนบัญชีไม่สำเร็จ: ตรวจสอบชื่อเซิร์ฟเวอร์"
- "ขณะนี้บัญชีนี้ถูกใช้งานอยู่โดยแอปพลิเคชัน %s"
+ "การลงทะเบียนบัญชีไม่สำเร็จ: ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"
+ "การลงทะเบียนบัญชีไม่สำเร็จ: ตรวจสอบชื่อเซิร์ฟเวอร์"
+ "ขณะนี้บัญชีนี้ถูกใช้งานอยู่โดยแอปพลิเคชัน %s""รายละเอียดบัญชี SIP""รายละเอียดบัญชี SIP""เซิร์ฟเวอร์"
@@ -660,9 +564,6 @@
"หมายเลขพอร์ต""ประเภทการส่งผ่านข้อมูล""ส่งแบบ keep-alive"
- "ส่งข้อความ SIP แบบ keep-alive"
- "การลงทะเบียนอัตโนมัติ"
- "ลงทะเบียนโปรไฟล์โดยอัตโนมัติ""ตั้งค่าเป็นบัญชีหลัก""ใช้สำหรับการโทรออก""การตั้งค่าที่เป็นตัวเลือก"
@@ -673,12 +574,12 @@
"<ตัวเลือก>""▷ แตะเพื่อแสดงทั้งหมด""▽ แตะเพื่อซ่อนทั้งหมด"
- "%s ต้องระบุ ไม่สามารถปล่อยว่างไว้ได้"
- "หมายเลขพอร์ตควรอยู่ระหว่าง 1000 ถึง 65534"
+ "ต้องระบุ %s และไม่สามารถปล่อยว่างได้"
+ "หมายเลขพอร์ตควรอยู่ระหว่าง 1000 ถึง 65534""ไม่มีการเชื่อมต่ออินเทอร์เน็ต""ไม่มีการเชื่อมต่อ Wi-Fi"
- "หากต้องการโทรออกทางอินเทอร์เน็ต ให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณก่อน"
- "คุณต้องเชื่อมต่อกับเครือข่าย Wi-Fi สำหรับการโทรทางอินเทอร์เน็ต (ใช้การตั้งค่าระบบไร้สายและเครือข่าย)"
+ "หากต้องการโทรออกทางอินเทอร์เน็ต ให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณก่อน"
+ "คุณจำเป็นต้องเชื่อมต่อกับเครือข่าย WiFi สำหรับการโทรทางอินเทอร์เน็ต (ใช้การตั้งค่าระบบไร้สายและเครือข่าย)""ไม่สนับสนุนการโทรทางอินเทอร์เน็ต""อัตโนมัติ""ส่งเสมอ"
@@ -687,7 +588,7 @@
"เดี๋ยวจะโทรกลับทันที""เดี๋ยวจะโทรหาทีหลัง""ตอนนี้คุยไม่ได้ โทรมาใหม่ได้ไหม"
- "ข้อความที่กำหนดเอง..."
+ "ข้อความที่กำหนดเอง""คำตอบด่วน""แก้ไขคำตอบด่วน"
@@ -705,7 +606,6 @@
"ดาว""ศูนย์""ปอนด์"
- "ค้นหา""หมุนหมายเลข""ถอยหลัง""เปิดใช้งานลำโพงแล้ว"
@@ -715,9 +615,14 @@
"ปฏิเสธ""สั่น""สั่น"
+ "เสียงเรียกเข้า"
- "ทุกครั้ง"
+ "เปิดใช้งานเสมอ""เฉพาะเมื่อปิดเสียง"
- "ไม่ใช้"
+ "ไม่เปิดใช้งานเลย"
+ "เสียงเรียกเข้าโทรศัพท์"
+ "สั่นเมื่อมีสายเข้า"
+ "เสียงแตะแป้นหมายเลข"
+ "เสียงเรียกเข้า"
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index bcec0bdf1..2cd1e06e3 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -25,39 +25,27 @@
"Pribadong numero""Pay phone""Naka-hold"
- "Kasalukuyang tawag""Abala ang linya""Abala ang network""Walang pagtugon, na-time out""Hindi maabot ang server""Hindi maabot ang numero""Maling username o password"
- "Tumawag mula sa labas ng network"
+ "Tumawag mula sa labas ng metwork""Error sa server. Pakisubukang muli sa ibang pagkakataon.""Walang signal""Lumagpas na sa limitasyon ng ACM""Naka-off ang radyo"
- "Walang SIM, o error sa SIM"
+ "Walang SIM, o error sa SIM""Lugar na Hindi Nagseserbisyo""Pinaghihigpitan ng FDN ang mga papalabas na tawag."
- "Hindi ka makakagawa ng mga papalabas na tawag habang naka-on ang pag-bar ng tawag."
+ "Hindi ka makakagawa ng mga papalabas na tawag habang naka-on ang pag-bar ng tawag.""Pinaghihigpitan ang lahat ng mga tawag ng kontrol sa access.""Pinaghihigpitan ang mga pang-emergency na tawag ng kontrol sa access.""Pinaghihigpitan ang mga normal na tawag ng kontrol sa access."
- "CDMA: Naka-lock ang telepono hanggang sa power cycle."
- "CDMA: Ibinaba ang tawag."
- "CDMA: Nasagap ang tawag."
- "CDMA: muling pagsunud-sunurin."
- "CDMA: Hindi Tinanggap na Pagpipiliian sa Serbisyo."
- "CDMA: subukang muli ang pagkakasunud-sunod."
- "CDMA: Nabigo ang access."
- "CDMA: Napigilan."
- "Tanging mga Pang-emergency na tawag ang posible."
- "Di-wastong numero"
+ "Hindi wastong numero""Conference na tawag""Nawala ang tawag."
- "Subukang muli"
- "Nawala ang Tawag""OK""Sinimulan ang MMI code""Tumatakbo ang USSD code…"
@@ -69,23 +57,14 @@
"Wired na headset""Bluetooth""Ipadala ang mga sumusunod na tone?"\n
- "Nagpapadala ng Mga Tone"\n
+ "Nagpapadala ng mga tono"\n"Ipadala""Oo""Hindi"
- "Palitan ang wild character ng"
+ "Palitan ang wild character ng""Nawawala ang numero ng voicemail""Walang nakaimbak na numero ng voicemail sa SIM card.""Magdagdag ng numero"
- "Naglo-load…"
- "I-type ang PIN code upang i-unlock ang SIM card."
- "Na-unlock ang SIM"
- "Bagong PIN code ng SIM"
- "Mag-type muli ng bagong PIN code ng SIM upang kumpirmahin"
- "Hindi nagtugma ang mga PIN ng SIM na iyong na-type. Pakisubukang muli."
- "I-type ang PUK code upang i-unlock ang SIM card"
- "Maling PUK code!"
- "Magpatuloy""Naalis sa pagkaka-block ang iyong SIM card. Nag-a-unlock ang iyong telepono…""PIN na pang-unlock ng SIM network""I-unlock"
@@ -93,8 +72,6 @@
"Humihiling ng pag-unlock sa network…""Hindi matagumpay ang kahilingan na i-unlock ang network.""Matagumpay ang pag-unlock ng network."
- "IMEI"
- "MEID""Mga setting ng tawag ng GSM""Mga setting ng CDMA na tawag""Mga Pangalan ng Lugar ng Access"
@@ -109,6 +86,7 @@
"Mga karagdagang setting ng tawag na CDMA lang""Mga setting ng serbisyo ng network""Caller ID"
+ "Nilo-load ang mga setting…""Nakatago ang numero sa mga papalabas na tawag""Ipinapakitang numero sa mga papalabas na tawag""Gamitin ang mga default na setting ng operator upang ipakita ang aking numero sa mga papalabas na tawag"
@@ -127,17 +105,17 @@
"Numero kapag abala""Pinapasa sa {0}""Hindi pinagana"
- "Hindi sinusuportahan ng iyong carrier ang hindi pagpapagana sa pagpasa ng tawag kapag abala ang iyong telepono."
+ "Hindi sinusuportahan ng iyong operator ang hindi pagpapagana sa pagpasa ng tawag kapag abala ang iyong telepono.""Ipasa kapag hindi nasagot""Numero kapag hindi nasagot""Pinapasa sa {0}""Hindi pinagana"
- "Hindi sinusuportahan ng iyong carrier ang hindi pagpapagana sa pagpasa ng tawag kapag hindi sumasagot ang iyong telepono."
+ "Hindi sinusuportahan ng iyong operator ang hindi pagpapagana sa pagpasa ng tawag kapag hindi sumasagot ang iyong telepono.""Ipasa kapag hindi maabot""Numero kapag hindi maabot""Pinapasa sa {0}""Hindi pinagana"
- "Hindi sinusuportahan ng iyong carrier ang hindi pagpapagana ng pagpasa ng tawag kapag hindi maabot ang iyong telepono."
+ "Hindi sinusuportahan ng iyong carrier ang hindi pagpapagana ng pagpasa ng tawag kapag hindi maabot ang iyong telepono.""Mga setting ng tawag""Error sa mga setting ng tawag""Binabasa ang mga setting…"
@@ -145,8 +123,8 @@
"Ibinabalik ang mga setting…""Hindi inaasahang tugon mula sa network.""Error sa Network o SIM card."
- "Pinapayagan lang ang mga pagpapatakbo sa mga nakapirming numero sa pag-dial."
- "Paki-on ang radyo bago tingnan ang mga setting na ito."
+ "Naka-on ang setting ng mga Fixed Dialing Number ng iyong app ng Telepono. Bilang resulta, hindi gumagana ang ilang tampok na nauugnay sa pagtawag."
+ "Mangyaring i-on ang radyo bago tingnan ang mga setting na ito.""OK""Paganahin""Huwag Paganahin"
@@ -156,10 +134,9 @@
"Itago ang numero""Ipakita ang numero"
- "I-save ang numero ng voicemail""Binago ang numero ng voicemail."
- "Hindi tagumpay ang pagbago ng numero ng voicemail."\n"Mangyaring makipag-ugnay sa iyong carrier kung nagpatuloy ang problemang ito."
- "Hindi matagumpay ang numero sa pagpapasa."\n"Mangyaring makipag-ugnay sa iyong carrier kapag nagpatuloy ang problemang ito."
+ "Hindi mabago ang numero ng voicemail."\n"Makipag-ugnay sa iyong carrier kung magpapatuloy ang ganitong problema."
+ "Hindi mabago ang pagpapasahang numero."\n"Makipag-ugnay sa iyong carrier kung magpapatuloy ang ganitong problema.""Hindi mabawi at ma-save ang mga setting ng kasalukuyang numero sa pagpapasa."\n"Lumipat sa bagong provider?""Walang ginawang mga pagbabago.""Piliin ang serbisyo ng voicemail"
@@ -171,14 +148,14 @@
"Maghanap ng mga network""Error habang naghahanap ng mga network.""Nirerehistro sa %s…"
- "Hindi pinapayagan ng iyong SIM card ang koneksyon sa network na ito."
- "Hindi nagawang kumonekta ngayon sa iyong network. Pakisubukang muli sa ibang pagkakataon."
+ "Hindi pinapayagan ng iyong SIM card ang koneksyon sa network na ito."
+ "Hindi makakonekta sa network na ito sa ngayon. Subukang muli sa ibang pagkakataon.""Nakarehistro sa network."
- "Pumili ng network operator"
+ "Pumili ng network operator""Hanapin ang lahat ng mga available na network"
- "Awtomatikong pumili"
- "Awtomatikong pumili ng ninanais na network"
- "Awtomatikong pagpaparehistro..."
+ "Awtomatikong pumili"
+ "Awtomatikong pumili ng ninanais na network"
+ "Awtomatikong pagpaparehistro...""Network Mode""Baguhin ang network operating mode""Ninanais na network mode"
@@ -192,17 +169,17 @@
"Mas gustong mode ng network: EvDo lamang""Mas gustong mode ng network: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""EvDo lang""CDMA na walang EvDo"
- "CDMA / EvDo auto"
- "GSM / WCDMA auto"
+ "CDMA/EvDo auto"
+ "GSM/WCDMA auto""WCDMA lang""GSM lang"
- "Ninanais ang GSM / WCDMA"
+ "Ninanais ng GSM/WCDMA"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Pinagana ang data"
@@ -210,12 +187,11 @@
"Roaming ng data""Kumonekta sa mga serbisyo ng data kapag nagro-roam""Kumonekta sa mga serbisyo ng data kapag nagro-roam"
- "Nawalan ka ng pagkonekta sa data dahil iniwan mong naka-off ang iyong home network na may roaming ng data."
+ "Nawalan ka ng pagkonekta sa data dahil iniwan mo ang iyong home network na naka-off ang roaming ng data.""Payagan ang roaming ng data? Maaari kang makakuha ng malaking pagsingil sa roaming!""Mga pagpipilian sa GSM/UMTS""Mga pagpipiliian sa CDMA""Paggamit ng data"
- "Patakaran sa data ng carrier""Ginamit na data sa kasalukuyang panahon""Panahon ng paggamit ng data""Patakaran ng rate ng data"
@@ -226,7 +202,6 @@
"%1$d٪ ng cycle ay lumagpas sa"\n"Magsisimula ang susunod na tagal ng panahon sa loob ng %2$d (na) araw (%3$s)""Ibinaba ang rate ng data sa %1$d Kb/s kung nalagpasan ang limitasyon sa paggamit ng data""Higit pang impormasyon tungkol sa patakaran sa paggamit ng data sa mobile network ng iyong carrier"
- "Cell Broadcast SMS""Cell Broadcast SMS""Cell Broadcast SMS""Pinagana ang Cell Broadcast SMS"
@@ -267,15 +242,6 @@
"Korean""Chinese""Hebrew"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Mga Wika""Lokal na Panahon"
@@ -305,9 +271,9 @@
"Mga Pagkakataon sa Pagtatrabaho""Pinagana ang Mga Pagkakataon sa Pagtatrabaho""Hindi pinagana ang Mga Pagkakataon sa Pagtatrabaho"
- "Medikal, Kalusugan at Ospital"
- "Pinagana ang Medikal, Kalusugan at Ospital"
- "Hindi pinagana ang Medikal, Kalusugan at Ospital"
+ "Medikal, Kalusugan at Ospital"
+ "Pinagana ang Medikal, Kalusugan at Ospital"
+ "Hindi pinagana ang Medikal, Kalusugan at Ospital""Balita sa Teknolohiya""Pinagana ang Balita sa Teknolohiya""Hindi pinagana ang Balita sa Teknolohiya"
@@ -322,35 +288,17 @@
"WCDMA lang""GSM lang""GSM/WCDA (Ninanais ang WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Gumamit lang ng mga 2G network""Nakakatipid ng baterya""Pagpili ng system"
- "Baguhin ang cdma roaming mode"
+ "Baguhin ang mode ng pag-roam ng CDMA""Pagpili ng system""Home lang""Awtomatiko"
- "CDMA Roaming Mode"
- "Baguhin ang cdma roaming mode"
- "CDMA roaming mode"
-
- "Mga Home Network lang"
- "Mga Naka-affiliate na Network"
- "Anumang Network"
-
-
- "0"
- "1"
- "2"
-
+ "Subscription ng CDMA""Mga Kagustuhan ng CDMA Network""Hindi pa ipinatupad!""Mga kagustuhan ng CDMA network"
@@ -359,21 +307,11 @@
"CDMA lang""EvDo lang"
-
- "0"
- "1"
- "2"
-
- "CDMA Subscription""Palitan sa pagitan ng RUIM/SIM at NV""subscription""RUIM/SIM""NV"
-
-
- "0"
- "1""I-activate ang device""I-set up ang serbisyo ng data"
@@ -390,18 +328,16 @@
"Pamahalaan ang Mga Fixed Dialing Number""Palitan ang PIN para sa access sa FDN""Pamahalaan ang listahan ng numero ng telepono"
- "Privacy ng Voice"
+ "Privacy ng Voice""Paganahin ang pinahusay na privacy mode"
- "TTY mode"
- "Paganahin ang TTY mode""TTY mode""Itakda ang TTY mode"
- "Awtomatikong Muling Pagsubok"
- "Paganahin ang Auto Retry mode"
+ "Awtomatikong Muling Pagsubok"
+ "Paganahin ang mode ng Awtomatikong muling pagsubok""Magdagdag ng contact""I-edit ang contact""Tanggalin ang contact"
- "Ipasok ang PIN2"
+ "I-type ang PIN2""Pangalan""Numero""I-save"
@@ -414,56 +350,50 @@
"Tanggalin ang fixed dialing number""Tinatanggal ang fixed dialing number…""Tinanggal ang fixed dialing number."
- "Hindi pa na-update ang FDN: maling PIN ang iyong ipinasok."
- "Hindi na-update ang FDN: hindi maaaring lumagpas sa 20 digit ang numero."
+ "Hindi na-update ang FDN dahil maling PIN ang iyong na-type."
+ "Hindi pa na-update ang FDN dahil hindi maaaring humigit sa 20 digit ang numero."
+ "Hindi na-update ang FDN. Hindi wasto ang PIN2, o tinanggihan ang numero ng telepono.""Nagbabasa mula sa SIM card…""Walang mga contact sa iyong SIM card.""Piliin ang mga contact upang i-import"
- "Upang mag-import ng mga contact mula sa SIM card, paki-off ang Airplane mode."
+ "Upang mag-import ng mga contact mula sa SIM card, i-turn off muna ang mode ng Airplane.""Paganahin/huwag paganahin ang PIN ng SIM""Baguhin ang PIN ng SIM""PIN ng SIM:""Lumang PIN""Bagong PIN""Kumpirmahin ang bagong PIN"
- "Mali ang na-type mong lumang PIN. Pakisubukang muli."
- "Hindi nagtugma ang mga PIN na iyong ipinasok. Pakisubukang muli."
+ "Mali ang na-type mong lumang PIN. Subukang muli."
+ "Hindi tumugma ang na-type mong mga PIN. Subukang muli.""Mag-type ng PIN na 4 hanggang 8 numero.""Huwag paganahin ang PIN ng SIM""Paganahin ang PIN ng SIM""Pakihintay…"
- "Pinagana ang PIN ng SIM"
- "Hindi pinagana ang PIN ng SIM"
- "Mali ang na-type mong PIN"
- "Matagumpay na nabago ang PIN ng SIM"
+ "Pinagana ang PIN ng SIM."
+ "Hindi pinagana ang PIN ng SIM."
+ "Mali ang na-type mong PIN."
+ "Matagumpay na nabago ang PIN ng SIM.""Mali ang password, na-lock ang SIM! hinihiling ang PUK2.""PIN2""Lumang PIN2""Bagong PIN2""Kumpirmahin ang bagong PIN2"
- "Mali ang na-type mong PUK2. Pakisubukang muli."
- "Mali ang na-type mong lumang PIN2. Pakisubukang muli."
- "Hindi nagtugma ang mga PIN2 na ipinasok mo. Pakisubukang muli."
+ "Mali ang na-type mong PUK2. Subukang muli."
+ "Mali ang na-type mong lumang PIN2. Pakisubukang muli."
+ "Hindi tumugma ang na-type mong mga PIN2. Subukang muli.""Mag-type ng PIN2 na 4 hanggang 8 numero.""Mag-type ng PUK2 na 8 numero."
- "Matagumpay na napalitan ang PIN2"
+ "Matagumpay na napalitan ang PIN2.""I-type ang PUK2 code"
- "Mali ang password, pakibago ang PIN2 at subukang muli!"
- "Mali ang password, na-lock ang SIM! hinihiling ang PUK2."
+ "Mali ang password. Pakibago ang PIN2 at subukang muli."
+ "Mali ang password, na-lock ang SIM. Hinihiling ang PUK2.""Tapos na""Conference na tawag %s"
- "Bumalik sa tawag"
- "Magpatuloy nang walang SIM card"
- "Walang nakitang SIM card. Mangyaring magpasok ng SIM card sa telepono."
- "Balewalain"
- "I-unlock"
- "Pinapatotohanan ang PIN…""Numero ng voicemail""Dina-dial""Sinusubukang muli""Conference na tawag""Papasok na tawag"
- "Cdma callwaiting""Winakasan ang Tawag""Naka-hold""Binababa"
@@ -473,7 +403,7 @@
"Mga hindi nasagot na tawag""%s (na) hindi nasagot na tawag""Hindi nasagot na tawag mula kay %s"
- "Kasalukuhang tawag (%s)"
+ "Kasalukuyang tawag""Naka-hold""Papasok na tawag""Bagong voicemail"
@@ -482,13 +412,15 @@
"Hindi kilala ang numero ng voicemail""Walang serbisyo""Hindi available ang mga piniling network (%s)"
+ "Ibaba"
+ "Tawagan"
+ "Padalhan ng mensahe""Upang tumawag, paki-off ang Airplane mode.""Hindi nakarehistro sa network.""Hindi available ang mobile network.""Hindi naipadala ang tawag, walang ipinasok na wastong numero.""Hindi naipadala ang tawag.""Sinisimulan ang pagkakasunud-sunod ng MMI…"
- "Sinisimulan ang pagkakasunud-sunod ng tampok na code…""Hindi suportadong serbisyo.""Hindi nagawang maglipat ng mga tawag.""Hindi nagawang ihiwalay ang tawag."
@@ -500,18 +432,13 @@
"Emergency na tawag""Ino-on ang radyo…""Lugar na hindi nagseserbisyo, sinusubukang muli…"
- "Hindi naipadala ang tawag, hindi pang-emergency na numero ang %s!"
- "Hindi naipadala ang tawag, mangyaring mag-dial ng pang-emergency na numero!"
+ "Hindi naipadala ang tawag. hindi pang-emergency na numero ang %s!"
+ "Hindi naipadala ang tawag. Mag-dial ng pang-emergency na numero!""Gamitin ang keyboard upang mag-dial"
- "Touch tone na keypad""I-hold"
- "I-unhold""Wakasan""Dialpad"
- "Itago"
- "Speaker""I-mute"
- "Bluetooth""Magdagdag ng tawag""Pagsamahin ang mga tawag""Pagpalitin"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI na teksto"
- "Mga DTMF Tone"
+ "Mga tone ng DTMF""Itakda ang haba ng mga DTMF tone""Normal""Mahaba"
- "Mensahe ng Network"
+ "Mensahe ng network""I-activate ang iyong telepono""Kailangang maisagawa ang isang espesyal na tawag upang i-activate ang iyong serbisyo ng telepono. "\n\n"Pagkatapos pindutin ang “I-activate”, makinig sa mga ibinigay na tagubilin upang i-activate ang iyong telepono."
- "Galawin ang “I-activate” upang gumawa ng espesyal na tawag na nag-a-activate sa iyong telepono sa mobile network ng iyong telepono, upang magsagawa ka ng mga tawag at makakonekta sa mga mobile data network.""Laktawan ang pag-activate?""Kung lalaktawan mo ang pag-activate, hindi ka makakagawa ng mga tawag o makakakonekta sa mga mobile data network (ngunit makakakonekta ka sa mga Wi-Fi network). Hanggang sa i-activate mo ang iyong telepono, hihilingin sa iyong i-activate ito sa bawat pagkakataon na i-on mo ito.""Laktawan"
- "I-activate""I-activate"
- "Na-activate ang telepono!"
+ "Na-activate na ang telepono.""Problema sa pag-activate""Sundin ang mga isinalitang tagubilin hanggang sa marinig mo na kumpleto na ang pag-activate."
- "Keypad""Speaker"
- "Pakihintay habang pino-program ang iyong telepono."
- "Hindi matagumpay ang programming"
+ "Maghintay habang pino-program ang iyong telepono."
+ "Hindi matagumpay ang Pag-program""Na-activate na ang iyong telepono. Maaaring tumagal nang hanggang 15 minuto upang magsimula ang serbisyo."
- "Hindi na-activate ang iyong telepono. "\n"Maaaring kailanganin mong maghanap ng lugar na may mas mahusay na sakop (malapit sa bintana, o sa labas). "\n\n"Subukang muli o tumawag sa serbisyo sa customer para sa higit pang pagpipilian."
+ "Hindi na-activate ang iyong telepono. "\n"Maaaring kailanganin mong maghanap ng lugar na may mas mahusay na sakop (malapit sa bintana, o sa labas). "\n\n"Subukang muli o tumawag sa serbisyo sa customer para sa higit pang pagpipilian.""MGA SOBRANG PAGKABIGO NG SPC""Bumalik""Subukan muli""Susunod"
- "Bumalik""EcmExitDialog""Ipinasok na Emergency Callback Mode""Emergency Callback Mode"
@@ -569,87 +491,69 @@
"Walang koneksyon ng data sa loob ng %s (na) minuto"
- "Mapupunta sa emergency callback mode ang teleponong ito sa loob ng %s (na) minuto. Habang nasa mode na ito walang mga application na gumagamit ng koneksyon ng data ang magagamit. Gusto mo bang lumabas ngayon?"
- "Mapupunta sa emergency callback mode ang telepono sa loob ng %s (na) minuto. Habang walang magagamit na application na gumagamit ng koneksyon ng data sa mode na ito. Gusto mo bang lumabas ngayon?"
+ "Magiging nasa mode ng Emergency Callback ang telepono sa %s (a) minuto. Habang nasa mode na ito walang magagamit na apps na gumagamit ng koneksyon ng data. Gusto mo bang umalis ngayon?"
+ "Magiging nasa mode ng Emergency Callback ang telepono sa %s (na) minuto. Habang nasa mode na ito walang magagamit na apps na gumagamit ng koneksyon ng data. Gusto mo bang umalis ngayon?"
- "Hindi available ang napiling pagkilos habang nasa emergency callback mode. Mananatili sa mode na ito ang telepono sa loob ng %s (na) minuto. Gusto mo bang lumabas na ngayon?"
- "Hindi available ang piniling pagkilos habang nasa emergency callback mode. Mapupunta sa mode na ito ang telepono sa loob ng %s (na) minuto. Gusto mo bang lumabas ngayon?"
+ "Hindi available ang napiling pagkilos habang nasa mode ng Emergency Callback. Magiging nasa ganitong mode ang telepono sa %s (na) minuto. Gusto mo bang umalis ngayon?"
+ "Hindi available ang napiling pagkilos habang nasa mode ng Emergency Callback. Magiging nasa ganitong mode ang telepono sa %s (na) minuto. Gusto mo bang umalis ngayon?"
- "Hindi available ang piniling pagkilos habang nasa pang-emergency na tawag"
- "Lumalabas sa Emergency Callback Mode"
+ "Hindi available ang piniling pagkilos habang nasa pang-emergency na tawag."
+ "Lumalabas sa mode na Emergency Callback""Oo""Hindi""Balewalain"
- "Mga setting ng voicemail"
- "<hindi nakatakda>"
- "Serbisyong Voicemail"
- "Mga setting para sa %s"
+ "Serbisyo"
+ "Setup"
+ "<Hindi nakatakda>""Iba pang mga setting ng tawag"
- "I-dial"
- "Tumatawag sa pamamagitan ng ^1"\n"^2"
- "I-drag pakanan upang sagutin"
- "I-drag pakaliwa upang patahimikin ang ringer"
- "I-drag pakaliwa upang tanggihan"
- "I-drag pakanan upang sagutin at"\n"i-hold ang aktibong tawag"
- "I-drag pakanan upang sagutin at"\n"wakasan ang aktibong tawag"
- "I-drag pakanan upang sagutin at"\n"wakasan ang naka-hold na tawag"
- "Sagutin"
- "Tanggihan"
+ "Tumatawag sa pamamagitan ng %s""larawan ng contact""maging pribado""pumili ng contact""Mga setting ng tawag sa Internet""Mga account sa pagtawag sa Internet (SIP)""Mga Account"
- "Pamahalaan ang mga Internet calling (SIP) account at katayuan""Tumanggap ng mga papasok na tawag""Binabawasan ang buhay ng baterya"
- "I-configure ang mga pagpipilian sa tawag""Gumamit ng pagtawag sa Internet""Gumamit ng pagtawag sa Internet (Wi-Fi lang)""Para sa lahat ng mga tawag kapag available ang data network""Para sa mga tawag sa Internet lang""Hingin ang bawat tawag""Para sa lahat ng mga tawag"
- "Awtomatikong pagpaparehistro"
- "Papalabas na tawag sa pamamagitan ng SIP""Tumawag""Gumamit ng account sa pagtawag sa Internet:""Palaging gamitin upang gumawa ng mga tawag sa Internet"
- "Magagamit mo ang Mga Setting ng Tawag upang baguhin bilang default ang Internet calling account na gagamitin sa pamamagitan ng pagpili ng ibang account sa ilalim ng mga setting ng tawag sa Internet"
+ "Maaari mong baguhin kung anong account ng pagtawag sa Internet ang default na gagamitin mula sa Telepono > Mga Setting > Mga setting ng tawag sa internet > screen ng Mga account.""Tawag sa cell phone""Tawag sa internet""Walang account sa pagtawag sa Internet"
- "Walang mga account sa pagtawag sa Internet sa teleponong ito. Magdagdag ng isa ngayon?"
+ "Walang mga account sa pagtawag sa Internet sa teleponong ito. Gusto mo bang magdagdag ng isa ngayon?""Idagdag""Magdagdag ng account""Alisin ang account""Mga SIP account"
- "Sine-save ang account..."
- "Inaalis ang account..."
+ "Sine-save ang account..."
+ "Inaalis ang account...""I-save""Itapon""Isara ang profile""OK""Isara"
- "Pangunahin"
- "Gawin itong aking pangunahing account"
- "Ginagamit para sa mga papalabas na tawag"
- "Mga advanced na setting""Pangunahing account. %s""Tinitingnan ang katayuan..."
- "Nagrerehistro..."
- "Sinusubukan pa rin..."
- "Hindi tumatanggap ng mga tawag"
- "Ihininto ang pagpaparehistro ng account dahil walang koneksyon sa Internet"
- "Ihininto ang pagpaparehistro ng account dahil walang koneksyon sa Wi-Fi"
- "Hindi matagumpay ang pagpaparehistro ng account"
- "Tumatanggap ng mga tawag"
+ "Inirerehistro..."
+ "Sinusubukan pa rin..."
+ "Hindi tumatanggap ng mga tawag."
+ "Nahinto ang pagpaparehistro ng account dahil walang koneksyon sa Internet."
+ "Nahinto ang pagpaparehistro ng account dahil walang koneksyon sa Wi-Fi."
+ "Hindi matagumpay ang pagpaparehistro ng account."
+ "Tumatanggap ng mga tawag.""Nabigo ang pagpaparehistro ng account: Susubukan ng (%s); sa ibang pagkakataon"
- "Nabigo ang pagpaparehistro sa account: maling username o password"
- "Nabigo ang pagpaparehistro sa account: tingnan ang pangalan ng server"
- "Kasalukuyang ginagamit ang account na ito ng %s application"
+ "Nabigo ang pagpaparehistro ng account: Maling username o password."
+ "Nabigo ang pagpaparehistro sa account: Tingnan ang pangalan ng server."
+ "Kasalukuyang ginagamit ang account na ito ng app ng %s.""Mga detalye ng SIP account""Mga detalye ng SIP account""Server"
@@ -660,9 +564,6 @@
"Numero ng port""Uri ng paglilipat""Magpadala ng keep-alive"
- "Magpadala ng mga keep-alive na mensahe"
- "Awtomatikong pagpaparehistro"
- "Awtomatikong irehistro ang profile""Itakda bilang pangunahing account""Ginagamit para sa mga papalabas na tawag""Mga opsyonal na setting"
@@ -673,12 +574,12 @@
"<Opsyonal>""▷ Pindutin upang ipakita lahat""▽ Pindutin upang itago ang lahat"
- "Kinakailangan ang %s, hindi maaaring iwanang blangko"
- "Dapat na nasa pagitan ng 1000 at 65534 ang numero ng port"
+ "Kinakailangan ang %s, hindi maaaring iwanang blangko."
+ "Dapat na nasa pagitan ng 1000 at 65534 ang numero ng port.""Walang koneksyon sa Internet""Walang koneksyon sa Wi-Fi"
- "Upang gumawa ng tawag sa Internet, suriin muna ang iyong koneksyon sa Internet"
- "Dapat na konektado ka sa isang Wi-Fi network para sa mga tawag sa Internet (gamitin ang mga setting ng Wireless & Network)"
+ "Upang tumawag sa Internet, suriin muna ang iyong koneksyon sa Internet."
+ "Kailangan mong maging konektado sa isang Wi-Fi network para sa mga tawag sa Internet (gamitin ang mga setting ng Wireless & Network).""Hindi suportado ang pagtawag sa Internet""Awtomatiko""Palaging ipadala"
@@ -687,7 +588,7 @@
"Tawagan kita ulit.""Tawagan kita mamaya.""Di masagot ngayon. Tawag ka mamaya?"
- "Custom na mensahe..."
+ "Custom na mensahe""Mga mabilisang tugon""I-edit ang mga mabilisang tugon"
@@ -705,7 +606,6 @@
"star""zero""pound"
- "maghanap""Mag-dial""backspace""Pinapagana ang speakerphone."
@@ -713,11 +613,16 @@
"Sagutin""Magpadala ng SMS""Tanggihan"
- "I-vibrate"
- "I-vibrate"
+ "Mag-vibrate"
+ "Mag-vibrate"
+ "Ringtone""Palagi"
- "Kapag tahimik lang"
- "Hindi kailanman"
+ "Kapag lamang walang tunog"
+ "Hindi Kailanman"
+ "Ringtone ng telepono"
+ "I-vibrate kapag nagri-ring"
+ "Mga tone ng pagpindot sa dial pad"
+ "Ringtone"
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index fedc35c03..497d7568b 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -25,39 +25,27 @@
"Özel numara""Ankesörlü telefon""Beklemede"
- "Geçerli çağrı""Hat meşgul""Ağ meşgul""Yanıt yok, zaman aşımı oluştu""Sunucuya ulaşılamıyor""Numaraya ulaşılamıyor""Hatalı kullanıcı adı veya şifre"
- "Çağrı, ağın dışından yapıldı"
+ "Çağrı, ağın dışından yapıldı""Sunucu hatası. Daha sonra tekrar deneyin.""Sinyal yok""ACM sınırı aşıldı""Radyo kapalı"
- "SIM kart yok veya SIM hatası"
+ "SIM kart yok veya SIM hatası""Hizmet alanı dışında""Giden çağrılar SAN tarafından kısıtlandı."
- "Çağrı engelleme açıkken giden çağrı yapamazsınız."
+ "Çağrı engelleme açıkken arama yapamazsınız""Tüm çağrılar erişim denetimi tarafından kısıtlandı.""Acil durum çağrıları erişim denetimi tarafından kısıtlandı.""Normal çağrılar erişim denetimi tarafından kısıtlanmış."
- "CDMA: Telefon kapatılıp açılana kadar kilitlendi."
- "CDMA: Çağrı kesildi."
- "CDMA: Çağrı yakalandı."
- "CDMA: yeniden sırala."
- "CDMA: Hizmet Seçeneği Reddi."
- "CDMA: tekrar deneme sırası."
- "CDMA: Erişim başarısız oldu."
- "CDMA: Değiştirildi."
- "Yalnızca acil çağrı yapılabilir."
- "Geçersiz Numara"
+ "Geçersiz numara""Konferans görüşmesi""Çağrı istemeden sonlandırıldı."
- "Tekrar Dene"
- "Çağrı İstemeden Sonlandırıldı""Tamam""MMI kodu başlatıldı""USSD kodu çalışıyor…"
@@ -69,23 +57,14 @@
"Kablolu kulaklık""Bluetooth""Şu zil sesleri gönderilsin mi?"\n
- "Zil Sesleri Gönderiliyor"\n
+ "Sayı tonları gönderiliyor"\n"Gönder""Evet""Hayır"
- "Joker karakteri şununla değiştir:"
+ "Joker karakteri şununla değiştir:""Eksik sesli mesaj numarası""SIM kartta depolanan sesli mesaj numarası yok.""Numara ekle"
- "Yükleniyor..."
- "SIM kart kilidini açmak için PIN kodunu yazın."
- "SIM kilidi açıldı"
- "Yeni SIM PIN kodu"
- "Doğrulamak için yeni SIM PIN kodunu tekrar girin"
- "Yazdığınız SIM PIN kodları eşleşmiyor. Lütfen tekrar deneyin."
- "SIM kart kilidini açmak için PUK kodunu yazın"
- "Hatalı PUK kodu!"
- "Devam""SIM kartınızın engellemesi kaldırıldı. Telefonunuzun kilidi açılıyor...""SIM ağı kilit açma PIN kodu""Kilit Aç"
@@ -93,8 +72,6 @@
"Ağ kilidini açma isteği yapılıyor...""Ağ kilidi açma isteği başarısız.""Ağ kilidi açılamadı."
- "IMEI"
- "MEID""GSM çağrı ayarları""CDMA çağrı ayarları""Erişim Noktası Adları"
@@ -109,6 +86,7 @@
"Yalnızca CDMA çağrısı ek ayarları""Ağ hizmeti ayarları""Arayan Kimliği"
+ "Ayarlar yükleniyor...""Giden çağrılarda numara gizli""Giden çağrılarda numara görüntüleniyor""Giden çağrılarda numaramı görüntülemek için varsayılan operatör ayarlarını kullan"
@@ -127,17 +105,17 @@
"Meşgulken kullanılacak numara""Şuraya yönlendiriliyor: {0}""Devre dışı"
- "Operatörünüz, telefonunuz meşgul olduğunda çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor."
+ "Operatörünüz, telefonunuz meşgul olduğunda çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor.""Yanıtlanmadığında yönlendir""Yanıtlanmadığında kullanılacak numara""Şuraya yönlendiriliyor: {0}""Devre dışı"
- "Operatörünüz, telefonunuz yanıt vermediğinde çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor."
+ "Operatörünüz, telefonunuz yanıt vermediğinde çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor.""Ulaşılamadığında yönlendir""Ulaşılamadığında kullanılacak numara""Şuraya yönlendiriliyor: {0}""Devre dışı"
- "Operatörünüz, telefonunuza ulaşılamadığında çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor."
+ "Operatörünüz, telefonunuza ulaşılamadığında çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor.""Çağrı ayarları""Çağrı ayarları hatası""Ayarlar okunuyor..."
@@ -145,8 +123,8 @@
"Ayarlar geri alınıyor...""Ağdan beklenmeyen yanıt.""Ağ veya SIM kart hatası."
- "İşlemlere sadece sabit arama numaralarında izin verilir."
- "Bu ayarları görüntülemeden önce lütfen radyoyu açın."
+ "Telefon uygulamanızın Sabit Arama Numaraları ayarı açık. Bu nedenle çağrıyla ilgili bazı özellikler çalışmıyor."
+ "Bu ayarları görüntülemeden önce radyoyu açın.""Tamam""Etkinleştir""Devre Dışı Bırak"
@@ -156,10 +134,9 @@
"Numarayı gizle""Numarayı göster"
- "Sesli mesaj numarasını kaydet""Sesli mesaj numarası değiştirildi."
- "Sesli mesaj numarası değiştirilemedi."\n"Sorun devam ederse lütfen operatörünüze başvurun."
- "Yönlendirme numarası değiştirilemedi."\n"Bu sorun devam ederse lütfen operatörünüze başvurun."
+ "Sesli mesaj numarası değiştirilemedi."\n"Bu sorun devam ederse operatörünüzle bağlantı kurun."
+ "Yönlendirme numarası değiştirilemedi."\n"Bu sorun devam ederse operatörünüzle bağlantı kurun.""Mevcut yönlendirme numarası ayarları alınıp kaydedilemedi."\n"Yine de yeni sağlayıcıya geçilsin mi?""Hiçbir değişiklik yapılmadı.""Sesli mesaj hizmetini seç"
@@ -171,14 +148,14 @@
"Ağları ara""Ağlar aranırken hata oluştu.""%s ağına kaydediliyor..."
- "SIM kartınız bu ağa bağlanmaya izin vermiyor."
- "Şu anda bu ağa bağlanılamıyor. Lütfen daha sonra tekrar deneyin."
+ "SIM kartınız bu ağa bağlanmaya izin vermiyor."
+ "Şu an bu ağa bağlanılamıyor. Daha sonra tekrar deneyin.""Ağa kaydedildi."
- "Bir ağ operatörü seçin"
+ "Bir ağ operatörü seçin""Kullanılabilen tüm ağları ara"
- "Otomatik olarak seç"
- "Tercih edilen ağı otomatik olarak seç"
- "Otomatik kayıt..."
+ "Otomatik olarak seç"
+ "Tercih edilen ağı otomatik olarak seç"
+ "Otomatik kayıt...""Ağ Modu""Ağın çalışma modunu değiştir""Tercih edilen ağ modu"
@@ -192,17 +169,17 @@
"Tercih edilen ağ modu: Yalnızca EvDo""Tercih edilen ağ modu: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""Yalnızca EvDo""EvDo olmadan CDMA"
- "CDMA / EvDo otomatik"
- "Otomatik GSM / WCDMA"
+ "CDMA/EvDo otomatik"
+ "GSM/WCDMA otomatik""Yalnızca WCDMA""Yalnızca GSM"
- "Tercih edilen GSM / WCDMA"
+ "GSM/WCDMA tercih edilen"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Veri etkin"
@@ -210,12 +187,11 @@
"Veri dolaşımı""Dolaşırken veri hizmetlerine bağlan""Dolaşırken veri hizmetlerine bağlan"
- "Veri dolaşımı kapalıyken ana ağınızdan ayrıldığınız için veri bağlantısını kaybettiniz."
+ "Veri dolaşımı kapalıyken ev ağınızdan ayrıldığınız için veri bağlantısını kaybettiniz.""Veri dolaşımına izin verilsin mi? Kayda değer dolaşım ücretleri ödeyebilirsiniz!""GSM/UMTS Seçenekleri""CDMA Seçenekleri""Veri kullanımı"
- "Operatörün veri politikası""Geçerli dönemde kullanılan veri""Veri kullanım dönemi""Veri hızı politikası"
@@ -226,7 +202,6 @@
"Dönemin tamamlanan bölümü:٪ %1$d"\n"Bir sonraki dönem %2$d gün sonra başlıyor (%3$s)""Veri kullanım sınırı aşılırsa veri hızı %1$d Kb/s\'ye düşürülür""Operatörünüzün mobil ağ üzerinden veri kullanımı politikası hakkında daha fazla bilgi edinin"
- "Hücre Yayını SMS\'si""Hücre Yayını SMS\'i""Hücre Yayını SMS\'i""Hücre Yayını SMS\'si etkinleştirildi"
@@ -267,15 +242,6 @@
"Korece""Çince""İbranice"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Diller""Yerel Hava Durumu"
@@ -305,9 +271,9 @@
"İş İmkanları""İş İmkanları etkinleştirildi""İş İmkanları devre dışı bırakıldı"
- "Tıp, Sağlık ve Hastane"
- "Tıp, Sağlık ve Hastane seçenekleri etkinleştirildi"
- "Tıp, Sağlık ve Hastane seçeneği devre dışı bırakıldı"
+ "Tıp, Sağlık ve Hastane"
+ "Tıp, Sağlık ve Hastane seçenekleri etkinleştirildi"
+ "Tıp, Sağlık ve Hastane seçeneği devre dışı bırakıldı""Teknoloji Haberleri""Teknoloji Haberleri etkinleştirildi""Teknoloji Haberleri devre dışı bırakıldı"
@@ -322,35 +288,17 @@
"Yalnızca WCDMA""Yalnızca GSM""GSM/WCDA (WCDMA tercihli)"
-
-
- "0"
- "1"
- "2"
- "3""Yalnızca 2G ağlarını kullan""Pil tasarrufu sağlar""Sistem seç"
- "Cdma dolaşım modunu değiştir"
+ "CDMA dolaşım modunu değiştir""Sistem seçin""Yalnızca ev""Otomatik"
- "CDMA Dolaşım Modu"
- "Cdma dolaşım modunu değiştir"
- "CDMA dolaşım modu"
-
- "Yalnızca Ana Ağlar"
- "Bağlı Ağlar"
- "Tüm Ağlar"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA aboneliği""CDMA Ağ Tercihleri""Henüz uygulanmadı!""CDMA ağ tercihleri"
@@ -359,21 +307,11 @@
"Yalnızca CDMA""Yalnızca EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA Aboneliği""RUIM/SIM ve NV arasında değiştir""abonelik""RUIM/SIM""NV"
-
-
- "0"
- "1""Cihazı etkinleştir""Veri hizmetini ayarla"
@@ -390,18 +328,16 @@
"Sabit Arama Numaralarını Yönet""SAN erişimi için PIN kodunu değiştir""Telefon numarası listesini yönet"
- "Ses Gizliliği"
+ "Ses gizliliği""Gelişmiş gizlilik modunu etkinleştir"
- "TTY modu"
- "TTY modunu etkinleştir""TTY modu""TTY modunu ayarla"
- "Otomatik Yeniden Deneme"
- "Otomatik Yeniden Deneme modunu etkinleştir"
+ "Otomatik yeniden deneme"
+ "Otomatik Yeniden Deneme modunu etkinleştir""Kişi ekle""Kişiyi düzenle""Kişiyi sil"
- "PIN2 kodunu girin"
+ "PIN2\'yi yazın""Ad""Numara""Kaydet"
@@ -414,56 +350,50 @@
"Sabit arama numarasını sil""Sabit arama numarası siliniyor...""Sabit arama numarası silindi."
- "FDN güncellenmedi: yanlış PIN girdiniz."
- "FDN güncellenmedi: sayı 20 basamağı aşamaz."
+ "Yanlış PIN girdiğiniz için FDN güncellenmedi."
+ "Sayı 20 basamaktan uzun olamayacağından FDN güncellenmedi."
+ "FDN güncellenmedi. PIN2 doğru değildi veya telefon numarası reddedildi.""SIM karttan okunuyor...""SIM kartınızda hiçbir kişi yok.""İçe aktarılacak kişileri seçin"
- "Kişileri SIM karttan içe aktarmak için lütfen Uçak modunu kapatın."
+ "Kişileri SIM karttan içe aktarmak için, önce Uçak modunu kapatın.""SIM PIN Kodunu Etkinleştir/Devre Dışı Bırak""SIM PIN Kodunu Değiştir""SIM PIN kodu:""Eski PIN""Yeni PIN""Yeni PIN kodunu doğrula"
- "Yazdığınız eski PIN doğru değil. Lütfen tekrar deneyin."
- "Girdiğiniz PIN kodları eşleşmiyor. Lütfen tekrar deneyin."
+ "Yazdığınız eski PIN doğru değil. Tekrar deneyin."
+ "Yazdığınız PIN\'ler eşleşmiyor. Tekrar deneyin.""4 ila 8 haneli bir PIN yazın.""SIM PIN kodunu devre dışı bırak""SIM PIN Kodunu Etkinleştir""Lütfen bekleyin..."
- "SIM PIN kodu etkin"
- "SIM PIN kodu devre dışı"
- "Yazdığınız PIN hatalı"
- "SIM PIN kodu başarıyla değiştirildi"
+ "SIM PIN kodu etkin."
+ "SIM PIN kodu devre dışı."
+ "Yazdığınız PIN hatalı."
+ "SIM PIN kodu başarıyla değiştirildi.""Şifre hatalı, SIM kilitlendi! PUK2 isteniyor.""PIN2""Eski PIN2""Yeni PIN2""Yeni PIN2 kodunu doğrula"
- "Yazdığınız PUK2 doğru değil. Lütfen tekrar deneyin."
- "Yazdığınız eski PIN2 doğru değil. Lütfen tekrar deneyin."
- "Girdiğiniz PIN2 kodları eşleşmiyor. Lütfen tekrar deneyin."
+ "Yazdığınız PUK2 doğru değil. Tekrar deneyin."
+ "Yazdığınız eski PIN2 doğru değil. Tekrar deneyin."
+ "Yazdığınız PIN2 kodları eşleşmiyor. Tekrar deneyin.""4 ila 8 haneli bir PIN2 kodu yazın.""8 haneli bir PUK2 yazın."
- "PIN2 başarıyla değiştirildi"
+ "PIN2 başarıyla değiştirildi.""PUK2 kodunu yazın"
- "Şifre hatalı, lütfen PIN2 kodunu değiştirin ve tekrar deneyin!"
- "Şifre hatalı, SIM kilitlendi! PUK2 isteniyor."
+ "Şifre hatalı. PIN2 kodunu değiştirin ve tekrar deneyin."
+ "Şifre hatalı, SIM kilitlendi! PUK2 isteniyor.""Bitti""Konferans görüşmesi %s"
- "Çağrıya dön"
- "SIM kart olmadan devam et"
- "SIM kart bulunamadı. Lütfen telefona bir SIM kart takın."
- "Kapat"
- "Kilit Aç"
- "PIN kimlik denetimi yapılıyor...""Sesli mesaj numarası""Çevriliyor""Tekrar deniyor""Konferans görüşmesi""Gelen çağrı"
- "Cdma çağrısı beklemede""Çağrı sonlandırıldı""Beklemede""Sonlandırılıyor"
@@ -473,7 +403,7 @@
"Cevapsız çağrılar""%s cevapsız çağrı""Cevapsız çağrı: %s"
- "Geçerli çağrı (%s)"
+ "Devam eden çağrılar""Beklemede""Gelen çağrı""Yeni sesli mesaj"
@@ -482,13 +412,15 @@
"Sesli mesaj numarası bilinmiyor""Hizmet yok""Seçili ağ (%s) kullanılamıyor"
+ "Kapat"
+ "Geri ara"
+ "Mesaj gönder""Bir çağrı yapmak için öncelikle Uçak modunu kapatın.""Ağda kayıtlı değil.""Mobil ağ kullanılamıyor.""Çağrı gönderilmedi. Geçerli numara girilmedi.""Çağrı gönderilmedi.""MMI dizisi başlatılıyor..."
- "Özellik kodu dizisi başlatılıyor...""Desteklenmeyen hizmet.""Çağrılar arasında geçiş yapılamıyor.""Çağrı ayrılamıyor."
@@ -500,18 +432,13 @@
"Acil durum çağrısı""Radyo açılıyor...""Hizmet alanı dışında, tekrar deneniyor..."
- "Çağrı gönderilmedi. %s bir acil durum numarası değil!"
- "Çağrı gönderilmedi. Lütfen bir acil durum numarası çevirin!"
+ "Çağrı gönderilmedi, %s bir acil durum numarası değil!"
+ "Çağrı gönderilmedi. Bir acil durum numarası çevirin!""Çevirmek için klavyeyi kullan"
- "Telefon tuş takımı""Beklet"
- "Devam Et""Sonlandır""Tuş takımı"
- "Gizle"
- "Hoparlör""Sesi Kapat"
- "Bluetooth""Çağrı ekle""Çağrıları birleştir""Değiştir"
@@ -530,36 +457,31 @@
"TTY HCO""TTY VCO"
- "ERI metni"
- "DTMF Zil Sesleri"
+ "DTMF tonları""DTMF seslerinin uzunluğunu ayarla""Normal""Uzun"
- "Ağ İletisi"
+ "Ağ mesajı""Telefonunuzu aktive edin""Telefon hizmetinizin aktive edilmesi için özel bir çağrı yapılması gerekiyor. "\n\n"“Aktive Et”e bastıktan sonra, telefonunuzun aktive edilmesi için sağlanan talimatları dinleyin."
- "Telefonunuzu operatörünüzün mobil ağında etkinleştirecek, böylece arama yapabilmenizi ve mobil veri ağlarına bağlanabilmenizi sağlayacak özel bir arama yapmak için \"Etkinleştir\"e dokunun.""Etkinleştirme atlansın mı?""Etkinleştirmeyi atlarsanız, arama yapamaz veya mobil veri ağlarına bağlanamazsınız (yine de Kablosuz ağlara bağlanabilirsiniz). Telefonunuzu etkinleştirinceye kadar, telefonu her açışınızda ürünü etkinleştirip etkinleştirmeyeceğiniz sorulur.""Atla"
- "Etkinleştir""Etkinleştir"
- "Telefon aktive edildi!"
+ "Telefon etkinleştirildi.""Aktivasyon sorunu""Etkinleştirmenin tamamlandığını duyuncaya kadar söylenen talimatları izleyin."
- "Tuş takımı""Hoparlör"
- "Telefonunuz programlanırken lütfen bekleyin."
- "Programlama Başarısız"
+ "Telefonunuz programlanırken lütfen bekleyin."
+ "Programlama başarısız""Telefonunuz şimdi aktive edildi. Hizmetin başlaması 15 dakika sürebilir."
- "Telefonunuz aktive edilmedi. "\n"Daha iyi çeken bir yer (pencere kenarı veya dış mekan) bulmanız gerekebilir. "\n\n"Tekrar deneyin veya daha fazla seçenek için müşteri hizmetlerini arayın."
+ "Telefonunuz etkinleştirilemedi. "\n"Daha iyi çeken bir yer (pencere kenarı veya dış mekan) bulmanız gerekebilir. "\n\n"Tekrar deneyin veya daha fazla seçenek için müşteri hizmetlerini arayın.""AŞIRI SPC HATASI""Geri""Tekrar dene""İleri"
- "Geri""EcmExitDialog""Acil Geri Arama Moduna Girildi""Acil Geri Arama Modu"
@@ -569,87 +491,69 @@
"%s dakika boyunca veri bağlantısı yok"
- "Telefonunuz %s dakika boyunca acil durumda geri arama modunda olacaktır. Bu moddayken veri bağlantısı kullanan hiçbir uygulama kullanılamaz. Şimdi çıkmak istiyor musunuz?"
- "Telefonunuz %s dakika boyunca acil durumda geri arama modunda olacaktır. Bu moddayken veri bağlantısı kullanan hiçbir uygulama kullanılamaz. Şimdi çıkmak istiyor musunuz?"
+ "Telefon %s dakika boyunca Acil Geri Arama modunda olacaktır. Bu moddayken, veri bağlantısı kullanan uygulamalar kullanılamaz. Şimdi çıkmak istiyor musunuz?"
+ "Telefon %s dakika boyunca Acil Geri Arama modunda olacaktır. Bu moddayken, veri bağlantısı kullanan uygulamalar kullanılamaz. Şimdi çıkmak istiyor musunuz?"
- "Seçilen işlem, acil durumda geri arama modundayken kullanılamıyor. Telefon %s dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?"
- "Seçilen işlem, acil durumda geri arama modundayken kullanılamıyor. Telefon %s dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?"
+ "Seçilen işlem Acil Geri Arama modunda kullanılamaz. Telefon %s dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?"
+ "Seçilen işlem Acil Geri Arama modunda kullanılamaz. Telefon %s dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?"
- "Seçili işlem, acil durum çağrısında kullanılamaz"
- "Acil Geri Arama Modundan Çıkılıyor"
+ "Seçilen işlem, acil durum çağrısında kullanılamaz."
+ "Acil Geri Arama Modundan çıkılıyor""Evet""Hayır""Kapat"
- "Sesli mesaj ayarları"
- "<ayarlanmadı>"
- "Sesli mesaj hizmeti"
- "%s için ayarlar"
+ "Hizmet"
+ "Kurulum"
+ "<Ayarlanmadı>""Diğer çağrı ayarları"
- "Çevir"
- "^1"\n"^2"" aracılığıyla aranıyor"
- "Yanıtlamak için sağa sürükleyin"
- "Zil programını susturmak için sola sürükleyin"
- "Reddetmek için sola sürükleyin"
- "Yanıtlamak ve"\n"etkin çağrıyı beklemeye almak için sağa sürükleyin"
- "Yanıtlamak ve"\n"etkin çağrıyı sonlandırmak için sağa sürükleyin"
- "Yanıtlamak ve"\n"beklemedeki çağrıyı sonlandırmak için sağa sürükleyin"
- "Yanıtla"
- "Reddet"
+ "%s üzerinden çağrı yapılıyor""kişi fotoğrafı""özele git""kişi seçin""İnternet üzerinden çağrı ayarları""İnternet çağrısı (SIP) hesapları""Hesaplar"
- "İnternet çağrısı (SIP) hesaplarını ve durumunu yönet""Gelen çağrıları al""Pil ömrünü kısaltır"
- "Çağrı seçeneklerini yapılandır""İnternet çağrısını kullan""İnternet çağrısı kullan (yalnızca kablosuz)""Veri ağı uygun durumdayken yapılan tüm çağrılar için""Yalnızca İnternet numaraları için""Her çağrı için sor""Tüm çağrılar için"
- "Otomatik kayıt"
- "SIP üzerinden giden çağrı""Çağrı yap""İnternet çağrısı hesabını kullan:""Her zaman İnternet çağrıları yapmak için kullan"
- "Çağrı yaparken varsayılan olarak kullanılacak İnternet çağrısı hesabını, İnternet çağrısı ayarları altında farklı bir hesap seçerek değiştirmek için Çağrı Ayarları\'nı kullanın"
+ "Varsayılan olarak hangi İnternet çağrısı hesabının kullanılacağını Telefon > Ayarlar > İnternet çağrısı ayarları > Hesaplar ekranını kullanarak değiştirebilirsiniz.""Cep telefonu çağrısı""İnternet çağrısı""İnternet çağrısı hesabı yok"
- "Bu telefonda herhangi bir İnternet çağrısı hesabı yok. Şimdi eklensin mi?"
+ "Bu telefonda hiç İnternet çağrısı hesabı yok. Şimdi eklemek ister misiniz?""Ekle""Hesap ekle""Hesabı kaldır""SIP hesapları"
- "Hesap kaydediliyor..."
- "Hesap kaldırılıyor..."
+ "Hesap kaydediliyor..."
+ "Hesap kaldırılıyor...""Kaydet""Sil""Profili kapat""Tamam""Kapat"
- "Birincil"
- "Bunu birincil hesabım yap"
- "Giden çağrılar için kullanılır"
- "Gelişmiş ayarlar""Birincil hesap. %s""Durum denetleniyor..."
- "Kaydettiriliyor..."
- "Denemeye devam ediliyor..."
- "Çağrıları almıyor"
- "İnternet bağlantısı olmadığı için hesap kaydı durduruldu"
- "Kablosuz bağlantı hesap kayıt işlemi durduruldu"
- "Hesap kaydı başarısız oldu"
- "Çağrıları alıyor"
+ "Kayıt olunuyor..."
+ "Denemeye devam ediliyor..."
+ "Çağrıları almıyor."
+ "İnternet bağlantısı olmadığı için hesap kaydı durduruldu."
+ "Kablosuz bağlantı olmadığından hesap kayıt işlemi durduruldu."
+ "Hesap kaydı başarısız oldu."
+ "Çağrıları alıyor.""Hesap kaydı başarısız oldu: (%s); daha sonra tekrar denenecek"
- "Hesap kaydı başarısız oldu: yanlış kullanıcı adı veya şifre"
- "Hesap kaydı başarısız oldu: sunucu adını kontrol edin"
- "Bu hesap şu anda %s uygulaması tarafından kullanılıyor"
+ "Hesap kaydı başarısız oldu: Yanlış kullanıcı adı veya şifre."
+ "Hesap kaydı başarısız oldu: Sunucu adını kontrol edin."
+ "Bu hesap şu anda %s uygulaması tarafından kullanılıyor.""SIP hesabı ayrıntıları""SIP hesabı ayrıntıları""Sunucu"
@@ -660,9 +564,6 @@
"Bağlantı noktası numarası""Aktarım türü""Canlı tutma mesajı gönder"
- "SIP canlı tutma mesajları gönder"
- "Otomatik kayıt"
- "Profili otomatik olarak kaydet""Birincil hesap olarak ayarla""Giden çağrılar için kullanılır""İsteğe bağlı ayarlar"
@@ -673,12 +574,12 @@
"<İsteğe bağlı>""▷ Tümünü göstermek için dokunun""▽ Tümünü gizlemek için dokunun"
- "%s gerekli, bu alan boş bırakılamaz"
- "Bağlantı noktası numarası 1000 ile 65534 arasında olmalıdır"
+ "%s gerekli, bu alan boş bırakılamaz."
+ "Bağlantı noktası numarası 1000 ile 65534 arasında olmalıdır.""İnternet bağlantısı yok""Kablosuz bağlantı yok"
- "İnternet çağrısı yapmak için öncelikle İnternet bağlantınızı denetleyin"
- "İnternet çağrıları için bir Kablosuz ağa bağlı olmalısınız (Kablosuz ve Ağ ayarlarını kullanın)"
+ "İnternet çağrısı yapmak için öncelikle İnternet bağlantınızı denetleyin."
+ "İnternet çağrıları için bir Kablosuz ağa bağlı olmalısınız (Kablosuz ve Ağ ayarlarını kullanın).""İnternet çağrısı desteklenmiyor""Otomatik""Her zaman gönder"
@@ -687,7 +588,7 @@
"Seni hemen geri arayacağım.""Seni daha sonra ararım.""Şimdi konuşamam. Daha sonra arar mısın?"
- "Özel mesaj..."
+ "Özel mesaj""Hızlı yanıtlar""Hızlı yanıtları düzenle"
@@ -705,7 +606,6 @@
"yıldız""sıfır""kare"
- "ara""çevir""geri tuşu""Hoparlör etkin."
@@ -715,9 +615,22 @@
"Reddet""Titreşim""Titreşim"
+ "Zil sesi""Her zaman""Yalnızca sessizken""Hiçbir zaman"
+ "Telefon zil sesi"
+ "Çalarken titret"
+ "Tuş Takımı dokunmatik tonları"
+ "Zil sesi"
+ Şebeke değiştir (2G/3G)
+ Bu ayar istediğiniz zaman 2G ve 3G arasında geçiş yapmanızı sağlar. 3G daha hızlıdır ama daha fazla pil tüketir ve ek olarak daha fazla ücret ödemenize sebep olabilir.
+ Gelişmiş Ayarlar
+ Cevap verince titret
+ Her 45 saniyede titret
+ Giden çağrı sırasında her 45 saniyede titret
+ Çağrı sonlanırsa titret
+ Çağrı bekletilirse titret
diff --git a/res/values-ug/strings.xml b/res/values-ug/strings.xml
new file mode 100644
index 000000000..22a955ee4
--- /dev/null
+++ b/res/values-ug/strings.xml
@@ -0,0 +1,610 @@
+
+
+
+ "كۆچمە سانلىق مەلۇمات"
+ "تېلېفون"
+ "جىددىي نومۇر بۇرىغۇچ"
+ "تېلېفون"
+ "مۇقىم نومۇر بۇراش تىزىملىكى"
+ "يوچۇن"
+ "شەخسىي نومۇر"
+ "ئاممىۋى تېلېفون"
+ "كۈتۈپ تۇر"
+ "لىنىيە ئالدىراش"
+ "تور ئالدىراش"
+ "ئىنكاس يوق، ۋاقىت ھالقىدى"
+ "مۇلازىمېتىرغا يېتەلمەيدۇ"
+ "تېلېفون ئۇلانمىدى"
+ "ئىشلەتكۈچى ئاتى ياكى ئىم خاتا"
+ "تور سىرتىدىن چاقىرىلغان"
+ "مۇلازىمېتىر خاتالىقى. سەل تۇرۇپ قايتا سىناڭ."
+ "سىگنال يوق"
+ "ACM چېكىدىن ئېشىپ كەتتى"
+ "سىمسىز ئالاقە تاقاق"
+ "SIM يوق ياكى SIM خاتا"
+ "مۇلازىمەت دائىرىسىدىن ھالقىدى"
+ "سىرتقى چاقىرىش مۇقىم چاقىرىشنىڭ چەكلىمىسىگە ئۇچرايدۇ."
+ "سۆزلىشىش چەكلىمىسى قوزغىتىلغاندا سىرتقا تېلېفون ئۇرالمايسىز."
+ "ھەممە چاقىرىش زىيارەت تىزگىنىنىڭ چەكلىمىسىگە ئۇچرايدۇ."
+ "جىددىي چاقىرىش زىيارەت تىزگىنىنىڭ چەكلىمىسىگە ئۇچرايدۇ."
+ "ئادەتتىكى چاقىرىش زىيارەت تىزگىنىنىڭ چەكلىمىسىگە ئۇچرايدۇ."
+ "ئىناۋەتسىز رەقەم"
+ "تېلېفون يىغىنى"
+ "چاقىرىش ئۈزۈلگەن."
+ "جەزملە"
+ "MMI كودى قوزغىتىلدى"
+ "USSD كودى ئىجرا قىلىنىۋاتىدۇ…"
+ "MMI كودى بىكار قىلىندى"
+ "ۋاز كەچ"
+ "تېلېفون يىغىنى باشقۇرۇش"
+ "ياڭراتقۇ"
+ "تېلېفون تىڭشىغۇچ"
+ "سىملىق تىڭشىغۇچ"
+ "كۆكچىش"
+ "تۆۋەندىكى ئۈننى يوللامدۇ؟"\n
+ "ئۈن يوللاۋاتىدۇ"\n
+ "يوللا"
+ "ھەئە"
+ "ياق"
+ "ئورتاق بەلگە ئالماشتۇرىدىغىنى"
+ "ئۈنخەت نومۇرى كەم"
+ " SIM كارتىغا ئۈنخەت نومۇرى يوق."
+ "نومۇر قوش"
+ "SIM كارتا قۇلۇپىڭىز ئېچىلدى. تېلېفون قۇلۇپىنى ئېچىۋاتىدۇ…"
+ "SIM تورى PIN قۇلۇپىنى ئاچتى"
+ "قۇلۇپ ئاچ"
+ "تاقا"
+ "تور قۇلۇپىنى ئېچىشنى ئىلتىماس قىلىۋاتىدۇ…"
+ "تور قۇلۇپىنى ئېچىش ئىلتىماسى مەغلۇپ بولدى."
+ "تور قۇلۇپىنى ئېچىش مۇۋەپپەقىيەتلىك."
+ "GSM چاقىرىش تەڭشىكى"
+ "CDMA چاقىرىش تەڭشىكى"
+ "زىيارەت نۇقتا ئىسمى"
+ "تور تەڭشىكى"
+ "ئۈنخەت"
+ "VM:"
+ "تور مۇلازىمەت تەمىنلىگۈچى"
+ "چاقىرىش تەڭشىكى"
+ "باشقا تەڭشەك"
+ "باشقا GSM چاقىرىش ئۈچۈنلا ئىشلىتىلىدىغان تەڭشەك"
+ "باشقا CDMA چاقىرىش تەڭشىكى"
+ "باشقا CDMA چاقىرىش ئۈچۈنلا ئىشلىتىلىدىغان تەڭشەك"
+ "تور مۇلازىمەت تەڭشىكى"
+ "تېلېفون نومۇر"
+ "سىرتتىكى نومۇرنى چاقىرغاندا تېلېفون نومۇرنى يوشۇر"
+ "سىرتتىكى نومۇرنى چاقىرغاندا تېلېفون نومۇرنى كۆرسەت"
+ "سىرتتىكى نومۇرنى چاقىرغاندا تېلېفون سودىگىرىنىڭ كۆڭۈلدىكى تەڭشىكى بويىچە تېلېفون نومۇرنى كۆرسەت"
+ "چاقىرىشنى كۈتۈش"
+ "سۆزلىشىۋاتقاندا، باشقا تېلېفون كەلسە ماڭا ئۇقتۇر"
+ "سۆزلىشىۋاتقاندا، باشقا تېلېفون كەلسە ماڭا ئۇقتۇر"
+ "كەلگەن تېلېفوننى ئۇلاپ يەتكۈزۈش تەڭشەكلىرى"
+ "كەلگەن تېلېفوننى ئۇلاپ يەتكۈزۈش"
+ "ھەمىشە ئۇلاپ يەتكۈز"
+ "ھەمىشە بۇ نومۇرنى ئىشلەت"
+ "ھەممە چاقىرىشنى ئۇلاپ يەتكۈز"
+ "ھەممە چاقىرىشنى {0} غا ئۇلاپ يەتكۈز"
+ "نومۇر ئىناۋەتسىز"
+ "چەكلەنگەن"
+ "ئۇلاپ يەتكۈزۈش ئالدىراش"
+ "نومۇر ئالدىراش"
+ "{0} غا ئۇلاپ يەتكۈز"
+ "چەكلەنگەن"
+ "مۇلازىمەت تەمىنلىگۈچىڭىز تېلېفون لېنىيىسى ئالدىراش ۋاقىتتا چاقىرىشنى ئۇلاپ يەتكۈزۈش ئىقتىدارىنى توختىتالمايدۇ."
+ "جاۋاب بولمىسا ئۇلاپ يەتكۈز"
+ "جاۋاب بولمىسا ئۇلاپ يەتكۈزىدىغان نومۇر"
+ "{0} غا ئۇلاپ يەتكۈز"
+ "چەكلەنگەن"
+ "مۇلازىمەت تەمىنلىگۈچىڭىز تېلېفونىڭىز جاۋاب قايتۇرمىغاندا چاقىرىشنى ئۇلاپ يەتكۈزۈش ئىقتىدارىنى توختىتالمايدۇ."
+ "تېلېفون ئۇلانمىغاندا ئۇلاپ يەتكۈز"
+ "تېلېفون ئۇلانمىغاندا ئۇلاپ يەتكۈزىدىغان نومۇر"
+ "{0} غا ئۇلاپ يەتكۈز"
+ "چەكلەنگەن"
+ "مۇلازىمەت تەمىنلىگۈچىڭىز تېلېفونغا ئۇلىشالمىغان ۋاقىتتا چاقىرىشنى ئۇلاپ يەتكۈزۈش ئىقتىدارىنى توختىتالمايدۇ."
+ "چاقىرىش تەڭشىكى"
+ "چاقىرىش تەڭشىكىدىن خاتالىق كۆرۈلدى"
+ "تەڭشەك ئوقۇۋاتىدۇ…"
+ "تەڭشەك يېڭىلاۋاتىدۇ…"
+ "تەڭشەكنى ئەسلىگە كەلتۈرۈۋاتىدۇ…"
+ "كۈتۈلمىگەن تور ئىنكاسى."
+ "تور ياكى SIM كارتا خاتا."
+ "ئالدى بىلەن سىمسىز ئالاقىنى ئېچىپ ئاندىن بۇ تەڭشەكلەرنى كۆرۈڭ."
+ "جەزملە"
+ "قوزغات"
+ "چەكلە"
+ "يېڭىلا"
+
+ "تور كۆڭۈلدىكى تەڭشىكى"
+ "نومۇرنى يوشۇر"
+ "نومۇرنى كۆرسەت"
+
+ "ئۈنخەت نومۇرى ئۆزگەردى."
+ "ئۈنخەت نومۇرىنى ئۆزگەرتىش مەغلۇپ بولدى."\n"ئەگەر بۇ مەسىلە يەنە مەۋجۇد بولسا تېلېفون مۇلازىمەت سودىگىرى بىلەن ئالاقىلىشىڭ."
+ "ئۇلاپ يەتكۈزۈش نومۇرىنى ئۆزگەرتەلمىدى."\n"ئەگەر بۇ مەسىلە يەنە مەۋجۇد بولسا تېلېفون مۇلازىمەت سودىگىرى بىلەن ئالاقىلىشىڭ."
+ "نۆۋەتتىكى ئۇلاپ يەتكۈزۈش نومۇر تەڭشىكىنى ئىزدەپ ساقلىيالمايدۇ."\n"يەنىلا يېڭى تېلېفون مۇلازىمەت سودىگىرىگە ئالماشتۇرۇۋېرەمسىز؟"
+ "ھېچقانداق ئۆزگىرىش بولمىدى."
+ "ئۈنخەت مۇلازىمىتىنى تاللاڭ"
+ "مۇلازىمەت تەمىنلىگۈچۈم"
+ "كۆچمە تور تەڭشىكى"
+ "ئىشلىتىلىشچان تورلار"
+ "ئىزدەۋاتىدۇ…"
+ "تور تېپىلمىدى."
+ "تور ئىزدە"
+ "تور ئىزدەۋاتقاندا خاتالىق كۆرۈلدى."
+ "%sغا خەتلىتىۋاتىدۇ…"
+ "SIM كارتىڭىز بۇ تورغا باغلىنىشقا يول قويمايدۇ."
+ "نۆۋەتتە بۇ تورغا باغلىنالمايدۇ. سەل تۇرۇپ قايتا سىناڭ."
+ "توردا خەتلەتتى."
+ "تور مۇلازىمەت تەمىنلىگۈچىنى تاللاڭ"
+ "ئىشلەتكىلى بولىدىغان ھەممە تورنى ئىزدە"
+ "ئۆزلۈكىدىن تاللا"
+ "ئالدىن بەلگىلەنگەن تورنى ئۆزلۈكىدىن تاللا"
+ "ئۆزلۈكىدىن خەتلەش…"
+ "تور ھالىتى"
+ "تور ئىجرا قىلىش ھالىتىنى ئۆزگەرت"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: WCDMA ئالدىن بەلگىلەنگەن"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: GSM لا"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: WCDMA لا"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: GSM / WCDMA"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: CDMA"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: CDMA / EvDo"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: CDMA لا"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: EvDo لا"
+ "ئالدىن بەلگىلەنگەن تور ھالىتى: LTE / CDMA"
+
+ "LTE/CDMA"
+ "EvDo لا"
+ "EvDo ئىقتىدارى يوق، CDMA"
+ "CDMA/EvDo ئاپتوماتىك"
+ "GSM/WCDMA ئاپتوماتىك"
+ "WCDMA لا"
+ "GSM لا"
+ "ئالدىن بەلگىلەنگەن GSM/WCDMA"
+
+
+ "LTE/CDMA"
+ "CDMA"
+
+ "سانلىق مەلۇمات قوزغىتىلدى"
+ "كۆچمە تورنىڭ سانلىق مەلۇمات زىيارەت ئىقتىدارىنى قوزغات"
+ "سانلىق مەلۇمات كەزمە"
+ "كەزمە ھالەتتە سانلىق مەلۇمات مۇلازىمىتىگە باغلىنىدۇ"
+ "كەزمە ھالەتتە سانلىق مەلۇمات مۇلازىمىتىگە باغلىنىدۇ"
+ "سانلىق مەلۇمات باغلىنىش ئۈزۈلدى چۈنكى يەرلىك توردىن ئايرىلدىڭىز ھەمدە سانلىق مەلۇمات كەزمە ھالەتنى تاقىدىڭىز."
+ "سانلىق مەلۇمات كەزمە ھالەتكە يول قويامسىز؟ بۇنداق بولغان ناھايىتى كۆپ كەزمە پۇلى كېلىپ چىقىشى مۇمكىن!"
+ "GSM/UMTS تاللانما"
+ "CDMA تاللانما"
+ "سانلىق مەلۇمات ئىشلىتىلىشى"
+ "نۆۋەتتىكى ۋاقىتتا ئىشلەتكەن سانلىق مەلۇمات"
+ "سانلىق مەلۇمات ئىشلىتىش مۆھلىتى"
+ "سانلىق مەلۇمات يوللاش نىسبىتى تەدبىرى"
+ "تەپسىلات بىلدۈرگۈسى"
+ "ۋاقىت بۆلىكى يۇقىرى چېكى %3$s، نۆۋەتتىكى قىممىتى%1$s (%2$d٪)"\n"كېيىنكى ۋاقىت بۆلىكى %4$d كۈندىن كېيىن (%5$s) باشلىنىدۇ"
+ "ۋاقىت بۆلىكى يۇقىرى چېكى %3$s، نۆۋەتتىكى قىممىتى %1$s (%2$d٪)"
+ "%1$s نىسبەت چېكىدىن ھالقىت كەتتى"\n"سانلىق مەلۇمات يوللاش نىسبىتى %2$d Kb/s غا تۆۋەنلىتىلدى."
+ "بۇ مۇددەت %1$d٪ ئۆتتى"\n"كېيىنكى ۋاقىت بۆلىكى %2$d كۈندىن كېيىن (%3$s)باشلىنىدۇ"
+ "ئەگەر ئېقىم مىقدارى يۇقىرى چېكىدىن ئېشىپ كەتسە ئۇنداقتا سانلىق مەلۇمات يوللاش نىسبىتى %1$d Kb/s غا تۆۋەنلىتىلىدۇ."
+ "تېلېفون مۇلازىمەت سودىگىرىنىڭ كۆچمە تور سانلىق مەلۇمات ئىشلىتىش تەدبىرىنىڭ تەپسىلاتى"
+ "ئىجتىمائى رايون تارقاتقان قىسقا ئۇچۇر"
+ "ئىجتىمائى رايون تارقاتقان قىسقا ئۇچۇر"
+ "ئىجتىمائى رايون تارقاتقان قىسقا ئۇچۇر قوزغىتىلدى"
+ "ئىجتىمائى رايون تارقاتقان قىسقا ئۇچۇر چەكلەندى"
+ "ئىجتىمائى رايون تارقاتقان قىسقا ئۇچۇر تەڭشىكى"
+ "جىددىي تارقىتىش"
+ "جىددىي تارقىتىش قوزغىتىلدى"
+ "جىددىي تارقىتىش چەكلەندى"
+ "باشقۇرۇش"
+ "باشقۇرۇش قوزغىتىلدى"
+ "باشقۇرۇش چەكلەندى"
+ "ئاسراش"
+ "ئاسراش قوزغىتىلدى"
+ "ئاسراش چەكلەندى"
+ "ئادەتتىكى خەۋەرلەر"
+ "سودا ۋە ئىقتىساد خەۋەرلىرى"
+ "تەنتەربىيە خەۋەرلىرى"
+ "كۆڭۈل ئېچىش خەۋەرلىرى"
+ "يەرلىك"
+ "يەرلىك خەۋەرلەر قوزغىتىلدى"
+ "يەرلىك خەۋەرلەر چەكلەندى"
+ "رايونلۇق"
+ "رايونلۇق خەۋەرلەر قوزغىتىلدى"
+ "رايونلۇق خەۋەرلەر چەكلەندى"
+ "دۆلەت ئىچى"
+ "دۆلەت ئىچى خەۋەرلەر قوزغىتىلدى"
+ "دۆلەت ئىچى خەۋەرلەر چەكلەندى"
+ "خەلقئارا"
+ "خەلقئارا خەۋەرلەر قوزغىتىلدى"
+ "خەلقئارا خەۋەرلەر چەكلەندى"
+ "تىل"
+ "خەۋەر تىلىنى تاللاڭ"
+
+ "ئىنگلىزچە"
+ "فىرانسۇزچە"
+ "ئىسپانچە"
+ "ياپونچە"
+ "كورىيەچە"
+ "خەنزۇچە"
+ "ئىبرانىچە"
+
+
+ "1"
+ "2"
+ "3"
+ "4"
+ "5"
+ "6"
+ "7"
+
+ "تىللار"
+ "يەرلىك ھاۋارايى"
+ "يەرلىك ھاۋارايى قوزغىتىلدى"
+ "يەرلىك ھاۋارايى چەكلەندى"
+ "دائىرە قاتناش مەلۇماتى"
+ "دائىرە قاتناش مەلۇماتى قوزغىتىلدى"
+ "دائىرە قاتناش مەلۇماتى چەكلەندى"
+ "يەرلىك ئايرودۇرۇم نۆۋەتچى ئايرۇپىلان ۋاقىت جەدۋىلى"
+ "يەرلىك ئايرودۇرۇم نۆۋەتچى ئايرۇپىلان ۋاقىت جەدۋىلى قوزغىتىلدى"
+ "يەرلىك ئايرودۇرۇم نۆۋەتچى ئايرۇپىلان ۋاقىت جەدۋىلى چەكلەندى"
+ "تاماقخانا"
+ "تاماقخانا قوزغىتىلدى"
+ "تاماقخانا چەكلەندى"
+ "ئىجارە ئۆي ئۇچۇرى"
+ "ئىجارە ئۆي ئۇچۇرى قوزغىتىلدى"
+ "ئىجارە ئۆي ئۇچۇرى چەكلەندى"
+ "پارچە سېتىش مۇندەرىجىسى"
+ "پارچە سېتىش مۇندەرىجىسى قوزغىتىلدى"
+ "پارچە سېتىش مۇندەرىجىسى چەكلەندى"
+ "ئېلان"
+ "ئېلان قوزغىتىلدى"
+ "ئېلان چەكلەندى"
+ "پاي-چېكى ئەھۋالى"
+ "پاي-چېكى ئەھۋالى قوزغىتىلدى"
+ "پاي-چېكى ئەھۋالى چەكلەندى"
+ "خىزمەت پۇرسىتى ئۇچۇرى"
+ "خىزمەت پۇرسىتى ئۇچۇرى قوزغىتىلدى"
+ "خىزمەت پۇرسىتى ئۇچۇرى چەكلەندى"
+ "داۋالاش، ساقلىق ساقلاغ ۋە دوختۇرخانا ئۇچۇرى"
+ "داۋالاش، ساقلىق ساقلاغ ۋە دوختۇرخانا ئۇچۇرى قوزغىتىلدى"
+ "داۋالاش، ساقلىق ساقلاغ ۋە دوختۇرخانا ئۇچۇرى چەكلەندى"
+ "تېخنىكىلىق خەۋەرلەر"
+ "تېخنىكىلىق خەۋەرلەر قوزغىتىلدى"
+ "تېخنىكىلىق خەۋەرلەر چەكلەندى"
+ "كۆپ كاتېگورىيە"
+ "كۆپ كاتېگورىيە قوزغىتىلدى"
+ "كۆپ كاتېگورىيە چەكلەندى"
+ "2G تورىنىلا ئىشلىتىش"
+ "توك تېجەش"
+ "سىستېما تاللاش"
+ "CDMA كەزمە ھالەتنى ئۆزگەرت"
+ "سىستېما تاللاش"
+
+ "يەرلىك تورلا"
+ "ئاپتوماتىك"
+
+ "CDMA مۇشتەرى"
+ "RUIM/SIM ۋە NV ئارىسىدا ئالماشتۇر"
+ "مۇشتەرى بول"
+
+ "RUIM/SIM"
+ "NV"
+
+
+ "0"
+ "1"
+
+ "ئۈسكۈنە ئاكتىپلا"
+ "سانلىق مەلۇمات مۇلازىمەت تەڭشىكى"
+ "مۇقىم تېلېفون نومۇرلار"
+ "مۇقىم نومۇر بۇراش تىزىملىكى"
+ "مۇقىم نومۇر بۇراشنى قوزغىتىش"
+ "مۇقىم نومۇر بۇراش قوزغىتىلدى"
+ "مۇقىم نومۇر بۇراش چەكلەندى"
+ "مۇقىم نومۇر بۇراشنى قوزغات"
+ "مۇقىم نومۇر بۇراشنى چەكلە"
+ "PIN2 ئۆزگەرت"
+ "مۇقىم نومۇر بۇراشنى چەكلە"
+ "مۇقىم نومۇر بۇراشنى قوزغات"
+ "مۇقىم نومۇر بۇراشنى باشقۇرۇش"
+ "مۇقىم نومۇر بۇراشنى زىيارەت قىلىدىغان PIN نى ئۆزگەرت"
+ "تېلېفون نومۇر تىزىملىكى باشقۇرۇش"
+ "ئاۋاز شەخسىيىتى"
+ "كۈچەيتىلگەن شەخسىيەت ھالىتىنى قوزغات"
+ "TTY مودېلى"
+ "TTY مودېلى تەڭشىكى"
+ "ئۆزلۈكىدىن قايتا سىنا"
+ "ئۆزلۈكىدىن قايتا قوزغىتىشنى سىنا"
+ "ئالاقەداش قوش"
+ "ئالاقەداش تەھرىر"
+ "ئالاقەداش ئۆچۈر"
+ "PIN2 كىرگۈزۈڭ"
+ "ئاتى"
+ "نومۇر"
+ "ساقلا"
+ "مۇقىم نومۇر بۇراشنى قوش"
+ "مۇقىم نومۇر بۇراشنى قوشۇۋاتىدۇ…"
+ "مۇقىم نومۇر بۇراش قوشۇلدى."
+ "مۇقىم نومۇر بۇراش تەھرىر"
+ "مۇقىم نومۇر بۇراشنى قوشۇۋاتىدۇ…"
+ "مۇقىم نومۇر بۇراش يېڭىلاندى."
+ "مۇقىم نومۇر بۇراش ئۆچۈر"
+ "مۇقىم نومۇر بۇراشنى ئۆچۈرۈۋاتىدۇ…"
+ "مۇقىم نومۇر بۇراش ئۆچۈرۈلدى."
+ "مۇقىم نومۇر بۇراش يېڭىلانمىدى: سىز كىرگۈزگەن PIN خاتا."
+ "مۇقىم نومۇر بۇراش يېڭىلانمىدى: نومۇر 20 خانىدىن ئاشمايدۇ."
+ "SIM كارتىدىن ئوقۇۋاتىدۇ…"
+ "SIM كارتىدا ئالاقەداشلار يوق."
+ "ئەكىرىدىغان ئالاقەداشلارنى تاللاڭ"
+ "SIM كارتىدىن ئالاقەداش ئەكىرمەكچى بولسىڭىز، ئايروپىلان ھالىتىنى تاقاڭ."
+ "SIM كارتا PIN قوزغات/چەكلە"
+ "SIM كارتا PIN ئۆزگەرت"
+ "SIM كارتا PIN:"
+ "كونا PIN"
+ "يېڭى PIN"
+ "يېڭى PIN جەزملە"
+ "سىز كىرگۈزگەن كونا PIN كودى خاتا. قايتا سىناڭ."
+ "سىز كىرگۈزگەن PIN كودى ماس كەلمىدى. قايتا سىناڭ."
+ "4-8 خانىلىق PIN نى كىرگۈزۈڭ."
+ "SIM كارتا PIN نى چەكلە"
+ "SIM كارتا PIN نى قوزغات"
+ "سەل كۈتۈڭ…"
+ "SIM كارتا PIN قوزغىتىلدى"
+ "SIM كارتا PIN چەكلەندى"
+ "سىز كىرگۈزگەن PIN خاتا"
+ "SIM كارتا PIN مۇۋەپپەقىيەتلىك ئۆزگەردى"
+ "ئىم خاتا؛ SIM قۇلۇپلاندى! PUK2 زۆرۈر."
+ "PIN2"
+ "كونا PIN2"
+ "يېڭى PIN2"
+ "يېڭى PIN2 جەزملە"
+ "سىز كىرگۈزگەن PUK2 خاتا. قايتا سىناڭ."
+ "سىز كىرگۈزگەن كونا PIN2 خاتا. قايتا سىناڭ."
+ "سىز كىرگۈزگەن PIN2 ماس كەلمىدى. قايتا سىناڭ."
+ "4-8 خانىلىق PIN2 نى كىرگۈزۈڭ."
+ "8 خانىلىق PUK2 نى كىرگۈزۈڭ."
+ "PIN2 مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى"
+ "PUK2 كودىنى كىرگۈزۈڭ"
+ "ئىم خاتا، PIN2 نى ئۆزگەرتىپ قايتا سىناڭ!"
+ "ئىم خاتا؛ SIM قۇلۇپلاندى! PUK2 زۆرۈر."
+ "تامام"
+ "تېلېفون يىغىنى %s"
+ "ئۈنخەت نومۇرى"
+ نومۇر بۇراۋاتىدۇ
+ "قايتا سىناۋاتىدۇ"
+ "تېلېفون يىغىنى"
+ "چاقىرىلىش"
+ "سۆزلىشىش تامام"
+ "كۈتۈپ تۇر"
+ "ئۈزۈۋاتىدۇ"
+ "سۆزلىشىۋاتىدۇ"
+ "نومۇرۇم %s"
+ "سۆزلەشمىگەن چاقىرىش"
+ "سۆزلەشمىگەن چاقىرىشلار"
+ "%s سۆزلەشمىگەن چاقىرىش"
+ "%s نىڭ سۆزلەشمىگەن چاقىرىشى"
+ "كۈتۈپ تۇر"
+ "چاقىرىلىش"
+ "يېڭى ئۈنخەت"
+ "يېڭى ئۈنخەت (%d)"
+ "%s نومۇر بۇرا"
+ "ئۈنخەت نومۇرى نامەلۇم"
+ "مۇلازىمەت يوق"
+ "تاللانغان تور (%s)نى ئىشلەتكىلى بولمايدۇ"
+ "تېلېفون ئۇرماقچى بولسىڭىز، ئايروپىلان ھالىتىنى تاقاڭ."
+ "تورغا خەتلەتمىگەن."
+ "كۆچمە تورنى ئىشلەتكىلى بولمايدۇ."
+ "چاقىرىش يوللانمىدى. كىرگۈزگەن نومۇر ئىناۋەتسىز."
+ "چاقىرىش يوللانمىدى."
+ "MMI تەرتىپىنى قوزغىتىۋاتىدۇ…"
+ "قوللىمايدىغان مۇلازىمەت."
+ "سۆزلىشىشنى ئالماشتۇرالمايدۇ."
+ "سۆزلىشىشنى ئايرىيالمايدۇ."
+ "سۆزلىشىشنى ئۇلاپ يۆتكىيەلمەيدۇ."
+ "تېلېفون يىغىنى ئېلىپ بارالمايدۇ."
+ "چاقىرىشنى رەت قىلالمايدۇ."
+ "چاقىرىشنى ئۈزۈۋېتەلمەيدۇ."
+ "ئىنتېرنېت چاقىرىشى"
+ "جىددىي چاقىرىش"
+ "سىمسىز ئالاقىنى ئېچىۋاتىدۇ…"
+ "مۇلازىمەت دائىرىسىدىن ھالقىدى، قايتا سىناۋاتىدۇ…"
+ "چاقىرىش يوللانمىدى. %s جىددىي چاقىرىش نومۇرى ئەمەس."
+ "چاقىرىش يوللانمىدى. جىددىي چاقىرىش نومۇرىنى بۇراڭ!"
+ "ھەرپتاختىدا نومۇر بۇراش"
+ "كۈتۈش"
+ "تامام"
+ "نومۇر بۇراش تاختىسى"
+ "ئۈنسىز"
+ "چاقىرىش قوش"
+ "چاقىرىشنى بىرلەشتۈر"
+ "ئالماشتۇر"
+ "چاقىرىش باشقۇرۇش"
+ "تېلېفون يىغىنى باشقۇرۇش"
+ "ئۈن"
+ "ئەكىر"
+ "ھەممىنى ئەكىر"
+ "SIM كارتىدىكى ئالاقەداشلارنى ئەكىرىۋاتىدۇ"
+ "ئالاقەداشتىن ئەكىر"
+ "ئاڭلاتقۇ"
+ "ئاڭلاتقۇ ماسلىشىشچانلىقنى ئاچ"
+
+ "TTY تاقاق"
+ "TTY لىق"
+ "TTY HCO"
+ "TTY VCO"
+
+ "DTMF ئۈن"
+ "DTMF ئۈن ئۇزۇنلۇق تەڭشىكى"
+
+ "ئادەتتىكى"
+ "ئۇزۇن"
+
+ "تور ئۇچۇرى"
+ "تېلېفونىڭىزنى ئاكتىپلاڭ"
+ "ئالاھىدە نومۇرنى بۇرىسىڭىز ئاندىن تېلېفون مۇلازىمىتىڭىزنى ئاكتىپلىيالايسىز."\n\n"«ئاكتىپلا»نى باسقاندىن كېيىن ئاۋازلىق ئەسكەرتىش بويىچە تېلېفونىڭىزنى ئاكتىپلاڭ."
+ "ئاكتىپلاشتىن ئاتلامدۇ؟"
+ "ئەگەر ئاكتىپلاشتىن ئاتلاپ كەتسىڭىز، تېلېفون ئۇرالمايسىز ھەمدە كۆچمە سانلىق مەلۇمات تورى(ئەمما Wi-Fi تورىغا ئۇلىنالايسىز)غا باغلىنالمايسىز."
+ "ئاتلا"
+ "ئاكتىپلا"
+ "تېلېفون ئاكتىپلاندى!"
+ "ئاكتىپلاشتا مەسىلىگە يولۇقتى"
+ "ئاۋازلىق ئەسكەرتىشكە ئاساسەن مەشغۇلات قىلىپ، تېلېفون ئاكتىپلاش تاماملانغۇچە مەشغۇلات قىلىڭ."
+ "ياڭراتقۇ"
+ "تېلېفونىڭىزغا پىروگرامما يېزىۋاتىدۇ، سەل كۈتۈڭ."
+ "پىروگرامما يېزىش مەغلۇپ بولدى"
+ "تېلېفونىڭىز ئاكتىپلاندى. كۆپ بولغاندا 15 مىنۇتقىچە مۇلازىمەت ئىشلىتىشنى باشلىيالايسىز."
+ "تېلېفونىڭىز ئاكتىپلانمىدى"\n"سىز تېلېفون سىگنالى ياخشى جاي(دەرىزە يېنى ياكى تاشقىرىدا)نى تېپىڭ."\n\n"قايتا سىناڭ ياكى خېرىدار مۇلازىمەت مەركىزىنى چاقىرىپ تېخىمۇ كۆپ ھەل قىلىش ئۇسۇلىغا ئېرىشىڭ."
+ "SPC كاشىلىسى بەك كۆپ"
+ "قايت"
+ "قايتا سىنا"
+ "كېيىنكى"
+ "EcmExitDialog"
+ "جىددىي چاقىرىش ھالىتىگە كىردى"
+ "جىددىي چاقىرىش ھالىتى"
+ "سانلىق مەلۇمات باغلىنىش چەكلەنگەن"
+
+ "%s مىنۇت سانلىق مەلۇمات باغلىنىشى يوق"
+ "%s مىنۇت سانلىق مەلۇمات باغلىنىشى يوق"
+
+
+ "تېلېفون %s مىنۇت جىددىي چاقىرىش ھالىتىدە تۇرىدۇ. بۇ ھالەتتە، سانلىق مەلۇمات باغلىنىشى ئېلىپ بېرىلىۋاتقان ئەپنى ئىشلەتكىلى بولمايدۇ. دەرھال چېكىنەمسىز؟"
+ "تېلېفون %s مىنۇت جىددىي چاقىرىش ھالىتىدە تۇرىدۇ. بۇ ھالەتتە، سانلىق مەلۇمات باغلىنىشى ئېلىپ بېرىلىۋاتقان ئەپنى ئىشلەتكىلى بولمايدۇ. دەرھال چېكىنەمسىز؟"
+
+
+ "جىددىي چاقىرىش ھالىتىدە تاللانغان مەشغۇلاتنى ئىجرا قىلالمايدۇ.تېلېفون بۇ ھالەتتە %s مىنۇت داۋاملىشىدۇ. دەرھال چېكىنەمسىز؟"
+ "جىددىي چاقىرىش ھالىتىدە تاللانغان مەشغۇلاتنى ئىجرا قىلالمايدۇ.تېلېفون بۇ ھالەتتە %s مىنۇت داۋاملىشىدۇ. دەرھال چېكىنەمسىز؟"
+
+ "جىددىي چاقىرىش ھالىتىدە تاللانغان مەشغۇلاتنى ئىجرا قىلالمايدۇ."
+ "جىددىي چاقىرىش ھالىتىدىن چېكىنىۋاتىدۇ"
+ "ھەئە"
+ "ياق"
+ "تاقا"
+ "ئۈنخەت تەڭشەك"
+ "‹تەڭشەلمىگەن›"
+ "ئۈنخەت مۇلازىمىتى"
+ "باشقا چاقىرىش تەڭشىكى"
+ "^1 ئارقىلىق نومۇر بۇراۋاتىدۇ"\n"^2"
+ "ئالاقەداش سۈرىتى"
+ "شەخسىي پاراڭ"
+ "ئالاقەداش تاللاڭ"
+ "ئىنتېرنېت چاقىرىش تەڭشىكى"
+ "ئىنتېرنېت چاقىرىش (SIP) ھېساباتى"
+ "ھېساباتلار"
+ "قوبۇللىغان چاقىرىلىشلار"
+ "توكدان ۋاقتىنى ئازايتىدۇ"
+ "ئىنتېرنېت چاقىرىش ئىشلەت"
+ "ئىنتېرنېت چاقىرىش ئىشلەت (Wi-Fi لا)"
+ "سانلىق مەلۇمات تورى ئۇلانغاندا ھەممە سۆزلىشىشكە ئىشلىتىلىدۇ"
+ "ئىنتېرنېت چاقىرىشقىلا"
+ "ھەر بىر چاقىرغاندا سور"
+ "ھەممە چاقىرىش ئۈچۈن"
+ "تېلېفون چاقىر"
+ "ئىنتېرنېت چاقىرىش ھېساباتى ئىشلەت:"
+ "ھەمىشە ئىنتېرنېت چاقىرىشنى ئىشلەت"
+ "سىز سۆزلىشىش تەڭشىكىدىن تېلېفون ئۇرغاندا ئىشلىتىدىغان كۆڭۈلدىكى ئىنتېرنېت ھېساباتىڭىزنى ئۆزگەرتەلەيسىز، ئىنتېرنېت چاقىرىش تەڭشىكىدىن باشقا ھېساباتنى تاللىسىڭىزلا بولىدۇ."
+ "كۆچمە تېلېفوندا چاقىر"
+ "ئىنتېرنېت چاقىرىشى"
+ "ئىنتېرنېت چاقىرىش ھېساباتى يوق"
+ "بۇ تېلېفوندا ئىنتېرنېت چاقىرىش ھېساباتى يوق. ھازىرلا بىرنى قوشامسىز؟"
+ "قوش"
+ "ھېسابات قوش"
+ "ھېساباتنى چىقىرىۋەت"
+ "SIP ھېسابات"
+ "ھېساباتنى ساقلاۋاتىدۇ…"
+ "ھېساباتنى چىقىرىۋېتىۋاتىدۇ…"
+ "ساقلا"
+ "تاشلىۋەت"
+ "سەپلىمە ھۆججەتنى ياپ"
+ "جەزملە"
+ "ياپ"
+ "باش ھېسابات. %s"
+ "ھالەتنى تەكشۈرۈۋاتىدۇ..."
+ "خەتلەۋاتىدۇ..."
+ "سىناۋاتىدۇ…"
+ "چاقىرىشنى قوبۇللىيالمايدۇ"
+ "ھېسابات خەتلەش توختىدى چۈنكى ئىنتېرنېت باغلىنىشى يوق"
+ "ھېسابات خەتلەش توختىدى چۈنكى Wi-Fi باغلىنىشى يوق"
+ "ھېسابات خەتلىتەلمىدى"
+ "چاقىرىش قوبۇللاۋاتىدۇ"
+ "ھېسابات خەتلىتەلمىدى: (%s)؛ سەل تۇرۇپ قايتا سىنايدۇ"
+ "ھېسابات خەتلىتەلمىدى: ئىشلەتكۈچى ئاتى ياكى ئىم خاتا"
+ "ھېسابات خەتلىتەلمىدى: مۇلازىمېتىر ئاتىنى تەكشۈرۈڭ"
+ "بۇ ھېساباتنى %s ئەپ ئىشلىتىۋاتىدۇ"
+ "SIP ھېساب تەپسىلاتى"
+ "SIP ھېساب تەپسىلاتى"
+ "مۇلازىمېتىر"
+ "ئىشلەتكۈچى ئاتى"
+ "ئىم"
+ "كۆرسىتىدىغان ئات"
+ "سىرتقى ۋاكالەتچى ئادرېس"
+ "ئېغىز نومۇرى"
+ "يوللاش تىپى"
+ "ئۇدا ھەرىكەتتە ئۇچۇرى يوللا"
+ "باش ھېساباتقا تەڭشە"
+ "سىرتنى چاقىرىدىغانغا ئىشلىتىدۇ"
+ "تاللاشچان تەڭشەكلەر"
+ "دەلىللەنگەن ئىشلەتكۈچى ئاتى"
+ "سالاھىيەت دەلىللەشكە ئىشلىتىدىغان ئىشلەتكۈچى ئاتى"
+ "‹تەڭشەلمىگەن›"
+ "<ئىشلەتكۈچى ئاتى بىلەن ئوخشاش>"
+ "<تاللاشچان>"
+ "▷ چېكىلسە ھەممىنى كۆرسىتىدۇ"
+ "▽ چېكىلسە ھەممىنى يوشۇرىدۇ"
+ "%s نى تولدۇرۇش زۆرۈر؛ بوش قالدۇرۇلمايدۇ"
+ "ئېغىز نومۇرى 1000 بىلەن 65534 نىڭ ئارىلىقىدا"
+ "ئىنتېرنېت باغلىنىشى يوق"
+ "Wi-Fi باغلىنىشى يوق"
+ "ئىنتېرنېتتا چاقىرغاندا ئالدى بىلەن ئىنتېرنېت باغلىنىشىنى تەكشۈرۈڭ"
+ "ئىنتېرنېتتا چاقىرىغاندا چوقۇم Wi-Fi باغلىنىشى بولۇشى لازىم (سىسمسىز تور ۋە تور تەڭشىكىنى ئىشلىتىڭ)"
+ "ئىنتېرنېتتا چاقىرىشنى قوللىمايدۇ"
+ "ئاپتوماتىك"
+ "ھەمىشە يوللا"
+ "ئاۋازلىق چاقىرىشنى قوللىمايدۇ"
+ "ھازىر سۆزلىشىش بىئەپ. نېمە ئىش بولدى؟"
+ "ھازىرلا سىزگە تېلېفون قايتۇرىمەن."
+ "سەل تۇرۇپ تېلېفون قايتۇرىمەن."
+ "ھازىر سۆزلىشىش بىئەپ. سەل تۇرۇپ تېلېفون قىلامسىز؟"
+ "ئىختىيارى ئۇچۇر..."
+ "تېز جاۋابلار"
+ "تېز جاۋاب تەھرىر"
+
+ "تېز جاۋاب"
+ "ئۇچۇر %s غا يوللاندى."
+ "بىر"
+ "ئىككى"
+ "ئۈچ"
+ "تۆت"
+ "بەش"
+ "ئالتە"
+ "يەتتە"
+ "سەككىز"
+ "توققۇز"
+ "يۇلتۇز"
+ "نۆل"
+ "چارچاپ"
+ "نومۇر بۇراش"
+ "backspace"
+ "ياڭراتقۇ قوزغىتىلدى"
+ "چاقىرىش ئۈنسىز."
+ "جاۋاب "
+ "قىسقا ئۇچۇر يوللا"
+ "قوشۇلما"
+ "تىترەت"
+ "تىترەت"
+
+ "ھەمىشە"
+ "ئۈنسىز ھالەتتىلا"
+ "ھەرگىز"
+
+
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 9787edeea..d79c53059 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -25,39 +25,27 @@
"Приватний номер""Таксофон""Очікує"
- "Поточний виклик""Лінія зайнята""Мережа зайнята""Нема відп., час очік.мин.""Сервер недоступний""Номер недоступний""Неправ. ім\'я корист-ча чи пароль"
- "Дзвінок із-за меж мережі"
+ "Виклик із-поза меж мережі""Помилка сервера. Спроб. пізніше.""Немає сигналу""Перевищено ліміт ACM""Вимк. радіо"
- "Нема SIM або помилка SIM"
+ "Помилка SIM-карти або SIM-карта відсутня""Поза межами дії служби""Вихідні дзвінки обмежено FDN."
- "Неможл. робити вих. дзвінки, коли увімк. заборона виклику."
+ "Ви не можете здійснювати вихідні виклики, коли ввімкнено заборону викликів.""Усі дзвінки обмежено контролем доступу.""Аварійні виклики обмежено контролем доступу.""Звичайні виклики обмежено контролем доступу."
- "CDMA: тел. заблоковано до енергет. циклу."
- "CDMA: дзвін. роз\'єдн."
- "CDMA: виклик перехоплено"
- "CDMA: переупорядк."
- "CDMA: відмова опції служби."
- "CDMA: порядок повтор."
- "CDMA: доступ не отримано."
- "CDMA: перервано."
- "Дозволені лише аварійні дзвінки"
- "Недійсний номер"
+ "Недійсний номер""Конференц-виклик""Виклик утрачено."
- "Повтор."
- "Викл. пропущ.""OK""Код MMI запущено""Запуск. код USSD..."
@@ -69,23 +57,14 @@
"Дротова гарнітура""Bluetooth""Надісл. наступні сигнали?"\n
- "Надсил. сигналів"\n
+ "Надсилання сигналів"\n"Надісл.""Так""Ні"
- "Замінити символ-джокер на"
+ "Замінити довільний символ на""Відстун. номер голос. пошти""На SIM-карті немає збереж. номерів голос. пошти.""Додати номер"
- "Завант-ня…"
- "Введ. PIN -код, щоб розбл. SIM-карту."
- "SIM-карту розбл."
- "Нов. PIN-код SIM"
- "Знову введ. новий PIN-код SIM, щоб підтв."
- "Введені PIN-коди SIM не збігаються. Спробуйте ще."
- "Введ. PUK-код, щоб розбл. SIM-карту"
- "Неправильний PUK-код!"
- "Продовжити""Вашу SIM-карту розблоковано. Ваш телефон розблоковується...""Розбл. PIN-код мережі SIM""Розблок."
@@ -93,8 +72,6 @@
"Запитув. розблок. мережі...""Не здійсн. запит розблокування мережі""Мережу успішно розблоковано."
- "IMEI"
- "MEID""Налашт. виклику GSM""Налашт. викл. в CDMA""Назва точки доступу"
@@ -109,6 +86,7 @@
"Лише додат. налашт-ння виклику в CDMA""Налашт-ня мережевої служби""Ідент. абон."
+ "Завантаження налаштувань…""Номер приховано у вихідних дзвінках""Номер відображ. у вихідних дзвінках""Викор. налашт. оператора за умовч. для показу мого номеру у вих. дзвінк."
@@ -127,17 +105,17 @@
"Номер., коли зайн.""Пересилання на {0}""Вимкнено"
- "Ваш оператор не підтримує вимкн. пересил. викликів, коли ваш телефон зайнятий."
+ "Ваш оператор не підтримує вимкнення переадресації викликів, коли телефон зайнятий.""Пересилати, якщо не відпов.""Номер., якщо не відпов.""Пересилання на {0}""Вимкнено"
- "Ваш оператор не підтримує вимкн. пересил. викликів, коли ваш телефон не відповідає."
+ "Ваш оператор не підтримує вимкнення переадресації викликів, коли телефон не відповідає.""Пересилати, коли недоступ.""Номер., якщо недосяжн.""Пересилання на {0}""Вимкнено"
- "Ваш оператор не підтримує вимкнення пересилання викликів, коли ваш телефон недосяжний."
+ "Ваш оператор не підтримує вимкнення переадресації викликів, коли телефон недосяжний.""Налашт. виклику""Помилка налашт. виклику""Налашт-ння читання…"
@@ -145,8 +123,8 @@
"Відновл. налашт-нь…""Неочікувана відповідь від мережі""Помилка мережі чи SIM-карти."
- "Операції дозволено лише для номерів фіксованого набору."
- "Увімкніть радіо перед переглядом цих налаштувань."
+ "Налаштування номерів фіксованого набору програми \"Телефон\" увімкнено. Унаслідок цього деякі функції, пов’язані з викликами, не працюють."
+ "Увімкніть радіо, перш ніж переглядати ці налаштування.""OK""Увімкнути""Вимкнути"
@@ -156,10 +134,9 @@
"Сховати номер""Показ. номер"
- "Збер. номер голос. пошти""Номер голос. пошти змінено."
- "Не вдалося змінити номер голос. пошти."\n"Зв\'яж. з операт. послуг моб. зв., якщо проб. не зникне."
- "Не вдалося змінити номер пересилання."\n"Зв\'яж. з операт. послуг моб. зв., якщо проб. не зникне."
+ "Не вдалося змінити номер голосової пошти."\n"Зв’яжіться зі своїм оператором, якщо проблема не зникне."
+ "Не вдалося змінити номер переадресації."\n"Зв’яжіться зі своїм оператором, якщо проблема не зникне.""Не вдалося отримати та зберегти поточні налаштування номера переадресації."\n"Усе одно переключитися на нового оператора?""Не здійсн. жодних змін.""Вибер. службу голос. пошти"
@@ -171,14 +148,14 @@
"Пошук мереж""Помилка під час пошуку мереж.""Реєстрування у %s…"
- "Ваша SIM-карта не дозволяє підключення до цієї мережі."
- "Неможливо наразі підключитися до цієї мережі. Спробуйте пізніше."
+ "Ваша SIM-карта не дозволяє під’єднання до цієї мережі."
+ "Зараз неможливо під’єднатися до цієї мережі. Повторіть спробу пізніше.""Зареєстровано у мережі"
- "Виберіть оператора мережі"
+ "Вибрати оператора мережі""Пошук усіх доступних мереж"
- "Вибирати автоматично"
- "Автоматично вибирати основну мережу"
- "Автоматична реєстрація..."
+ "Вибирати автоматично"
+ "Автоматично вибирати основну мережу"
+ "Автоматична реєстрація...""Режим мережі""Змінити режим роботи мережі""Рекоменд. режим мережі"
@@ -192,17 +169,17 @@
"Рекомендований режим мереж: лише EvDo""Рекомендований режим мереж: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""Лише EvDo""CDMA без EvDo"
- "Авто CDMA / EvDo"
- "Авто GSM / WCDMA"
+ "Авто CDMA/EvDo"
+ "Авто GSM/WCDMA""Лише WCDMA""Лише GSM"
- "Рекоменд. GSM / WCDMA"
+ "Бажано GSM/WCDMA"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Дані увімкнено"
@@ -210,12 +187,11 @@
"Роумінг даних""Підключ. до служб даних під час роумінгу""Підключ. до служб даних під час роумінгу"
- "Доступ до даних утрачено, оскільки ви залишили домашню мережу з вимкненим роумінгом даних."
+ "Доступ до даних утрачено, оскільки ви вийшли з домашньої мережі з вимкненим роумінгом даних.""Дозвол. роумінг даних? З вас можуть стягн. значну плату за нього!""Параметри GSM/UMTS""Параметри CDMA""Викор. даних"
- "Політика даних оператора""Дані, вик. під час поточ. пер.""Період викор. даних""Пол. шв. перед. дан."
@@ -226,7 +202,6 @@
"%1$d٪ з циклу здійсн."\n"Наст. період почин. через %2$d дн. (%3$s)""Шв. перед. скор. до %1$d КБ/сек, якщо перев. ліміт викор. даних""Докладніше про політику викор. даних мобільної мережі вашого оператора"
- "Ф-ц. Cell Broadcast SMS""Ф-ц. Cell Broadcast SMS""Ф-ц. Cell Broadcast SMS""Ф-ц/ Cell Broadcast SMS увімк."
@@ -267,15 +242,6 @@
"Корейська""Китайська""Іврит"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Мови""Місцева погода"
@@ -305,9 +271,9 @@
"Кар\'єрні можливості""Кар\'єрні можливості увімкнено""Кар\'єрні можливості вимкнено"
- "Медицина, здоров\'я та лікарні"
- "Медицина, здоров\'я та лікарні -увімк."
- "Медицина, здоров\'я та лікарні - вимк."
+ "Медицина, здоров’я та лікарні"
+ "Медицина, здоров’я та лікарні – увімкнено"
+ "Медицина, здоров’я та лікарні – вимкнено""Новини технології""Новини техніки увімкнено""Новини технологій"
@@ -322,35 +288,17 @@
"Лише WCDMA""Лише GSM""GSM/WCDA (рекоменд. WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Викор. лише мережі 2G""Економ. батарею""Вибір системи"
- "Змінити режим CDMA-роумінгу"
+ "Змінити режим CDMA-роумінгу""Вибір системи""Лише Головна""Автоматично"
- "Режим CDMA-роумінгу"
- "Змінити режим CDMA-роумінгу"
- "Режим CDMA-роумінгу"
-
- "Лише домашні мережі"
- "Пов\'язані мережі"
- "Будь-яка мережа"
-
-
- "0"
- "1"
- "2"
-
+ "Підписка CDMA""Мережеві параметри CDMA""Ще не впроваджено!""Мережеві параметри CDMA"
@@ -359,21 +307,11 @@
"Лише CDMA""Лише EvDo"
-
- "0"
- "1"
- "2"
-
- "Підписка CDMA""Змінити RUIM/SIM-карту на NV""підписка""RUIM/SIM""NV"
-
-
- "0"
- "1""Активувати пристрій""Налашт. службу пересил. даних"
@@ -390,18 +328,16 @@
"Керув. номерами фікс. набору""Змінити PIN-код для доступу FDN""Керув. списком номерів тел."
- "Конфіденц. Voice"
+ "Конфіденційність Voice""Увімкн. режим розшир. конфіденц."
- "Режим TTY"
- "Увімк. режим TTY""Режим TTY""Устан. режим TTY"
- "Автоповтор"
- "Увімк. режим автоповтору"
+ "Автоповтор"
+ "Увімкнути режим автоповтору""Додати контакт""Змінити контакт""Видалити контакт"
- "Введіть PIN2"
+ "Введіть PIN2-код""Ім\'я""Номер""Зберег."
@@ -414,56 +350,50 @@
"Видалити номер фікс. набору""Видалення номеру фікс. набору…""Номер фікс. набору видалено."
- "FDN не оновлено: введено неправильний PIN-код."
- "FDN не оновлено: к-ість не може перевищ. 20 цифр."
+ "Фіксований номер (FDN) не оновлено, оскільки введено неправильний PIN-код."
+ "Фіксований номер (FDN) не оновлено, оскільки кількість цифр не може перевищувати 20."
+ "Фіксований номер (FDN) не оновлено. PIN2-код неправильний або номер телефону відхилено.""Читання з SIM-карти…""У SIM-карті немає контактів.""Виберіть контакти для імпорту"
- "Щоб імпортувати контакти із SIM-карти, вимкніть режим польоту."
+ "Щоб імпортувати контакти із SIM-карти, спершу вимкніть режим польоту.""Увімк./вимк. PIN-код SIM""Змін. PIN-код SIM""PIN-код SIM:""Старий PIN""Новий PIN""Підтверд. новий PIN"
- "Введений попередній PIN-код неправильний. Спробуйте ще."
- "Введені PIN-коди не збігаються. Спробуйте ще."
+ "Введений попередній PIN-код не правильний. Повторіть спробу."
+ "Введені PIN-коди не збігаються. Повторіть спробу.""Введіть PIN-код з цифр від 4 до 8.""Вимк. PIN-код SIM""Вимк. PIN-код SIM""Зачекайте…"
- "PIN-код SIM увімк."
- "PIN-код SIM вимкнено"
- "Введений PIN-код неправильний"
- "PIN-код SIM-карти змінено"
+ "PIN-код SIM-карти ввімкнено."
+ "PIN-код SIM-карти вимкнено."
+ "Введений PIN-код не правильний."
+ "PIN-код SIM-карти змінено.""Пароль неправильний, SIM-картку заблок! Необх. PUK2.""PIN2""Старий PIN2""Новий PIN2""Підтверд. новий PIN2"
- "Введений PUK2 неправильний. Спробуйте ще."
- "Введений попередній PIN2 неправильний. Спробуйте ще."
- "Введені PIN2 не збігаються. Спробуйте ще."
+ "Введений PUK2 не правильний. Повторіть спробу."
+ "Введений попередній PIN2-код не правильний. Повторіть спробу."
+ "Введені PIN2-коди не збігаються. Повторіть спробу.""Введіть PIN2-код з цифр від 4 до 8.""Введіть PUK2 з 8 чисел."
- "PIN2 змінено"
+ "PIN2-код змінено.""Введіть PUK2-код"
- "Пароль неправильний, змініть PIN2 і спробуйте ще!"
- "Пароль неправильний, SIM-картку заблок! Необх. PUK2."
+ "Пароль не правильний. Змініть PIN2-код і повторіть спробу."
+ "Пароль не правильний. SIM-карту заблоковано. Потрібен PUK2.""Готово""Конференц-виклик %s"
- "Назад до дзвінка"
- "Продовжити без SIM-карти"
- "Не знайдено SIM-карту. Вставте SIM-карту в телефон."
- "Відхилити"
- "Розблок."
- "Автентифікація PIN…""Номер голос. пошти""Набір""Повт. підкл.""Конференц-виклик""Вхідний дзвінок"
- "Очікув. виклику Cdma""Виклик заверш.""Очікує""Класти слухавку"
@@ -473,7 +403,7 @@
"Пропущ. дзвінки""Пропущ. дзвінк: %s""Пропущ. виклик від %s"
- "Поточний виклик (%s)"
+ "Поточний виклик""Очікує""Вхідний дзвінок""Нова голос. пошта"
@@ -482,13 +412,15 @@
"Невідомий номер голос. пошти""Нема служби""Вибрана мережа (%s) недоступна"
+ "Завершити виклик"
+ "Передзвонити"
+ "Повідомлення""Щоб установ. з\'єднання, споч. вимк. режим польоту.""Не зареєстровано в мережі.""Мобільна мережа недоступна.""Виклик не надіслано, не збережено дійсний номер.""Виклик не надісл.""Запуск ряду MMI..."
- "Запуск послідовності коду ф-ції...""Непідтримувана служба""Неможл. переключ. виклики.""Неможл. розділити дзвінок."
@@ -500,18 +432,13 @@
"Аварійний виклик""Увімкнення радіо…""Поза межами дії служби, повтор..."
- "Виклик не надісл., %s не є ном. екстренних служб!"
- "Виклик не надіслано, наберіть аварійний номер!"
+ "Виклик не надіслано. %s не є екстреним номером!"
+ "Виклик не надіслано. Наберіть екстрений номер!""Викор. клав. для набору"
- "Нат. звук. цифр. клав.""Утрим."
- "Не утрим.""Закінч.""Цифр. клав."
- "Сховати"
- "Промовець""Вимк. зв."
- "Bluetooth""Дод. виклик""Об’єдн. дзвінки""Поміняти"
@@ -530,36 +457,31 @@
"HCO TTY""TTY VCO"
- "Текст ERI"
- "Сигнали DTMF"
+ "Сигнали DTMF""Установити довжину сигналів DTMF""Звичайний""Довгий"
- "Повідомлення мережі"
+ "Повідомлення мережі""Активуйте свій телефон""Щоб активувати службу вашого тел., треба зробити спеціальний дзвінок. "\n\n"Натиснувши \"Активувати\", прослухайте інструкції, надані для активації телефону."
- "Натисн. "Активувати", щоб поміст. спец. виклик, який активує телефон у мобіл. мережі вашого оператора, щоб ви могли розміщ. виклики і підключ. до даних моб. мереж.""Пропуст. активацію?""Якщо ви пропустите активацію, то не зможете розміщ. виклик чи підключ. до даних моб. мереж (хоча можете підключ. до мереж Wi-Fi). Вас проситимуть активувати тел. щоразу, коли ви його вмикаєте, поки це не викон.""Пропуст."
- "Активувати""Активувати"
- "Телефон активовано!"
+ "Телефон активовано.""Проблема з активацією""Виконайте голосові інструкції доки не почуєте, що активацію не буде завершено."
- "Цифр. клав.""Промовець"
- "Зачекайте, поки ваш телефон буде запрограмовано."
- "Помилка програмування"
+ "Зачекайте, поки ваш телефон програмується."
+ "Помилка програмування""Телефон тепер активовано. Для запуску сервісу може знадобитися до 15 хвилин."
- "Ваш телефон не активовано. "\n"Можливо, треба знайти місц. з кращим покриттям (коло вікна чи надворі). "\n\n"Спробуйте ще або подзвон. до служби обслуг. для ін. варіантів."
+ "Ваш телефон не активовано. "\n"Можливо, потрібно знайти місце з кращим покриттям (біля вікна чи надворі). "\n\n"Повторіть спробу чи подзвоніть у службу обслуговування, щоб дізнатися про інші варіанти.""ПОМИЛКИ НАДЛИШКУ SPC""Назад""Повтор.""Далі"
- "Назад""EcmExitDialog""Увійд. в реж. авар. зворот. виклику""Реж. авар. зворот. виклику"
@@ -569,87 +491,69 @@
"Немає передав. даних протягом %s хв."
- "Телефон буде у режимі аварійного повтор. виклику протягом %s хв. Під час цього неможл. корист. жодною програмою, яка використовує передавання даних. Вийти зараз?"
- "Телефон буде у режимі аварійного повтору виклику протягом %s хв. Під час цього неможл. корист. жодною програмою, яка використовує передавання даних. Вийти зараз?"
+ "Телефон буде в режимі екстреного зворотного виклику %s хв. У цьому режимі неможливо користуватися програмами, які використовують передавання даних. Вийти зараз?"
+ "Телефон буде в режимі екстреного зворотного виклику %s хв. У цьому режимі неможливо користуватися програмами, які використовують передавання даних. Вийти зараз?"
- "Вибрана дія недоступна в режимі аварійного зворотного виклику. Телефон буде у цьому реж. протягом %s хв. Вийти зараз?"
- "Вибрана дія недоступна в режимі аварійного зворотного виклику. Телефон буде у цьому реж. протягом %s хв. Вийти зараз?"
+ "Вибрана дія не доступна в режимі екстреного зворотного виклику. Телефон буде в цьому режимі %s хв. Вийти зараз?"
+ "Вибрана дія не доступна в режимі екстреного зворотного виклику. Телефон буде у цьому режимі %s хв. Вийти зараз?"
- "Вибрана дія недоступна під час аварійного виклику"
- "Вихід з режиму авар. зворот. виклику"
+ "Вибрана дія не доступна під час екстреного виклику."
+ "Вихід із режиму екстреного зворотного виклику""Так""Ні""Відхилити"
- "Налашт-ня голос. пошти"
- "<не установ.>"
- "Служба голос. пошти"
- "Налашт-ння для %s"
+ "Служба"
+ "Налаштування"
+ "<Не встановлено>""Інші налашт-ння виклику"
- "Набрати"
- "Дзвон. за доп. ^1"\n"^2"
- "Перетяг. впр., щоб відп."
- "Перетяг. вліво, щоб вимк. дзвін."
- "Пертягн. вліво, щоб відх."
- "Перетяг. впр, щоб відп., і"\n"утрим. акт. дзвін."
- "Перетяг. впр., щоб відп., і"\n"зак. акт. дзвін."
- "Перетяг. впр, щоб відп., і"\n"зак. дзвін, що очік."
- "Відповісти"
- "Відхилити"
+ "Виклик здійснюється за допомогою %s""фото контакта""конфіденц.""вибрати контакт""Налаштування Інтернет-дзвінків""Облікові записи для Інтернет-дзвінків (SIP)""Облікові записи"
- "Керувати обліковими записами та станами Інтернет-дзвінків (SIP)""Отримувати вхідні дзвінки""Скорочує час роботи батареї"
- "Налаштувати параметри дзвінка""Використовувати Інтернет-дзвінки""Використовувати Інтернет-дзвінки (лише Wi-Fi)""Для всіх дзвінків, коли доступна мережа передавання даних""Лише для Інтернет-дзвінків""Запитувати для кожного дзвінка""Для всіх дзвінк."
- "Автоматична реєстрація"
- "Вихідний дзвінок через SIP""Здійснити дзвінок""Використовувати обліковий запис для Інтернет-дзвінків:""Завжди використовувати для здійснення Інтернет-дзвінків"
- "У налаштуваннях дзвінків можна змінити обліковий запис, який буде використовуватися за умовчанням під час здійснення дзвінків. Для цього треба вибрати інший обліковий запис у налаштуваннях Інтернет-дзвінків"
+ "Обліковий запис для інтернет-викликів можна змінити на екрані Телефон > Налаштування > Налаштування інтернет-викликів > Облікові записи, щоб використовувати його за умовчанням.""Дзвінок з мобільного телефону""Інтернет-дзвінок""Немає облікового запису для Інтернет-дзвінків"
- "У цьому телефоні немає облікових записів для Інтернет-дзвінків. Додати зараз?"
+ "У цьому телефоні немає облікових записів для інтернет-викликів. Додати зараз?""Додати""Додати обліковий запис""Видалити обліковий запис""Облікові записи SIP"
- "Збереження облікового запису..."
- "Видалення облікового запису..."
+ "Збереження облікового запису..."
+ "Видалення облікового запису...""Зберегти""Відхилити""Закрити профіль""OK""Закрити"
- "Основний"
- "Зробити моїм основним обліковим записом"
- "Використовується для вихідних дзвінків"
- "Розширені налаштування""Основний обліковий запис. %s""Перевірка стану..."
- "Реєстрація..."
- "Повторна спроба..."
- "Не отримує дзвінки"
- "Реєстрацію облікового запису зупинено, оскільки відсутнє з\'єднання з Інтернетом"
- "Реєстрацію облікового запису зупинено, оскільки відсутнє з\'єднання Wi-Fi"
- "Обліковий запис не зареєстровано"
- "Отримання дзвінків"
+ "Реєстрація..."
+ "Повторна спроба..."
+ "Виклики не отримуються."
+ "Реєстрацію облікового запису зупинено, оскільки відсутнє з’єднання з Інтернетом."
+ "Реєстрацію облікового запису зупинено, оскільки відсутнє з’єднання з мережею Wi-Fi."
+ "Обліковий запис не зареєстровано."
+ "Виклики отримуються.""Обліковий запис не зареєстровано: (%s). Спробуємо пізніше"
- "Обліковий запис не зареєстровано: неправильне ім’я користувача чи пароль"
- "Обліковий запис не зареєстровано: перевірте ім’я сервера"
- "Наразі цей обліковий запис використовується програмою %s"
+ "Обліковий запис не зареєстровано: неправильне ім’я користувача чи пароль."
+ "Обліковий запис не зареєстровано: перевірте ім’я сервера."
+ "Зараз цей обліковий запис використовується програмою %s.""Деталі облікового запису SIP""Деталі облікового запису SIP""Сервер"
@@ -660,9 +564,6 @@
"Номер порту""Тип транспортування""Надсилання для підтримки з\'єднання"
- "Надсилати повідомлення SIP для підтримки з\'єднання"
- "Автоматична реєстрація"
- "Автоматично реєструвати профіль""Установити як основний обліковий запис""Використовується для вихідних дзвінків""Додаткові налаштування"
@@ -673,12 +574,12 @@
"<Додатково>""▷ Торкніться, щоб показати всі""▽ Торкніться, щоб сховати всі"
- "Поле %s обов\'язкове, воно не може бути порожнім"
- "Номер порту має бути між 1000 і 65534"
+ "Поле %s обов’язкове, воно не може бути порожнім."
+ "Номер порту має бути між 1000 і 65534.""Відсутнє з\'єднання з Інтернетом""Відсутнє з\'єднання Wi-Fi"
- "Щоб здійснити Інтернет-дзвінок, спершу перевірте своє з\'єднання з Інтернетом"
- "Для здійснення Інтернет-дзвінків потрібне з\'єднання з мережею Wi-Fi (використовуйте налаштування бездротового зв\'язку & мережі)"
+ "Щоб здійснити інтернет-виклик, спершу перевірте своє з’єднання з Інтернетом."
+ "Для здійснення інтернет-викликів потрібне з’єднання з мережею Wi-Fi (скористайтеся налаштуваннями Бездротовий зв’язок і мережі).""Інтернет-дзвінки не підтримуються""Автоматично""Завжди надсилати"
@@ -687,7 +588,7 @@
"Я зараз передзвоню.""Я передзвоню пізніше.""Не можу говорити. Передзвоніть."
- "Персоналізоване повідомлення..."
+ "Спеціальне повідомлення""Швидкі відповіді""Редагувати швидкі відповіді"
@@ -705,7 +606,6 @@
"зірочка""нуль""решітка"
- "пошук""дзвонити""backspace""Гучний зв’язок увімкнено."
@@ -715,9 +615,22 @@
"Відхилити""Вібросигнал""Вібросигнал"
+ "Сигнал дзвінка""Завжди"
- "Лише в беззвуч. реж."
+ "Лише в беззвучному режимі""Ніколи"
+ "Сигнал дзвінка телефону"
+ "Вібрувати під час дзвінка"
+ "Звук клавіш"
+ "Мелодія"
+ Змінення режиму мережі (2G/3G)
+ Програма з цими правами може в будь-який момент змінити режим мережі. 3G швидше, але споживає більше енергії, а також може тарифікуватися дорожче.
+ Додаткові налаштування
+ Вібросигнал відповіді
+ Вібросигнал кожні 45 секунд
+ Вібрування кожні 45 секунд під час вихідного виклику
+ Вібросигнал роз\u2019єднання
+ Вібросигнал очікування виклику
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 9b71cf155..b21a6d083 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -25,39 +25,27 @@
"Số cá nhân""Điện thoại tự động""Đang chờ"
- "Cuộc gọi hiện tại""Đường dây bận""Mạng bận""Không có phản hồi, đã hết thời gian chờ""Máy chủ không thể truy cập được""Số không thể truy cập được""Tên người dùng hoặc mật khẩu không chính xác"
- "Được gọi từ ngoài mạng"
+ "Được gọi từ ngoài mạng""Lỗi máy chủ. Hãy thử lại sau.""Không có tín hiệu nào""Đã vượt quá giới hạn ACM""Tắt radio"
- "Không có SIM hoặc lỗi SIM"
+ "Không có SIM hoặc lỗi SIM""Ngoài vùng dịch vụ""Cuộc gọi đi bị hạn chế bởi FDN."
- "Bạn không thể thực hiện cuộc gọi đi khi đang bật chế độ chặn cuộc gọi."
+ "Bạn không thể thực hiện cuộc gọi đi khi đang bật chế độ chặn cuộc gọi.""Tất cả cuộc gọi bị hạn chế bởi kiểm soát truy cập.""Cuộc gọi khẩn cấp bị hạn chế bằng kiểm soát truy cập.""Cuộc gọi thông thường bị hạn chế bởi kiểm soát truy cập."
- "CDMA: Điện thoại bị khóa cho tới khi bật nguồn."
- "CDMA: Cuộc gọi bị gián đoạn."
- "CDMA: Cuộc gọi bị chặn."
- "CDMA: sắp xếp lại."
- "CDMA: Từ chối Tùy chọn Dịch vụ."
- "CDMA: thử sắp xếp lại."
- "CDMA: Truy cập không thành công."
- "CDMA: Bị chặn trước."
- "Chỉ có thể thực hiện cuộc gọi Khẩn cấp."
- "Số không hợp lệ"
+ "Số không hợp lệ""Cuộc gọi hội nghị""Cuộc gọi đã bị mất."
- "Thử lại"
- "Cuộc gọi bị Mất""OK""Đã bắt đầu mã MMI""Mã USSD đang chạy…"
@@ -69,23 +57,14 @@
"Tai nghe có dây""Bluetooth""Gửi các âm sau?"\n
- "Đang gửi Âm"\n
+ "Đang gửi âm"\n"Gửi""Có""Không"
- "Thay thế ký tự tự do với"
+ "Thay thế ký tự tự do bằng""Thiếu số thư thoại""Không có số thư thoại nào được lưu trữ trên thẻ SIM.""Thêm số điện thoại"
- "Đang tải…"
- "Nhập mã PIN để mở khóa thẻ SIM."
- "Đã mở khóa SIM"
- "Mã PIN mới của SIM"
- "Nhập lại mã PIN mới của SIM để xác nhận"
- "Mã PIN của SIM bạn đã nhập không khớp. Vui lòng thử lại."
- "Nhập mã PUK để mở khóa thẻ SIM."
- "Mã PUK không chính xác!"
- "Tiếp tục""Thẻ SIM của bạn đã được bỏ chặn. Điện thoại của bạn đang mở khóa…""Mã PIM mở khóa mạng SIM""Mở khóa"
@@ -93,8 +72,6 @@
"Đang yêu cầu mở khóa mạng...""Yêu cầu mở khóa mạng không thành công.""Mở khóa mạng thành công."
- "IMEI"
- "MEID""Cài đặt cuộc gọi GSM""Cài đặt cuộc gọi CDMA""Tên Điểm Truy cập"
@@ -109,6 +86,7 @@
"Cài đặt cuộc gọi chỉ CDMA bổ sung""Cài đặt dịch vụ mạng""Số gọi đến"
+ "Đang tải cài đặt…""Số bị ẩn trong cuộc gọi đi""Số được hiển thị trong cuộc gọi đi""Sử dụng cài đặt mặc định của nhà cung cấp dịch vụ để hiển thị số của tôi trong cuộc gọi đi"
@@ -127,17 +105,17 @@
"Số khi bận""Chuyển tiếp tới {0}""Đã tắt"
- "Nhà cung cấp dịch vụ của bạn không hỗ trợ vô hiệu hóa chuyển tiếp cuộc gọi khi điện thoại của bạn bận."
+ "Nhà cung cấp dịch vụ của bạn không hỗ trợ vô hiệu hóa chuyển tiếp cuộc gọi khi điện thoại của bạn bận.""Chuyển tiếp khi không trả lời""Số khi không được trả lời""Chuyển tiếp tới {0}""Đã tắt"
- "Nhà cung cấp dịch vụ của bạn không hỗ trợ vô hiệu hóa chuyển tiếp cuộc gọi khi điện thoại của bạn không trả lời."
+ "Nhà cung cấp dịch vụ của bạn không hỗ trợ vô hiệu hóa chuyển tiếp cuộc gọi khi điện thoại của bạn không trả lời.""Chuyển tiếp khi không thể kết nối""Số khi không thể truy cập được""Chuyển tiếp tới {0}""Đã tắt"
- "Nhà cung cấp dịch vụ của bạn không hỗ trợ vô hiệu hóa chuyển tiếp cuộc gọi khi điện thoại của bạn không thể truy cập được."
+ "Nhà cung cấp dịch vụ của bạn không hỗ trợ vô hiệu hóa chuyển tiếp cuộc gọi khi điện thoại của bạn không thể truy cập được.""Cài đặt cuộc gọi""Lỗi cài đặt cuộc gọi""Đang đọc cài đặt…"
@@ -145,8 +123,8 @@
"Đang hoàn nguyên cài đặt…""Phản hồi không mong muốn từ mạng.""Lỗi mạng hoặc thẻ SIM."
- "Thao tác chỉ được phép đối với các số quay số định sẵn."
- "Vui lòng bật radio trước khi xem những cài đặt này."
+ "Cài đặt Số quay định sẵn trên ứng dụng điện thoại được bật. Do đó, một số tính năng có liên quan đến cuộc gọi không hoạt động."
+ "Hãy bật radio trước khi xem những cài đặt này.""OK""Bật""Vô hiệu hóa"
@@ -156,10 +134,9 @@
"Ẩn số""Hiển thị số"
- "Lưu số thư thoại""Số thư thoại đã thay đổi."
- "Thay đổi số thư thoại không thành công."\n"Hãy liên hệ với nhà cung cấp dịch vụ của bạn nếu sự cố vẫn tiếp diễn."
- "Thay đổi số chuyển tiếp không thành công."\n"Hãy liên hệ với nhà cung cấp dịch vụ của bạn nếu sự cố này vẫn tiếp diễn."
+ "Không thể thay đổi số thư thoại."\n"Liên hệ với nhà cung cấp dịch vụ nếu sự cỗ này vẫn tiếp diễn."
+ "Không thể thay đổi số chuyển hướng."\n"Liên hệ với nhà cung cấp dịch vụ của bạn nếu sự cố này vẫn tiếp diễn.""Không thể truy xuất và lưu cài đặt số chuyển tiếp hiện tại."\n"Bạn vẫn muốn chuyển sang nhà cung cấp mới?""Không thay đổi nào được thực hiện.""Chọn dịch vụ thư thoại"
@@ -171,14 +148,14 @@
"Tìm kiếm trong mạng""Lỗi khi tìm kiếm mạng.""Đang đăng ký trên %s..."
- "Thẻ SIM của bạn không cho phép kết nối với mạng này."
- "Không thể kết nối với mạng này vào lúc này. Vui lòng thử lại sau."
+ "Thẻ SIM của bạn không cho phép kết nối với mạng này."
+ "Không thể kết nối với mạng này ngay bây giờ. Hãy thử lại sau.""Đã đăng ký trên mạng."
- "Chọn nhà cung cấp dịch vụ mạng"
+ "Chọn nhà cung cấp dịch vụ mạng""Tìm kiếm tất cả mạng khả dụng"
- "Chọn tự động"
- "Tự động chọn mạng ưu thích"
- "Đăng ký tự động..."
+ "Tự động chọn"
+ "Tự động chọn mạng ưa thích"
+ "Đăng ký tự động...""Chế độ Mạng""Thay đổi chế độ hoạt động của mạng""Chế độ mạng được ưu thích"
@@ -192,17 +169,17 @@
"Chế độ mạng được ưa thích: chỉ EvDo""Chế độ mạng được ưa thích: LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""Chỉ EvDo""CDMA không có EvDo"
- "CDMA / EvDo tự động"
- "GSM / WCDMA tự động"
+ "CDMA/EvDo tự động"
+ "GSM/WCDMA tự động""Chỉ WCDMA""Chỉ GSM"
- "GSM / WCDMA được ưu thích"
+ "GSM/WCDMA được ưa thích"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""Đã bật dữ liệu"
@@ -210,12 +187,11 @@
"Chuyển vùng dữ liệu""Kết nối với dịch vụ dữ liệu khi chuyển vùng""Kết nối với dịch vụ dữ liệu khi chuyển vùng"
- "Bạn đã mất kết nối dữ liệu vì bạn đã tắt chuyển vùng dữ liệu của mạng gia đình của mình."
+ "Bạn đã mất kết nối dữ liệu vì bạn đã tắt chuyển vùng dữ liệu của mạng gia đình của mình.""Cho phép chuyển vùng dữ liệu? Bạn có thể phải chịu phí chuyển vùng đáng kể!""Tùy chọn GSM/UMTS""Tùy chọn CDMA""Sử dụng dữ liệu"
- "Chính sách dữ liệu của nhà cung cấp dịch vụ""Dữ liệu được sử dụng trong thời gian hiện tại""Thời gian sử dụng dữ liệu""Chính sách tốc độ dữ liệu"
@@ -226,7 +202,6 @@
"%1$d٪ của chu kỳ đã qua"\n"Thời gian tiếp theo sẽ bắt đầu trong %2$d ngày (%3$s)""Tốc độ dữ liệu bị giảm xuống %1$d Kb/s nếu vượt quá giới hạn sử dụng dữ liệu""Thêm thông tin về chính sách sử dụng dữ liệu mạng dành cho điện thoại di động của nhà cung cấp dịch vụ của bạn"
- "SMS Phát trên Di động""SMS Phát trên Di động""SMS Phát trên Di động""Đã bật SMS Phát trên Di động"
@@ -267,15 +242,6 @@
"Tiếng Hàn""Tiếng Trung""Tiếng Do Thái"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""Ngôn ngữ""Thời tiết Địa phương"
@@ -305,9 +271,9 @@
"Cơ hội Nghề nghiệp""Đã bật Cơ hội Nghề nghiệp""Đã tắt Cơ hội nghề nghiệp"
- "Y tế, Sức khoẻ và Bệnh viện"
- "Đã bật Y tế, Sức khoẻ và Bệnh viện"
- "Đã vô hiệu hóa Y tế, Sức khoẻ và Bệnh viện"
+ "Y tế, Sức khoẻ và Bệnh viện"
+ "Đã bật Y tế, Sức khoẻ và Bệnh viện"
+ "Đã tắt Y tế, Sức khoẻ và Bệnh viện""Tin tức Công nghệ""Đã bật Tin tức Công nghệ""Đã tắt Tin tức công nghệ"
@@ -322,35 +288,17 @@
"Chỉ WCDMA""Chỉ GSM""GSM/WCDA (WCDMA được ưu thích)"
-
-
- "0"
- "1"
- "2"
- "3""Chỉ sử dụng mạng 2G""Tiết kiệm pin""Chọn hệ thống"
- "Thay đổi chế độ chuyển vùng cdma"
+ "Thay đổi chế độ chuyển vùng CDMA""Chọn hệ thống""Chỉ nhà riêng""Tự động"
- "Chế độ Chuyển vùng CDMA"
- "Thay đổi chế độ chuyển vùng cdma"
- "Chế độ chuyển vùng CDMA"
-
- "Chỉ Mạng gia đình"
- "Mạng Liên kết"
- "Bất kỳ Mạng nào"
-
-
- "0"
- "1"
- "2"
-
+ "Đăng ký CDMA""Tùy chọn Mạng CDMA""Chưa triển khai!""Tùy chọn mạng CDMA"
@@ -364,16 +312,11 @@
"1""2"
- "Đăng ký CDMA""Thay đổi giữa RUIM/SIM và NV""đăng ký""RUIM/SIM""NV"
-
-
- "0"
- "1""Kích hoạt thiết bị""Thiết lập dịch vụ dữ liệu"
@@ -390,18 +333,16 @@
"Quản lý Số Quay định sẵn""Thay đổi mã PIN để truy cập FDN""Quản lý danh sách số điện thoại"
- "Bảo mật của Voice"
+ "Bảo mật của Voice""Bật chế độ bảo mật tăng cường"
- "Chế độ TTY"
- "Bật chế độ TTY""Chế độ TTY""Đặt chế độ TTY"
- "Tự động Thử lại"
- "Bật chế độ Tự động Thử lại"
+ "Tự động thử lại"
+ "Bật chế độ Tự động thử lại""Thêm liên hệ""Chỉnh sửa liên hệ""Xóa liên hệ"
- "Nhập mã PIN2"
+ "Nhập PIN2""Tên""Số""Lưu"
@@ -414,56 +355,50 @@
"Xóa số quay định sẵn""Đang xóa số quay định sẵn…""Đã thêm số quay định sẵn."
- "FDN chưa được cập nhật: bạn đã nhập mã PIN không chính xác."
- "FDN chưa được cập nhật: số không được vượt quá 20 chữ số."
+ "FDN không được cập nhật do bạn đã nhập PIN không chính xác."
+ "FDN chưa được cập nhật do số đã vượt quá 20 chữ số."
+ "FDN không được cập nhật. Mã PIN2 không đúng hoặc số điện thoại đã bị từ chối.""Đang đọc từ thẻ SIM…""Không có danh bạ trên thẻ SIM của bạn.""Chọn danh bạ để nhập"
- "Để nhập địa chỉ liên hệ từ thẻ SIM, vui lòng tắt chế độ trên Máy bay."
+ "Để nhập danh bạ từ thẻ SIM, trước tiên hãy tắt Chế độ trên máy bay.""Bật/vô hiệu hóa mã PIN của SIM""Thay đổi mã PIN của SIM""Mã PIN của SIM:""Mã PIN cũ""Mã PIN Mới""Xác nhận mã PIN mới"
- "Mã PIN cũ bạn đã nhập không chính xác. Vui lòng thử lại."
- "Mã PIN bạn đã nhập không khớp. Vui lòng thử lại."
+ "Mã PIN cũ bạn đã nhập không chính xác. Hãy thử lại."
+ "PIN bạn đã nhập không khớp. Hãy thử lại.""Nhập mã PIN có từ 4 đến 8 số.""Vô hiệu hóa mã PIN của SIM""Bật mã PIM của SIM""Vui lòng đợi..."
- "Đã bật mã PIN của SIM"
- "Đã vô hiệu hóa mã PIN của SIM"
- "Mã PIN bạn đã nhập không chính xác"
- "Mã PIN của SIM đã được thay đổi thành công"
+ "Đã bật mã PIN của SIM."
+ "Đã tắt mã PIN của SIM."
+ "Mã PIN bạn đã nhập không chính xác."
+ "Mã PIN của SIM đã được thay đổi thành công.""Mật khẩu không chính xác, SIM bị khóa! PUK2 được yêu cầu.""Mã PIN2""Mã PIN2 cũ""Mã PIN2 Mới""Xác nhận mã PIN2 mới"
- "Mã PUK2 bạn đã nhập không chính xác. Vui lòng thử lại."
- "Mã PIN2 cũ bạn đã nhập không chính xác. Vui lòng thử lại."
- "Mã PIN2 bạn đã nhập không khớp. Vui lòng thử lại."
+ "Mã PUK2 bạn đã nhập không chính xác. Hãy thử lại."
+ "Mã PIN2 cũ bạn đã nhập không chính xác. Hãy thử lại."
+ "PIN2s bạn đã nhập không khớp. Hãy thử lại.""Nhập mã PIN2 có từ 4 đến 8 số.""Nhập mã PUK2 có 8 số."
- "Mã PIN2 đã được thay đổi thành công"
+ "Mã PIN2 đã được thay đổi thành công.""Nhập mã PUK2"
- "Mật khẩu không chính xác, vui lòng thay đổi mã PIN2 và thử lại!"
- "Mật khẩu không chính xác, SIM bị khóa! PUK2 được yêu cầu."
+ "Mật khẩu không chính xác. Hãy thay đổi mã PIN2 và thử lại."
+ "Mật khẩu không chính xác, SIM bị khóa. PUK2 được yêu cầu.""Xong""Cuộc gọi hội nghị %s"
- "Quay lại cuộc gọi"
- "Tiếp tục mà không có thẻ SIM"
- "Không tìm thấy thẻ SIM nào. Hãy lắp thẻ SIM vào điện thoại."
- "Loại bỏ"
- "Mở khóa"
- "Đang xác thực mã PIN…""Số thư thoại""Đang quay số""Đang thử lại""Cuộc gọi hội nghị""Cuộc gọi đến"
- "Chờ cuộc gọi cdma""Cuộc gọi đã kết thúc""Đang chờ""Kết thúc cuộc gọi"
@@ -473,7 +408,7 @@
"Cuộc gọi nhỡ""%s cuộc gọi nhỡ""Cuộc gọi nhỡ từ %s"
- "Cuộc gọi hiện tại (%s)"
+ "Cuộc gọi đang thực hiện""Đang chờ""Cuộc gọi đến""Thư thoại mới"
@@ -482,13 +417,15 @@
"Số thư thoại không xác định""Không có dịch vụ nào""Mạng được chọn (%s) không khả dụng"
+ "Kết thúc"
+ "Gọi lại"
+ "Tin nhắn""Để thực hiện cuộc gọi, trước tiên, hãy tắt chế độ trên Máy bay.""Chưa được đăng ký trên mạng.""Mạng di động không khả dụng.""Cuộc gọi không được gửi đi, bạn đã nhập số không hợp lệ.""Cuộc gọi không được gửi đi.""Khởi động chuỗi MMI…"
- "Đang khởi động chuỗi mã tính năng…""Dịch vụ không được hỗ trợ.""Không thể chuyển đổi cuộc gọi.""Không thể tách cuộc gọi."
@@ -500,18 +437,13 @@
"Cuộc gọi khẩn cấp""Đang bật radio...""Ngoài vùng dịch vụ, đang thử lại..."
- "Cuộc gọi không được gửi đi, %s không phải là số khẩn cấp!"
- "Cuộc gọi không được gửi đi, hãy quay số số khẩn cấp!"
+ "Cuộc gọi không được gửi đi. %s không phải là số khẩn cấp!"
+ "Cuộc gọi không được gửi đi. Hãy quay số số khẩn cấp!""Sử dụng bàn phím để quay số"
- "Bộ tạo xung từ bàn phím""Giữ"
- "Bỏ giữ""Kết thúc""Bàn phím số"
- "Ẩn"
- "Loa""Tắt tiếng"
- "Bluetooth""Thêm cuộc gọi""Hợp nhất cuộc gọi""Hoán đổi"
@@ -530,36 +462,31 @@
"TTY HCO""TTY VCO"
- "Văn bản ERI"
- "Âm DTMF"
+ "Âm DTMF""Đặt độ dài âm DTMF""Thường""Dài"
- "Thông báo của Mạng"
+ "Thông báo của mạng""Kích hoạt điện thoại của bạn""Bạn cần phải thực hiện cuộc gọi đặc biệt để kích hoạt dịch vụ điện thoại của mình. "\n\n"Sau khi nhấn “Kích hoạt”, nghe hướng dẫn được cung cấp để kích hoạt điện thoại của bạn."
- "Chạm vào “Kích hoạt” để thực hiện cuộc gọi đặc biệt sẽ kích hoạt điện thoại của bạn trên mạng di động của nhà cung cấp dịch vụ. Vì vậy, bạn có thể thực hiện cuộc gọi và kết nối với mạng dữ liệu dành cho điện thoại di động.""Bỏ qua kích hoạt?""Nếu bạn bỏ qua kích hoạt, bạn không thể thực hiện cuộc gọi hoặc kết nối với mạng dữ liệu dành cho điện thoại di động (mặc dù bạn có thể kết nối với mạng Wi-Fi). Cho tới khi bạn kích hoạt điện thoại của mình, bạn được yêu cầu kích hoạt điện thoại mỗi lần bạn bật điện thoại.""Bỏ qua"
- "Kích hoạt""Kích hoạt"
- "Điện thoại đã được kích hoạt!"
+ "Điện thoại đã được kích hoạt.""Sự cố với kích hoạt""Làm theo hướng dẫn bằng lời cho tới khi bạn nghe thấy kích hoạt đã hoàn tất."
- "Bàn phím""Loa"
- "Vui lòng đợi trong khi điện thoại của bạn được lập trình."
- "Lập trình Không thành công"
+ "Hãy đợi trong khi điện thoại của bạn được lập trình."
+ "Lập trình không thành công""Điện thoại của bạn giờ đây đã được kích hoạt. Có thể mất tối đa 15 phút để dịch vụ bắt đầu."
- "Điện thoại của bạn chưa được kích hoạt. "\n"Bạn có thể phải tìm khu vực có phạm vi phủ sóng tốt hơn (gần cửa sổ hoặc bên ngoài). "\n\n"Hãy thử lại hoặc gọi cho dịch vụ khách hàng để có tùy chọn khác."
+ "Điện thoại của bạn chưa được kích hoạt. "\n"Bạn có thể phải tìm một khu vực có phạm vi phủ sóng tốt hơn (gần cửa sổ hoặc bên ngoài). "\n\n"Hãy thử lại hoặc gọi cho dịch vụ khách hàng để có tùy chọn khác.""LỖI SPC QUÁ MỨC""Quay lại""Thử lại""Tiếp theo"
- "Quay lại""EcmExitDialog""Đã vào Chế độ Gọi lại Khẩn cấp""Chế độ Gọi lại Khẩn cấp"
@@ -569,87 +496,69 @@
"Không có kết nối dữ liệu trong %s phút"
- "Điện thoại sẽ ở chế độ gọi lại khẩn cấp trong %s phút. Khi ở chế độ này, bạn không thể sử dụng các ứng dụng sử dụng kết nối dữ liệu. Bạn có muốn thoát ngay bây giờ không?"
- "Điện thoại sẽ ở chế độ gọi lại khẩn cấp trong %s phút. Khi ở chế độ này, bạn không thể sử dụng các ứng dụng sử dụng kết nối dữ liệu. Bạn có muốn thoát ngay bây giờ không?"
+ "Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong vòng %s phút. Không thể ứng dụng nào sử dụng kết nối dữ liệu trong khi ở trong chế độ này. Bạn có muốn thoát ngay bây giờ không?"
+ "Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong vòng %s phút. Không thể sử dụng ứng dụng nào sử dụng kết nối dữ liệu trong khi đang ở trong chế độ này. Bạn có muốn thoát ngay bây giờ không?"
- "Tác vụ đã chọn không khả dụng khi ở chế độ gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong %s phút. Bạn có muốn thoát ngay bây giờ không?"
- "Tác vụ đã chọn không khả dụng khi ở chế độ gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong %s phút. Bạn có muốn thoát ngay bây giờ không?"
+ "Tác vụ đã chọn không khả dụng trong khi ở chế độ Gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong vòng %s phút. Bạn có muốn thoát ngay bây giờ không?"
+ "Tác vụ đã chọn không sẵn có trong khi ở chế độ Gọi lại khẩn cấp. Điện thoại sẽ ở chế độ này trong vòng %s phút. Bạn có muốn thoát ngay bây giờ không?"
- "Tác vụ đã chọn không khả dụng trong khi thực hiện cuộc gọi khẩn cấp"
- "Thoát Chế độ Gọi lại Khẩn cấp"
+ "Tác vụ đã chọn không khả dụng trong khi thực hiện cuộc gọi khẩn cấp."
+ "Thoát khỏi chế độ Gọi lại khẩn cấp""Có""Không""Loại bỏ"
- "Cài đặt thư thoại"
- "<chưa được đặt>"
- "Dịch vụ thư thoại"
- "Cài đặt cho %s"
+ "Dịch vụ"
+ "Thiết lập"
+ "<Chưa được đặt>""Cài đặt cuộc gọi khác"
- "Quay số"
- "Gọi điện qua ^1"\n"^2"
- "Kéo sang phải để trả lời"
- "Kéo sang trái để tắt chuông"
- "Kéo sang trái để từ chối"
- "Kéo sang phải để trả lời và"\n"giữ cuộc gọi hiện hoạt"
- "Kéo sang phải để trả lời và"\n"kết thúc cuộc gọi hiện hoạt"
- "Kéo sang phải để trả lời và"\n"kết thúc cuộc gọi đang chờ"
- "Trả lời"
- "Từ chối"
+ "Gọi điện qua %s""ảnh liên hệ""chuyển thành riêng tư""chọn địa chỉ liên hệ""Cài đặt cuộc gọi qua Internet""Tài khoản gọi qua Internet (SIP)""Tài khoản"
- "Quản lý tài khoản và trạng thái gọi qua Internet (SIP)""Nhận cuộc gọi đến""Giảm tuổi thọ pin"
- "Định cấu hình tùy chọn cuộc gọi""Sử dụng tính năng gọi qua Internet""Sử dụng tính năng gọi qua Internet (chỉ Wi-Fi)""Dành cho tất cả các cuộc gọi khi mạng dữ liệu sẵn có""Chỉ dành cho các cuộc gọi qua Internet""Yêu cầu cho mỗi cuộc gọi""Dành cho tất cả các cuộc gọi"
- "Tự động đăng ký"
- "Cuộc gọi đi qua SIP""Thực hiện cuộc gọi""Sử dụng tài khoản gọi qua Internet:""Luôn sử dụng để thực hiện cuộc gọi qua Internet"
- "Bạn có thể sử dụng Cài đặt cuộc gọi để thay đổi tài khoản gọi qua Internet nào sử dụng theo mặc định khi thực hiện cuộc gọi, bằng cách chọn tài khoản khác trong cài đặt cuộc gọi qua Internet"
+ "Bạn có thể thay đổi tài khoản gọi qua Internet nào sử dụng theo mặc định từ màn hình Điện thoại > Cài đặt > Cài đặt gọi qua Internet > Tài khoản.""Cuộc gọi qua điện thoại di động""Cuộc gọi qua internet""Không có tài khoản gọi qua Internet nào"
- "Không có tài khoản gọi qua Internet nào trên điện thoại này. Thêm tài khoản ngay bây giờ?"
+ "Không có tài khoản gọi qua Internet nào trên điện thoại này. Bạn có muốn thêm một tài khoản gọi qua Internet ngay bây giờ không?""Thêm""Thêm tài khoản""Xóa tài khoản""Tài khoản SIP"
- "Đang lưu tài khoản..."
- "Đang xóa tài khoản..."
+ "Đang lưu tài khoản..."
+ "Đang xóa tài khoản...""Lưu""Hủy""Đóng tiểu sử""OK""Đóng"
- "Chính"
- "Đặt tài khoản này làm tài khoản chính của tôi"
- "Được sử dụng cho các cuộc gọi đi"
- "Cài đặt nâng cao""Tài khoản chính. %s""Đang kiểm tra trạng thái..."
- "Đang đăng ký..."
- "Vẫn đang thử..."
- "Đang không nhận cuộc gọi"
- "Đăng ký tài khoản đã dừng do không có kết nối Internet"
- "Đăng ký tài khoản đã dừng do không có kết nối Wi-Fi"
- "Đăng ký tài khoản không thành công"
- "Đang nhận cuộc gọi"
+ "Đang đăng ký…"
+ "Vẫn đang thử..."
+ "Đang không nhận cuộc gọi"
+ "Đăng ký tài khoản đã dừng do không có kết nối Internet."
+ "Đăng ký tài khoản đã dừng do không có kết nối Wi-Fi."
+ "Đăng ký tài khoản không thành công."
+ "Đang nhận cuộc gọi.""Đăng ký tài khoản không thành công: (%s); sẽ thử sau"
- "Đăng ký tài khoản không thành công: tên người dùng hoặc mật khẩu không đúng"
- "Đăng ký tài khoản không thành công: kiểm tra tên máy chủ"
- "Tài khoản này hiện đang được ứng dụng %s sử dụng"
+ "Đăng ký tài khoản không thành công: Tên người dùng hoặc mật khẩu không chính xác."
+ "Đăng ký tài khoản không thành công: Kiểm tra tên máy chủ."
+ "Tài khoản này hiện đang được ứng dụng %s sử dụng.""Chi tiết tài khoản SIP""Chi tiết tài khoản SIP""Máy chủ"
@@ -660,9 +569,6 @@
"Số cổng""Loại truyền tải""Gửi giữ kết nối"
- "Gửi thông báo giữ kết nối SIP"
- "Tự động đăng ký"
- "Tự động đăng ký tiểu sử""Đặt làm tài khoản chính""Được sử dụng cho các cuộc gọi đi""Cài đặt tùy chọn"
@@ -673,12 +579,12 @@
"<Tùy chọn>""▷ Chạm để hiển thị tất cả""▽ Chạm để ẩn tất cả"
- "%s là bắt buộc, không thể để trống"
- "Số cổng phải trong khoảng từ 1000 đến 65534"
+ "%s là bắt buộc và không thể để trống."
+ "Số cổng phải trong khoảng từ 1000 đến 65534.""Không có kết nối Internet""Không có kết nối Wi-Fi"
- "Để thực hiện cuộc gọi qua Internet, hãy kiểm tra kết nối của bạn trước tiên"
- "Bạn phải kết nối với mạng Wi-Fi để thực hiện các cuộc gọi qua Internet (sử dụng cài đặt Mạng & Không dây)"
+ "Để thực hiện cuộc gọi qua Internet, hãy kiểm tra kết nối Internet của bạn trước tiên."
+ "Bạn cần kết nối với mạng Wi-Fi để thực hiện các cuộc gọi qua Internet (sử dụng cài đặt Mạng & không dây).""Không hỗ trợ gọi qua Internet""Tự động""Luôn luôn gửi"
@@ -687,7 +593,7 @@
"Tôi sẽ gọi lại ngay.""Tôi sẽ gọi lại sau.""Giờ tôi ko thể nói chuyện. Gọi sau nhé?"
- "Tùy chỉnh thông báo..."
+ "Thông báo tùy chỉnh""Trả lời nhanh""Chỉnh sửa trả lời nhanh"
@@ -705,7 +611,6 @@
"dấu sao""không""dấu thăng"
- "tìm kiếm""quay số""phím lùi""Đã bật loa ngoài."
@@ -715,9 +620,14 @@
"Từ chối""Rung""Rung"
+ "Nhạc chuông""Luôn luôn""Chỉ khi ở chế độ im lặng"
- "Chưa bao giờ"
+ "Không bao giờ"
+ "Nhạc chuông điện thoại"
+ "Rung khi đổ chuông"
+ "Âm chạm bàn phím số"
+ "Nhạc chuông"
diff --git a/res/values-w360dp/dimens.xml b/res/values-w360dp/dimens.xml
deleted file mode 100644
index 5b5aeef95..000000000
--- a/res/values-w360dp/dimens.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
- 64dp
-
-
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 68eee56ed..8cffa7952 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -25,39 +25,27 @@
"私人号码""公用电话""保持"
- "当前通话""线路忙""网络忙""无响应,已超时""无法连接到服务器""该号码无法拨通""用户名或密码错误"
- "网外呼叫"
+ "网外呼叫""服务器错误,请稍后再试。""无信号""超出 ACM 限制""已关闭天线"
- "无 SIM 或 SIM 错误"
+ "无 SIM 卡或 SIM 卡出错""不在服务区""外拨电话受固定拨号限制。"
- "通话限制启用时,无法拨出电话。"
+ "您无法在已启用通话限制的情况下拨出电话。""所有通话都受访问控制限制。""急救或报警电话受访问控制限制。""正常通话受访问控制限制。"
- "手机在重启之前处于锁定状态。"
- "CDMA:通话已取消。"
- "CDMA:通话中断。"
- "CDMA:重新排序。"
- "CDMA:服务选项拒绝。"
- "CDMA:重拨顺序。"
- "CDMA:接入失败。"
- "CDMA:优先抢占。"
- "只能拨打紧急呼救电话。"
- "号码无效"
+ "号码无效""电话会议""通话已中断。"
- "重拨"
- "通话中断""确定""MMI 码已启动""正在运行 USSD 代码..."
@@ -69,23 +57,14 @@
"有线耳机""蓝牙""发送以下音频?"\n
- "正在发送双音频"\n
+ "正在发送双音频"\n"发送""是""否"
- "将通配符替换为"
+ "将通配符替换为""缺少语音信箱号码""SIM 卡上未存储语音信箱号码。""添加号码"
- "正在载入..."
- "输入 PIN 码以解锁 SIM 卡。"
- "SIM 已解锁"
- "新 SIM 卡 PIN 码"
- "再次输入新 SIM 卡 PIN 码予以确认"
- "您输入的 SIM 卡 PIN 不匹配,请重试。"
- "输入 PUK 码以解锁 SIM 卡"
- "PUK 码不正确!"
- "继续""您的 SIM 卡已解锁。正在解锁您的手机...""SIM 网络解锁 PIN""解锁"
@@ -93,13 +72,15 @@
"正在请求网络解锁...""网络解锁请求失败。""网络解锁成功。"
- "移动通信国际识别码"
- "MEID""GSM 通话设置""CDMA 通话设置""接入点名称 (APN)""网络设置""语音信箱"
+
+ 信息等待指示器
+
+ 显示等待语音信箱通知的指示器"语音信箱:""网络运营商""通话设置"
@@ -109,6 +90,7 @@
"仅适用于 CDMA 的其他通话设置""网络服务设置""本机号码"
+ "正在加载设置...""外拨电话时隐藏本机号码""外拨电话时显示本机号码""外拨电话时按照运营商的默认设置来显示本机号码"
@@ -127,17 +109,17 @@
"占线时的转接号码""转接到 {0}""已停用"
- "您的运营商不支持在手机占线时停用呼叫转接功能。"
+ "您的运营商不支持在手机占线时停用来电转接功能。""无人接听时转接""无人接听时的转接号码""转接到 {0}""已停用"
- "您的运营商不支持在手机无人接听时停用呼叫转接功能。"
+ "您的运营商不支持在手机无人接听时停用来电转接功能。""无法接通时转接""无法接通时的转接号码""转接到 {0}""已停用"
- "您的运营商不支持在手机无法接通时停用呼叫转接功能。"
+ "您的运营商不支持在手机无法接通时停用来电转接功能。""通话设置""通话设置出错""正在读取设置..."
@@ -145,8 +127,8 @@
"正在恢复设置...""网络响应异常。""网络或 SIM 卡出错。"
- "只能对固定拨号号码执行此类操作。"
- "请先开启无线通信,然后再查看这些设置。"
+ "拨号应用的固定拨号设置已启用。因此,部分与拨号相关的功能将不能正常使用。"
+ "请先开启无线装置,然后再查看这些设置。""确定""启用""禁用"
@@ -156,10 +138,9 @@
"隐藏号码""显示号码"
- "保存语音信箱号码""语音信箱号码已更改。"
- "语音信箱号码更改失败。"\n"如果问题依然存在,请与您的运营商联系。"
- "转接号码更改失败。"\n"如果问题依然存在,请与您的运营商联系。"
+ "无法更改语音信箱号码。"\n"如果此问题仍然存在,请与您的运营商联系。"
+ "无法更改转接号码。"\n"如果此问题仍然存在,请与您的运营商联系。""无法检索和保存当前转接号码设置。"\n"仍然要切换到新的服务提供商吗?""未做任何更改。""选择语音信箱服务"
@@ -171,51 +152,73 @@
"搜索网络""搜索网络时出错。""正在%s上注册..."
- "您的 SIM 卡不允许连接到此网络。"
- "目前无法连接到此网络。请稍后重试。"
+ "您的 SIM 卡不允许连接到此网络。"
+ "目前无法连接到此网络,请稍后重试。""已在网络上注册。"
- "选择一个网络运营商"
+ "选择网络运营商""搜索所有可用网络"
- "自动选择"
- "自动选择首选网络"
- "自动注册..."
+ "自动选择"
+ "自动选择首选网络"
+ "自动注册...""网络模式""更改网络运行方式""首选网络模式""首选网络模式:首选 WCDMA""首选网络模式:仅限 GSM""首选网络模式:仅限 WCDMA"
- "首选网络模式:GSM/WCDMA"
+ "首选网络模式:GSM / WCDMA""首选网络模式:CDMA"
- "首选网络模式:CDMA/EvDo"
+ "首选网络模式:CDMA / EvDo""首选网络模式:仅限 CDMA""首选网络模式:仅限 EvDo"
- "首选网络模式:LTE/CDMA"
-
- "LTE/CDMA"
- "仅 EvDo"
- "CDMA,无 EvDo 功能"
- "CDMA/EvDo 自动选择"
- "GSM/WCDMA 自动选择"
- "仅 WCDMA"
- "仅 GSM"
- "首选 GSM/WCDMA"
-
-
- "LTE/CDMA"
- "CDMA"
-
+ "首选网络模式:LTE / CDMA"
+
+ 首选网络模式:LTE / GSM/WCDMA
+
+ 首选网络模式:LTE / CDMA / EvDo
+
+ 首选网络模式:LTE / CMDA / EvDo / GSM / WCDMA
+
+
+ 全球
+ "仅 EvDo"
+ "CDMA,无 EvDo 功能"
+ "CDMA/EvDo 自动选择"
+ "GSM/WCDMA 自动选择"
+ "仅 WCDMA"
+ "仅 GSM"
+ "首选 GSM/WCDMA"
+
+
+ 仅 LTE
+ LTE/CDMA/EvDo/GSM/WCDMA
+ LTE/CDMA/EvDo
+ "LTE/CDMA"
+ "CDMA/EvDo 自动选择"
+
+
+
+ LTE/GSM/WCDMA
+ 首选 GSM/WCDMA
+ "已启用数据流量""允许通过移动网络存取数据"
- "数据漫游"
- "漫游时连接到数据服务"
- "漫游时连接到数据服务"
- "数据连接已断,因为您已离开本地网络并已关闭数据漫游。"
- "是否允许数据漫游?这可能产生大量漫游费!"
+ "移动数据网络漫游"
+ "漫游时连接到移动数据网络服务"
+ "漫游时连接到移动数据网络服务"
+
+
+ 国家性数据网络漫游
+
+ 在原国家境内漫游时将连接到数据网络服务
+
+ 在原国家境内漫游时将不连接到数据网络服务
+
+ "移动数据网络连接已断开,因为您已离开本地网络并关闭了移动数据网络漫游功能。"
+ "是否要允许移动数据网络漫游?这可能产生大量漫游费!""GSM/UMTS 选项""CDMA 选项""流量使用情况"
- "运营商流量政策""当前时段使用的数据""数据使用时段""数据传输速率政策"
@@ -226,7 +229,6 @@
"此周期已过去 %1$d٪"\n"下一个时段将从 %2$d 天后 (%3$s) 开始""如果超过了流量上限,则数据传输速率会降至 %1$d Kb/s""有关您运营商的移动网络数据使用政策的详情"
- "小区广播短信""小区广播短信""小区广播短信""已启用小区广播短信"
@@ -267,15 +269,6 @@
"韩语""中文""希伯来语"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""语言""本地天气"
@@ -305,9 +298,9 @@
"招聘信息""已启用招聘信息""已停用招聘信息"
- "医疗、保健和医院"
- "已启用医疗、保健和医院信息"
- "已停用医疗、保健和医院信息"
+ "医疗、保健和医院"
+ "医疗、保健和医院信息已启用"
+ "医疗、保健和医院信息已停用""技术新闻""已启用技术新闻""已停用技术新闻"
@@ -322,35 +315,17 @@
"仅 WCDMA""仅 GSM""GSM/WCDA(首选 WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""仅使用 2G 网络""省电""系统选择"
- "更改 CDMA 漫游模式"
+ "更改 CDMA 漫游模式""系统选择""仅本地系统""自动"
- "CDMA 漫游模式"
- "更改 CDMA 漫游模式"
- "CDMA 漫游模式"
-
- "仅本地网络"
- "附属网络"
- "任何网络"
-
-
- "0"
- "1"
- "2"
-
+ "CDMA 订阅""CDMA 网络偏好设置""尚未实现!""CDMA 网络偏好设置"
@@ -359,21 +334,11 @@
"仅 CDMA""仅 EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA 订阅""在 RUIM/SIM 和 NV 之间进行切换""订阅""RUIM/SIM""NV"
-
-
- "0"
- "1""激活设备""设置数据服务"
@@ -390,18 +355,16 @@
"管理固定拨号""更改为访问固定拨号设置的 PIN""管理手机号码列表"
- "语音隐私权"
+ "语音隐私权""启用增强型隐秘模式"
- "TTY 模式"
- "启用 TTY 模式""TTY 模式""设置 TTY 模式"
- "自动重拨"
- "启用自动重拨模式"
+ "自动重拨"
+ "启用自动重拨模式""添加联系人""编辑联系人""删除联系人"
- "输入 PIN2"
+ "键入 PIN2""名称""号码""保存"
@@ -414,56 +377,50 @@
"删除固定拨号联系人""正在删除固定拨号联系人...""已删除固定拨号联系人。"
- "FDN 未更新:您输入的 PIN 有误。"
- "FDN 未更新:号码不得超过 20 位。"
+ "系统未更新 FDN,因为键入的 PIN 码有误。"
+ "系统未更新 FDN,因为号码不能超过 20 位。"
+ "FDN 未更新。PIN2 有误,或电话号码遭拒。""正在从 SIM 卡读取...""SIM 卡上无联系人。""选择要导入的联系人"
- "要从 SIM 卡导入联系人,请先关闭飞行模式。"
+ "要从 SIM 卡导入联系人,请先关闭飞行模式。""启用/禁用 SIM 卡 PIN""更改 SIM 卡 PIN""SIM 卡 PIN:""旧 PIN""新 PIN""确认新 PIN"
- "您输入的旧 PIN 不正确,请重试。"
- "您输入的 PIN 不匹配,请重试。"
+ "键入的旧 PIN 有误,请重试。"
+ "键入的 PIN 不一致,请重试。""输入 4 到 8 位数字的 PIN。""停用 SIM 卡 PIN""启用 SIM 卡 PIN""请稍候..."
- "已启用 SIM 卡 PIN"
- "已停用 SIM 卡 PIN"
- "您输入的 PIN 不正确"
- "已成功更改 SIM 卡 PIN"
+ "SIM 卡 PIN 已启用。"
+ "SIM 卡 PIN 已停用。"
+ "键入的 PIN 有误。"
+ "已成功更改 SIM 卡 PIN。""密码不正确,SIM 已锁定!需要 PUK2。""PIN2""旧 PIN2""新 PIN2""确认新 PIN2"
- "您输入的 PUK2 不正确,请重试。"
- "您输入的旧 PIN2 不正确,请重试。"
- "您输入的 PIN2 不匹配,请重试。"
+ "键入的 PUK2 有误,请重试。"
+ "您键入的旧 PIN2 有误,请重试。"
+ "键入的 PIN2 不一致,请重试。""输入 4 到 8 位数字的 PIN2。""输入 8 位数字的 PUK2。"
- "已成功更改 PIN2"
+ "已成功更改 PIN2。""输入 PUK2 码"
- "密码不正确,请更改 PIN2 并重试!"
- "密码不正确,SIM 已锁定!需要 PUK2。"
+ "密码有误,请更改 PIN2 并重试。"
+ "密码有误,SIM 卡已锁定。需要 PUK2。""完成""电话会议%s"
- "返回通话"
- "无 SIM 卡时继续"
- "未找到 SIM 卡。请将 SIM 卡插入手机中。"
- "关闭"
- "解锁"
- "正在验证 PIN...""语音信箱号码""正在拨号""正在重拨""电话会议""来电"
- "CDMA 来电等待""通话结束""保持""正在挂断"
@@ -473,7 +430,7 @@
"未接电话""%s 个未接电话""来自%s的未接电话"
- "当前通话 (%s)"
+ "当前通话""保持""来电""新语音邮件"
@@ -482,13 +439,15 @@
"语音信箱号码未知""无服务""所选网络(%s)不可用"
+ "挂断"
+ "回拨"
+ "短信""要进行呼叫,请先关闭飞行模式。""尚未注册网络。""无法访问移动网络""拨号未送出,因为输入的号码无效。""拨号未送出。""正在启动 MMI 序列..."
- "正在启动功能代码序列...""不支持此服务。""无法切换通话。""无法分离通话。"
@@ -500,18 +459,13 @@
"紧急呼救""正在打开天线...""不在服务区,正在重试..."
- "电话未拨出,因为 %s 不是紧急呼救号码!"
- "电话未拨出,请拨打紧急呼救电话!"
+ "电话未拨出,%s 不是紧急呼救号码!"
+ "电话未拨出,请拨打紧急呼救电话!""使用键盘拨号"
- "按键式键盘""等待"
- "恢复""挂断""拨号键盘"
- "隐藏"
- "免提""静音"
- "蓝牙""添加通话""合并通话""交换"
@@ -530,36 +484,31 @@
"TTY HCO""TTY VCO"
- "ERI 文字"
- "DTMF 音"
+ "DTMF 音""设置 DTMF 音长度""正常""长"
- "网络讯息"
+ "网络讯息""激活您的手机""需要拨打特别号码才能激活您的手机服务。"\n\n"在按下“激活”后,按照语音提示激活您的手机。"
- "触摸“激活”将拨出特殊呼叫,在运营商的移动网络中激活您的手机,这样您就可拨打电话和连接移动数据网络了。""略过激活步骤?""如果您略过激活步骤,就无法拨打电话或连接到移动数据网络(不过您可以连接到 Wi-Fi 网络)。如果您不激活手机,每次开机时都会收到激活提示。"
- "略过"
- "激活"
+ "跳过""激活"
- "手机已激活!"
+ "手机已激活。""激活时遇到问题""按照语音提示操作,直至提示手机已激活。"
- "键盘""免提"
- "正在向您的手机中写入程序,请耐心等待。"
- "编程失败"
+ "正在向您的手机中写入程序,请稍候。"
+ "写入程序失败""您的手机已激活。最多 15 分钟即可开始使用服务。"
- "您的手机尚未激活。"\n"您可能需要找一个手机信号更好的位置(窗户附近或室外)。"\n\n"再试一次,或呼叫客户服务中心寻求更多解决方法。"
+ "您的手机未激活。"\n"您可能需要找一个手机信号更好的位置(窗户附近或室外)。"\n\n"请重试或致电客户服务小组寻求更多解决方法。""SPC 故障太多""上一步""重试""下一步"
- "上一步""EcmExitDialog""已进入紧急回拨模式""紧急回拨模式"
@@ -569,87 +518,74 @@
"持续 %s 分钟没有数据连接"
- "手机将持续 %s 分钟处于紧急回拨模式。在此模式下,无法使用正在进行数据连接的应用程序。要立即退出吗?"
- "手机将持续 %s 分钟处于紧急回拨模式。在此模式下,无法使用正在进行数据连接的应用程序。要立即退出吗?"
+ "手机在 %s 分钟内都会处于紧急回拨模式下,此模式下无法使用需要联网的应用。您要立即退出吗?"
+ "手机在 %s 分钟内都会处于紧急回拨模式下,此模式下无法使用需要联网的应用。要立即退出吗?"
- "无法在紧急回拨模式下执行所选操作。手机会在此模式下持续 %s 分钟。要立即退出吗?"
- "无法在紧急回拨模式下执行所选操作。手机会在此模式下持续 %s 分钟。要立即退出吗?"
+ "无法在紧急回拨模式下执行所选操作,而手机在 %s 分钟内都会处于此模式下。要立即退出吗?"
+ "无法在紧急回拨模式下执行所选操作,而手机在 %s 分钟内都会处于此模式下。要立即退出吗?"
- "紧急呼救时您所选的操作无法执行"
- "正在退出紧急回拨模式"
+ "进行紧急呼救时无法执行所选操作。"
+ "正在退出紧急回拨模式""是""否""关闭"
- "语音信箱设置"
- "<未设置>"
- "语音信箱服务"
- "%s的设置"
+ "服务"
+ "设置"
+ "<未设置>""其他通话设置"
- "拨打"
- "通过 ^1"\n"^2"" 呼叫"
- "向右拖动以接听"
- "向左拖动以使振铃器静音"
- "向左拖动以拒绝"
- "向右拖动以接听并"\n"保持当前通话"
- "向右拖动以接听并"\n"结束当前通话"
- "向右拖动以接听并"\n"结束保持的通话"
- "接听"
- "拒绝"
+
+
+ 拨号键盘设置
+ 更改拨号键盘的设置
+
+ "通过%s进行通话""联系人照片""私聊""选择联系人""互联网通话设置""互联网电话 (SIP) 帐户""帐户"
- "管理互联网电话 (SIP) 帐户和状态""接听来电""会缩短电池待机时间"
- "配置呼叫选项""使用互联网电话""使用互联网通话(仅限 Wi-Fi)""数据网络接通时适用于所有通话""仅适用于互联网通话""每次呼叫时询问""适用于所有通话"
- "自动注册"
- "通过 SIP 进行外发呼叫""拨打电话""使用互联网电话帐户:""总是用于拨打互联网电话"
- "您可以使用“通话设置”更改拨打电话时默认使用的互联网电话帐户,只需在“互联网电话设置”下选择其他帐户即可"
+ "您可以在“手机”>“设置”>“互联网呼叫设置”>“帐户”屏幕中更改默认使用的互联网呼叫帐户。""手机拨号""互联网电话""没有互联网电话帐户"
- "该手机上没有互联网电话帐户。要立即添加一个帐户吗?"
+ "此手机上没有互联网呼叫帐户,要立即添加一个吗?""添加""添加帐户""删除帐户""SIP 帐户"
- "正在保存帐户..."
- "正在删除帐户..."
+ "正在保存帐户..."
+ "正在删除帐户...""保存""舍弃""关闭个人资料""确定""关闭"
- "主帐户"
- "将该帐户设为我的主帐户"
- "用于外拨电话"
- "高级设置""主帐户。%s""正在检查状态..."
- "正在注册..."
- "仍在尝试..."
- "不接听电话"
- "由于未连接至互联网,帐户注册已停止"
- "因无 Wi-Fi 连接,已停止注册帐户。"
- "帐户注册失败"
- "接听电话"
+ "正在注册..."
+ "仍在尝试..."
+ "不接听电话。"
+ "由于未连接至互联网,帐户注册已停止。"
+ "由于未连接到 Wi-Fi 网络,帐户注册已停止。"
+ "帐户注册失败。"
+ "接听电话。""帐户注册失败:(%s);系统会在稍后重试"
- "帐户注册失败:用户名或密码不正确"
- "帐户注册失败:请检查服务器名称"
- "%s 应用程序当前正在使用该帐户"
+ "帐户注册失败:用户名或密码有误。"
+ "帐户注册失败:请检查服务器名称。"
+ "“%s”应用当前正在使用此帐户。""SIP 帐户详情""SIP 帐户详情""服务器"
@@ -660,9 +596,6 @@
"端口号""传输类型""发送持续连接消息"
- "发送 SIP 持续连接消息"
- "自动注册"
- "自动注册个人资料""设置为主帐户""用于外拨电话""可选设置"
@@ -673,12 +606,12 @@
"<可选>""▷ 触摸可全部显示""▽ 触摸可全部隐藏"
- "“%s”属于必填字段,不能留空"
- "端口号应在 1000 与 65534 之间"
+ "“%s”属于必填字段,不能留空。"
+ "端口号应在 1000 与 655534 之间。""无互联网连接""无 Wi-Fi 连接"
- "要拨打互联网电话,请先检查互联网连接情况"
- "您必须连接到 Wi-Fi 网络才能使用互联网电话(使用“无线和网络设置”)"
+ "要拨打互联网电话,请先检查互联网连接情况。"
+ "您需要连接到 Wi-Fi 网络才能使用互联网电话(使用“无线与网络”设置)。""不支持互联网电话""自动""一律发送"
@@ -687,7 +620,7 @@
"我马上会打给你。""我稍后会再打给你。""现在无法接听。能稍后再打给我吗?"
- "自定义短信..."
+ "自定义短信""快速回复""修改快速回复"
@@ -705,7 +638,6 @@
"星标""零""英镑"
- "搜索""拨号""Backspace 键""扬声器已启用。"
@@ -715,9 +647,45 @@
"拒绝""振动""振动"
+ "铃声""始终""仅在静音时"
- "一律不"
+ "永不"
+
+ 音质
+ 当前设置的音频配置文件 : %s
+
+ 标准
+ 平衡
+ 明亮
+ 高亮
+
+ "手机铃声"
+ "响铃时振动"
+ "拨号键盘触摸音效"
+ "铃声"
+ 2G/3G 移动网络切换
+ 获得该权限的应用程序可以在任何时候在2G/3G移动网络之间切换。3G 网络的速度会更快,但也会消耗更多的电量并且可能消耗您更多的金钱。
+
+
+ 噪声抑制
+ 对所有通话启用噪声抑制
+
+
+ 我的电话号码
+ 设置此设备的电话号码
+
+
+ 高级设置
+ 始终开启距离感应器
+ 使用耳机通话时将不会关闭距离感应器
+ 通话结束时锁定
+ 在屏幕关闭与通话结束时自动锁定设备
+ 对方接听时震动
+ 呼叫等待时震动
+ 通话结束时震动
+ 45秒震动
+ 呼出通话到达每分钟的45秒时震动
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 759d64aec..c15882889 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -25,39 +25,27 @@
"私人號碼""公共電話""通話保留"
- "目前通話""線路忙碌中""網路忙碌""沒有回應,已逾時""無法連上伺服器""無法撥通的號碼""使用者名稱或密碼有誤"
- "無法進行網外撥話"
+ "無法進行網外撥號""伺服器錯誤,請稍後再試。""沒有訊號""已達 ACM 限制""無線通訊關閉"
- "沒有 SIM 或 SIM 錯誤"
+ "沒有 SIM 卡或 SIM 卡發生錯誤""超出服務範圍""撥出受固定撥號限制。"
- "通話限制啟用時,無法撥出電話。"
+ "通話限制啟用時無法撥號。""所有通話都受存取控制限制。""緊急通話受存取控制限制。""正常通話受存取控制限制。"
- "CDMA:重新開機前鎖定手機。"
- "CDMA:撥號中斷。"
- "CDMA:通話遭攔截。"
- "CDMA:重新排序。"
- "CDMA:拒絕服務選項。"
- "CDMA:重試命令。"
- "CDMA:存取失敗。"
- "CDMA:已預先佔用。"
- "僅能撥打緊急電話。"
- "號碼無效"
+ "號碼無效""多方通話""電話已斷線。"
- "重試"
- "斷線""確定""MMI 碼開始執行""USSD 碼執行中..."
@@ -69,23 +57,14 @@
"有線頭戴式耳機""藍牙""傳送此鈴聲?"\n
- "正在傳送信號音"\n
+ "正在傳送信號音"\n"傳送""是""否"
- "取代萬用字元為"
+ "將萬用字元改成""遺失語音信箱號碼""SIM 卡中未儲存語音信箱號碼。""新增號碼"
- "載入中..."
- "輸入 PIN 碼以解鎖 SIM 卡。"
- "SIM 已解鎖"
- "新增 SIM PIN 碼"
- "再次輸入新的 SIM PIN 碼以確認"
- "您輸入的 SIM PIN 不符合。請再試一次。"
- "輸入 PUK 碼以解鎖 SIM 卡"
- "錯誤的 PUK 碼!"
- "繼續""您的 SIM 卡已解鎖。正在解鎖手機中...""SIM 網路解鎖 PIN""解除鎖定"
@@ -93,8 +72,6 @@
"要求解鎖網路中...""網路解鎖失敗。""網路解鎖成功。"
- "IMEI"
- "MEID""GSM 通話設定""CDMA 通話設定""存取點名稱 (APN)"
@@ -109,6 +86,7 @@
"其他 CDMA 僅限通話設定""網路服務設定""本機號碼"
+ "正在載入設定...""隱藏本機號碼""撥出電話時顯示本機號碼""使用預設值,在撥出電話時顯示本機號碼"
@@ -127,17 +105,17 @@
"忙線時轉接號碼""轉接至 {0}""停用"
- "您的電信業者不支援於手機通話中停用轉接功能。"
+ "您的行動通訊業者不支援手機通話時停用轉接功能。""未接聽時轉接""未接聽時的轉接號碼""轉接至 {0}""停用"
- "您的電信業者不支援於手機未接聽時停用轉接功能。"
+ "您的行動通訊業者不支援手機未接聽時停用轉接功能。""未能接通時轉接""無法接通時的轉接號碼""轉接至 {0}""停用"
- "您的電信業者不支援於手機無收訊時停用轉接功能。"
+ "您的行動通訊業者不支援手機無收訊時停用轉接功能。""通話設定""通話設定錯誤""讀取設定中..."
@@ -145,8 +123,8 @@
"正在還原設定...""網路傳回非預期回應。""網路或 SIM 卡錯誤。"
- "僅限對固定撥號號碼執行此作業。"
- "檢視設定前,請先開啟無線通訊。"
+ "您的「手機」應用程式已開啟「固定撥號」設定,導致部分撥號相關功能無法正常運作。"
+ "查看這些設定前,請先開啟無線電。""確定""啟用""停用"
@@ -156,29 +134,28 @@
"隱藏號碼""顯示號碼"
- "儲存語音信箱號碼""語音信箱號碼已變更。"
- "語音信箱號碼變更失敗。"\n"如果問題持續發生,請與您的行動通訊業者聯絡。"
- "轉接號碼變更失敗。"\n"如果問題持續發生,請與您的行動通訊業者聯絡。"
+ "無法變更語音信箱號碼。"\n"如果問題持續發生,請與您的行動通訊業者聯絡。"
+ "無法變更轉接號碼。"\n"如果問題持續發生,請與您的行動通訊業者聯絡。""無法擷取及儲存目前的轉接號碼設定。"\n"您仍要轉換至新的供應商嗎?""未變更設定。""選擇語音信箱服務""我的服務業者""行動網路設定"
- "可用網路"
+ "可用的網路""搜尋中...""找不到網路。""搜尋網路""搜尋網路時發生錯誤。""正在註冊 %s..."
- "您的 SIM 卡不允許連接此網路。"
- "目前無法連線到這個網路,請稍候再試。"
+ "您的 SIM 卡無法連上這個網路。"
+ "目前無法連上這個網路,請稍後再試。""註冊網路成功。"
- "選取電信業者"
- "搜尋所有可用網路"
- "自動選取"
- "自動選取喜好網路"
- "自動註冊..."
+ "選擇行動網路業者"
+ "搜尋所有可用的網路"
+ "自動選擇"
+ "自動選擇慣用網路"
+ "自動註冊...""網路模式""變更網路操作模式""優先網路模式"
@@ -192,30 +169,29 @@
"慣用網路模式:僅限 EvDo""慣用網路模式:LTE / CDMA"
- "LTE / CDMA"
+ "LTE/CDMA""僅限 EvDo""CDMA (不具 EvDo)"
- "CDMA/EvDo 自動切換"
- "GSM/WCDMA 自動切換"
+ "CDMA/EvDo 自動切換"
+ "GSM/WCDMA 自動切換""僅限 WCDMA""僅限 GSM"
- "GSM/WCDMA 優先"
+ "GSM/WCDMA 優先使用"
- "LTE / CDMA"
+ "LTE/CDMA""CDMA""已啟用資料"
- "啟用 Google 行動服務網路的資料存取"
+ "啟用行動數據服務網路""漫遊服務""漫遊時連線到資料傳輸服務""漫遊時連線到資料傳輸服務"
- "由於您不在主要網路蓋涵範圍,而且已關閉資料傳輸漫遊服務,資料連線已中斷。"
+ "您已離開國內網路涵蓋範圍,且已關閉數據傳輸漫遊服務,因此數據連線已中斷。""要允許漫遊服務嗎?您可能會需要支付龐大漫遊費用!""GSM/UMTS 選項""CDMA 選項""資料用量"
- "行動業者資料傳輸政策""目前週期已使用的資料量""資料使用量週期""資料傳輸速率政策"
@@ -230,7 +206,6 @@
"若已達資料用量上限,資料傳輸速率會降低至 %1$d Kb/秒""更多有關行動業者行動網路資料使用政策的資訊"
- "區域廣播簡訊""區域廣播簡訊""區域廣播簡訊""已啟用區域廣播簡訊"
@@ -271,15 +246,6 @@
"韓文""中文""希伯來文"
-
-
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7""語言""當地天氣預報"
@@ -309,34 +275,19 @@
"就業資訊""已啟用就業資訊""已停用就業資訊"
- "醫療、保健及醫院"
- "啟用醫療、保健及醫院資訊"
- "已停用醫療、保健及醫院資訊"
+ "醫療、保健及醫院資訊"
+ "已啟用醫療、保健及醫院資訊"
+ "已停用醫療、保健及醫院資訊""科技新聞""已啟用科技新聞""停用科技新聞""多類別資訊""已啟用多類別資訊""已停用多類別資訊"
- "GSM/UMTS 網路偏好設定"
- "尚未建置!"
- "GSM/UMTS 網路偏好設定"
-
- "GSM/WCDMA (自動模式)"
- "僅限 WCDMA"
- "僅限 GSM"
- "GSM/WCDA (WCDMA 優先)"
-
-
- "0"
- "1"
- "2"
- "3"
- "只使用 2G 網路""節省電力""選取系統"
- "變更 CDMA 漫遊模式"
+ "變更 CDMA 漫遊模式""選取系統""僅限住家電話"
@@ -349,11 +300,6 @@
"僅限家用網路""聯盟網路""任何網路"
-
-
- "0"
- "1"
- "2""CDMA 網路偏好設定""尚未建置!"
@@ -363,21 +309,11 @@
"僅限 CDMA""僅限 EvDo"
-
- "0"
- "1"
- "2"
-
- "CDMA 訂閱""在 RUIM/SIM 和 NV 之間切換""訂閱""RUIM/SIM""NV"
-
-
- "0"
- "1""啟動裝置""設定數據傳輸服務"
@@ -394,18 +330,16 @@
"管理固定撥號""變更固定撥號功能存取密碼""管理電話號碼清單"
- "語音加密保護"
+ "語音加密保護""已啟用加強型隱私保護模式"
- "TTY 模式"
- "啟用 TTY 模式""TTY 模式""設定 TTY 模式"
- "自動重試"
- "啟用「自動重試」模式"
+ "自動重試"
+ "啟用自動重試模式""新增聯絡人""編輯聯絡人""刪除聯絡人"
- "輸入 PIN2"
+ "輸入 PIN2""名稱""號碼""儲存"
@@ -418,56 +352,50 @@
"刪除固定撥號""正在刪除固定撥號...""已刪除固定撥號。"
- "FDN 未更新:您輸入的 PIN 碼不正確。"
- "FDN 未更新:號碼不能超過 20 碼。"
+ "您所輸入的 PIN 不正確,因此未更新 FDN。"
+ "號碼超過 20 位數的上限,因此未更新 FDN。"
+ "未更新 FDN。可能是因為 PIN2 碼不正確或電話號碼遭拒。""從 SIM 卡讀取中...""您的 SIM 卡上沒有聯絡人。""選取要匯入的聯絡人"
- "如要從 SIM 卡匯入通訊錄,請關閉飛行模式。"
+ "如要從 SIM 卡匯入聯絡人,請先關閉「飛行」模式。""啟用/停用 SIM PIN""變更 SIM PIN""SIM PIN:""舊的 PIN""新的 PIN""確認新的 PIN"
- "您輸入的舊 PIN 不正確。請再試一次。"
- "您輸入的 PIN 不符合。請再試一次。"
+ "您所輸入的舊 PIN 不正確,請再試一次。"
+ "您所輸入的 PIN 不符,請再試一次。""輸入 4 至 8 個數字的 PIN。""停用 SIM PIN""啟用 SIM PIN""請稍候..."
- "SIM PIN 已啟用"
- "SIM PIN 已停用"
- "您輸入的 PIN 不正確"
- "成功變更 SIM PIN"
+ "已啟用 SIM PIN。"
+ "已停用 SIM PIN。"
+ "您所輸入的 PIN 不正確。"
+ "已成功變更 SIM PIN。""密碼錯誤,SIM 已鎖定!需要 PUK2 解鎖。""PIN2""舊的 PIN2""新的 PIN2""確認新的 PIN2"
- "您輸入的 PUK2 不正確。請再試一次。"
- "您輸入的舊 PIN2 不正確。請再試一次。"
- "您輸入的 PIN2 不符。請再試一次。"
+ "您所輸入的 PUK2 不正確,請再試一次。"
+ "您所輸入的舊 PIN2 不正確,請再試一次。"
+ "您所輸入的 PIN2 不符,請再試一次。""輸入 4 至 8 個數字的 PIN2。""輸入 8 個數字的 PUK2。"
- "成功變更 PIN2"
+ "已成功變更 PIN2。""輸入 PUK2 碼"
- "密碼錯誤,請更改 PIN2 並再試一次!"
- "密碼錯誤,SIM 已鎖定!需要 PUK2 解鎖。"
+ "密碼不正確,請變更 PIN2 後重試。"
+ "密碼不正確,SIM 已鎖住!請輸入 PUK2。""完成""多方通話%s"
- "返回通話"
- "不插入 SIM 卡,繼續操作"
- "找不到 SIM 卡。請將 SIM 卡插入手機。"
- "關閉"
- "解除鎖定"
- "正在驗證 PIN...""語音信箱號碼""撥號中""重試中""多方通話""來電"
- "CDMA 通話插播中""通話結束""通話保留""掛斷電話"
@@ -477,7 +405,7 @@
"未接來電""%s 通未接來電""來自 %s 的未接來電"
- "目前通話 (%s)"
+ "通話中""通話保留""來電""新留言"
@@ -486,13 +414,15 @@
"無語音信箱號碼""沒有服務""您所選取的網路 (%s) 無法使用"
+ "掛斷"
+ "回撥"
+ "簡訊""撥號前,請先關閉飛航模式。""尚未註冊網路。""無法使用 Google 行動服務網路。""撥號未送出,未輸入正確號碼。""撥號未送出。""開始 MMI 序列..."
- "正在啟動功能碼序列...""不支援的服務。""無法切換通話。""無法分隔來電。"
@@ -504,18 +434,13 @@
"緊急電話""開啟無線通訊中...""超出服務範圍,重試中..."
- "撥號未送出,%s 不是緊急電話號碼!"
- "撥號未送出,請撥打緊急電話號碼!"
+ "未送出通話要求,%s 不是緊急電話號碼!"
+ "未送出通話要求,請撥打緊急電話號碼!""使用鍵盤撥號"
- "觸控音按鍵""保留"
- "取消保留""結束""撥號鍵盤"
- "隱藏"
- "擴音""靜音"
- "藍牙""新增通話""合併通話""切換"
@@ -534,36 +459,31 @@
"TTY HCO""TTY VCO"
- "ERI 文字"
- "DTMF 信號音"
+ "DTMF 信號音""設定 DTMF 信號音長度""適中""長音"
- "網路訊息"
+ "網路訊息""啟用您的手機""如要啟用手機服務,您必須撥打一通特殊電話。"\n\n"按下 [啟用] 後,請聽取手機啟用說明。"
- "輕觸 [啟用] 可撥打一通特殊電話,以便在通訊業者的行動網路上啟用您的手機,讓您可以打電話並連線至行動資料網路。""是否略過啟用?""如果您不啟用手機,就無法打電話或連線至行動服務資料網路 (透過這個資料網路,可連線至 Wi-Fi 網路)。每次一開機,系統就會詢問您是否要啟用手機,直到您啟用為止。""略過"
- "啟用""啟用"
- "手機已啟用!"
+ "手機已啟用。""啟用失敗""依照語音指示進行,直到您聽到啟用完成為止。"
- "小鍵盤""擴音"
- "手機正在進行程式化設定,請稍候。"
- "程式化失敗"
+ "手機正在進行程式化設定,請稍候。"
+ "程式化失敗""您的手機已啟用;系統最多可能需要 15 分鐘,才會開始提供服務。"
- "您的手機尚未啟用。"\n"建議您移到收訊較佳的地方 (例如窗邊或戶外)。"\n\n"請再試一次,或向客戶服務中心洽詢其他啟用方式。"
+ "您的手機未啟用。"\n"建議您移往收訊較佳處 (例如窗邊或戶外)。"\n\n"請再試一次,或向客戶服務中心洽詢其他啟用方式。""過度調整 SPC 錯誤""返回""再試一次""下一頁"
- "返回""EcmExitDialog""已進入緊急回撥模式""緊急回撥模式"
@@ -573,87 +493,69 @@
"接下來將出現 %s 分鐘的資料斷線狀態"
- "手機在接下來的 %s 分鐘內都將處於緊急回撥模式。在此模式中,所有使用資料連線的應用程式皆無法運作。您要立即退出嗎?"
- "手機在接下來的 %s 分鐘內都將處於緊急回撥模式。在此模式中,所有使用資料連線的應用程式皆無法運作。您要立即退出嗎?"
+ "手機在接下來的 %s 分鐘都將處於緊急回撥模式。在這個模式中,所有使用數據連線的應用程式皆無法運作。您要立即退出嗎?"
+ "手機在接下來的 %s 分鐘都將處於緊急回撥模式。在這個模式中,所有使用數據連線的應用程式皆無法運作。您要立即退出嗎?"
- "緊急回撥模式不支援您要執行的功能。接下來將出現 %s 分鐘的資料斷線狀態,您要立即退出嗎?"
- "緊急回撥模式不支援您要執行的功能。接下來將出現 %s 分鐘的資料斷線狀態,您要立即退出嗎?"
+ "緊急回撥模式不支援您要執行的操作。手機在接下來的 %s 分鐘都將處於這個模式,您要立即退出嗎?"
+ "緊急回撥模式不支援您要執行的操作。手機在接下來的 %s 分鐘都將處於這個模式,您要立即退出嗎?"
- "您所選取的動作無法在撥打緊急電話時執行"
- "正在退出緊急回撥模式"
+ "緊急通話模式不支援您要執行的操作。"
+ "正在退出緊急回撥模式""是""否""關閉"
- "語音信箱設定"
- "<未設定>"
- "語音信箱服務"
- "%s的設定"
+ "服務"
+ "設定"
+ "<未設定>""其他通話設定"
- "撥號"
- "正在透過 ^1 去電"\n"^2"
- "向右拖曳以接聽來電"
- "向左拖曳以關閉鈴聲"
- "向左拖曳以拒絕通話"
- "向右拖曳以接聽來電並保留"\n"目前的通話"
- "向右拖曳以接聽來電並結束"\n"目前的通話"
- "向右拖曳以接聽來電並結束"\n"目前保留的通話"
- "接聽"
- "拒絕"
+ "正在透過 %s 撥號""聯絡人相片""私人通話""選取聯絡人""網路電話設定""網路電話 (SIP) 帳戶""帳戶"
- "管理網路電話 (SIP) 帳戶和狀態""接聽來電""會減少電池電量"
- "設定通話選項""使用網路電話""撥打網路電話 (僅限 Wi-Fi)""數據網路可用時,適用於所有通話""僅適用於網路電話""每次通話都詢問""適用於所有通話"
- "自動註冊"
- "透過 SIP 撥出通話""撥打電話""使用網路電話帳戶:""一律用於撥打網路電話"
- "您可以使用 [通話設定],在網路電話設定下選取其他帳戶,以變更撥打電話時所使用的預設網路電話帳戶"
+ "如要變更預設使用的網路電話帳戶,請前往 [手機] > [設定] > [網路電話設定] > [帳戶] 畫面調整設定。""手機電話""網路電話""沒有網路電話帳戶"
- "這支手機上沒有任何網路電話帳戶,要立即新增一個帳戶?"
+ "這支手機沒有設定任何網路電話帳戶,您要立即新增帳戶嗎?""新增""新增帳戶""移除帳戶""SIP 帳戶"
- "正在儲存帳戶..."
- "正在移除帳戶..."
+ "正在儲存帳戶..."
+ "正在移除帳戶...""儲存""捨棄""關閉設定檔""確定""關閉"
- "主要"
- "將這個帳戶設為我的主要帳戶"
- "用於外撥通話"
- "進階設定""主要帳戶。%s""正在檢查狀態..."
- "註冊中..."
- "仍在嘗試中..."
- "不接聽來電"
- "由於沒有網際網路連線,已停止帳戶的註冊作業"
- "因沒有 Wi-Fi 連線而停止註冊帳戶"
- "帳戶註冊失敗"
- "接聽來電"
+ "註冊中..."
+ "仍在嘗試中..."
+ "無法接聽電話。"
+ "因沒有網際網路連線,帳戶的註冊作業已停止。"
+ "找不到 WiFi 連線,帳戶註冊作業已中止。"
+ "帳戶註冊失敗。"
+ "可以接聽電話。""帳戶註冊失敗:(%s);將於稍後重試"
- "帳戶註冊失敗:使用者名稱或密碼不正確"
- "帳戶註冊失敗:請檢查伺服器名稱"
- "這個帳戶目前由 %s 應用程式使用中"
+ "帳戶註冊失敗:使用者名稱或密碼不正確。"
+ "帳戶註冊失敗:請檢查伺服器名稱。"
+ "這個帳戶目前由 %s 應用程式使用中。""SIP 帳戶詳細資料""SIP 帳戶詳細資料""伺服器"
@@ -664,9 +566,6 @@
"通訊埠號碼""傳輸類型""傳送 keep-alive"
- "傳送 SIP keep-alive 訊息"
- "自動註冊"
- "自動註冊設定檔""設為主要帳戶""用於外撥通話""選用設定"
@@ -677,12 +576,12 @@
"<選擇性>""▷ 輕觸即可全部顯示""▽ 輕觸即可全部隱藏"
- "%s 為必填,不能留空"
- "通訊埠號碼必須介於 1000 到 65534 之間"
+ "「%s」為必填欄位,不得留空。"
+ "通訊埠號碼必須介於 1000 到 65534 間。""沒有網際網路連線""沒有 Wi-Fi 連線"
- "如要撥打網路電話,請先檢查您的網際網路連線"
- "您必須連上 Wi-Fi 網路才能使用網路電話 (使用 [無線網路和網路] 設定)"
+ "如要撥打網路電話,請先檢查您的網際網路連線。"
+ "您必須連上 WiFi 網路才能使用網路電話 (使用 [無線網路與網路設定])。""不支援網路電話""自動""一律傳送"
@@ -691,7 +590,7 @@
"我待會就回電。""我晚點回電。""我現在不方便通話,晚點再打來好嗎?"
- "自訂訊息..."
+ "自訂訊息""快速回應""編輯快速回應"
@@ -709,7 +608,6 @@
"星號""零""井字鍵"
- "搜尋""撥號""Backspace""喇叭已啟用"
@@ -719,9 +617,22 @@
"拒絕""震動""震動"
+ "鈴聲"
- "一律"
- "靜音時才啟用"
- "永遠不要"
+ "一律啟用"
+ "僅在靜音時啟用"
+ "永不啟用"
+ "手機鈴聲"
+ "鈴響時震動"
+ "撥號鍵盤觸控音效"
+ "鈴聲"
+ 切換行動網路(2G/3G)
+ 被授予此權限的應用程式能夠於任何時候在 2G 及 3G 行動網路之間進行切換。使用 3G 行動網路取存資料的速度會比較快,但相對的會消耗較多的電池電量,亦會令您花費較多的金錢。
+ 進階設定
+ 接聽震動
+ 45秒震動
+ 撥出通話後到45秒時震動
+ 掛斷震動
+ 來電待接震動
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 9216e9a75..9c2445c1b 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -25,39 +25,27 @@
"Inombolo eyimfihlo""Ifoni ekhokhelwayo""Ibambile"
- "Ikholi yamanje""Ulayini umatasa""Inethiwekhi imatasa""Ayikho impendulo, isikhathi siphelile""Iseva ayitholakali""Inombolo ayifinyeleleki""Igama lomsebenzisi noma iphasiwedi engalungile"
- "Kushayelwe kwinethiwekhi yangaphandle"
+ "Kushayelwe kwinethiwekhi yangaphandle""Iphutha leseva. Zama futhi emva kwesikhathi.""Ayikho isignali""Umkhawulo we-ACM ufinyelelwe""Umsakazo uvaliwe"
- "Ayikho i-SIM, noma iphutha le-SIM"
+ "Ayikho i-SIM, noma iphutha le-SIM""Indawo engenayo isevisi""Izincingo eziphumayo zivinjelwe i-FDN."
- "Awukwazi ukwenza amakholi aphumayo ngenkathi ukuvimba kuvuliwe."
+ "Awukwazi ukwenza amakholi aphumayo ngenkathi ukuvimba kuvuliwe.""Wonke amakholi avimbelwa ngesilawuli sokufinyelela.""Amakholi aphuthumayo avinjelwe isilawuli sokufinyelela.""Amakholi avamile avinjelwe ukulawula kokufinyelela."
- "I-CDMA: Ifoni ivaliwe kuze kube umjikelezo wamandla."
- "I-CDMA: Ikholi idrojiwe."
- "I-CDMA: Ikholi ingenelelwe."
- "I-CDMA: irekhoda."
- "I-CDMA: Ukwenqaba Okukhethwayo Kwensizakalo."
- "I-CDMA: zama futhi i-oda."
- "I-CDMA: Ukwehluleka ukufinyelela."
- "I-CDMA: Ayinalutho"
- "Amakholi aphuthumayo kuphela angeziwe."
- "Inombolo Engalungile"
+ "Inombolo Engalungile""Ikholi yengqungquthela""Ucingo lwakho lulahlekile."
- "Zama futhi"
- "Ikholi ilahlekile""KULUNGILE""Ikhodi ye-MMI iqalile""Ikhodi ye-USSD iyasebenza..."
@@ -69,23 +57,14 @@
"I-headset enezincingo""Bluetooth""Thumela amathoni alandelayo?"\n
- "Ithumela Amathoni "\n
+ "Ithumela Amathoni "\n"Thumela""Yebo""Cha"
- "Buyisela uhlamvu olugqamile ngolu"
+ "Miselela uhlamvu lwasendle nge""Inombolo engekho yomyalezo wezwi""Ayikho inombolo yomlayezo wezwi egcinwe ekhadini le-SIM.""Engeza inombolo"
- "Iyalayisha..."
- "Thayipha ikhodi ye-PIN ukuze uvule ikhadi le-SIM"
- "I-SIM ivuliwe"
- "Ikhodi Entsha ye-SIM PIN"
- "Thayipha futhi ikhodi entsha ye-SIM PIN ukuqinisekisa"
- "Ama-PIN e-SIM owathayiphile awafani. Sicela uzame futhi."
- "Thayipha ikhodi ye-PUK ukuze uvule ikhadi le-SIM"
- "Ikhodi ye-PUK engalungile!"
- "Qhubeka""Ikhadi lakho le-SIM livuliwe. Ifoni yakho iyavula...""Inethiwekhi ye-SIM yokuvula i-PIN""Vula"
@@ -93,8 +72,6 @@
"Icela ukuvula inethiwekhi...""Isicelo sokuvula inethiwekhi asiphumelelanga.""Ukuvula inethiwekhi kuphumelele."
- "IMEI"
- "I-MEID""Izilungiselelo zekholi ze-GSM""Izilungiselelo zekholi ye-CDMA""Amagama Endawo Yokungena"
@@ -109,6 +86,7 @@
"Izilungiselelo zekholi ezengeziwe ze-CDMA kuphela""Izilungiselelo zensizakalo yenethiwekhi""I-ID yomshayeli"
+ "Ilayisha izilungiselelo...""Inombolo ifihliwe kwizincingo eziphumayo""Inombolo iboniswe kwizincingo eziphumayo""Sebenzisa izilungiselelo zo-opheretha ezimisiwe ukubonisa inombolo yami ezincingweni eziphumayo"
@@ -127,17 +105,17 @@
"Bala uma imatasa""Idlulisela ku-{0}""Khutshaziwe"
- "Isiphathi sakho asisekeli ukuvimbela ukudlulisa ucingo lapho ifoni yakho imatasa."
+ "Isiphathi sakho asisekeli ukuvimbela ukudlulisa ucingo lapho ifoni yakho imatasa.""Dlulisa uma ungaphendulwa""Bala uma ingaphendula""Idlulisela ku-{0}""Khutshaziwe"
- "Isiphathi sakho asisekeli ukuvimbela ukudlulisa ucigo lapho ifoni yakho ingaphenduli."
+ "Isiphathi sakho asisekeli ukuvimbela ukudlulisa ucigo lapho ifoni yakho ingaphenduli.""Dlulisa uma ingatholakali""Inombolo uma ingatholakali""Idlulisela ku-{0}""Khutshaziwe"
- "Isiphathi sakho asisekeli ukuvimbela ukudlulisela ucingo lapho ifoni yakho ingafinyeleleki."
+ "Isiphathi sakho asisekeli ukuvimbela ukudlulisela ucingo lapho ifoni yakho ingafinyeleleki.""Izilungiselelo zekholi""Iphutha lokulungiselela ikholi""Ifunda izilungiselelo..."
@@ -145,8 +123,8 @@
"Iguqula izilungiselelo.""Impendulo engalindelekile kwinethiwekhi.""Iphutha lenethiwekhi noma lekhadi le-SIM."
- "Imisebenzi ivunyelwe kuphela kwizinombolo zokudayela ezingaguquki."
- "Sicela uvule umsakazo ngaphambi kokubuka lezi zilungiselelo."
+ "Izilungiselelo zezinombolo zokudayila okukhiyiwe kohlelo lokusebenza lwefoni yakho zikhanyisiwe. Njengomphumela, ezinye izici ezihlobene namakholi azisebenzi."
+ "Sicela uvule umsakazo ngaphambi kokubuka lezi zilungiselelo.""KULUNGILE""Vumela""Khubaza"
@@ -156,10 +134,9 @@
"Fihla inombolo""Bonisa inombolo"
- "Londoloza inombolo yomyalezo wezwi""Inombolo yevoyisimeyilii ishintshile."
- "Ukushintsha inombolo yemeyli yezwi akuphumelelanga."\n"Sicela uxhumane nomphathi wakho uma inkinga iqhubeka."
- "Ukudlulisela inombolo kushintshe ngokungaphumeleli."\n"Sicela uxhumane nesiphathi sakho uma inkinga iqhubeka."
+ "Ayikwazanga ukushintsha inombolo ye-voicemail."\n"Xhumana nesithwali sakho uma le nkinga iqhubeka."
+ "Ayikwazanga ukushintsha inombolo edluliselayo."\n"Xhumana nesithwali sakho uma le-nkinga iqhubeka.""Yehlulekile ukulanda kanye nokulondoloza izimiso zamanje zokuthumela."\n"Noma kunjalo shintshela kohlinzeka ngezinsiza omusha?""Azikho izinguquko ezenziwe.""Khetha insizikalo yemeyili yezwi"
@@ -171,14 +148,14 @@
"Sesha amanethiwekhi""Iphutha ngenkathi icinga amanethiwekhi.""Ibhalisa kwi %s"
- "Ikhadi lakho le-SIM alivumeli uxhumano kulenethiwekhi."
- "Ayikwazi ukuxhuma kule nethiwekhi ngalesi sikhathi. Sicela uzame futhi emva kwesikhathi."
+ "Ikhadi lakho le-SIM alivumeli uxhumano kulenethiwekhi."
+ "Ayikwazi ukuxhuma kunethiwekhi okwamanje. Zama futhi ngemva kwesikhashana.""Ibhalisiwe kwinethiwekhi"
- "Khetha u-opheretha wenethiwekhi"
+ "Khetha inkamapani yenethiwekhi""Sesha wonke amanethiwekhi atholakalayo"
- "Khetha ngokuzenzakalelayo"
- "Ngokuzenzakalelayo khetha inethiwekhi efisekayo"
- "Ukubhalisa okuzenzakalelayo..."
+ "Khetha ngokuzenzakalela"
+ "Khetha ngokuzenzakalela inethiwekhi ethandwayo"
+ "Ukubhalisa okuzenzakalelayo...""Imodi Yenethiwekhi""Shintsha imodi esebenzayo yenethiwekhi""Imodi yenethiwekhi ekhethwayo"
@@ -192,17 +169,17 @@
"Imodi yenethiwekhi ekhethwayo: i-EvDo kuphela""Imodi yenethiwekhi ekhethwayo: i-LTE/CDMA"
- "LTE / CDMA"
+ "LTE / CDMA""I-EvDo kuphela""I_CDMA w/o EvDo"
- "I-CDMA / EvDo ezenzakalelayo"
- "Okuzenzakalelayo kwe-GSM /WCDMA"
+ "I-CDMA / EvDo ezenzakalelayo"
+ "Okuzenzakalelayo kwe-GSM /WCDMA""I-WCDMA entsha""I-GSM kuphela"
- "Okukhethwayo kwe-GSM / WCDMA"
+ "Okukhethwayo kwe-GSM / WCDMA"
- "LTE / CDMA"
+ "LTE / CDMA""CDMA""Idatha ivunyelwe"
@@ -210,12 +187,11 @@
"Ukuzulazula kwedatha""Xhuma emasevisini edatha uma uzulazula""Xhuma emasevisini edatha lapho uzulazula"
- "Ulahlekelwe uxhumano lwedatha ngoba ushiye inethiwekhi yakho yasekhaya inokuzulazula kwedatha okuvuliwe."
+ "Ulahlekelwe uxhumano lwedatha ngoba ushiye inethiwekhi yakho yasekhaya inokuzulazula kwedatha okuvuliwe.""Vumela ukuzulazula kwedatha? Ungase ubhekane nezindleko eziphezulu zokuzulazula!""Okukhethwa kukho kwe-GSM/UMTS""Okukhethwa kukho kwe-CDMA""Ukusebenzisa idatha"
- "Inqubomgomo yesiphathi sedatha""Idatha esebenziswe esikhathini samanje""Isikhathi sokusebenzisa idatha""Inqubomgomo yokukala idatha"
@@ -230,7 +206,6 @@
"Isilinganiso sedatha sehliselwe ku-%1$d ama-Kb uma ukusebenzisa umkhawulo wedatha ufinyelelwe""Olunye ulwazi mayelana nenqubomgomo yokusebenzisa idatha yenethiwekhi yesiphathi sakho sefoni."
- "I-SMS Yokusakaza Iseli""I-SMS Yokusakaza Iseli""I-SMS Yokusakaza ngeSeli""I-SMS Yokusakaza yeSeli ivunyelwe"
@@ -271,15 +246,6 @@
"isi-Korean""isi-Chinese""isi-Hebrew"
-
-
- "1"
- "2"
- "3"
- "44"
- "5"
- "6"
- "7""Izilimi""Isimo Sezulu Sasendaweni"
@@ -309,9 +275,9 @@
"Amathuba Omsebenzi""Amathuba Omsebenzi avunyelwe""Amathuba Omsebenzi avimbelwe"
- "Ezokwelapha, Ezempilo kanye Nesibhedlela"
- "Ezokwelapha, Ezempilo kanye Nesibhedlela kuvunyelwe"
- "Ezokwelapha, Ezempilo kanye Nesibhedlela kuvimbelwe"
+ "Ezokwelapha, Ezempilo kanye Nesibhedlela"
+ "Ezokwelapha, Ezempilo kanye Nesibhedlela kuvunyelwe"
+ "Ezokwelapha, Ezempilo kanye Nesibhedlela kuvimbelwe""Izindaba Zobuchwephese""Izindaba Zobuchwepheshe zivunyelwe""Izindaba Zobuchwepheshe zivimbelwe"
@@ -326,35 +292,17 @@
"I-WCDMA kuphela""I-GSM kuphela""I-GSM/WCDA (okukhethwayo i-WCDMA)"
-
-
- "0"
- "1"
- "2"
- "3""Sebenzisa kuphela amanethiwekhi e-2G""Ilondoloza ibhetri""Khetha uhlelo"
- "Sintsha imodi yokuzulazula ye-cdma"
+ "Sintsha imodi yokuzulazula ye-cdma""Khetha uhlelo""Ekhaya kuphela""Okuzenzakalelayo"
- "Imodi Yokuzulazula ye-CDMA"
- "Shintsha imodi yokuzulazule ye-cdma"
- "Imodi yokuzulazula ye-CDMA"
-
- "Amanethiwekhi Asekhaya kuphela"
- "Amanethiwekhi Axhunyiwe"
- "Noma iyiphi inethiwekhi"
-
-
- "0"
- "1"
- "2"
-
+ "Imali Ekhishelwayo ye-CDMA""Okukhethwayo Kwenethiwekhi ye-CDMA""Azikakasebenziswa okwamanje!""Okukhethwayo kwenethiwekhi ye-CDMA"
@@ -363,21 +311,11 @@
"I-CDMA kuphela""I-EvDo kuphela"
-
- "0"
- "1"
- "2"
-
- "Imali Ekhishelwayo ye-CDMA""Shintsha phakathi kwe-RUIM/SIM ne-NV""Okubhalisile""I_RUIM/SIM""NV"
-
-
- "0"
- "1""Yenza idivaysi isebenze""Setha isevisi yedatha"
@@ -394,18 +332,16 @@
"Phatha Izinombolo Zokudayela Okungaguquki""Shintsha i-PIN ukuze ufinyelele kwei-FDN""Phatha uhlu lwenombolo yefoni"
- "Ubumfihlo Bezwi"
+ "Ubumfihlo Bezwi""Vumela imodi yobumfihlo ithuthukisiwe"
- "Imodi ye-TTY"
- "Vumela imodi ye-TTY""Imodi ye-TTY""Hlela imodi ye-TTY"
- "Zama futhi ngokuzenzakalelayo"
- "Vumela imodi Yokuzama Futhi Okuzenzakalelayo"
+ "Zama futhi ngokuzenzakalelayo"
+ "Vumela imodi Yokuzama Futhi Okuzenzakalelayo""Engeza othintana naye""Hlela othintana naye""Susa othintana naye"
- "Faka i-PIN2"
+ "Thayipha i-PIN2""Igama""Inombolo""Londoloza"
@@ -418,56 +354,50 @@
"Susa othintana naye wokudayela okungaguquki""Isusa othintana naye wokudayela okungaguquki...""Othintana naye wokudayela okungaguquki ususiwe"
- "I-FDN ayibukeziwe: ufake i-PIN engalungile."
- "I-FDN ayibukeziwe: inombolo ayikwazi ukudlula amadijithi angu-20."
+ "I-FDN ayivuselelwanga ngoba uthayiphe i-PIN engalungile."
+ "I-FDN ayivuselelwanga ngoba inombolo ayikwazi ukudlula ezinombolweni ezingu-20."
+ "I-FDN ayibuyekeziwe. I-PIN2 kade ingalungile, noma inombolo yefoni yenqatshelwe.""Ifunda ekhadini le-SIM...""Abekho othintana nabo ekhadini lakho le-SIM""Khetha othintana nabo ozobangenisa"
- "Ukuthatha abaxhumani ekhadini le-SIM, sicla ucishe isimo sendizamshini."
+ "Ukufaka oxhumana nabo kusuka ekhadini le-SIM, qala ngokucima imodi yeNdiza.""Vumela/Vima i-PIN ye-SI<M""Shintsha i-PIN ye-SIM""I-SIM PIN:""I-PIN endala""I-PIN entsha""Qinisekisa i-PIN entsha"
- "I-PIN yakudala oyifakile ayilungile. Sicela uzame futhi."
- "Ama-PIN owafakile awafani. Sicela uzame futhi."
+ "I-PIN yakudala oyifakile ayilungile. Sicela uzame futhi."
+ "AMa-PINs owathayiphile awafani. Zama futhi.""Thayipha i-PIN enezinombolo ezingu-4 kuya kwezingu-8.""Khubaza i-PIN ye-SIM""Vula i-PIN ye-SIM""Sicela ulinde."
- "I-PIN ye-SIM ivuliwe"
- "I-PIN ye-SIM ivaliwe."
- "I-PIN oyifakile aiylungile"
- "I-PIN ye-SIM ishintshwe ngempumelelo"
+ "I-PIN ye-SIM ivuliwe"
+ "I-PIN ye-SIM ivaliwe."
+ "I-PIN oyifakile ayilungile"
+ "I-PIN ye-SIM ishintshwe ngempumelelo""Iphasiwedi ayilungile, i-SIM ivaliwe! Kudingena i-PUK2.""I-PIN2""I-PIN2 endala""I-PIN entsha""Qinisekisa i-PIN2 entsha"
- "I-PUK2 oyifakile ayilungile. Sicela uzame futhi."
- "I-PIN2 yakudala oyifakile ayilungile. Sicela uzame futhi."
- "Ama-PIN2 owafakile awafani. Sicela uzame futhi."
+ "I-PUK2 oyifakile ayilungile. Sicela uzame futhi."
+ "I-PIN2 yakudala oyifakile ayilungile. Sicela uzame futhi."
+ "Ama-PIN2s owathayiphile akafani. Zama futhi.""Thayipha i-PIN2 enezinombolo ezingu-4 kuya kwezingu-8.""Thayipha i-PUK2 enezinombolo ezingu-8."
- "I-PIN2 ishintshwe ngempumelelo"
+ "I-PIN2 ishintshwe ngokuphumelelayo""Thayipha ikhodi ye-PUK2"
- "Iphasiwedi ayilungile, sicela ushintshe i-PIN2 bese uzama futhi!"
- "Iphasiwedi ayilungile, i-SIM ivaliwe! Kudingena i-PUK2."
+ "Iphasiwedi ayilungile, sicela ushintshe i-PIN2 bese uzama futhi!"
+ "Iphasiwedi ayilungile, i-SIM ivaliwe! Kudingena i-PUK2.""Kwenziwe""Ikholi yengqungquthela %s"
- "Buyela ocingweni"
- "Qhubeka ngaphandle kwekhadi le-SIM"
- "Alikho ikhadi le-SIM elitholakele. Sicela ufake ikhadi le-SIM efonini."
- "Cashisa"
- "Vula"
- "Iqinisekisa i-PIN...""Inombolo yevoyisimeyili""Iyadayela""Izama futhi""Ikholi yengqungquthela""Ikholi engenayo"
- "Ucingo olulindile le-Cdma""Ikholi iqediwe""Ibambile""Iyavala"
@@ -477,7 +407,7 @@
"Izincingo ezikulahlekele""%s amakholi akulahlekele""Ulahlekelwe izincingo eziphuma ku %s"
- "Ucingo lwamanje %s"
+ "Ikholi eqhubekayo""Ibambile""Ikholi engenayo""Umlayezo wezwi omusha"
@@ -486,14 +416,16 @@
"Inombolo yevoyisimeyili ayaziwa""Ayikho isevisi""Inethiwekhi ekhethiwe %s ayitholakali"
+ "Vala ikholi"
+ "Phinda ushaye"
+ "Umlayezo""Ukwenza ikholi, vala kuqala imodi Yendiza.""Ayibhalisiwe kwinethiwekhi.""Inethiwekhi yefoni ayitholakali""Ikholi ayithunyelwanga, ayikho inombolo elungile efakiwe.""Ikholi ayithunyelwanga.""Iqalisa ukulandelana kwe-MMI..."
- "Ukuqalisa ukulandelana kwekhodi yesici..."
- "Insizakalo engasekelwe."
+ "Isevisi engasekelwe.""Ayikwazi ukushintsha izincingo""Ayikwazi ukwehlukanisa ucingo.""Ayikwazi ukudlulisa ucingo."
@@ -504,18 +436,13 @@
"Ikholi ephuthumayo""Ivula umsakazo...""Indawo engenayo isevisi, iyazama futhi..."
- "Ikholi ayithunyelwe, %s akuyona inombolo ephuthumayo!"
- "Ikholi ayithunyelwanga, sicela udayela inombolo ephuthumayo!"
+ "Ikholi ayithunyelwe. I-%s akuyona inombolo ephuthumayo!"
+ "Ikholi ayithunyelwanga, sicela udayela inombolo ephuthumayo!""Sebenzisa ikhibhodi ukudayela"
- "Thinta ikhiphedi yethoni""Bamba"
- "Ukungabambi""Qeda""Iphedi yokudayela"
- "Fihla"
- "Isipikha""Thulisa"
- "I-Bluetooth""Yengeza ikholi""Hlanganisa amakholi""Shintsha"
@@ -534,36 +461,31 @@
"I-TTY HCO""I-TTY VCO"
- "Umbhalo we-ERI"
- "Amathoni e-DTMF"
+ "Amathoni e-DTMF""Hlela ubude bamathoni e-DTMF""Jwayelekile""Kude"
- "Umyalezo Wenethiwekhi"
+ "Umlayezo Wenethiwekhi""Yenza ifoni yakho isebenze"
- "Ikholi ekhethekile kumele yenziwe ukuze wenze insizakalo yefoni yakho isebenze."\n\n"Emva kokucindezela \"Yenza kusebenze\", lalela iziqondiso ezinikeziwe ukwenza ifoni yakho isebenze."
- "Thinta \"Yenza kusebenze\" ukwenza ucingo olukhethekile olwenza ifoni yakho isebenze kwinethiwekhi yefoni yesiphathi, ngakho ke ungenza amakholi bese uxhuma kumanethiwekhi edatha yefoni."
+ "Ikholi ekhethekile kumele yenziwe ukuze wenze isevisi yefoni yakho isebenze."\n\n"Emva kokucindezela \"Yenza kusebenze\", lalela iziqondiso ezinikeziwe ukwenza ifoni yakho isebenze.""Yeqa ukwenza kusebenze?""Uma weqa ukwenza kusebenze, awukwazi ukwenza izincingo noma xhuma kumanethiwekhi edatha yefoni (nakuba ungakwazi ukuxhuma kumanethiwekhi e-Wi-Fi). Kuze kube yilapho wenza ifoni yakho isebenze, ucelwa ukuba wenze isebenze""Yeqa"
- "Yenza kusebenze""Yenza kusebenze"
- "Ifoni yenziwe yasebenza!"
+ "Ifoni yenziwe yasebenza!""Inkinga yokwenza kusebenze""Landela iziqondiso ezikhulunyiwe kuze kube yilapho uzwa ukuthi ukwenza kusebenze kuqedile."
- "Ikhiphedi""Isipikha"
- "Sicela ulinde ngenkathi ifoni ihlelwa."
- "Ukuhlela Akuphumelelanga"
- "Ifoni yakho manje iyasebenza. Kungase kuthathe amaminithi angu-15 ukuze insizakalo iqale."
- "Ifoni yakho ayizange isebenze. "\n"Kungase kudingeke ukuba uthole indawo enenethiwekhi (eduze kwefasitela, noma ngaphandle)."\n\n"Zama futhi noma shayela insizakalo yekhasimende ukutholo okunye okukhethwayo."
+ "Sicela ulinde ngenkathi ifoni ihlelwa."
+ "Ukuhlela Akuphumelelanga"
+ "Ifoni yakho manje iyasebenza. Kungase kuthathe amaminithi angu-15 ukuze isevisi iqale."
+ "Ifoni yakho ayizange isebenze. "\n"Kungase kudingeke ukuba uthole indawo enenethiwekhi (eduze kwefasitela, noma ngaphandle)."\n\n"Zama futhi noma shayela isevisi yekhasimende ukutholo okunye okukhethwayo.""FINYELELA UKWEHLULEKA KWE-SPC""Emuva""Zama futhi""Okulandelayo"
- "Emuva""EcmPhuma Kwingxoxo""Ingene Kwimdoi Yokuphinda Ukushayela Okuphuthumayo""Imodi Yokuphinda Ukushayela Okuphuthumayo"
@@ -573,87 +495,69 @@
"Alukho uxhumano lwamaminithi angu-%s"
- "Ifoni izoba kwimodi yokuphinda ukushayela okuphuthumayo kwemizuzu engu-%s. Ngenkathi ikule modi azikho izinhlelo zokusebenza ezisebenzisa uxhumano lwedatha ezingasebenziswa. Ingabe ungathanda ukuphuma manje?"
- "Ifoni izoba kwimodi yokuphinda ukushayela okuphuthumayo amaminithi angu-%s. Ngenkathi ikulemodi azikho izinhlelo zokusebenza ezingasetshenziswa kusebenziswa uxhumano lwedatha. Ingabe ungathanda ukuphuma manje?"
+ "Ucingo luzoba semodini ye-Emergency Callback amaminithi angu-%s. Ngenkathi ikule modi awekho ama-apps asebenzisa ukuxhumana kwedatha angasetshenziswa. Ufuna ukuphuma manje?"
+ "Ucingo luzoba semodini ye-Emergency Callback amaminithi angu-%s. Ngenkathi ikule modi azikho izinhlelo ezisebenzisa ukuxhumana kwedatha ezingasetshenziswa. Ufuna ukuphuma manje?"
- "Isenzo esikhethiwe asitholakali ngenkathi ikwimodi yokuphinda ukushaya ephuthumayo. Ifoni izoba kwilemodi amaminithi angu- %s. Ungathanda ukuphuma manje?"
- "Isenzo esikhethiwe asitholakali ngenkathi ukwimodi yokuphinda kushayela ephuthumayo. Ifoni izoba kulemodi amaminithi angu- %s. Ungathanda ukuphuma manje?"
+ "Isenzo esikhethiwe asitholakali uma usemodini ye-Emergency Callback. Ucingo luzoba kule modi amaminithi angu-%s. Ufuna ukuphuma manje?"
+ "Isenzo esikhethiwe asitholakali ngenkathi ukumodi ye-Emergency Callback. Ucingo luzoba kule modi amaminithi angu-%s. Ufuna ukuphuma manje?"
- "Isenzo esikhethiwe asitholakali ngenkathi usocingweni oluphuthumayo"
- "Ikhipha Imodi Yokuphinda Ukushaya Okuphuthumayo"
+ "Isenzo esikhethiwe asitholakali ngenkathi usocingweni oluphuthumayo"
+ "Ikhipha Imodi Yokuphinda Ukushaya Okuphuthumayo""Yebo""Cha""Susa"
- "Izilungiselelo zemeyili yezwi"
- "ayisethiwe"
- "Insizakalo yemeyili yezwi"
- "Izilungiselelo ze-%s"
+ "Isevisi"
+ "Ukumisa"
+ "<Ayisethiwe>""Ezinye izilungiselelo zekholi"
- "Dayela"
- "Ishayela nge ^1 "\n"^2"
- "Donsela ngokwesokudla ukuphendula"
- "Donsela ngokwesokunxele ukuthulisa isikhali"
- "Donsela ngokwesokunxele ukwenqaba"
- "Donsela ngokwesokudla ukuphendula "\n"bese ubambisa ikholi okade ukuyo"
- "Donsela ngokwesokudla ukuphendula bese"\n"umisa ucingo"
- "Donsela ngokwesokudla ukuphendula bese"\n"uphothula ikholi ekulindile"
- "Phendula"
- "Nqaba"
+ "Ishaya ucingo nge %s""isithombe sothintana naye""yenza kube imfihlo""khetha othintana naye""Izilungiselelo zekholi ye-Inthanethi""Ama-akhawunti okushayela nge-Inthanethi (SIP)""Ama-akhawunti"
- "Phatha ama-akhawunti okufona nge-Inthanethi (SIP) kanye nesimo""Thola amakholi angenayo""Yehlisa ukuphila kwebhetri"
- "Misa okukhethwa kukho kwekholi""Sebenzisa ukushayela nge-Inthanethi""Sebenzisa ukushayela nge-Inthanethi (i-Wi-Fi kuphela)""Yamakholi wonke uma uxhumano lwedatha lutholakala""Amakholi e-Inthanethi kuphela""Cela ikholi ngayinye""Yamakholi wonke"
- "Ukubhalisa okuzenzakalelayo"
- "Ikholi ephumayo nge-SIP""Yenza ikholi""Sebenzisa i-akhawunti yokushayela nge-Inthanethi:""Njalo sebenzisa ukwenza izincingo nge-Inthanethi"
- "Ungasebenzisa izilungiselelo Zekholi ukushintsha ukuthi iyiphi i-akhawunti yokufona nge-Inthanethi ongayisebenzisa ngokumisiwe lapho wenza izincingo, ngokukhetha i-akhawunti ehlukene ngaphansi kwezilungiselelo zokufona nge-Inthanethi"
+ "Ungashintsha ukuthi iyiphi i-akhawunti yokushaya ye-Inthanethi ongayisebenzisa ngokwakhona kusuka Ocingweni > Izilungisele > Izilungiselelo zokushaya ze-inthanethi > Ukubukwa kwama-Akhawunti.""Ikholi yeselula foni""Ikholi ye-Inthanethi""Ayikho i-akhawunti yokushayela nge-Inthanethi"
- "Awekho ama-akhawunti okufona nge-Inthanethi kulefoni. Faka entsha manje?"
+ "Awekho ama-akhawunti okushaya we-inthanethi kulolu cingo. Ufuna ukuwangeza manje?""Yengeza""Yengeza i-akhawunti""Susa i-akhawunti""Ama-akhawunti e-SIP"
- "Igcina i-akhawunti..."
- "Ikhipha i-akhawunti..."
+ "Ilondolza i-akhawunti..."
+ "Ikhipha i-akhawunti...""Londoloza""Lahla""Vala iphrofayli""KULUNGILE""Vala"
- "Qalisayo"
- "Yenza lokhu kube i-akhawunti yami eyinhloko"
- "Isetshenziselwa izincingo eziphumayo"
- "Izilungiselelo ezithuthukisiwe""I-akhawunti eyinhloko. %s""Ihlola isimo..."
- "Iyabhalisa..."
- "Isazama..."
- "Ayitholi amakholi"
- "Ukubhalisela i-akhawunti kumile ngoba alukho uxhumano lwe-Inthanethi"
- "Ukubhalisa i-akhawunti kumile ngoba alukho uxhumano lwe-Wi-Fi"
- "Ukubhalisa i-akhawunti kwehlulekile"
- "Ithola amakholi"
+ "Iyabhalisa..."
+ "Isazama..."
+ "Ayitholi amakholi"
+ "Ukubhalisela i-akhawunti kumile ngoba alukho uxhumano lwe-Inthanethi"
+ "Ukubhalisa i-akhawunti kumile ngoba alukho uxhumano lwe-Wi-Fi"
+ "Ukubhalisa i-akhawunti kwehlulekile"
+ "Ithola amakholi""Ukubhalisa i-akhawunti kwehlulekile: (%s); izozama emva kwesikhathi"
- "Ukubhalisela i-akhawunti kwehlulekile: igama lomsebenzisi elingalungile noma iphasiwedi"
- "Ukubhalisa i-akhawunti kwehlulekile: sicela uhlole igama leseva"
- "Le akhawunti okwamanje isebenziswa %s uhlelo lokusebenza"
+ "Ukubhalisela i-akhawunti kwehlulekile: igama lomsebenzisi noma iphasiwedi elingalungile"
+ "Ukubhalisa i-akhawunti kwehlulekile: sicela uhlole igama leseva"
+ "Le akhawunti okwamanje isetshenziswa i-app ye-%s.""Imininingwane ye-akhawunti ye-SIP""Imininingwane ye-akhawunti ye-SIP""Iseva"
@@ -664,9 +568,6 @@
"Inombolo yembobo""Uhlobo lokuhamba""Thumula gcina kuphila"
- "Thumela imiyalezo yokugcina kuphila"
- "Ukubhalisa okuzenzakalelayo"
- "Bhalisa iphrofayli ngokuzenzakalelayo""Misa njenge-akhawunti eyinhloko""Setshenziselwa izincingo eziphumayo""Izilungiselelo zokuzikhethela"
@@ -677,12 +578,12 @@
"<Okokuzikhethela>""▷ Thinta ukubonisa konke""▽ Thinta ukufihla konke"
- "%s iyadingeka, ayikwazi ukungabi nalutho"
- "Inombolo yembobo kumele ibe phakathi kuka-100 no-65534"
+ "I-%s iyadingeka, ayikwazi ukungabi nalutho"
+ "Inombolo yembobo kumele ibe phakathi kuka-100 no-65534""Alukho uxhumano lwe-Inthanethi""Alukho uxhumano lwe-Wi-Fi"
- "Ukwenza ikholi nge-Inthanethi, hlola kuqala uxhumano lwakho lwe-Inthanethi"
- "Kumele uxhumeke kwinethiwekhi ye-Wi-Fi ukwenza amakholi nge-Inthanethi (sebenzisa izilungiselelo Zenethiwekhi Engenantambo &)"
+ "Ukwenza ikholi nge-Inthanethi, hlola kuqala uxhumano lwakho lwe-Inthanethi"
+ "Kumele uxhumeke kwinethiwekhi ye-Wi-Fi ukwenza amakholi nge-Inthanethi (sebenzisa izilungiselelo Zenethiwekhi; Nokungenantambo)""Ukushayela nge-Inthanethi akusekelwe""Okuzenzakalelayo""Thumela njalo"
@@ -691,7 +592,7 @@
" Ngizophinde ngikushayele ucingo.""Ngizokushayela ucingo emva kwesikhathi""Angikwazi ukukhuluma okwamanje. Ngicela uphinde ungishayele ucingo kamuva?"
- "Umlayezo ngokwezifiso..."
+ "Umlayezo ngokwezifiso...""Izimpendulo ezisheshayo""Hlela izimpendulo ezisheshayo"
@@ -709,7 +610,6 @@
"inkanyezi""lutho""iphawundi"
- "sesha""dayela""i-backspace""Isipikha sefoni sinikwe amandla"
@@ -719,9 +619,14 @@
"Nqaba""Dlidliza""Dlidliza"
+ "Ithoni yokukhala""Njalo""Kuphela uma ithulile""Akusoze"
+ "Ithoni yokukhala kocingo"
+ "Dlidlizisa uma ikhala"
+ "Amathoni okuthinta iphedi yokudayela"
+ "Ithoni yokukhala"
diff --git a/res/values/array.xml b/res/values/array.xml
index 86bd7d038..71e6f477d 100644
--- a/res/values/array.xml
+++ b/res/values/array.xml
@@ -49,17 +49,17 @@
@string/sip_always_send_keepalive
-
-
- @*android:drawable/ic_lockscreen_answer
- @*android:drawable/ic_lockscreen_send_sms
- @*android:drawable/ic_lockscreen_decline
+ @drawable/ic_lockscreen_answer
+ @drawable/ic_lockscreen_text
+ @drawable/ic_lockscreen_decline@null"
@@ -80,9 +80,9 @@
- Answer (drag right)
- Reject (drag left) -->
- @*android:drawable/ic_lockscreen_answer
+ @drawable/ic_lockscreen_answer@null
- @*android:drawable/ic_lockscreen_decline
+ @drawable/ic_lockscreen_decline@null"
@@ -98,4 +98,15 @@
@null
+
+
+
+
+
+
+
+
diff --git a/res/values/colors.xml b/res/values/colors.xml
index c14b2a158..a3b946cf4 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -15,18 +15,23 @@
-->
-
- #EECF6A#99CE3F#A0000000
- #8033b5e5
+ #8033b5e5#FFFFFF
+ #40000000#FFFFFF#33B5E5
+
+
+ #cc000000
+
+
+ #888888
diff --git a/res/values/config.xml b/res/values/config.xml
index eb9de4c3f..95b44240b 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -91,6 +91,9 @@
false
+
+ noise_suppression=on=off
+
false
+
+
+ false
+
+
+
+
+
+ false
+
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 0e1d9aa22..97a149633 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -25,25 +25,13 @@
and the top of the in-call button cluster. -->
2dp
-
- 260dp
-
24dp16dp
-
- 10dp
- 5dp
+
+ 8dp76dp
-
- 56dp
-
74dp
+
+ 56dp
+
+
+ @dimen/in_call_button_height
+
- 180dp
- 180dp
- 0dp
-
-
- 30dp
- 270dp10dp5dp10dp
@@ -90,20 +72,23 @@
0px
-
- 160dp
-
206515
+
+
+ 64dp
+
+
+ 94dp
+
+ 28dp
+
diff --git a/res/values/ids.xml b/res/values/ids.xml
index 0f6c8337a..b004051ba 100755
--- a/res/values/ids.xml
+++ b/res/values/ids.xml
@@ -22,6 +22,6 @@
-
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
old mode 100755
new mode 100644
index 57382dfb6..88ccdd6e2
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -42,9 +42,7 @@
Pay phoneOn hold
-
- Current call
-
+ Line busy
@@ -58,7 +56,7 @@
Incorrect username or password
- Called from out of network
+ Called from out-of-networkServer error. Try again later.
@@ -68,47 +66,25 @@
Radio off
- No SIM, or SIM error
+ No SIM or SIM errorOut of service areaOutgoing calls are restricted by FDN.
- You cannot make outgoing calls while call barring is on.
+ You can\'t make outgoing calls while call barring is on.All calls are restricted by access control.Emergency calls are restricted by access control.Normal calls are restricted by access control.
-
- CDMA: Phone locked until power cycle.
-
- CDMA: Call dropped.
-
- CDMA: Call intercepted.
-
- CDMA: reorder.
-
- CDMA: Service Option Reject.
-
- CDMA: retry order.
-
- CDMA: Access unsuccessful.
-
- CDMA: Preempted.
-
- Only Emergency calls are possible.
- Invalid Number
+ Invalid numberConference callCall has been lost.
-
- Retry
-
- Call LostOK
@@ -143,7 +119,7 @@
- Sending Tones\n
+ Sending tones\nSend
@@ -153,7 +129,7 @@
- Replace the wild character with
+ Replace wild character with
@@ -163,27 +139,6 @@
Add number
-
- Loading\u2026
-
-
-
- Type PIN code to unlock SIM card.
-
- SIM unlocked
-
- New SIM PIN code
-
- Type new SIM PIN code again to confirm
-
- The SIM PINs you typed do not match. Please try again.
-
- Type PUK code to unlock SIM card
-
- Incorrect PUK code!
-
- ContinueYour SIM card has been unblocked. Your phone is unlocking\u2026
@@ -200,12 +155,6 @@
Network unlock successful.
-
- IMEI
-
-
- MEID
-
@@ -218,6 +167,10 @@
Network settingsVoicemail
+
+ Message Wait Indicator
+
+ Show message wait indicator voicemail notificationsVM:
@@ -236,6 +189,8 @@
Network service settingsCaller ID
+
+ Loading settings\u2026Number hidden in outgoing calls
@@ -275,7 +230,7 @@
Disabled
- Your carrier does not support disabling call-forwarding when your phone is busy.
+ Your operator doesn\'t support disabling call forwarding when your phone is busy.Forward when unanswered
@@ -286,7 +241,7 @@
Disabled
- Your carrier does not support disabling call-forwarding when your phone doesn\'t answer.
+ Your operator doesn\'t support disabling call forwarding when your phone doesn\'t answer.Forward when unreachable
@@ -297,7 +252,7 @@
Disabled
- Your carrier does not support disabling call-forwarding when your phone is unreachable.
+ Your carrier doesn\'t support disabling call forwarding when your phone is unreachable.Call settings
@@ -313,10 +268,11 @@
Unexpected response from network.Network or SIM card error.
-
- Operations are only allowed on fixed dialing numbers.
+
+ Your Phone app\'s Fixed Dialing Numbers setting is turned on. As a result, some call-related features aren\'t working.
- Please turn on the radio before viewing these settings.
+ Turn on the radio before viewing these settings.OK
@@ -336,7 +292,7 @@
Show number
-
+ DEFAULT
@@ -345,15 +301,13 @@
SHOW
-
-
- Save voicemail number
+ Voicemail number changed.
- Voicemail number change unsuccessful.\nPlease contact your carrier if this problem persists.
+ Couldn\'t change the voicemail number.\nContact your carrier if this problem persists.
- Forwarding number change unsuccessful.\nPlease contact your carrier if this problem persists.
+ Couldn\'t change the forwarding number.\nContact your carrier if this problem persists.Couldn\'t retrieve and save current forwarding number settings.\nSwitch to the new provider anyway?
@@ -363,7 +317,7 @@
My carrier
-
+ Mobile network settings
@@ -379,20 +333,20 @@
Registering on %s\u2026
- Your SIM card does not allow a connection to this network.
+ Your SIM card doesn\'t allow a connection to this network.
- Unable to connect to this network at this time. Please try again later.
+ Can\'t connect to this network right now. Try again later.Registered on network.
- Select a network operator
+ Choose a network operatorSearch for all available networks
- Select automatically
+ Choose automatically
- Automatically select preferred network
- Automatic registration...
+ Automatically choose preferred network
+ Automatic registration\u2026Network ModeChange the network operating modePreferred network mode
@@ -414,16 +368,22 @@
Preferred network mode: EvDo onlyPreferred network mode: LTE / CDMA
+
+ Preferred network mode: LTE / GSM/WCDMA
+
+ Preferred network mode: LTE / CDMA / EvDo
+
+ Preferred network mode: LTE / CMDA / EvDo / GSM/WCDMA
- LTE / CDMA
+ GlobalEvDo onlyCDMA w/o EvDo
- CDMA / EvDo auto
- GSM / WCDMA auto
+ CDMA/EvDo auto
+ GSM/WCDMA autoWCDMA onlyGSM only
- GSM / WCDMA preferred
+ GSM/WCDMA preferred"7"
@@ -437,13 +397,28 @@
- LTE / CDMA
- CDMA
+ LTE only
+ LTE/CMDA/EvDo/GSM/WCDMA
+ LTE/CDMA/EvDo
+ LTE/CDMA
+ CDMA/EvDo auto
+ "11"
+ "10"
+ "8""7""4"
+
+
+ LTE/GSM/WCDMA
+ GSM/WCDMA preferred
+
+
+ "9"
+ "0"
+ Data enabled
@@ -453,11 +428,17 @@
Connect to data services when roaming
- Connect to data services when roaming
+ Don\'t connect to data services when roaming
+
+ National data roaming
+
+ Connect to data services when nationally roaming
+
+ Don\'t connect to data services when nationally roaming
- You have lost data connectivity because you left your home network with data roaming turned off.
+ You\'ve lost data connectivity because you left your home network with data roaming turned off.Allow data roaming? You may incur significant roaming charges!GSM/UMTS Options
@@ -465,8 +446,6 @@
Data usage
-
- Carrier data policyData used in current period
@@ -488,9 +467,6 @@
More information about your carrier\'s mobile network data use policy
-
- Cell Broadcast SMS
-
Cell Broadcast SMSCell Broadcast SMS
@@ -543,7 +519,7 @@
ChineseHebrew
-
+ "1""2""3"
@@ -590,9 +566,9 @@
Employment Opportunities enabledEmployment Opportunities disabled
- Medical, Health and Hospital
- Medical, Health and Hospital enabled
- Medical, Health and Hospital disabled
+ Medical, Health, and Hospital
+ Medical, Health, and Hospital enabled
+ Medical, Health, and Hospital disabledTechnology NewsTechnology News enabled
@@ -602,9 +578,8 @@
Multi-category enabledMulti-category disabled
-
- GSM/UMTS Network Preferences
- Not implemented yet!
+ Network Preferences
+ Change the network operating modeGSM/UMTS network preferencesGSM/WCDMA (auto mode)
@@ -612,11 +587,11 @@
GSM onlyGSM/WCDA (WCDMA preferred)
-
- "0"
- "1"
- "2"
+ "3"
+ "2"
+ "1"
+ "0"
@@ -628,7 +603,7 @@
System select
- Change the cdma roaming mode
+ Change the CDMA roaming modeSystem select
@@ -648,41 +623,27 @@
"2"
-
- CDMA Roaming Mode
- Change the cdma roaming mode
- CDMA roaming mode
-
- Home Networks only
- Affiliated Networks
- Any Network
-
-
- "0"
- "1"
- "2"
-
- CDMA Network Preferences
- Not implemented yet!
+ CDMA subscription
+ Network Preferences
+ Change the network operating modeCDMA network preferencesCDMA/EvDoCDMA onlyEvDo only
-
- "0"
- "1"
+ "2"
+ "1"
+ "0"
- CDMA SubscriptionChange between RUIM/SIM and NVsubscriptionRUIM/SIMNV
-
+ "0""1"
@@ -719,14 +680,13 @@
Change PIN for FDN accessManage phone number list
- Voice Privacy
+
+ Voice privacyEnable enhanced privacy mode
- TTY mode
- Enable TTY modeTTY modeSet TTY mode
- Auto Retry
- Enable Auto Retry mode
+ Auto-retry
+ Enable Auto-retry modeAdd contact
@@ -737,7 +697,7 @@
- Enter PIN2
+ Type PIN2Name
@@ -763,9 +723,15 @@
Fixed dialing number deleted.
- FDN not updated: you entered an incorrect PIN.
+ FDN wasn\'t updated because you typed an incorrect PIN.
- FDN not updated: number cannot exceed 20 digits.
+ FDN wasn\'t updated because the number can\'t exceed 20 digits.
+
+ FDN wasn\'t updated. The PIN2 was incorrect, or the phone number was rejected.
@@ -776,7 +742,7 @@
Select contacts to import
- To import contacts from SIM card, please turn off Airplane mode.
+ To import contacts from the SIM card, first turn off Airplane mode.
@@ -792,9 +758,9 @@
Confirm new PIN
- The old PIN you typed is not correct. Please try again.
+ The old PIN you typed isn\'t correct. Try again.
- The PINs you entered do not match. Please try again.
+ The PINs you typed don\'t match. Try again.Type a PIN that is 4 to 8 numbers.
@@ -804,13 +770,13 @@
Please wait\u2026
- SIM PIN enabled
+ SIM PIN enabled.
- SIM PIN disabled
+ SIM PIN disabled.
- The PIN you typed was incorrect
+ The PIN you typed was incorrect.
- SIM PIN changed successfully
+ SIM PIN changed successfully.Password incorrect, SIM is locked! PUK2 requested.
@@ -824,50 +790,36 @@
Confirm new PIN2
- The PUK2 you typed is not correct. Please try again.
+ The PUK2 you typed isn\'t correct. Try again.
- The old PIN2 you typed is not correct. Please try again.
+ The old PIN2 you typed isn\'t correct. Try again.
- The PIN2s you entered do not match. Please try again.
+ The PIN2s you typed don\'t match. Try again.Type a PIN2 that is 4 to 8 numbers.Type a PUK2 that is 8 numbers.
- PIN2 changed successfully
+ PIN2 changed successfully.Type PUK2 code
- Password incorrect, please change PIN2 and retry!
+ Password incorrect. Change PIN2 and retry.
- Password incorrect, SIM is locked! PUK2 requested.
+ Password incorrect, SIM is locked. PUK2 requested.DoneConference call %s
-
- Back to call
- (650) 555-1234
+ (650) 555-1234
- Incoming phone number
+ Incoming phone number
- Fake Incoming Call
-
-
- Continue without SIM card
-
- No SIM card found. Please insert a SIM card into the phone.
-
-
- Dismiss
-
- Unlock
-
- Authenticating PIN\u2026
+ Fake Incoming CallVoicemail number
@@ -881,8 +833,6 @@
Conference callIncoming call
-
- Cdma callwaiting Call ended
@@ -906,8 +856,8 @@
the caller-id info from the missed call -->
Missed call from %s
- Current call (%s)
+ as the format string for a Chronometer widget. [CHAR LIMIT=60] -->
+ Ongoing callOn hold
@@ -928,6 +878,19 @@
Selected network (%s) unavailable
+
+ Hang up
+
+ Call back
+
+ MessageTo place a call, first turn off Airplane mode.
@@ -942,8 +905,6 @@
Call not sent.Starting MMI sequence\u2026
-
- Starting feature code sequence\u2026Unsupported service.
@@ -971,35 +932,22 @@
- Call not sent, %s is not an emergency number!
+ Call not sent. %s is not an emergency number!
- Call not sent, please dial an emergency number!
+ Call not sent. Dial an emergency number!Use keyboard to dial
-
- Touch tone keypad
-
Hold
-
- UnholdEndDialpad
-
- Hide
-
- SpeakerMute
-
- BluetoothAdd call
@@ -1047,12 +995,9 @@
3
-
- ERI text
-
- DTMF Tones
+ DTMF tonesSet the length of DTMF tones
@@ -1061,13 +1006,13 @@
Long
-
+ 01
- Network Message
+ Network message
@@ -1076,21 +1021,17 @@
A special call needs to be made to activate your phone service.
\n\nAfter pressing \u201CActivate\u201D, listen to the instructions provided to activate your phone.
-
- Touch \u201CActivate\u201D to place a special call that activates your phone on your carrier\'s mobile network, so you can place calls and connect to mobile data networks.Skip activation\?If you skip activation, you can\'t place calls or connect to mobile data networks (though you can connect to Wi-Fi networks). Until you activate your phone, you are asked to activate it each time you turn it on.Skip
-
- ActivateActivate
- Phone is activated!
+ Phone is activated.Problem with activationFollow the spoken instructions until you hear that activation is complete.
-
- KeypadSpeaker
- Please wait while your phone is being programmed.
+ Wait while your phone is being programmed.
- Programming Unsuccessful
+ Programming unsuccessfulYour phone is now activated. It may take up to 15 minutes for service to start.
- Your phone did not activate.
+ Your phone didn\'t activate.
\nYou may need to find an area with better coverage (near a window, or outside).
\n\nTry again or call customer service for more options.
@@ -1121,8 +1060,6 @@
Try againNext
-
- BackEcmExitDialog
@@ -1141,21 +1078,21 @@
- The phone will be in emergency callback mode for %s minute. While in this mode no applications using a data connection can be used. Would you like to exit now?
+ The phone will be in Emergency Callback mode for %s minute. While in this mode no apps using a data connection can be used. Do you want to exit now?
- The phone will be in emergency callback mode for %s minutes. While in this mode no applications using a data connection can be used. Would you like to exit now?
+ The phone will be in Emergency Callback mode for %s minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?
- The selected action is not available while in the emergency callback mode. The phone will be in this mode for %s minute. Would you like to exit now?
+ The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minute. Do you want to exit now?
- The selected action is not available while in the emergency callback mode. The phone will be in this mode for %s minutes. Would you like to exit now?
+ The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?
- The selected action is not available while in an emergency call
+ The selected action isn\'t available while in an emergency call.
- Exiting Emergency Callback Mode
+ Exiting Emergency Callback modeYes
@@ -1165,53 +1102,29 @@
- ABSENT NUMBER
+ ABSENT NUMBER
-
- Voicemail settings
-
-
- <not set>
+
+ Service
-
- Voicemail service
+
+ Setup
-
- Settings for %s
+
+ <Not set>Other call settings
-
- Dial
+
+ Dialpad settings
+ Settings for the dialpad
- Calling via ^1\n^2
-
-
-
-
- Drag right to answer
-
- Drag left to silence ringer
-
- Drag left to decline
-
- Drag right to answer and\nhold active call
-
- Drag right to answer and\nend active call
-
- Drag right to answer and\nend call on hold
-
-
- Answer
-
- Decline
+ [CHAR LIMIT=40] -->
+ Calling via %scontact photo
@@ -1229,14 +1142,10 @@
Internet calling (SIP) accountsAccounts
-
- Manage Internet calling (SIP) accounts and statusReceive incoming callsReduces battery life
-
- Configure call optionsUse Internet calling
@@ -1251,11 +1160,6 @@
For all calls
-
- Auto-registration
-
- Outgoing call via SIP
-
Place call
@@ -1266,7 +1170,7 @@
Always use to place Internet calls
- You can use the Call Settings to change which Internet calling account to use by default when placing calls, by selecting a different account under Internet call settings
+ You can change which Internet calling account to use by default from the Phone > Settings > Internet call settings > Accounts screen.Cell phone call
@@ -1277,7 +1181,7 @@
No Internet calling account
- There are no Internet calling accounts on this phone. Add one now?
+ There are no Internet calling accounts on this phone. Do you want to add one now?Add
@@ -1288,9 +1192,9 @@
SIP accounts
- Saving the account...
+ Saving the account\u2026
- Removing the account...
+ Removing the account\u2026Save
@@ -1304,40 +1208,32 @@
Close
-
- Primary
-
- Make this my primary account
-
- Used for outbound calls
-
- Advanced settingsPrimary account. %sChecking status...
- Registering...
+ Registering\u2026
- Still trying...
+ Still trying\u2026
- Not receiving calls
+ Not receiving calls.
- Account registration stopped because there is no Internet connection
+ Account registration stopped because there is no Internet connection.
- Account registration stopped because there is no Wi-Fi connection
+ Account registration stopped because there is no Wi-Fi connection.
- Account registration unsuccessful
+ Account registration unsuccessful.
- Receiving calls
+ Receiving calls.Account registration unsuccessful: (%s); will try later
- Account registration unsuccessful: incorrect username or password
+ Account registration unsuccessful: Incorrect username or password.
- Account registration unsuccessful: check the server name
+ Account registration unsuccessful: Check the server name.
- This account is currently in use by the %s application
+ This account is currently in use by the %s app.
@@ -1361,12 +1257,6 @@
Transport typeSend keep-alive
-
- Send SIP keep-alive messages
-
- Auto-registration
-
- Register the profile automaticallySet as primary account
@@ -1397,18 +1287,18 @@
▽ Touch to hide all
- %s is required, cannot be left blank
+ %s is required and can\'t be left blank.
- Port number should be within 1000 and 65534
+ Port number should be within 1000 and 65534.No Internet connectionNo Wi-Fi connection
- To place an Internet call, check your Internet connection first
+ To place an Internet call, check your Internet connection first.
- You must be connected to a Wi-Fi network for Internet calls (use the Wireless & Network settings)
+ You need to be connected to a Wi-Fi network for Internet calls (use the Wireless & Network settings).Internet calling not supported
@@ -1431,7 +1321,6 @@
PortProtocolSendKeepAlive
- AutoRegistrationSetPrimaryadvanced settings containerAuthUserName
@@ -1450,7 +1339,7 @@
Can\'t talk now. Call me later?
- Custom message...
+ Custom messageQuick responses
@@ -1562,13 +1451,6 @@
-->
pound
-
- search
-
Vibrate
+
+ Ringtone
+
@@ -1620,4 +1505,57 @@
silentnever
+
+
+ Phone ringtone
+
+
+ Vibrate when ringing
+
+
+ Dial pad touch tones
+
+
+ Ringtone
+
+
+ Call recording
+ "WARNING: Call recording may be illegal in some countries! Consult your local laws before you enable this option! When enabled, recordings are stored in CallRecordings folder on SD Card."
+
+
+ Voice quality
+ Voice profile is currently set to: %s
+
+ Normal
+ Clear
+ Crisp
+ Bright
+
+ Change network (2G/3G)
+ Application with this permission can, at any time, change between 2G data and 3G data. 3G is faster, consumes more battery, and can also cost you more money.
+
+
+ Noise suppression
+ Enable noise suppression for calls
+
+
+ My phone number
+ Set the phone number for this device
+
+
+ Advanced Settings
+ Keep proximity sensor on
+ Do not turn off the proximity sensor during calls using a headset
+ Lock when call ends
+ Lock automatically when a call ends and the screen is off
+ Vibrate on answer
+ Vibrate on call waiting
+ Vibrate on hang up
+ Vibrate every 45 seconds
+ Vibrates at the 45 second mark of every minute during outgoing calls
+
diff --git a/res/values/styles.xml b/res/values/styles.xml
index fd1ebce59..798cf0724 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -15,25 +15,13 @@
-->
- #FFAE1200
- #FF008115#FF333333
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -184,12 +119,24 @@
@null
+
+
+
+
+
+ @*android:anim/activity_open_enter
+ @*android:anim/activity_open_exit
+ @*android:anim/activity_open_enter
+ @*android:anim/activity_open_exit
+
+
+
+
+
+
+
+
+
diff --git a/res/xml/call_feature_setting.xml b/res/xml/call_feature_setting.xml
index 56ca1528a..47b01916a 100644
--- a/res/xml/call_feature_setting.xml
+++ b/res/xml/call_feature_setting.xml
@@ -1,5 +1,6 @@
+ android:title="@string/call_settings">
-
-
-
-
-
-
+
-
-
+
+
+ android:key="pref_advanced_settings"
+ android:title="@string/advanced_setting">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ android:persistent="true" />
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/xml/callforward_options.xml b/res/xml/callforward_options.xml
index 1669d5cfc..0ff1e9033 100644
--- a/res/xml/callforward_options.xml
+++ b/res/xml/callforward_options.xml
@@ -25,7 +25,8 @@
phone:serviceClass="voice"
phone:reason="unconditional"
android:singleLine="true"
- android:autoText="false"/>
+ android:autoText="false"
+ android:enabled="false" />
+ android:autoText="false"
+ android:enabled="false" />
+ android:autoText="false"
+ android:enabled="false" />
+ android:autoText="false"
+ android:enabled="false" />
diff --git a/res/xml/gsm_umts_additional_options.xml b/res/xml/gsm_umts_additional_options.xml
index fc80f791a..47f265153 100644
--- a/res/xml/gsm_umts_additional_options.xml
+++ b/res/xml/gsm_umts_additional_options.xml
@@ -10,12 +10,24 @@
android:defaultValue="DEFAULT"
android:entries="@array/clir_display_values"
android:entryValues="@array/clir_values"
- android:dialogTitle="@string/labelCallerId"/>
+ android:dialogTitle="@string/labelCallerId"
+ android:summary="@string/sum_loading_settings"
+ android:enabled="false"/>
+ android:summaryOff="@string/sum_cw_disabled"
+ android:enabled="false"/>
+
+
diff --git a/res/xml/gsm_umts_options.xml b/res/xml/gsm_umts_options.xml
index afdd0d30f..fd0b676de 100644
--- a/res/xml/gsm_umts_options.xml
+++ b/res/xml/gsm_umts_options.xml
@@ -24,7 +24,7 @@
+ android:targetClass="com.android.settings.Settings$ApnSettingsActivity" />
diff --git a/res/xml/network_setting.xml b/res/xml/network_setting.xml
index b24b82cc8..0870cf086 100644
--- a/res/xml/network_setting.xml
+++ b/res/xml/network_setting.xml
@@ -35,6 +35,13 @@
android:summaryOn="@string/roaming_enable"
android:summaryOff="@string/roaming_disable"/>
+
+
+
+
+
+
diff --git a/res/xml/sip_edit.xml b/res/xml/sip_edit.xml
index 2a59d8829..f091fc179 100644
--- a/res/xml/sip_edit.xml
+++ b/res/xml/sip_edit.xml
@@ -24,7 +24,8 @@
android:dialogTitle="@string/username_title"
android:summary="@string/default_preference_summary"
android:persistent="false"
- android:singleLine="true"/>
+ android:singleLine="true"
+ android:inputType="textNoSuggestions"/>
+ android:singleLine="true"
+ android:inputType="textNoSuggestions"/>
SHOW " + view
+ + " DONE. Set visibility = " + View.VISIBLE);
+ } else {
+ if (FADE_DBG) log("Fade: ==> Ignoring, already visible AND not fading out.");
+ }
+ }
+
+ /**
+ * Fades out the specified view and then sets its visibility to the
+ * specified value (either View.INVISIBLE or View.GONE). If the view
+ * is not currently visibile, the method will return without doing
+ * anything.
+ *
+ * Note that *during* the fade-out the view itself will still have
+ * visibility View.VISIBLE, although the isFadingOut() method will
+ * return true (in case the UI code needs to detect this state.)
+ *
+ * @param view The view to be hidden
+ * @param visibility The value to which the view's visibility will be
+ * set after it fades out.
+ * Must be either View.INVISIBLE or View.GONE.
+ */
+ public static void hide(final View view, final int visibility) {
+ if (FADE_DBG) log("Fade: HIDE view " + view + "...");
+ if (view.getVisibility() == View.VISIBLE &&
+ (visibility == View.INVISIBLE || visibility == View.GONE)) {
+
+ // Use a view tag to mark this view as being in the middle
+ // of a fade-out animation.
+ view.setTag(FADE_STATE_KEY, FADING_OUT);
+
+ view.animate().cancel();
+ view.animate().setDuration(ANIMATION_DURATION);
+ view.animate().alpha(0f).setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ view.setAlpha(1);
+ view.setVisibility(visibility);
+ view.animate().setListener(null);
+ // ...and we're done with the fade-out, so clear the view tag.
+ view.setTag(FADE_STATE_KEY, null);
+ if (FADE_DBG) log("Fade: HIDE " + view
+ + " DONE. Set visibility = " + visibility);
+ }
+ });
+ }
+ }
+
+ /**
+ * @return true if the specified view is currently in the middle
+ * of a fade-out animation. (During the fade-out, the view's
+ * visibility is still VISIBLE, although in many cases the UI
+ * should behave as if it's already invisible or gone. This
+ * method allows the UI code to detect that state.)
+ *
+ * @see #hide(View, int)
+ */
+ public static boolean isFadingOut(final View view) {
+ if (FADE_DBG) {
+ log("Fade: isFadingOut view " + view + "...");
+ log("Fade: - getTag() returns: " + view.getTag(FADE_STATE_KEY));
+ log("Fade: - returning: " + (view.getTag(FADE_STATE_KEY) == FADING_OUT));
+ }
+ return (view.getTag(FADE_STATE_KEY) == FADING_OUT);
+ }
+
+ }
+
+ /**
+ * Drawable achieving cross-fade, just like TransitionDrawable. We can have
+ * call-backs via animator object (see also {@link CrossFadeDrawable#getAnimator()}).
+ */
+ private static class CrossFadeDrawable extends LayerDrawable {
+ private final ObjectAnimator mAnimator;
+
+ public CrossFadeDrawable(Drawable[] layers) {
+ super(layers);
+ mAnimator = ObjectAnimator.ofInt(this, "crossFadeAlpha", 0xff, 0);
+ }
+
+ private int mCrossFadeAlpha;
+
+ /**
+ * This will be used from ObjectAnimator.
+ * Note: this method is protected by proguard.flags so that it won't be removed
+ * automatically.
+ */
+ @SuppressWarnings("unused")
+ public void setCrossFadeAlpha(int alpha) {
+ mCrossFadeAlpha = alpha;
+ invalidateSelf();
+ }
+
+ public ObjectAnimator getAnimator() {
+ return mAnimator;
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ Drawable first = getDrawable(0);
+ Drawable second = getDrawable(1);
+
+ if (mCrossFadeAlpha > 0) {
+ first.setAlpha(mCrossFadeAlpha);
+ first.draw(canvas);
+ first.setAlpha(255);
+ }
+
+ if (mCrossFadeAlpha < 0xff) {
+ second.setAlpha(0xff - mCrossFadeAlpha);
+ second.draw(canvas);
+ second.setAlpha(0xff);
+ }
+ }
+ }
+
+ private static CrossFadeDrawable newCrossFadeDrawable(Drawable first, Drawable second) {
+ Drawable[] layers = new Drawable[2];
+ layers[0] = first;
+ layers[1] = second;
+ return new CrossFadeDrawable(layers);
+ }
+
+ /**
+ * Starts cross-fade animation using TransitionDrawable. Nothing will happen if "from" and "to"
+ * are the same.
+ */
+ public static void startCrossFade(
+ final ImageView imageView, final Drawable from, final Drawable to) {
+ // We skip the cross-fade when those two Drawables are equal, or they are BitmapDrawables
+ // pointing to the same Bitmap.
+ final boolean areSameImage = from.equals(to) ||
+ ((from instanceof BitmapDrawable)
+ && (to instanceof BitmapDrawable)
+ && ((BitmapDrawable) from).getBitmap()
+ .equals(((BitmapDrawable) to).getBitmap()));
+ if (!areSameImage) {
+ if (FADE_DBG) {
+ log("Start cross-fade animation for " + imageView
+ + "(" + Integer.toHexString(from.hashCode()) + " -> "
+ + Integer.toHexString(to.hashCode()) + ")");
+ }
+
+ CrossFadeDrawable crossFadeDrawable = newCrossFadeDrawable(from, to);
+ ObjectAnimator animator = crossFadeDrawable.getAnimator();
+ imageView.setImageDrawable(crossFadeDrawable);
+ animator.setDuration(ANIMATION_DURATION);
+ animator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationStart(Animator animation) {
+ if (FADE_DBG) {
+ log("cross-fade animation start ("
+ + Integer.toHexString(from.hashCode()) + " -> "
+ + Integer.toHexString(to.hashCode()) + ")");
+ }
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ if (FADE_DBG) {
+ log("cross-fade animation ended ("
+ + Integer.toHexString(from.hashCode()) + " -> "
+ + Integer.toHexString(to.hashCode()) + ")");
+ }
+ animation.removeAllListeners();
+ // Workaround for issue 6300562; this will force the drawable to the
+ // resultant one regardless of animation glitch.
+ imageView.setImageDrawable(to);
+ }
+ });
+ animator.start();
+
+ /* We could use TransitionDrawable here, but it may cause some weird animation in
+ * some corner cases. See issue 6300562
+ * TODO: decide which to be used in the long run. TransitionDrawable is old but system
+ * one. Ours uses new animation framework and thus have callback (great for testing),
+ * while no framework support for the exact class.
+
+ Drawable[] layers = new Drawable[2];
+ layers[0] = from;
+ layers[1] = to;
+ TransitionDrawable transitionDrawable = new TransitionDrawable(layers);
+ imageView.setImageDrawable(transitionDrawable);
+ transitionDrawable.startTransition(ANIMATION_DURATION); */
+ imageView.setTag(to);
+ } else {
+ if (FADE_DBG) {
+ log("*Not* start cross-fade. " + imageView);
+ }
+ }
+ }
+
+ // Debugging / testing code
+
+ private static void log(String msg) {
+ Log.d(LOG_TAG, msg);
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/BluetoothHandsfree.java b/src/com/android/phone/BluetoothHandsfree.java
index 3e2f73a03..aab0d71dd 100755
--- a/src/com/android/phone/BluetoothHandsfree.java
+++ b/src/com/android/phone/BluetoothHandsfree.java
@@ -47,6 +47,7 @@
import android.telephony.PhoneNumberUtils;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
+import android.telephony.TelephonyManager;
import android.util.Log;
import com.android.internal.telephony.Call;
@@ -125,6 +126,7 @@ public class BluetoothHandsfree {
private final BluetoothPhoneState mBluetoothPhoneState; // for CIND and CIEV updates
private final BluetoothAtPhonebook mPhonebook;
+ private final BluetoothSMSAccess mSMSAccess;
private Phone.State mPhoneState = Phone.State.IDLE;
CdmaPhoneCallState.PhoneCallState mCdmaThreeWayCallState =
CdmaPhoneCallState.PhoneCallState.IDLE;
@@ -132,7 +134,11 @@ public class BluetoothHandsfree {
private DebugThread mDebugThread;
private int mScoGain = Integer.MIN_VALUE;
+ private static final String ACTION_VOICE_COMMAND_STOP =
+ "com.android.internal.intent.action.VOICE_COMMAND_STOP";
+
private static Intent sVoiceCommandIntent;
+ private static Intent sVoiceCommandStopIntent;
// Audio parameters
private static final String HEADSET_NREC = "bt_headset_nrec";
@@ -236,6 +242,9 @@ private BluetoothHandsfree(Context context, CallManager cm) {
sVoiceCommandIntent = new Intent(Intent.ACTION_VOICE_COMMAND);
sVoiceCommandIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
+ if (sVoiceCommandStopIntent == null) {
+ sVoiceCommandStopIntent = new Intent(ACTION_VOICE_COMMAND_STOP);
+ }
if (mContext.getPackageManager().resolveActivity(sVoiceCommandIntent, 0) != null &&
BluetoothHeadset.isBluetoothVoiceDialingEnabled(mContext)) {
mLocalBrsf |= BRSF_AG_VOICE_RECOG;
@@ -250,6 +259,7 @@ private BluetoothHandsfree(Context context, CallManager cm) {
mVirtualCallStarted = false;
mVoiceRecognitionStarted = false;
mPhonebook = new BluetoothAtPhonebook(mContext, this);
+ mSMSAccess = new BluetoothSMSAccess(mContext, this);
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
cdmaSetSecondCallState(false);
@@ -611,6 +621,7 @@ private boolean isIncallAudio() {
}
mRemoteBrsf = 0;
mPhonebook.resetAtState();
+ mSMSAccess.resetAtState();
}
/* package */ HeadsetBase getHeadset() {
@@ -822,8 +833,8 @@ private int cdmaDbmEcioToSignal(SignalStrength signalStrength) {
cdmaIconLevel = (levelDbm < levelEcio) ? levelDbm : levelEcio;
if (mServiceState != null &&
- (mServiceState.getRadioTechnology() == ServiceState.RADIO_TECHNOLOGY_EVDO_0 ||
- mServiceState.getRadioTechnology() == ServiceState.RADIO_TECHNOLOGY_EVDO_A)) {
+ (mServiceState.getNetworkType() == TelephonyManager.NETWORK_TYPE_EVDO_0 ||
+ mServiceState.getNetworkType() == TelephonyManager.NETWORK_TYPE_EVDO_A)) {
int evdoEcio = signalStrength.getEvdoEcio();
int evdoSnr = signalStrength.getEvdoSnr();
int levelEvdoEcio = 0;
@@ -1034,6 +1045,9 @@ private synchronized void handlePreciseCallStateChange(boolean sendUpdate,
}
}
+ /* phone not setup yet */
+ if (foregroundCall == null) return;
+
switch(foregroundCall.getState()) {
case ACTIVE:
call = 1;
@@ -1639,12 +1653,24 @@ private boolean isA2dpMultiProfile() {
mBluetoothPhoneState.ignoreRing();
}
- private void sendURC(String urc) {
+ /* package */ void sendURC(String urc) {
if (isHeadsetConnected()) {
mHeadset.sendURC(urc);
}
}
+ /**
+ * Allows a mechanism to override the default line by line input handling with a custom handler
+ * @param stringToSend - initial string of characters to send out
+ * @param inputHandler - callback for handling the specialized input
+ */
+ void setSpecialPDUInputHandler(String stringToSend, HeadsetBase.SpecialPDUInputHandler inputHandler) {
+ if ((null != inputHandler) && (null != stringToSend) && (0 < stringToSend.length())) {
+ mHeadset.sendURCChars(stringToSend);
+ }
+ mHeadset.specialPDUInputHandler = inputHandler;
+ }
+
/** helper to redial last dialled number */
private AtCommandResult redial() {
String number = mPhonebook.getLastDialledNumber();
@@ -2621,6 +2647,7 @@ public AtCommandResult handleSetCommand(Object[] args) {
return new AtCommandResult(AtCommandResult.UNSOLICITED); // send nothing yet
} else if (args.length >= 1 && args[0].equals(0)) {
if (isVoiceRecognitionInProgress()) {
+ mContext.sendBroadcast(sVoiceCommandStopIntent);
audioOff();
}
return new AtCommandResult(AtCommandResult.OK);
@@ -2693,6 +2720,7 @@ public AtCommandResult handleActionCommand() {
});
mPhonebook.register(parser);
+ mSMSAccess.register(parser);
}
public void sendScoGainUpdate(int gain) {
@@ -2942,31 +2970,31 @@ synchronized boolean terminateScoUsingVirtualVoiceCall() {
* are polled and mock updates sent every 1 second */
private class DebugThread extends Thread {
/** Turns on/off handsfree profile debugging mode */
- private static final String DEBUG_HANDSFREE = "debug.bt.hfp";
+ static final String DEBUG_HANDSFREE = "debug.bt.hfp";
/** Mock battery level change - use 0 to 5 */
- private static final String DEBUG_HANDSFREE_BATTERY = "debug.bt.hfp.battery";
+ static final String DEBUG_HANDSFREE_BATTERY = "debug.bt.hfp.battery";
/** Mock no cellular service when false */
- private static final String DEBUG_HANDSFREE_SERVICE = "debug.bt.hfp.service";
+ static final String DEBUG_HANDSFREE_SERVICE = "debug.bt.hfp.service";
/** Mock cellular roaming when true */
- private static final String DEBUG_HANDSFREE_ROAM = "debug.bt.hfp.roam";
+ static final String DEBUG_HANDSFREE_ROAM = "debug.bt.hfp.roam";
/** false to true transition will force an audio (SCO) connection to
* be established. true to false will force audio to be disconnected
*/
- private static final String DEBUG_HANDSFREE_AUDIO = "debug.bt.hfp.audio";
+ static final String DEBUG_HANDSFREE_AUDIO = "debug.bt.hfp.audio";
/** true allows incoming SCO connection out of call.
*/
- private static final String DEBUG_HANDSFREE_AUDIO_ANYTIME = "debug.bt.hfp.audio_anytime";
+ static final String DEBUG_HANDSFREE_AUDIO_ANYTIME = "debug.bt.hfp.audio_anytime";
/** Mock signal strength change in ASU - use 0 to 31 */
- private static final String DEBUG_HANDSFREE_SIGNAL = "debug.bt.hfp.signal";
+ static final String DEBUG_HANDSFREE_SIGNAL = "debug.bt.hfp.signal";
/** Debug AT+CLCC: print +CLCC result */
- private static final String DEBUG_HANDSFREE_CLCC = "debug.bt.hfp.clcc";
+ static final String DEBUG_HANDSFREE_CLCC = "debug.bt.hfp.clcc";
/** Debug AT+BSIR - Send In Band Ringtones Unsolicited AT command.
* debug.bt.unsol.inband = 0 => AT+BSIR = 0 sent by the AG
@@ -2974,8 +3002,7 @@ private class DebugThread extends Thread {
* Other values are ignored.
*/
- private static final String DEBUG_UNSOL_INBAND_RINGTONE =
- "debug.bt.unsol.inband";
+ static final String DEBUG_UNSOL_INBAND_RINGTONE = "debug.bt.unsol.inband";
@Override
public void run() {
diff --git a/src/com/android/phone/BluetoothSMSAccess.java b/src/com/android/phone/BluetoothSMSAccess.java
new file mode 100644
index 000000000..d739ae2c4
--- /dev/null
+++ b/src/com/android/phone/BluetoothSMSAccess.java
@@ -0,0 +1,875 @@
+/*
+ * Copyright (C) 2012 by Gary L Dezern
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.phone;
+
+import java.io.ByteArrayOutputStream;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import com.android.internal.telephony.EncodeException;
+import com.android.internal.telephony.GsmAlphabet;
+import com.android.internal.util.HexDump;
+import android.bluetooth.AtCommandHandler;
+import android.bluetooth.AtCommandResult;
+import android.bluetooth.AtParser;
+import android.bluetooth.HeadsetBase;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.database.Cursor;
+import android.telephony.PhoneNumberUtils;
+import android.telephony.SmsManager;
+import android.text.format.Time;
+import android.provider.Telephony.Sms;
+import android.util.Log;
+
+
+public class BluetoothSMSAccess {
+
+ private static final boolean DBG = false;
+
+ /** helper structure for passing around info about an sms message */
+ class SMSMsgInfo {
+ int _id;
+ int type;
+ int read;
+ // instead of using read/unread, use seen/unseen. The reason is that
+ // the AT spec dictates a message pulled from the handset should be
+ // marked as read as soon as the radio (or whatever) pulls it.
+ // However, many modern devices pull the message only to see the header
+ // and might not even be capable of displaying the full message.
+ // using the 'seen' (or notification) flag gives a consistent way of
+ // having a secondary 'read' type flag and lets the radio or whatever
+ // BT device "notify" the user. Having a msg marked on the phone as
+ // unread when it was read on the radio is a better solution than
+ // having a message marked as read on the phone when it was never read.
+ int seen;
+ String SMSCAddress;
+ String OriginAddress;
+ long date;
+ String body;
+ };
+
+ /** constants for CMS errors */
+ public static final int CMS_ME_FAILURE = 300;
+ public static final int CMS_SERVICE_RESERVED = 301;
+ public static final int CMS_OP_NOT_ALLOWED = 302;
+ public static final int CMS_OP_NOT_SUPPORTED = 303;
+ public static final int CMS_INVALID_PDU_PARAM = 304;
+ public static final int CMS_INVALID_TEXT_PARAM = 305;
+ public static final int CMS_SIM_NOT_INSERTED = 310;
+ public static final int CMS_SIM_FAILURE = 313;
+ public static final int CMS_INVALID_INDEX = 321;
+ public static final int CMS_SMSC_ADDR_UNKNOWN = 330;
+ public static final int CMS_NO_NETWORK_SERVICE = 331;
+ public static final int CMS_NETWORK_TIMEOUT = 332;
+ public static final int CMS_UNKNOWN_ERROR = 500;
+
+ /** specific 4 char sequence to prompt CMGS sender to stream PDU (CR, LF, GreaterThan, Space) */
+ private static final String CMGS_PDU_PROMPT = "\r\n> ";
+
+ // TODO: does it make sense to re-factor these mNMI_ variables into a local class?
+ private int mNMI_mode;
+ private int mNMI_mt;
+ private int mNMI_bfr;
+ private int mNMI_bm;
+ private int mNMI_ds;
+
+ private String mServiceCenterAddress;
+ private int mServiceCenterType;
+
+ // dummy service center number used to satisfy GSM requirements when we don't
+ // have access to the actual service center number
+ public static final String DUMMY_SERVICE_CENTER = "0000";
+
+ private static final String TAG = "BluetoothSMSAccess";
+
+ private final Context mContext;
+ private final BluetoothHandsfree mHandsfree;
+
+ // android messaging hooks
+ private SmsContentObserverClass smsContentObserver = new SmsContentObserverClass();
+
+ // the highest seen message date (used to determine what messages are newly received)
+ private long mLastSeenSMSDate = 0;
+
+
+ public BluetoothSMSAccess(Context context, BluetoothHandsfree handsfree) {
+ mContext = context;
+ mHandsfree = handsfree;
+
+ mNMI_mode = 0;
+ mNMI_mt = 0;
+ mNMI_bm = mNMI_ds = 0;
+ mNMI_bfr = 1;
+
+ mServiceCenterAddress = DUMMY_SERVICE_CENTER;
+ mServiceCenterType = 129;
+
+ }
+
+ /** registers SMS specific AT command parsers */
+ public void register(AtParser parser) {
+
+ // +CMFG: (0)
+ parser.register("+CMGF", new AtCommandHandler() {
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CMGF= " + Arrays.toString(args));
+
+ if ((1 == args.length) && (args[0].equals(0))) {
+ return new AtCommandResult(AtCommandResult.OK);
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ @Override
+ public AtCommandResult handleTestCommand() {
+ return new AtCommandResult("+CMFG: (0)");
+ }
+ @Override
+ public AtCommandResult handleReadCommand() {
+ return new AtCommandResult("+CPMS: 0");
+ }
+ });
+
+ // +CNMI: (0-2),(0-1),(0),(0),(0-1)
+ parser.register("+CNMI", new AtCommandHandler() {
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CNMI= " + Arrays.toString(args));
+
+ if ((5 == args.length) &&
+ (args[0] instanceof Integer) &&
+ (args[1] instanceof Integer) &&
+ (args[2] instanceof Integer) &&
+ (args[3] instanceof Integer) &&
+ (args[4] instanceof Integer)) {
+ // validate the parameters so "OK" can be sent before initializing
+ // NMI - so that any notifications sent as a result of bfr=0 are
+ // sent AFTER the "OK" final result code.
+ if (((Integer)args[0] >= 0) && ((Integer)args[0] <= 2) &&
+ ((Integer)args[1] >= 0) && ((Integer)args[1] <= 1) &&
+ args[2].equals(0) && args[3].equals(0) &&
+ ((Integer)args[4] >= 0) && ((Integer)args[4] <= 1)) {
+ // return OK before actually initializing!
+ mHandsfree.sendURC("OK");
+ InitializeNMI((Integer)args[0], (Integer)args[1], 0, 0, (Integer)args[4]);
+ return new AtCommandResult(AtCommandResult.UNSOLICITED);
+ } else {
+ return reportCmsError(CMS_OP_NOT_SUPPORTED);
+ }
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ @Override
+ public AtCommandResult handleTestCommand() {
+ return new AtCommandResult("+CNMI: (0-2),(0-1),(0),(0),(0-1)");
+ }
+ @Override
+ public AtCommandResult handleReadCommand() {
+ return new AtCommandResult("+CNMI: " +
+ mNMI_mode + "," +
+ mNMI_mt + "," +
+ mNMI_bm + "," +
+ mNMI_ds + "," +
+ mNMI_bfr);
+ }
+ });
+
+ // +CPMS: ("ME"),("ME"),("ME")
+ parser.register("+CPMS", new AtCommandHandler() {
+ // order of storage spaces.
+ // 1. storage area used when reading or deleting SMS messages
+ // 2. storage area used when sending or writing SMS messages
+ // 3. preferred storage area for storing newly rcvd SMS messages
+
+ // storage area "ME" means the primary message storage. We don't support
+ // any other storage areas, so returns errors if they are seen.
+ // The parameters are "# msgs" and "total # msg slots". Being that
+ // there are essentially an unlimited number of message "slots", just
+ // return the current msg count + 10 so it always looks like there is
+ // more room available.
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CPMS= " + Arrays.toString(args));
+
+ if ((1 <= args.length) && (3 >= args.length)) {
+ // if any args are passed, they each must be "\"ME\""
+ if (args[0].equals("\"ME\"") &&
+ ((2 > args.length) || args[1].equals("\"ME\"")) &&
+ ((3 > args.length) || args[2].equals("\"ME\""))
+ ) {
+ int msgCount = getMessageVirtualCount();
+ return new AtCommandResult("+CPMS: " + msgCount + "," + (msgCount + 10) +
+ "," + msgCount + "," + (msgCount + 10) +
+ "," + msgCount + "," + (msgCount + 10));
+ } else {
+ return reportCmsError(CMS_OP_NOT_ALLOWED);
+ }
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ @Override
+ public AtCommandResult handleTestCommand() {
+ return new AtCommandResult("+CPMS: (\"ME\"),(\"ME\"),(\"ME\")");
+ }
+ @Override
+ public AtCommandResult handleReadCommand() {
+ int msgCount = getMessageVirtualCount();
+ return new AtCommandResult("+CPMS: \"ME\"," + msgCount + "," + (msgCount + 10) +
+ ",\"ME\"," + msgCount + "," + (msgCount + 10) +
+ ",\"ME\"," + msgCount + "," + (msgCount + 10));
+ }
+ });
+
+ // +CSMS: , , ,
+ parser.register("+CSMS", new AtCommandHandler() {
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CSMS= " + Arrays.toString(args));
+ // only service '0' is supported
+ if ((1 == args.length) && (args[0] instanceof Integer)) {
+ if (args[0].equals(0))
+ return new AtCommandResult("+CSMS: 1,1,0");
+ else
+ return reportCmsError(CMS_OP_NOT_SUPPORTED);
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ @Override
+ public AtCommandResult handleReadCommand() {
+ // service 0, mt (mobile term msgs) support, mo (mobile origin msgs) support,
+ // bm (broadcast type not support)
+ return new AtCommandResult("+CSMS: 0,1,1,0");
+ }
+ @Override
+ public AtCommandResult handleTestCommand() {
+ return new AtCommandResult("+CSMS: (0)");
+ }
+
+ });
+
+ // +CSCA: (setting the service center)
+ parser.register("+CSCA", new AtCommandHandler() {
+ // NOTE: it doesn't appear possible to set/override the service center address
+ // with android devices. However, support of +CSCA is required in the gsm spec.
+ // Therefore, fake it.
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CSCA= " + Arrays.toString(args));
+
+ if ((1 <= args.length) && (2 >= args.length)) {
+ mServiceCenterAddress = args[0].toString();
+ if (2 == args.length)
+ mServiceCenterType = (Integer)args[1];
+ return new AtCommandResult(AtCommandResult.OK);
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ @Override
+ public AtCommandResult handleReadCommand() {
+ return new AtCommandResult("+CSCA: " + mServiceCenterAddress + "," + mServiceCenterType);
+ }
+ });
+
+ // TODO: implement +CMGL (list messages)
+
+ // +CMGS (send message)
+ parser.register("+CMGS", new AtCommandHandler() {
+ // NOTE: Implementing this command requires a deviation from the the
+ // pre-existing bluetooth line-based communication. All other AT+ style
+ // commands communicate line-based with CR line terminators. However,
+ // +CMGS requires that the TE (radio, headset, etc) sends two lines: the
+ // first terminated by CR and the second terminated by either ESC or
+ // Ctrl-Z. That required some low level modifications...
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CMGS= " + Arrays.toString(args));
+
+ if ((1 == args.length) && (args[0] instanceof Integer)) {
+ // record the parameter (should be the length of TPDU)
+ final int parameter = (Integer)args[0];
+ // a very specific string of chars should be sent to "prompt" the PDU stream
+
+ mHandsfree.setSpecialPDUInputHandler(CMGS_PDU_PROMPT,
+ new HeadsetBase.SpecialPDUInputHandler() {
+ @Override
+ public void handleInput(String input) {
+ // clear the special handler
+ mHandsfree.setSpecialPDUInputHandler(null, null);
+ if (DBG) {
+ Log.d(TAG, "InputHandler param: " + parameter);
+ Log.d(TAG, "InputHandler input: " + input);
+ }
+ // parsing the PDU is annoying, and must block
+ // the BT channel until a response. This
+ // function should send any response(s) back.
+ HandleSMSSubmitInput(parameter, input);
+ }
+ });
+ // the setSpecialInputHandler call will send the CMGS_PDU_PROMPT, so
+ // do nothing here.
+ return new AtCommandResult(AtCommandResult.UNSOLICITED);
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ });
+
+ // +CMGR
+ parser.register("+CMGR", new AtCommandHandler() {
+ @Override
+ public AtCommandResult handleSetCommand(Object[] args) {
+ if (DBG) Log.d(TAG, "IN: +CMGR= " + Arrays.toString(args));
+
+ if ((1 == args.length) && (args[0] instanceof Integer)) {
+ SMSMsgInfo smsInfo = new SMSMsgInfo();
+ // gather the sms message info
+ int iRet = getMessageAtIndex((Integer) args[0], smsInfo, true);
+ if (iRet < 0) { // unknown error
+ return new AtCommandResult(AtCommandResult.ERROR);
+ } else if (iRet > 0) { // specific CMS error
+ return reportCmsError(iRet);
+ }
+ // create the response with PDU stream
+ return CreatePDUResponse(smsInfo);
+ } else {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ }
+ @Override
+ public AtCommandResult handleTestCommand() {
+ return new AtCommandResult("+CMGR: (1-" + getMessageVirtualCount() + ")");
+ }
+ });
+ }
+
+ /** called on disconnected bluetooth */
+ synchronized void resetAtState() {
+ TurnOffNMI();
+ }
+
+ /** helper similar to Integer.parseInt(string, 16), but specialized for PDU processing */
+ private static int CharToByte(char c)
+ {
+ if (c >= '0' && c <= '9') return (c - '0');
+ if (c >= 'A' && c <= 'F') return (c - 'A' + 10);
+ if (c >= 'a' && c <= 'f') return (c - 'a' + 10);
+ throw new RuntimeException ("Invalid hex char '" + c + "'");
+ }
+
+ /** helper that uses CharToByte to generate pdu octets */
+ private static byte TwoCharToByte(char firstC, char secondC)
+ {
+ return (byte)((CharToByte(firstC) << 4) | CharToByte(secondC));
+ }
+
+ /** handles the PDU stream when creating/sending an SMS message */
+ private void HandleSMSSubmitInput(int cmdParameter, String input)
+ {
+ AtCommandResult result = null;
+ // first, validate the data from the TE before trying to parse
+ // much of it.
+ if ((1 == input.length()) && (27 == (int)input.charAt(0))) {
+ result = new AtCommandResult(AtCommandResult.OK);
+ } else if (2 > input.length()) {
+ if (DBG) Log.d(TAG, "handleInput: <2 length input");
+ result = new AtCommandResult(AtCommandResult.ERROR);
+ } else {
+ // might be valid... do a bit more checking.
+
+ // NOTE: Some TE's (kenwood head units) are buggy in that they
+ // may embed invalid characters in the destination address of the
+ // PDU stream. In particular, it won't strip invalid characters
+ // from a destination phone number before shoving it into the PDU
+ // stream. Instead of "1234567890" in the stream, I'll get other
+ // punctuation such as "(123) 456-7890". For that reason, the entire
+ // pdu stream can't be converted to a byte array at one time.
+
+ boolean bError = false;
+ String scAddress = null;
+ String destAddress = null;
+ String msgBody = null;
+
+ char[] inputArray = input.toCharArray();
+ int curInputChar = 0; // where in "input" currently parsing
+
+ int msgRefNum = 99;
+
+ if (DBG) Log.d(TAG, "input stream: " + input);
+
+ // first byte (pair of chars) should be the length of the SC address
+ try {
+ int scAddressLen = TwoCharToByte(inputArray[curInputChar++], inputArray[curInputChar++]);
+ // ensure the input length is long enough for the scAddresslen, scaddress, and
+ // at least 3 more pairs. (first octet, msg ref, dest addr len)
+ if (((4 + scAddressLen) * 2) >= input.length()) {
+ // input too short
+ Log.e(TAG, "Input too short after SC Length");
+ result = reportCmsError(CMS_INVALID_PDU_PARAM);
+ bError = true;
+ } else {
+ if (DBG) Log.d(TAG, "Parsing Status A: curInputChar=" + curInputChar + ", scAddressLen=" + scAddressLen);
+
+ // actually extract the scAddress along with the 2 next bytes/pairs
+ byte[] pdu = new byte[scAddressLen + 2];
+ for (int i = 0; i < (scAddressLen + 2); i++)
+ {
+ pdu[i] = TwoCharToByte(inputArray[curInputChar++], inputArray[curInputChar++]);
+ }
+ if (0 != scAddressLen) {
+ scAddress = PhoneNumberUtils.calledPartyBCDToString(pdu, 0, scAddressLen);
+ }
+ // next byte is the "first octet" flags - most ignored, but
+ // make sure bits 0-1 are set to 0x1
+ if (1 != (pdu[scAddressLen] & 0x3)) {
+ Log.e(TAG, "Invalid TP-Message-Type-Indicator flag");
+ result = reportCmsError(CMS_OP_NOT_SUPPORTED);
+ bError = true;
+ }
+ // the next byte (TP-Message-Reference) is completely ignored
+ }
+ }
+ catch (RuntimeException ex) {
+ Log.e(TAG, "Invalid SC Address");
+ // fall through for CMS unknown err
+ bError = true;
+ }
+
+ if (!bError) {
+ try {
+ if (DBG) Log.d(TAG, "Parsing Status B: curInputChar=" + curInputChar);
+ // curInputChar should point to the length of the destination address now...
+ int destAddrLen = TwoCharToByte(inputArray[curInputChar++], inputArray[curInputChar++]);
+ int destAddrBytes = (((destAddrLen + 1) / 2));
+ // ensure there's still enough input space for the destination address
+ // and 4 more pairs (destAddrType, protocol ID, data coding scheme, length of user data)
+ if (((4 + destAddrBytes) * 2) >= (input.length() - curInputChar)) {
+ // input too short
+ Log.e(TAG, "Input too short after Destination Address Length");
+ bError = true;
+ } else {
+ if (DBG) Log.d(TAG, "Parsing Status C: curInputChar=" + curInputChar + ", destAddrLen=" + destAddrLen);
+
+ curInputChar += 2; // skip the dest address type.
+
+ // actually work to pull out the destination phone number.
+ StringBuilder sb = new StringBuilder(destAddrLen + 1);
+
+ for (int i = 0; i < destAddrBytes; i++) {
+ // get two characters and swap them
+ sb.append(inputArray[curInputChar + 1]);
+ sb.append(inputArray[curInputChar]);
+ curInputChar += 2;
+ }
+ destAddress = sb.substring(0, destAddrLen);
+
+ if (DBG) Log.d(TAG, "Parsing Status D: curInputChar=" + curInputChar + ", destAddress=" + destAddress);
+
+ // the next byte contains the protocol identifier. enforce this being 0
+ if (!bError && (0 != TwoCharToByte(inputArray[curInputChar++], inputArray[curInputChar++]))) {
+ Log.e(TAG, "Invalid TP-Protocol-Identifer");
+ result = reportCmsError(CMS_OP_NOT_SUPPORTED);
+ bError = true;
+ }
+ // next is a data coding scheme. Handle any scheme the user wants, as
+ // long as they want 7bit GSM with no special features.
+ if (!bError && (0 != TwoCharToByte(inputArray[curInputChar++], inputArray[curInputChar++]))) {
+ Log.e(TAG, "Unsupported TP-Data-Coding-Scheme");
+ result = reportCmsError(CMS_OP_NOT_SUPPORTED);
+ bError = true;
+ }
+ // TP-Validy-Period bits not set, so don't try to read the period
+ }
+ }
+ catch (RuntimeException ex) {
+ Log.e(TAG, "Invalid Destination Address");
+ // fall through to result being cms unknown
+ bError = true;
+ }
+ }
+ if (!bError) {
+ try {
+ // only thing left is the user data length and actual user data...
+ int userDataLen = TwoCharToByte(inputArray[curInputChar++], inputArray[curInputChar++]);
+
+ msgBody = GsmAlphabet.gsm7BitPackedToString(
+ HexDump.hexStringToByteArray(input.substring(curInputChar)),
+ 0, userDataLen);
+ }
+ catch (RuntimeException ex) {
+ Log.e(TAG, "Invalid Message Body");
+ // fall through to result being cms unknown
+ bError = true;
+ }
+ }
+
+ if (!bError) {
+ // send the message
+ if (DBG) {
+ Log.d(TAG, "To: " + destAddress);
+ Log.d(TAG, "Body: " + msgBody);
+ }
+ SmsManager.getDefault().sendTextMessage(destAddress, scAddress, msgBody, null, null);
+
+ // according to the spec, the code should block until the message sends or fails..
+ // not sure how to deal with that here.
+
+ // some debugging code to allow testing for TE response to errors.
+ if (DBG && (-1 != msgBody.toUpperCase().indexOf("CMSERROR"))) {
+ Log.d(TAG, "Forced CMS error final result");
+ result = reportCmsError(CMS_NO_NETWORK_SERVICE);
+ }
+ else if (DBG && (-1 != msgBody.toUpperCase().indexOf("ERROR"))) {
+ Log.d(TAG, "Forced non-CMS error final result");
+ result = new AtCommandResult(AtCommandResult.ERROR);
+ } else {
+ if (DBG) Log.d(TAG, "OUT: +CMGS: " + msgRefNum);
+ mHandsfree.sendURC("+CMGS: " + msgRefNum);
+ result = new AtCommandResult(AtCommandResult.OK);
+ }
+ }
+ if (null == result)
+ {
+ result = reportCmsError(CMS_UNKNOWN_ERROR);
+ }
+ }
+ if (null == result)
+ result = new AtCommandResult(AtCommandResult.OK);
+
+ if (DBG) Log.d(TAG, "OUT: " + result.toString());
+ mHandsfree.sendURC(result.toString());
+ }
+
+ /** generate +CMS ERROR: final responses. */
+ private AtCommandResult reportCmsError(int error) {
+ AtCommandResult result = new AtCommandResult(AtCommandResult.UNSOLICITED);
+ result.addResponse("+CMS ERROR: " + error);
+ return result;
+ }
+
+ /** helper function for creating PDU response */
+ private static int swapBCDForTime( int inbyte )
+ {
+ inbyte = inbyte & 0xFF;
+
+ int high = inbyte / 10;
+ return ((inbyte - (high * 10)) << 4) | high;
+ }
+
+ /** given an smsInfo, creates +CMGR response including PDU stream */
+ private AtCommandResult CreatePDUResponse(SMSMsgInfo smsInfo) {
+ // Format of response:
+
+ // +CMGR: ,[],
+ // = 0 (incoming unread)
+ // 1 (incoming read)
+ // 2 (stored/unsent)
+ // 3 (stored/sent)
+ // - string type alphanumeric representation of TP-Destination address or TP-originating address corresponding to the entry found in the phonebook
+ // - length of the actual TP data unit in octets (bytes) (the SMSC address octets are not counted in the length)
+ // - SC address followed by the TPDU in hex format
+
+ ByteArrayOutputStream bo = new ByteArrayOutputStream(300);
+
+ byte[] scData = PhoneNumberUtils.networkPortionToCalledPartyBCDWithLength("0000");
+ bo.write(scData, 0, scData.length);
+ bo.write(4); // flags
+
+ byte[] destData = PhoneNumberUtils.networkPortionToCalledPartyBCD(smsInfo.OriginAddress);
+ if( destData == null )
+ return new AtCommandResult(AtCommandResult.ERROR);
+
+ int destLength = ((destData.length - 1) * 2
+ - ((destData[destData.length - 1] & 0xf0) == 0xf0 ? 1 : 0));
+
+ bo.write(destLength);
+ bo.write(destData, 0, destData.length);
+ bo.write(0); // protocol ID
+ bo.write(0); // data coding scheme
+
+ Time msgTime = new Time(Time.TIMEZONE_UTC);
+ msgTime.set(smsInfo.date); // this is a UTC date!!
+ msgTime.switchTimezone(Time.getCurrentTimezone()); // now its a local time
+
+ bo.write(swapBCDForTime(msgTime.year % 100));
+ bo.write(swapBCDForTime(msgTime.month + 1));
+ bo.write(swapBCDForTime(msgTime.monthDay));
+ bo.write(swapBCDForTime(msgTime.hour));
+ bo.write(swapBCDForTime(msgTime.minute));
+ if (msgTime.second > 59) msgTime.second = 59;
+ bo.write(swapBCDForTime(msgTime.second));
+ // tzoffset... measured in quarter hours with a plus/minus bit
+ long tzOffset = (msgTime.gmtoff) / (60 * 15);
+ // tzOffset is now the number of 15 minute intervals between UTC and local
+ bo.write(swapBCDForTime((int) (tzOffset < 0 ? 128 - tzOffset : tzOffset)));
+
+ if (smsInfo.body.length() >= 160)
+ smsInfo.body = smsInfo.body.substring(0, 159);
+ byte[] userData = {};
+ try {
+ userData = GsmAlphabet.stringToGsm7BitPacked(smsInfo.body, 0, false, 0, 0);
+ bo.write(userData, 0, userData.length);
+ }
+ catch (EncodeException ex)
+ {
+ return new AtCommandResult(AtCommandResult.ERROR);
+ }
+ // the length of the PDU is bo size minus the scData length
+ int pduSize = bo.size() - scData.length;
+
+ int stat = 2; // outgoing unsent default
+ if (Sms.MESSAGE_TYPE_SENT == smsInfo.type) {
+ stat = 3; // out/sent
+ } else if (Sms.MESSAGE_TYPE_INBOX == smsInfo.type) {
+ // see comment about 'seen' at the declaration of SMSMsgInfo
+ stat = (0 == smsInfo.seen) ? 0 : 1;
+ }
+ return new AtCommandResult("+CMGR: " + stat + ",," + pduSize + "\r\n" +
+ HexDump.toHexString(bo.toByteArray()));
+ }
+
+ /** shortcut to turn off new message indicators */
+ private void TurnOffNMI() {
+ InitializeNMI(0, 0, 0, 0, 1);
+ }
+
+ /** handles turning on/off new message indicator mode(s) */
+ private void InitializeNMI(int mode, int mt, int bm, int ds, int bfr) {
+ mNMI_mt = mt; // only 0/1/2 supported
+ mNMI_bm = bm; // only 0 supported
+ mNMI_ds = ds; // only 0 supported
+ mNMI_bfr = bfr;
+
+ if (0 == mode) {
+ // only unregister the observer if it exists to begin with
+ if (0 != mNMI_mode) {
+ mContext.getContentResolver().unregisterContentObserver(smsContentObserver);
+ mNMI_mode = 0;
+ }
+ } else {
+ // modes 1 thru 3 are all the same the BT connection as there isn't ever
+ // any type of "reserved" mode (no DUN shares the link)
+
+ // for the purpose of bfr, consider any message that is not "seen" to be buffered.
+
+ mNMI_mode = mode;
+ // oddly, mt=0 will result in no messages being sent, but still hook the content
+ // observer for the purposes of future support of cell broadcast and/or delivery
+ // reports. Setting a non-0 mode and leaving bm/ds/mt all at zero is silly.
+
+ Cursor sms = mContext.getContentResolver().query(Sms.CONTENT_URI,
+ new String[] {"_id", Sms.DATE},
+ Sms.TYPE + " + " + Sms.MESSAGE_TYPE_INBOX,
+ null, Sms.DATE + " desc, _id desc");
+ if (null != sms) {
+ int dateColumn = sms.getColumnIndex(Sms.DATE);
+ mLastSeenSMSDate = 0;
+ if (sms.moveToFirst()) {
+ mLastSeenSMSDate = sms.getLong(dateColumn);
+ }
+ sms.close();
+ }
+
+ // if bfr 0, anything marked as NOT SEEN should be notified (based on mt).
+ // In theory, only the newest will be unseen, so try to optimize things
+ // for that theory... If I'm wrong, this will be out of spec.
+ if (0 == mNMI_bfr)
+ {
+ sms = mContext.getContentResolver().query(Sms.CONTENT_URI,
+ new String[] {"_id", Sms.SEEN, Sms.TYPE},
+ /* no filter - it'll mess up the index */
+ null, null, Sms.DATE + " desc, _id desc");
+ if (null != sms) {
+ int seenColumn = sms.getColumnIndex(Sms.SEEN);
+ int typeColumn = sms.getColumnIndex(Sms.TYPE);
+ int idColumn = sms.getColumnIndex("_id");
+
+ int curMsgIdx = sms.getCount();
+ if ((0 != curMsgIdx) && sms.moveToFirst()) {
+ do {
+ if (Sms.MESSAGE_TYPE_INBOX == sms.getLong(typeColumn)) {
+ if (0 == sms.getLong(seenColumn)) {
+ // send notification
+ SendNMINofitication(sms.getInt(idColumn), curMsgIdx);
+ curMsgIdx--;
+ } else {
+ // on the first seen message, break from the loop
+ break;
+ }
+ }
+ } while (sms.moveToPrevious());
+ }
+ sms.close();
+ }
+ } // if 0 bfr
+
+ // registering on Sms.Inbox should be more efficient than on the entire SMS db, but
+ // it doesn't seem to get change notices when new SMS messages come in.
+ mContext.getContentResolver().registerContentObserver(Sms.CONTENT_URI, true, smsContentObserver);
+ }
+ }
+
+ /** gets a message count */
+ private int getMessageVirtualCount() {
+ int iRet = 0;
+ Cursor smsCursor =
+ mContext.getContentResolver().query(Sms.CONTENT_URI,
+ new String[] {"_id"},
+ null, null, null);
+ if (null != smsCursor)
+ {
+ iRet = smsCursor.getCount();
+ smsCursor.close();
+ }
+ return iRet;
+ }
+
+ /** find msg at a virtual index and populates smsInfo. Optionally marks msg as seen */
+ private int getMessageAtIndex(int index, SMSMsgInfo smsInfo, boolean bMarkAsSeen) {
+
+ int iRet = -1;
+
+ // cursor is 0 based, but the 'index' parameter is 1 based.
+ index--;
+
+ Cursor smsCursor =
+ mContext.getContentResolver().query(Sms.CONTENT_URI,
+ new String[] {"_id", Sms.BODY, Sms.DATE, Sms.ADDRESS, Sms.SERVICE_CENTER, Sms.TYPE, Sms.READ, Sms.SEEN },
+ null, null, Sms.DATE + " asc"); // in date ascending order for counting
+ if (null != smsCursor) {
+ if ((index < smsCursor.getCount()) && (smsCursor.moveToPosition(index))) {
+ int smsID = smsCursor.getInt(smsCursor.getColumnIndex("_id"));
+ smsInfo._id = smsID;
+ smsInfo.body = smsCursor.getString(smsCursor.getColumnIndex(Sms.BODY));
+ smsInfo.date = smsCursor.getLong(smsCursor.getColumnIndex(Sms.DATE));
+ smsInfo.OriginAddress = smsCursor.getString(smsCursor.getColumnIndex(Sms.ADDRESS));
+ smsInfo.SMSCAddress = smsCursor.getString(smsCursor.getColumnIndex(Sms.SERVICE_CENTER));
+ smsInfo.type = smsCursor.getInt(smsCursor.getColumnIndex(Sms.TYPE));
+ smsInfo.read = smsCursor.getInt(smsCursor.getColumnIndex(Sms.READ));
+ smsInfo.seen = smsCursor.getInt(smsCursor.getColumnIndex(Sms.SEEN));
+
+ //does java do ordered AND's?
+ if (null != smsInfo.SMSCAddress)
+ if (smsInfo.SMSCAddress.trim().isEmpty())
+ smsInfo.SMSCAddress = null;
+
+ iRet = 0; // success
+
+ if (bMarkAsSeen && (0 == smsCursor.getLong(smsCursor.getColumnIndex(Sms.SEEN)))) {
+ if (DBG) Log.d(TAG, "Marking SMS record id " + smsInfo._id + " as seen.");
+ ContentValues updateSeen = new ContentValues();
+ updateSeen.put(Sms.SEEN, 1);
+ mContext.getContentResolver().update(Sms.CONTENT_URI, updateSeen,
+ "_id = " + smsInfo._id, null);
+ }
+
+ } else {
+ iRet = CMS_INVALID_INDEX;
+ }
+ smsCursor.close();
+ }
+ return iRet;
+ }
+
+ /** Actually sends the unsolicited response indicating a new incoming SMS */
+ private void SendNMINofitication(int _id, int index) {
+ if (1 == mNMI_mt) {
+ if (DBG) Log.d(TAG, "OUT: +CMTI: \"ME\"," + index);
+ mHandsfree.sendURC("+CMTI: \"ME\"," + index);
+ }
+ // if mt > 1, this might be a +CMT response with the actual message included.
+ }
+
+ /** ContentObserver for watching the sms content db (specifically for new records */
+ private class SmsContentObserverClass extends ContentObserver {
+ public SmsContentObserverClass() {
+ super(null);
+ }
+ @Override
+ public void onChange(boolean selfChange) {
+
+ // try to make things faster by first checking for new messages. Only
+ // do the full query if there are messages since mLastSeenSMSDate that are
+ // also in the INBOX. Funny how a content observer on Sms.Inbox.CONTENT_URI
+ // doesn't send a notification on a new message, but this query (on the same
+ // URI) will find it.
+ Cursor sms = mContext.getContentResolver().query(Sms.Inbox.CONTENT_URI,
+ new String[] {"_id", Sms.DATE },
+ Sms.DATE + " > " + mLastSeenSMSDate,
+ null, null);
+
+ int nNewCount = sms.getCount();
+ if (DBG) Log.d(TAG, "content on change, new count = " + nNewCount);
+ sms.close();
+
+ if (nNewCount > 0) {
+ // there is at least one new message since LastSeenSMSDate. In order
+ // to get the message index, the entire sms db has to be in a cursor
+ // for the count. (msg idx 'N' is the Nth message in a list sorted by date)
+
+ sms = mContext.getContentResolver().query(Sms.CONTENT_URI,
+ new String[] {"_id", Sms.DATE, Sms.TYPE },
+ null, null, Sms.DATE + " desc, _id desc");
+
+ int nCurMsgIdx = sms.getCount(); // the latest dated message has this index
+
+ int dateColumn = sms.getColumnIndex(Sms.DATE);
+ int typeColumn = sms.getColumnIndex(Sms.TYPE);
+ int idColumn = sms.getColumnIndex("_id");
+
+ // record the largest date seen while looping
+ long nLatestDate = mLastSeenSMSDate;
+ long nMsgDate;
+
+ // this moveToFirst() should always succeed... but be paranoid
+ if (sms.moveToFirst()) {
+ // the first seen will have the newest date stamp, so hang on to that
+ // for updating mLastSeenSMSDate later on
+ nMsgDate = nLatestDate = sms.getLong(dateColumn);
+
+ // walk the cursor from the newest message to the oldest (desc sort order)
+ while (nMsgDate > mLastSeenSMSDate) {
+ // only concerned about stuff in the INBOX
+ if (Sms.MESSAGE_TYPE_INBOX == sms.getLong(typeColumn)) {
+ SendNMINofitication(sms.getInt(idColumn), nCurMsgIdx);
+ }
+ // get the previous message (next cursor row)
+ if (sms.moveToPrevious()) {
+ nCurMsgIdx--;
+ // check if the date
+ nMsgDate = sms.getLong(dateColumn);
+ } else {
+ // if moveToPrevious fails, there are no earlier msgs - so
+ // a msg date of 0 actually makes sense (and results in the
+ // loop terminating.)
+ nMsgDate = 0;
+ }
+ }
+ if (nLatestDate > mLastSeenSMSDate)
+ mLastSeenSMSDate = nLatestDate;
+ } // if moveToFirst
+ sms.close();
+ } // if newCount > 0
+ }
+ }
+}
diff --git a/src/com/android/phone/CLIRListPreference.java b/src/com/android/phone/CLIRListPreference.java
index b83b52c96..b23277a32 100644
--- a/src/com/android/phone/CLIRListPreference.java
+++ b/src/com/android/phone/CLIRListPreference.java
@@ -14,20 +14,24 @@
import android.util.AttributeSet;
import android.util.Log;
+/**
+ * {@link ListPreference} for CLIR (Calling Line Identification Restriction).
+ * Right now this is used for "Caller ID" setting.
+ */
public class CLIRListPreference extends ListPreference {
private static final String LOG_TAG = "CLIRListPreference";
private final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
- private MyHandler mHandler = new MyHandler();
- Phone phone;
- TimeConsumingPreferenceListener tcpListener;
+ private final MyHandler mHandler = new MyHandler();
+ private final Phone mPhone;
+ private TimeConsumingPreferenceListener mTcpListener;
int clirArray[];
public CLIRListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
- phone = PhoneApp.getPhone();
+ mPhone = PhoneApp.getPhone();
}
public CLIRListPreference(Context context) {
@@ -38,27 +42,28 @@ public CLIRListPreference(Context context) {
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
- phone.setOutgoingCallerIdDisplay(findIndexOfValue(getValue()),
+ mPhone.setOutgoingCallerIdDisplay(findIndexOfValue(getValue()),
mHandler.obtainMessage(MyHandler.MESSAGE_SET_CLIR));
- if (tcpListener != null) {
- tcpListener.onStarted(this, false);
+ if (mTcpListener != null) {
+ mTcpListener.onStarted(this, false);
}
}
- void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
- tcpListener = listener;
+ /* package */ void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
+ mTcpListener = listener;
if (!skipReading) {
- phone.getOutgoingCallerIdDisplay(mHandler.obtainMessage(MyHandler.MESSAGE_GET_CLIR,
+ mPhone.getOutgoingCallerIdDisplay(mHandler.obtainMessage(MyHandler.MESSAGE_GET_CLIR,
MyHandler.MESSAGE_GET_CLIR, MyHandler.MESSAGE_GET_CLIR));
- if (tcpListener != null) {
- tcpListener.onStarted(this, true);
+ if (mTcpListener != null) {
+ mTcpListener.onStarted(this, true);
}
}
}
- void handleGetCLIRResult(int tmpClirArray[]) {
+ /* package */ void handleGetCLIRResult(int tmpClirArray[]) {
clirArray = tmpClirArray;
- final boolean enabled = tmpClirArray[1] == 1 || tmpClirArray[1] == 3 || tmpClirArray[1] == 4;
+ final boolean enabled =
+ tmpClirArray[1] == 1 || tmpClirArray[1] == 3 || tmpClirArray[1] == 4;
setEnabled(enabled);
// set the value of the preference based upon the clirArgs.
@@ -105,8 +110,8 @@ void handleGetCLIRResult(int tmpClirArray[]) {
}
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_CLIR = 0;
- private static final int MESSAGE_SET_CLIR = 1;
+ static final int MESSAGE_GET_CLIR = 0;
+ static final int MESSAGE_SET_CLIR = 1;
@Override
public void handleMessage(Message msg) {
@@ -124,23 +129,26 @@ private void handleGetCLIRResponse(Message msg) {
AsyncResult ar = (AsyncResult) msg.obj;
if (msg.arg2 == MESSAGE_SET_CLIR) {
- tcpListener.onFinished(CLIRListPreference.this, false);
+ mTcpListener.onFinished(CLIRListPreference.this, false);
} else {
- tcpListener.onFinished(CLIRListPreference.this, true);
+ mTcpListener.onFinished(CLIRListPreference.this, true);
}
clirArray = null;
if (ar.exception != null) {
if (DBG) Log.d(LOG_TAG, "handleGetCLIRResponse: ar.exception="+ar.exception);
- tcpListener.onException(CLIRListPreference.this, (CommandException) ar.exception);
+ mTcpListener.onException(CLIRListPreference.this, (CommandException) ar.exception);
} else if (ar.userObj instanceof Throwable) {
- tcpListener.onError(CLIRListPreference.this, RESPONSE_ERROR);
+ mTcpListener.onError(CLIRListPreference.this, RESPONSE_ERROR);
} else {
int clirArray[] = (int[]) ar.result;
if (clirArray.length != 2) {
- tcpListener.onError(CLIRListPreference.this, RESPONSE_ERROR);
+ mTcpListener.onError(CLIRListPreference.this, RESPONSE_ERROR);
} else {
- if (DBG) Log.d(LOG_TAG, "handleGetCLIRResponse: CLIR successfully queried, clirArray[0]="
- + clirArray[0] + ", clirArray[1]=" + clirArray[1]);
+ if (DBG) {
+ Log.d(LOG_TAG, "handleGetCLIRResponse: CLIR successfully queried,"
+ + " clirArray[0]=" + clirArray[0]
+ + ", clirArray[1]=" + clirArray[1]);
+ }
handleGetCLIRResult(clirArray);
}
}
@@ -155,8 +163,8 @@ private void handleSetCLIRResponse(Message msg) {
}
if (DBG) Log.d(LOG_TAG, "handleSetCallWaitingResponse: re get");
- phone.getOutgoingCallerIdDisplay(obtainMessage(MESSAGE_GET_CLIR,
+ mPhone.getOutgoingCallerIdDisplay(obtainMessage(MESSAGE_GET_CLIR,
MESSAGE_SET_CLIR, MESSAGE_SET_CLIR, ar.exception));
}
}
-}
\ No newline at end of file
+}
diff --git a/src/com/android/phone/CallCard.java b/src/com/android/phone/CallCard.java
old mode 100755
new mode 100644
index 0e34b9b58..413a697cd
--- a/src/com/android/phone/CallCard.java
+++ b/src/com/android/phone/CallCard.java
@@ -16,35 +16,37 @@
package com.android.phone;
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
+import android.animation.LayoutTransition;
import android.content.ContentUris;
import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
-import android.pim.ContactsAsyncHelper;
+import android.os.Handler;
+import android.os.Message;
import android.provider.ContactsContract.Contacts;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.AttributeSet;
import android.util.Log;
-import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewStub;
import android.view.accessibility.AccessibilityEvent;
-import android.widget.Button;
-import android.widget.FrameLayout;
import android.widget.ImageView;
-import android.widget.RelativeLayout;
+import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.internal.telephony.Call;
+import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.CallerInfo;
import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.CallManager;
import java.util.List;
@@ -54,12 +56,30 @@
* cards, each representing the state of a current "call" (ie. an active call,
* a call on hold, or an incoming call.)
*/
-public class CallCard extends FrameLayout
+public class CallCard extends LinearLayout
implements CallTime.OnTickListener, CallerInfoAsyncQuery.OnQueryCompleteListener,
ContactsAsyncHelper.OnImageLoadCompleteListener {
private static final String LOG_TAG = "CallCard";
private static final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
+ private static final int TOKEN_UPDATE_PHOTO_FOR_CALL_STATE = 0;
+ private static final int TOKEN_DO_NOTHING = 1;
+
+ /**
+ * Used with {@link ContactsAsyncHelper#startObtainPhotoAsync(int, Context, Uri,
+ * ContactsAsyncHelper.OnImageLoadCompleteListener, Object)}
+ */
+ private static class AsyncLoadCookie {
+ public final ImageView imageView;
+ public final CallerInfo callerInfo;
+ public final Call call;
+ public AsyncLoadCookie(ImageView imageView, CallerInfo callerInfo, Call call) {
+ this.imageView = imageView;
+ this.callerInfo = callerInfo;
+ this.call = call;
+ }
+ }
+
/**
* Reference to the InCallScreen activity that owns us. This may be
* null if we haven't been initialized yet *or* after the InCallScreen
@@ -71,10 +91,23 @@ public class CallCard extends FrameLayout
private PhoneApp mApplication;
// Top-level subviews of the CallCard
- private ViewGroup mCallInfoContainer; // Container for info about the current call(s)
- private ViewGroup mPrimaryCallInfo; // "Call info" block #1 (the foreground or ringing call)
- private ViewGroup mPrimaryCallBanner; // "Call banner" for the primary call
- private ViewGroup mSecondaryCallInfo; // "Call info" block #2 (the background "on hold" call)
+ /** Container for info about the current call(s) */
+ private ViewGroup mCallInfoContainer;
+ /** Primary "call info" block (the foreground or ringing call) */
+ private ViewGroup mPrimaryCallInfo;
+ /** "Call banner" for the primary call */
+ private ViewGroup mPrimaryCallBanner;
+ /** Secondary "call info" block (the background "on hold" call) */
+ private ViewStub mSecondaryCallInfo;
+
+ /**
+ * Container for both provider info and call state. This will take care of showing/hiding
+ * animation for those views.
+ */
+ private ViewGroup mSecondaryInfoContainer;
+ private ViewGroup mProviderInfo;
+ private TextView mProviderLabel;
+ private TextView mProviderAddress;
// "Call state" widgets
private TextView mCallStateLabel;
@@ -85,18 +118,26 @@ public class CallCard extends FrameLayout
// The main block of info about the "primary" or "active" call,
// including photo / name / phone number / etc.
- private InCallContactPhoto mPhoto;
+ private ImageView mPhoto;
+ private View mPhotoDimEffect;
+
private TextView mName;
private TextView mPhoneNumber;
private TextView mLabel;
private TextView mCallTypeLabel;
- private TextView mSocialStatus;
+ // private TextView mSocialStatus;
+
+ /**
+ * Uri being used to load contact photo for mPhoto. Will be null when nothing is being loaded,
+ * or a photo is already loaded.
+ */
+ private Uri mLoadingPersonUri;
// Info about the "secondary" call, which is the "call on hold" when
// two lines are in use.
private TextView mSecondaryCallName;
- private TextView mSecondaryCallStatus;
- private InCallContactPhoto mSecondaryCallPhoto;
+ private ImageView mSecondaryCallPhoto;
+ private View mSecondaryCallPhotoDimEffect;
// Onscreen hint for the incoming call RotarySelector widget.
private int mIncomingCallWidgetHintTextResId;
@@ -110,6 +151,28 @@ public class CallCard extends FrameLayout
// Cached DisplayMetrics density.
private float mDensity;
+ /**
+ * Sent when it takes too long (MESSAGE_DELAY msec) to load a contact photo for the given
+ * person, at which we just start showing the default avatar picture instead of the person's
+ * one. Note that we will *not* cancel the ongoing query and eventually replace the avatar
+ * with the person's photo, when it is available anyway.
+ */
+ private static final int MESSAGE_SHOW_UNKNOWN_PHOTO = 101;
+ private static final int MESSAGE_DELAY = 500; // msec
+ private final Handler mHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case MESSAGE_SHOW_UNKNOWN_PHOTO:
+ showImage(mPhoto, R.drawable.picture_unknown);
+ break;
+ default:
+ Log.wtf(LOG_TAG, "mHandler: unexpected message: " + msg);
+ break;
+ }
+ }
+ };
+
public CallCard(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -117,13 +180,6 @@ public CallCard(Context context, AttributeSet attrs) {
if (DBG) log("- this = " + this);
if (DBG) log("- context " + context + ", attrs " + attrs);
- // Inflate the contents of this CallCard, and add it (to ourself) as a child.
- LayoutInflater inflater = LayoutInflater.from(context);
- inflater.inflate(
- R.layout.call_card, // resource
- this, // root
- true);
-
mApplication = PhoneApp.getInstance();
mCallTime = new CallTime(this);
@@ -135,18 +191,18 @@ public CallCard(Context context, AttributeSet attrs) {
if (DBG) log("- Density: " + mDensity);
}
- void setInCallScreenInstance(InCallScreen inCallScreen) {
+ /* package */ void setInCallScreenInstance(InCallScreen inCallScreen) {
mInCallScreen = inCallScreen;
}
+ @Override
public void onTickForCallTimeElapsed(long timeElapsed) {
// While a call is in progress, update the elapsed time shown
// onscreen.
updateElapsedTimeWidget(timeElapsed);
}
- /* package */
- void stopTimer() {
+ /* package */ void stopTimer() {
mCallTime.cancelTimer();
}
@@ -157,9 +213,13 @@ protected void onFinishInflate() {
if (DBG) log("CallCard onFinishInflate(this = " + this + ")...");
mCallInfoContainer = (ViewGroup) findViewById(R.id.call_info_container);
- mPrimaryCallInfo = (ViewGroup) findViewById(R.id.call_info_1);
- mPrimaryCallBanner = (ViewGroup) findViewById(R.id.call_banner_1);
- mSecondaryCallInfo = (ViewGroup) findViewById(R.id.call_info_2);
+ mPrimaryCallInfo = (ViewGroup) findViewById(R.id.primary_call_info);
+ mPrimaryCallBanner = (ViewGroup) findViewById(R.id.primary_call_banner);
+
+ mSecondaryInfoContainer = (ViewGroup) findViewById(R.id.secondary_info_container);
+ mProviderInfo = (ViewGroup) findViewById(R.id.providerInfo);
+ mProviderLabel = (TextView) findViewById(R.id.providerLabel);
+ mProviderAddress = (TextView) findViewById(R.id.providerAddress);
mCallStateLabel = (TextView) findViewById(R.id.callStateLabel);
mElapsedTime = (TextView) findViewById(R.id.elapsedTime);
@@ -167,27 +227,24 @@ protected void onFinishInflate() {
mTextColorCallTypeSip = getResources().getColor(R.color.incall_callTypeSip);
// "Caller info" area, including photo / name / phone numbers / etc
- mPhoto = (InCallContactPhoto) findViewById(R.id.photo);
- ImageView inset = (ImageView) findViewById(R.id.insetPhoto);
- mPhoto.setInsetImageView(inset);
+ mPhoto = (ImageView) findViewById(R.id.photo);
+ mPhotoDimEffect = findViewById(R.id.dim_effect_for_primary_photo);
mName = (TextView) findViewById(R.id.name);
mPhoneNumber = (TextView) findViewById(R.id.phoneNumber);
mLabel = (TextView) findViewById(R.id.label);
mCallTypeLabel = (TextView) findViewById(R.id.callTypeLabel);
- mSocialStatus = (TextView) findViewById(R.id.socialStatus);
+ // mSocialStatus = (TextView) findViewById(R.id.socialStatus);
// Secondary info area, for the background ("on hold") call
- mSecondaryCallName = (TextView) findViewById(R.id.secondaryCallName);
- mSecondaryCallStatus = (TextView) findViewById(R.id.secondaryCallStatus);
- mSecondaryCallPhoto = (InCallContactPhoto) findViewById(R.id.secondaryCallPhoto);
+ mSecondaryCallInfo = (ViewStub) findViewById(R.id.secondary_call_info);
}
/**
* Updates the state of all UI elements on the CallCard, based on the
* current state of the phone.
*/
- void updateState(CallManager cm) {
+ /* package */ void updateState(CallManager cm) {
if (DBG) log("updateState(" + cm + ")...");
// Update the onscreen UI based on the current state of the phone.
@@ -222,22 +279,32 @@ void updateState(CallManager cm) {
// The normal "foreground call" code path handles both cases.
updateForegroundCall(cm);
} else {
- // We don't have any DISCONNECTED calls, which means
- // that the phone is *truly* idle.
- //
- // It's very rare to be on the InCallScreen at all in this
- // state, but it can happen in some cases:
- // - A stray onPhoneStateChanged() event came in to the
- // InCallScreen *after* it was dismissed.
- // - We're allowed to be on the InCallScreen because
- // an MMI or USSD is running, but there's no actual "call"
- // to display.
- // - We're displaying an error dialog to the user
- // (explaining why the call failed), so we need to stay on
- // the InCallScreen so that the dialog will be visible.
- //
- // In these cases, put the callcard into a sane but "blank" state:
- updateNoCall(cm);
+ // We don't have any DISCONNECTED calls, which means that the phone
+ // is *truly* idle.
+ if (mApplication.inCallUiState.showAlreadyDisconnectedState) {
+ // showAlreadyDisconnectedState implies the phone call is disconnected
+ // and we want to show the disconnected phone call for a moment.
+ //
+ // This happens when a phone call ends while the screen is off,
+ // which means the user had no chance to see the last status of
+ // the call. We'll turn off showAlreadyDisconnectedState flag
+ // and bail out of the in-call screen soon.
+ updateAlreadyDisconnected(cm);
+ } else {
+ // It's very rare to be on the InCallScreen at all in this
+ // state, but it can happen in some cases:
+ // - A stray onPhoneStateChanged() event came in to the
+ // InCallScreen *after* it was dismissed.
+ // - We're allowed to be on the InCallScreen because
+ // an MMI or USSD is running, but there's no actual "call"
+ // to display.
+ // - We're displaying an error dialog to the user
+ // (explaining why the call failed), so we need to stay on
+ // the InCallScreen so that the dialog will be visible.
+ //
+ // In these cases, put the callcard into a sane but "blank" state:
+ updateNoCall(cm);
+ }
}
}
@@ -298,15 +365,15 @@ private void updateForegroundCall(CallManager cm) {
if ((mApplication.cdmaPhoneCallState.getCurrentCallState()
== CdmaPhoneCallState.PhoneCallState.THRWAY_ACTIVE)
&& mApplication.cdmaPhoneCallState.IsThreeWayCallOrigStateDialing()) {
- displayOnHoldCallStatus(cm, fgCall);
+ displaySecondaryCallStatus(cm, fgCall);
} else {
//This is required so that even if a background call is not present
// we need to clean up the background call area.
- displayOnHoldCallStatus(cm, bgCall);
+ displaySecondaryCallStatus(cm, bgCall);
}
} else if ((phoneType == Phone.PHONE_TYPE_GSM)
|| (phoneType == Phone.PHONE_TYPE_SIP)) {
- displayOnHoldCallStatus(cm, bgCall);
+ displaySecondaryCallStatus(cm, bgCall);
}
}
@@ -326,7 +393,35 @@ private void updateRingingCall(CallManager cm) {
// the current ongoing call and/or the current call on hold.
// (Since the caller-id info for the incoming call totally trumps
// any info about the current call(s) in progress.)
- displayOnHoldCallStatus(cm, null);
+ displaySecondaryCallStatus(cm, null);
+ }
+
+ /**
+ * Updates the UI for the state where an incoming call is just disconnected while we want to
+ * show the screen for a moment.
+ *
+ * This case happens when the whole in-call screen is in background when phone calls are hanged
+ * up, which means there's no way to determine which call was the last call finished. Right now
+ * this method simply shows the previous primary call status with a photo, closing the
+ * secondary call status. In most cases (including conference call or misc call happening in
+ * CDMA) this behaves right.
+ *
+ * If there were two phone calls both of which were hung up but the primary call was the
+ * first, this would behave a bit odd (since the first one still appears as the
+ * "last disconnected").
+ */
+ private void updateAlreadyDisconnected(CallManager cm) {
+ // For the foreground call, we manually set up every component based on previous state.
+ mPrimaryCallInfo.setVisibility(View.VISIBLE);
+ mSecondaryInfoContainer.setLayoutTransition(null);
+ mProviderInfo.setVisibility(View.GONE);
+ mCallStateLabel.setVisibility(View.VISIBLE);
+ mCallStateLabel.setText(mContext.getString(R.string.card_title_call_ended));
+ mElapsedTime.setVisibility(View.VISIBLE);
+ mCallTime.cancelTimer();
+
+ // Just hide it.
+ displaySecondaryCallStatus(cm, null);
}
/**
@@ -341,7 +436,7 @@ private void updateNoCall(CallManager cm) {
if (DBG) log("updateNoCall()...");
displayMainCallStatus(cm, null);
- displayOnHoldCallStatus(cm, null);
+ displaySecondaryCallStatus(cm, null);
}
/**
@@ -553,6 +648,7 @@ private void displayMainCallStatus(CallManager cm, Call call) {
* Implemented for CallerInfoAsyncQuery.OnQueryCompleteListener interface.
* refreshes the CallCard data when it called.
*/
+ @Override
public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
if (DBG) log("onQueryComplete: token " + token + ", cookie " + cookie + ", ci " + ci);
@@ -600,10 +696,43 @@ public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
* Implemented for ContactsAsyncHelper.OnImageLoadCompleteListener interface.
* make sure that the call state is reflected after the image is loaded.
*/
- public void onImageLoadComplete(int token, Object cookie, ImageView iView,
- boolean imagePresent){
- if (cookie != null) {
- updatePhotoForCallState((Call) cookie);
+ @Override
+ public void onImageLoadComplete(int token, Drawable photo, Bitmap photoIcon, Object cookie) {
+ mHandler.removeMessages(MESSAGE_SHOW_UNKNOWN_PHOTO);
+ if (mLoadingPersonUri != null) {
+ // Start sending view notification after the current request being done.
+ // New image may possibly be available from the next phone calls.
+ //
+ // TODO: may be nice to update the image view again once the newer one
+ // is available on contacts database.
+ PhoneUtils.sendViewNotificationAsync(mApplication, mLoadingPersonUri);
+ } else {
+ // This should not happen while we need some verbose info if it happens..
+ Log.w(LOG_TAG, "Person Uri isn't available while Image is successfully loaded.");
+ }
+ mLoadingPersonUri = null;
+
+ AsyncLoadCookie asyncLoadCookie = (AsyncLoadCookie) cookie;
+ CallerInfo callerInfo = asyncLoadCookie.callerInfo;
+ ImageView imageView = asyncLoadCookie.imageView;
+ Call call = asyncLoadCookie.call;
+
+ callerInfo.cachedPhoto = photo;
+ callerInfo.cachedPhotoIcon = photoIcon;
+ callerInfo.isCachedPhotoCurrent = true;
+
+ // Note: previously ContactsAsyncHelper has done this job.
+ // TODO: We will need fade-in animation. See issue 5236130.
+ if (photo != null) {
+ showImage(imageView, photo);
+ } else if (photoIcon != null) {
+ showImage(imageView, photoIcon);
+ } else {
+ showImage(imageView, R.drawable.picture_unknown);
+ }
+
+ if (token == TOKEN_UPDATE_PHOTO_FOR_CALL_STATE) {
+ updatePhotoForCallState(call);
}
}
@@ -689,19 +818,40 @@ private void updateCallStateWidgets(Call call) {
callStateLabel = getECMCardTitle(context, phone);
}
- if (DBG) log("==> callStateLabel: '" + callStateLabel
- + "', bluetoothIconId = " + bluetoothIconId);
+ final InCallUiState inCallUiState = mApplication.inCallUiState;
+ if (DBG) {
+ log("==> callStateLabel: '" + callStateLabel
+ + "', bluetoothIconId = " + bluetoothIconId
+ + ", providerInfoVisible = " + inCallUiState.providerInfoVisible);
+ }
+
+ // Animation will be done by mCallerDetail's LayoutTransition, but in some cases, we don't
+ // want that.
+ // - DIALING: This is at the beginning of the phone call.
+ // - DISCONNECTING, DISCONNECTED: Screen will disappear soon; we have no time for animation.
+ final boolean skipAnimation = (state == Call.State.DIALING
+ || state == Call.State.DISCONNECTING
+ || state == Call.State.DISCONNECTED);
+ LayoutTransition layoutTransition = null;
+ if (skipAnimation) {
+ // Evict LayoutTransition object to skip animation.
+ layoutTransition = mSecondaryInfoContainer.getLayoutTransition();
+ mSecondaryInfoContainer.setLayoutTransition(null);
+ }
+
+ if (inCallUiState.providerInfoVisible) {
+ mProviderInfo.setVisibility(View.VISIBLE);
+ mProviderLabel.setText(context.getString(R.string.calling_via_template,
+ inCallUiState.providerLabel));
+ mProviderAddress.setText(inCallUiState.providerAddress);
- // Update (or hide) the onscreen widget:
- if (TextUtils.isEmpty(callStateLabel)) {
- // When hiding, do a smooth fade-out animation.
- Fade.hide(mCallStateLabel, View.GONE);
+ mInCallScreen.requestRemoveProviderInfoWithDelay();
} else {
- // ... but when becoming visible, never animate (mainly to be
- // sure you don't see a fade-in at the very beginning of a
- // call.)
- mCallStateLabel.setVisibility(View.VISIBLE);
+ mProviderInfo.setVisibility(View.GONE);
+ }
+ if (!TextUtils.isEmpty(callStateLabel)) {
+ mCallStateLabel.setVisibility(View.VISIBLE);
mCallStateLabel.setText(callStateLabel);
// ...and display the icon too if necessary.
@@ -712,45 +862,72 @@ private void updateCallStateWidgets(Call call) {
// Clear out any icons
mCallStateLabel.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
}
+ } else {
+ mCallStateLabel.setVisibility(View.GONE);
+ }
+ if (skipAnimation) {
+ // Restore LayoutTransition object to recover animation.
+ mSecondaryInfoContainer.setLayoutTransition(layoutTransition);
}
// ...and update the elapsed time widget too.
switch (state) {
case ACTIVE:
case DISCONNECTING:
- mElapsedTime.setVisibility(View.VISIBLE);
- long duration = CallTime.getCallDuration(call); // msec
- updateElapsedTimeWidget(duration / 1000);
- // Also see onTickForCallTimeElapsed(), which updates this
- // widget once per second while the call is active.
+ // Show the time with fade-in animation.
+ AnimationUtils.Fade.show(mElapsedTime);
+ updateElapsedTimeWidget(call);
break;
case DISCONNECTED:
// In the "Call ended" state, leave the mElapsedTime widget
// visible, but don't touch it (so we continue to see the
// elapsed time of the call that just ended.)
- mElapsedTime.setVisibility(View.VISIBLE);
+ // Check visibility to keep possible fade-in animation.
+ if (mElapsedTime.getVisibility() != View.VISIBLE) {
+ mElapsedTime.setVisibility(View.VISIBLE);
+ }
break;
default:
- // In all other states (DIALING, INCOMING, HOLDING, etc.),
- // the "elapsed time" is meaningless, so don't show it.
- mElapsedTime.setVisibility(View.INVISIBLE);
+ // Call state here is IDLE, ACTIVE, HOLDING, DIALING, ALERTING,
+ // INCOMING, or WAITING.
+ // In all of these states, the "elapsed time" is meaningless, so
+ // don't show it.
+ AnimationUtils.Fade.hide(mElapsedTime, View.INVISIBLE);
+
+ // Additionally, in call states that can only occur at the start
+ // of a call, reset the elapsed time to be sure we won't display
+ // stale info later (like if we somehow go straight from DIALING
+ // or ALERTING to DISCONNECTED, which can actually happen in
+ // some failure cases like "line busy").
+ if ((state == Call.State.DIALING) || (state == Call.State.ALERTING)) {
+ updateElapsedTimeWidget(0);
+ }
+
break;
}
}
+ /**
+ * Updates mElapsedTime based on the given {@link Call} object's information.
+ *
+ * @see CallTime#getCallDuration(Call)
+ * @see Connection#getDurationMillis()
+ */
+ /* package */ void updateElapsedTimeWidget(Call call) {
+ long duration = CallTime.getCallDuration(call); // msec
+ updateElapsedTimeWidget(duration / 1000);
+ // Also see onTickForCallTimeElapsed(), which updates this
+ // widget once per second while the call is active.
+ }
+
/**
* Updates mElapsedTime based on the specified number of seconds.
- * A timeElapsed value of zero means to not show an elapsed time at all.
*/
private void updateElapsedTimeWidget(long timeElapsed) {
// if (DBG) log("updateElapsedTimeWidget: " + timeElapsed);
- if (timeElapsed == 0) {
- mElapsedTime.setText("");
- } else {
- mElapsedTime.setText(DateUtils.formatElapsedTime(timeElapsed));
- }
+ mElapsedTime.setText(DateUtils.formatElapsedTime(timeElapsed));
}
/**
@@ -760,7 +937,7 @@ private void updateElapsedTimeWidget(long timeElapsed) {
* Or, clear out the "on hold" box if the specified call
* is null or idle.
*/
- private void displayOnHoldCallStatus(CallManager cm, Call call) {
+ private void displaySecondaryCallStatus(CallManager cm, Call call) {
if (DBG) log("displayOnHoldCallStatus(call =" + call + ")...");
if ((call == null) || (PhoneApp.getInstance().isOtaCallInActiveState())) {
@@ -768,7 +945,6 @@ private void displayOnHoldCallStatus(CallManager cm, Call call) {
return;
}
- boolean showSecondaryCallInfo = false;
Call.State state = call.getState();
switch (state) {
case HOLDING:
@@ -778,6 +954,7 @@ private void displayOnHoldCallStatus(CallManager cm, Call call) {
// Note this case occurs only on GSM devices. (On CDMA,
// the "call on hold" is actually the 2nd connection of
// that ACTIVE call; see the ACTIVE case below.)
+ showSecondaryCallInfo();
if (PhoneUtils.isConferenceCall(call)) {
if (DBG) log("==> conference call.");
@@ -807,8 +984,7 @@ private void displayOnHoldCallStatus(CallManager cm, Call call) {
}
}
- showSecondaryCallInfo = true;
-
+ AnimationUtils.Fade.show(mSecondaryCallPhotoDimEffect);
break;
case ACTIVE:
@@ -816,6 +992,8 @@ private void displayOnHoldCallStatus(CallManager cm, Call call) {
// although the Foreground call state is still ACTIVE in reality the network
// put the first call on hold.
if (mApplication.phone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
+ showSecondaryCallInfo();
+
List connections = call.getConnections();
if (connections.size() > 2) {
// This means that current Mobile Originated call is the not the first 3-Way
@@ -841,7 +1019,8 @@ private void displayOnHoldCallStatus(CallManager cm, Call call) {
boolean forceGenericPhoto = false;
if (info != null && info.numberPresentation !=
Connection.PRESENTATION_ALLOWED) {
- name = getPresentationString(info.numberPresentation);
+ name = PhoneUtils.getPresentationString(
+ getContext(), info.numberPresentation);
forceGenericPhoto = true;
}
mSecondaryCallName.setText(name);
@@ -858,25 +1037,50 @@ private void displayOnHoldCallStatus(CallManager cm, Call call) {
showImage(mSecondaryCallPhoto, R.drawable.picture_unknown);
}
}
- showSecondaryCallInfo = true;
-
} else {
// We shouldn't ever get here at all for non-CDMA devices.
Log.w(LOG_TAG, "displayOnHoldCallStatus: ACTIVE state on non-CDMA device");
- showSecondaryCallInfo = false;
+ mSecondaryCallInfo.setVisibility(View.GONE);
}
+
+ AnimationUtils.Fade.hide(mSecondaryCallPhotoDimEffect, View.GONE);
break;
default:
// There's actually no call on hold. (Presumably this call's
// state is IDLE, since any other state is meaningless for the
// background call.)
- showSecondaryCallInfo = false;
+ mSecondaryCallInfo.setVisibility(View.GONE);
break;
}
+ }
- // Show or hide the entire "secondary call" info area.
- mSecondaryCallInfo.setVisibility(showSecondaryCallInfo ? View.VISIBLE : View.GONE);
+ private void showSecondaryCallInfo() {
+ // This will call ViewStub#inflate() when needed.
+ mSecondaryCallInfo.setVisibility(View.VISIBLE);
+ if (mSecondaryCallName == null) {
+ mSecondaryCallName = (TextView) findViewById(R.id.secondaryCallName);
+ }
+ if (mSecondaryCallPhoto == null) {
+ mSecondaryCallPhoto = (ImageView) findViewById(R.id.secondaryCallPhoto);
+ }
+ if (mSecondaryCallPhotoDimEffect == null) {
+ mSecondaryCallPhotoDimEffect = findViewById(R.id.dim_effect_for_secondary_photo);
+ mSecondaryCallPhotoDimEffect.setOnClickListener(mInCallScreen);
+ // Add a custom OnTouchListener to manually shrink the "hit target".
+ mSecondaryCallPhotoDimEffect.setOnTouchListener(new SmallerHitTargetTouchListener());
+ }
+ mInCallScreen.updateButtonStateOutsideInCallTouchUi();
+ }
+
+ /**
+ * Method which is expected to be called from
+ * {@link InCallScreen#updateButtonStateOutsideInCallTouchUi()}.
+ */
+ /* package */ void setSecondaryCallClickable(boolean clickable) {
+ if (mSecondaryCallPhotoDimEffect != null) {
+ mSecondaryCallPhotoDimEffect.setEnabled(clickable);
+ }
}
private String getCallFailedString(Call call) {
@@ -987,8 +1191,8 @@ private void updateDisplayForPerson(CallerInfo info,
String displayNumber = null;
String label = null;
Uri personUri = null;
- String socialStatusText = null;
- Drawable socialStatusBadge = null;
+ // String socialStatusText = null;
+ // Drawable socialStatusBadge = null;
if (info != null) {
// It appears that there is a small change in behaviour with the
@@ -1027,13 +1231,13 @@ private void updateDisplayForPerson(CallerInfo info,
if (TextUtils.isEmpty(number)) {
// No name *or* number! Display a generic "unknown" string
// (or potentially some other default based on the presentation.)
- displayName = getPresentationString(presentation);
+ displayName = PhoneUtils.getPresentationString(getContext(), presentation);
if (DBG) log(" ==> no name *or* number! displayName = " + displayName);
} else if (presentation != Connection.PRESENTATION_ALLOWED) {
// This case should never happen since the network should never send a phone #
// AND a restricted presentation. However we leave it here in case of weird
// network behavior
- displayName = getPresentationString(presentation);
+ displayName = PhoneUtils.getPresentationString(getContext(), presentation);
if (DBG) log(" ==> presentation not allowed! displayName = " + displayName);
} else if (!TextUtils.isEmpty(info.cnapName)) {
// No name, but we do have a valid CNAP name, so use that.
@@ -1070,7 +1274,7 @@ private void updateDisplayForPerson(CallerInfo info,
// This case should never happen since the network should never send a name
// AND a restricted presentation. However we leave it here in case of weird
// network behavior
- displayName = getPresentationString(presentation);
+ displayName = PhoneUtils.getPresentationString(getContext(), presentation);
if (DBG) log(" ==> valid name, but presentation not allowed!"
+ " displayName = " + displayName);
} else {
@@ -1085,7 +1289,7 @@ private void updateDisplayForPerson(CallerInfo info,
if (DBG) log("- got personUri: '" + personUri
+ "', based on info.person_id: " + info.person_id);
} else {
- displayName = getPresentationString(presentation);
+ displayName = PhoneUtils.getPresentationString(getContext(), presentation);
}
if (call.isGeneric()) {
@@ -1106,14 +1310,48 @@ private void updateDisplayForPerson(CallerInfo info,
// for cases where CallerInfo.photoResource may be set. We can also avoid
// the image load step if the image data is cached.
if (isTemporary && (info == null || !info.isCachedPhotoCurrent)) {
+ mPhoto.setTag(null);
mPhoto.setVisibility(View.INVISIBLE);
} else if (info != null && info.photoResource != 0){
showImage(mPhoto, info.photoResource);
} else if (!showCachedImage(mPhoto, info)) {
- // Load the image with a callback to update the image state.
- // Use the default unknown picture while the query is running.
- ContactsAsyncHelper.updateImageViewWithContactPhotoAsync(
- info, 0, this, call, getContext(), mPhoto, personUri, R.drawable.picture_unknown);
+ if (personUri == null) {
+ Log.w(LOG_TAG, "personPri is null. Just use Unknown picture.");
+ showImage(mPhoto, R.drawable.picture_unknown);
+ } else if (personUri.equals(mLoadingPersonUri)) {
+ if (DBG) {
+ log("The requested Uri (" + personUri + ") is being loaded already."
+ + " Ignoret the duplicate load request.");
+ }
+ } else {
+ // Remember which person's photo is being loaded right now so that we won't issue
+ // unnecessary load request multiple times, which will mess up animation around
+ // the contact photo.
+ mLoadingPersonUri = personUri;
+
+ // Forget the drawable previously used.
+ mPhoto.setTag(null);
+ // Show empty screen for a moment.
+ mPhoto.setVisibility(View.INVISIBLE);
+ // Load the image with a callback to update the image state.
+ // When the load is finished, onImageLoadComplete() will be called.
+ ContactsAsyncHelper.startObtainPhotoAsync(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE,
+ getContext(), personUri, this, new AsyncLoadCookie(mPhoto, info, call));
+
+ // If the image load is too slow, we show a default avatar icon afterward.
+ // If it is fast enough, this message will be canceled on onImageLoadComplete().
+ mHandler.removeMessages(MESSAGE_SHOW_UNKNOWN_PHOTO);
+ mHandler.sendEmptyMessageDelayed(MESSAGE_SHOW_UNKNOWN_PHOTO, MESSAGE_DELAY);
+ }
+ }
+
+ // If the phone call is on hold, show it with darker status.
+ // Right now we achieve it by overlaying opaque View.
+ // Note: See also layout file about why so and what is the other possibilities.
+ if (call.getState() == Call.State.HOLDING) {
+ AnimationUtils.Fade.show(mPhotoDimEffect);
+ } else {
+ AnimationUtils.Fade.hide(mPhotoDimEffect, View.GONE);
}
if (displayNumber != null && !call.isGeneric()) {
@@ -1132,17 +1370,7 @@ private void updateDisplayForPerson(CallerInfo info,
// Other text fields:
updateCallTypeLabel(call);
- updateSocialStatus(socialStatusText, socialStatusBadge, call); // Currently unused
- }
-
- private String getPresentationString(int presentation) {
- String name = getContext().getString(R.string.unknown);
- if (presentation == Connection.PRESENTATION_RESTRICTED) {
- name = getContext().getString(R.string.private_num);
- } else if (presentation == Connection.PRESENTATION_PAYPHONE) {
- name = getContext().getString(R.string.payphone);
- }
- return name;
+ // updateSocialStatus(socialStatusText, socialStatusBadge, call); // Currently unused
}
/**
@@ -1188,7 +1416,7 @@ private void updateDisplayForConference(Call call) {
// Other text fields:
updateCallTypeLabel(call);
- updateSocialStatus(null, null, null); // socialStatus is never visible in this state
+ // updateSocialStatus(null, null, null); // socialStatus is never visible in this state
// TODO: for a GSM conference call, since we do actually know who
// you're talking to, consider also showing names / numbers /
@@ -1293,15 +1521,25 @@ private void updatePhotoForCallState(Call call) {
// 3. If the load request has not been made [DISPLAY_DEFAULT], start the
// request and note that it has started by updating photo state with
// [DISPLAY_IMAGE].
- // Load requests started in (3) use a placeholder image of -1 to hide the
- // image by default. Please refer to CallerInfoAsyncQuery.java for cases
- // where CallerInfo.photoResource may be set.
if (photoImageResource == 0) {
if (!PhoneUtils.isConferenceCall(call)) {
if (!showCachedImage(mPhoto, ci) && (mPhotoTracker.getPhotoState() ==
ContactsAsyncHelper.ImageTracker.DISPLAY_DEFAULT)) {
- ContactsAsyncHelper.updateImageViewWithContactPhotoAsync(ci,
- getContext(), mPhoto, mPhotoTracker.getPhotoUri(), -1);
+ Uri photoUri = mPhotoTracker.getPhotoUri();
+ if (photoUri == null) {
+ Log.w(LOG_TAG, "photoUri became null. Show default avatar icon");
+ showImage(mPhoto, R.drawable.picture_unknown);
+ } else {
+ if (DBG) {
+ log("start asynchronous load inside updatePhotoForCallState()");
+ }
+ mPhoto.setTag(null);
+ // Make it invisible for a moment
+ mPhoto.setVisibility(View.INVISIBLE);
+ ContactsAsyncHelper.startObtainPhotoAsync(TOKEN_DO_NOTHING,
+ getContext(), photoUri, this,
+ new AsyncLoadCookie(mPhoto, ci, null));
+ }
mPhotoTracker.setPhotoState(
ContactsAsyncHelper.ImageTracker.DISPLAY_IMAGE);
}
@@ -1341,30 +1579,27 @@ private static final boolean showCachedImage(ImageView view, CallerInfo ci) {
/** Helper function to display the resource in the imageview AND ensure its visibility.*/
private static final void showImage(ImageView view, int resource) {
- view.setImageResource(resource);
- view.setVisibility(View.VISIBLE);
+ showImage(view, view.getContext().getResources().getDrawable(resource));
}
- /** Helper function to display the drawable in the imageview AND ensure its visibility.*/
- private static final void showImage(ImageView view, Drawable drawable) {
- view.setImageDrawable(drawable);
- view.setVisibility(View.VISIBLE);
+ private static final void showImage(ImageView view, Bitmap bitmap) {
+ showImage(view, new BitmapDrawable(view.getContext().getResources(), bitmap));
}
- /**
- * Sets the left and right margins of the specified ViewGroup (whose
- * LayoutParams object which must inherit from
- * ViewGroup.MarginLayoutParams.)
- *
- * TODO: Is there already a convenience method like this somewhere?
- */
- private void setSideMargins(ViewGroup vg, int margin) {
- ViewGroup.MarginLayoutParams lp =
- (ViewGroup.MarginLayoutParams) vg.getLayoutParams();
- // Equivalent to setting android:layout_marginLeft/Right in XML
- lp.leftMargin = margin;
- lp.rightMargin = margin;
- vg.setLayoutParams(lp);
+ /** Helper function to display the drawable in the imageview AND ensure its visibility.*/
+ private static final void showImage(ImageView view, Drawable drawable) {
+ Resources res = view.getContext().getResources();
+ Drawable current = (Drawable) view.getTag();
+
+ if (current == null) {
+ if (DBG) log("Start fade-in animation for " + view);
+ view.setImageDrawable(drawable);
+ AnimationUtils.Fade.show(view);
+ view.setTag(drawable);
+ } else {
+ AnimationUtils.startCrossFade(view, current, drawable);
+ view.setVisibility(View.VISIBLE);
+ }
}
/**
@@ -1412,7 +1647,7 @@ private void updateCallTypeLabel(Call call) {
* Updates the "social status" label with the specified text and
* (optional) badge.
*/
- private void updateSocialStatus(String socialStatusText,
+ /*private void updateSocialStatus(String socialStatusText,
Drawable socialStatusBadge,
Call call) {
// The socialStatus field is *only* visible while an incoming call
@@ -1429,7 +1664,7 @@ private void updateSocialStatus(String socialStatusText,
} else {
mSocialStatus.setVisibility(View.GONE);
}
- }
+ }*/
/**
* Hides the top-level UI elements of the call card: The "main
@@ -1464,15 +1699,24 @@ public void hideCallCardElements() {
// get pronounced by a screen reader, for example.)
@Override
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
+ if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
+ dispatchPopulateAccessibilityEvent(event, mName);
+ dispatchPopulateAccessibilityEvent(event, mPhoneNumber);
+ return true;
+ }
+
dispatchPopulateAccessibilityEvent(event, mCallStateLabel);
dispatchPopulateAccessibilityEvent(event, mPhoto);
dispatchPopulateAccessibilityEvent(event, mName);
dispatchPopulateAccessibilityEvent(event, mPhoneNumber);
dispatchPopulateAccessibilityEvent(event, mLabel);
- dispatchPopulateAccessibilityEvent(event, mSocialStatus);
- dispatchPopulateAccessibilityEvent(event, mSecondaryCallName);
- dispatchPopulateAccessibilityEvent(event, mSecondaryCallStatus);
- dispatchPopulateAccessibilityEvent(event, mSecondaryCallPhoto);
+ // dispatchPopulateAccessibilityEvent(event, mSocialStatus);
+ if (mSecondaryCallName != null) {
+ dispatchPopulateAccessibilityEvent(event, mSecondaryCallName);
+ }
+ if (mSecondaryCallPhoto != null) {
+ dispatchPopulateAccessibilityEvent(event, mSecondaryCallPhoto);
+ }
return true;
}
@@ -1486,105 +1730,7 @@ private void dispatchPopulateAccessibilityEvent(AccessibilityEvent event, View v
}
}
- /**
- * Simple Utility class that runs fading animations on specified views.
- */
- public static class Fade {
- private static final boolean FADE_DBG = false;
- private static final long DURATION = 250; // msec
-
- // View tag that's set during the fade-out animation; see hide() and
- // isFadingOut().
- private static final int FADE_STATE_KEY = R.id.fadeState;
- private static final String FADING_OUT = "fading_out";
-
- /**
- * Sets the visibility of the specified view to View.VISIBLE and then
- * fades it in. If the view is already visible (and not in the middle
- * of a fade-out animation), this method will return without doing
- * anything.
- *
- * @param view The view to be faded in
- */
- public static void show(final View view) {
- if (FADE_DBG) log("Fade: SHOW view " + view + "...");
- if (FADE_DBG) log("Fade: - visibility = " + view.getVisibility());
- if ((view.getVisibility() != View.VISIBLE) || isFadingOut(view)) {
- view.animate().cancel();
- // ...and clear the FADE_STATE_KEY tag in case we just
- // canceled an in-progress fade-out animation.
- view.setTag(FADE_STATE_KEY, null);
-
- view.setAlpha(0);
- view.setVisibility(View.VISIBLE);
- view.animate().setDuration(DURATION);
- view.animate().alpha(1);
- if (FADE_DBG) log("Fade: ==> SHOW " + view
- + " DONE. Set visibility = " + View.VISIBLE);
- } else {
- if (FADE_DBG) log("Fade: ==> Ignoring, already visible AND not fading out.");
- }
- }
-
- /**
- * Fades out the specified view and then sets its visibility to the
- * specified value (either View.INVISIBLE or View.GONE). If the view
- * is not currently visibile, the method will return without doing
- * anything.
- *
- * Note that *during* the fade-out the view itself will still have
- * visibility View.VISIBLE, although the isFadingOut() method will
- * return true (in case the UI code needs to detect this state.)
- *
- * @param view The view to be hidden
- * @param visibility The value to which the view's visibility will be
- * set after it fades out.
- * Must be either View.VISIBLE or View.INVISIBLE.
- */
- public static void hide(final View view, final int visibility) {
- if (FADE_DBG) log("Fade: HIDE view " + view + "...");
- if (view.getVisibility() == View.VISIBLE &&
- (visibility == View.INVISIBLE || visibility == View.GONE)) {
-
- // Use a view tag to mark this view as being in the middle
- // of a fade-out animation.
- view.setTag(FADE_STATE_KEY, FADING_OUT);
-
- view.animate().cancel();
- view.animate().setDuration(DURATION);
- view.animate().alpha(0f).setListener(new AnimatorListenerAdapter() {
- public void onAnimationEnd(Animator animation) {
- view.setAlpha(1);
- view.setVisibility(visibility);
- view.animate().setListener(null);
- // ...and we're done with the fade-out, so clear the view tag.
- view.setTag(FADE_STATE_KEY, null);
- if (FADE_DBG) log("Fade: HIDE " + view
- + " DONE. Set visibility = " + visibility);
- }
- });
- }
- }
- /**
- * @return true if the specified view is currently in the middle
- * of a fade-out animation. (During the fade-out, the view's
- * visibility is still VISIBLE, although in many cases the UI
- * should behave as if it's already invisible or gone. This
- * method allows the UI code to detect that state.)
- *
- * @see hide()
- */
- public static boolean isFadingOut(final View view) {
- if (FADE_DBG) {
- log("Fade: isFadingOut view " + view + "...");
- log("Fade: - getTag() returns: " + view.getTag(FADE_STATE_KEY));
- log("Fade: - returning: " + (view.getTag(FADE_STATE_KEY) == FADING_OUT));
- }
- return (view.getTag(FADE_STATE_KEY) == FADING_OUT);
- }
-
- }
// Debugging / testing code
diff --git a/src/com/android/phone/CallController.java b/src/com/android/phone/CallController.java
index 4a9cbad84..f27296321 100644
--- a/src/com/android/phone/CallController.java
+++ b/src/com/android/phone/CallController.java
@@ -18,6 +18,7 @@
import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
import com.android.phone.Constants.CallStatusCode;
import com.android.phone.InCallUiState.InCallScreenMode;
import com.android.phone.OtaUtils.CdmaOtaScreenState;
@@ -33,7 +34,6 @@
import android.util.Log;
import android.widget.Toast;
-
/**
* Phone app module in charge of "call control".
*
@@ -167,7 +167,7 @@ public void handleMessage(Message msg) {
* (2) as the "intent" parameter.
*
* (4) Here in CallController.placeCall() we read the phone number or SIP
- * address out of the intent and actually initate the call, and
+ * address out of the intent and actually initiate the call, and
* simultaneously launch the InCallScreen to display the in-call UI.
*
* (5) We handle various errors by directing the InCallScreen to
@@ -243,9 +243,9 @@ public void placeCall(Intent intent) {
// overlay and route the call. The overlay will be
// displayed when the InCallScreen becomes visible.
if (PhoneUtils.hasPhoneProviderExtras(intent)) {
- inCallUiState.setProviderOverlayInfo(intent);
+ inCallUiState.setProviderInfo(intent);
} else {
- inCallUiState.clearProviderOverlayInfo();
+ inCallUiState.clearProviderInfo();
}
CallStatusCode status = placeCallInternal(intent);
@@ -305,6 +305,9 @@ public void placeCall(Intent intent) {
// and if so simply call updateInCallScreen() instead.
mApp.displayCallScreen();
+
+ // enable noise suppression
+ PhoneUtils.turnOnNoiseSuppression(mApp.getApplicationContext(), true);
}
/**
@@ -327,6 +330,8 @@ private CallStatusCode placeCallInternal(Intent intent) {
// manageable chunks.
final InCallUiState inCallUiState = mApp.inCallUiState;
+ final Uri uri = intent.getData();
+ final String scheme = (uri != null) ? uri.getScheme() : null;
String number;
Phone phone = null;
@@ -343,7 +348,7 @@ private CallStatusCode placeCallInternal(Intent intent) {
// around *only* the call that can throw that exception.
try {
- number = getInitialNumber(intent);
+ number = PhoneUtils.getInitialNumber(intent);
if (VDBG) log("- actual number to dial: '" + number + "'");
// find the phone first
@@ -352,16 +357,20 @@ private CallStatusCode placeCallInternal(Intent intent) {
// or by number, i.e. for international,
// or by user selection, i.e., dialog query,
// or any of combinations
- Uri uri = intent.getData();
- String scheme = (uri != null) ? uri.getScheme() : null;
String sipPhoneUri = intent.getStringExtra(
OutgoingCallBroadcaster.EXTRA_SIP_PHONE_URI);
phone = PhoneUtils.pickPhoneBasedOnNumber(mCM, scheme, number, sipPhoneUri);
if (VDBG) log("- got Phone instance: " + phone + ", class = " + phone.getClass());
// update okToCallStatus based on new phone
- okToCallStatus = checkIfOkToInitiateOutgoingCall(
- phone.getServiceState().getState());
+ if (phone.getServiceState() != null) {
+ okToCallStatus = checkIfOkToInitiateOutgoingCall(
+ phone.getServiceState().getState());
+ }
+ else {
+ log(">>>> phone.getServiceState == NULL, setting CallStatusCode.OUT_OF_SERVICE");
+ return CallStatusCode.OUT_OF_SERVICE;
+ }
} catch (PhoneUtils.VoiceMailNumberMissingException ex) {
// If the call status is NOT in an acceptable state, it
@@ -496,11 +505,19 @@ private CallStatusCode placeCallInternal(Intent intent) {
CdmaOtaScreenState.OtaScreenState.OTA_STATUS_LISTENING;
}
- // Any time we initiate a call, force the DTMF dialpad to
- // close. (We want to make sure the user can see the regular
+ boolean voicemailUriSpecified = scheme != null && scheme.equals("voicemail");
+ // When voicemail is requested most likely the user wants to open
+ // dialpad immediately, so we show it in the first place.
+ // Otherwise we want to make sure the user can see the regular
// in-call UI while the new call is dialing, and when it
// first gets connected.)
- inCallUiState.showDialpad = false;
+ inCallUiState.showDialpad = voicemailUriSpecified;
+
+ // For voicemails, we add context text to let the user know they
+ // are dialing their voicemail.
+ // TODO: This is only set here and becomes problematic when swapping calls
+ inCallUiState.dialpadContextText = voicemailUriSpecified ?
+ phone.getVoiceMailAlphaTag() : "";
// Also, in case a previous call was already active (i.e. if
// we just did "Add call"), clear out the "history" of DTMF
@@ -625,53 +642,7 @@ private CallStatusCode checkIfOkToInitiateOutgoingCall(int state) {
}
}
- /**
- * Given an Intent (which is presumably the ACTION_CALL intent that
- * initiated this outgoing call), figure out the actual phone number we
- * should dial.
- *
- * Note that the returned "number" may actually be a SIP address,
- * if the specified intent contains a sip: URI.
- *
- * This method is basically a wrapper around PhoneUtils.getNumberFromIntent(),
- * except it's also aware of the EXTRA_ACTUAL_NUMBER_TO_DIAL extra.
- * (That extra, if present, tells us the exact string to pass down to the
- * telephony layer. It's guaranteed to be safe to dial: it's either a PSTN
- * phone number with separators and keypad letters stripped out, or a raw
- * unencoded SIP address.)
- *
- * @return the phone number corresponding to the specified Intent, or null
- * if the Intent has no action or if the intent's data is malformed or
- * missing.
- *
- * @throws VoiceMailNumberMissingException if the intent
- * contains a "voicemail" URI, but there's no voicemail
- * number configured on the device.
- */
- // TODO: Consider moving this out to PhoneUtils and/or combining it
- // with PhoneUtils.getNumberFromIntent().
- public static String getInitialNumber(Intent intent)
- throws PhoneUtils.VoiceMailNumberMissingException {
- if (VDBG) log("getInitialNumber(): " + intent);
-
- String action = intent.getAction();
- if (TextUtils.isEmpty(action)) {
- return null;
- }
-
- // If the EXTRA_ACTUAL_NUMBER_TO_DIAL extra is present, get the phone
- // number from there. (That extra takes precedence over the actual data
- // included in the intent.)
- if (intent.hasExtra(OutgoingCallBroadcaster.EXTRA_ACTUAL_NUMBER_TO_DIAL)) {
- String actualNumberToDial =
- intent.getStringExtra(OutgoingCallBroadcaster.EXTRA_ACTUAL_NUMBER_TO_DIAL);
- if (VDBG) log("==> got EXTRA_ACTUAL_NUMBER_TO_DIAL; returning '"
- + actualNumberToDial + "'");
- return actualNumberToDial;
- }
- return PhoneUtils.getNumberFromIntent(PhoneApp.getInstance(), intent);
- }
/**
* Handles the various error conditions that can occur when initiating
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index cb19557d7..42eb14b9f 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -16,12 +16,6 @@
package com.android.phone;
-import com.android.internal.telephony.CallForwardInfo;
-import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.cdma.TtyIntent;
-import com.android.phone.sip.SipSharedPreferences;
-
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
@@ -36,20 +30,27 @@
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.database.Cursor;
+import android.database.sqlite.SQLiteException;
import android.media.AudioManager;
+import android.media.RingtoneManager;
+import android.net.Uri;
import android.net.sip.SipManager;
import android.os.AsyncResult;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.os.Vibrator;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
+import android.preference.PreferenceCategory;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
import android.provider.ContactsContract.CommonDataKinds;
+import android.provider.MediaStore;
import android.provider.Settings;
+import android.provider.Settings.SettingNotFoundException;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.util.Log;
@@ -57,6 +58,12 @@
import android.view.WindowManager;
import android.widget.ListAdapter;
+import com.android.internal.telephony.CallForwardInfo;
+import com.android.internal.telephony.CommandsInterface;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.cdma.TtyIntent;
+import com.android.phone.sip.SipSharedPreferences;
+
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -78,21 +85,29 @@
* is from the package com.android.contacts.
*
* For the "Mobile network settings" screen under the main Settings app,
- * see apps/Phone/src/com/android/phone/Settings.java.
+ * See {@link MobileNetworkSettings}.
+ *
+ * @see com.android.phone.MobileNetworkSettings
*/
public class CallFeaturesSetting extends PreferenceActivity
implements DialogInterface.OnClickListener,
Preference.OnPreferenceChangeListener,
EditPhoneNumberPreference.OnDialogClosedListener,
EditPhoneNumberPreference.GetDefaultNumberListener{
+ private static final String LOG_TAG = "CallFeaturesSetting";
+ private static final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
- // intent action to bring up voice mail settings
+ /**
+ * Intent action to bring up Voicemail Provider settings.
+ *
+ * @see #IGNORE_PROVIDER_EXTRA
+ */
public static final String ACTION_ADD_VOICEMAIL =
- "com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL";
+ "com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL";
// intent action sent by this activity to a voice mail provider
// to trigger its configuration UI
public static final String ACTION_CONFIGURE_VOICEMAIL =
- "com.android.phone.CallFeaturesSetting.CONFIGURE_VOICEMAIL";
+ "com.android.phone.CallFeaturesSetting.CONFIGURE_VOICEMAIL";
// Extra put in the return from VM provider config containing voicemail number to set
public static final String VM_NUMBER_EXTRA = "com.android.phone.VoicemailNumber";
// Extra put in the return from VM provider config containing call forwarding number to set
@@ -126,35 +141,46 @@ public class CallFeaturesSetting extends PreferenceActivity
// Key identifying the default vocie mail provider
public static final String DEFAULT_VM_PROVIDER_KEY = "";
- // Extra put into ACTION_ADD_VOICEMAIL call to indicate which provider
- // to remove from the list of providers presented to the user
+ /**
+ * String Extra put into ACTION_ADD_VOICEMAIL call to indicate which provider should be hidden
+ * in the list of providers presented to the user. This allows a provider which is being
+ * disabled (e.g. GV user logging out) to force the user to pick some other provider.
+ */
public static final String IGNORE_PROVIDER_EXTRA = "com.android.phone.ProviderToIgnore";
- // debug data
- private static final String LOG_TAG = "CallFeaturesSetting";
- private static final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
-
// string constants
private static final String NUM_PROJECTION[] = {CommonDataKinds.Phone.NUMBER};
// String keys for preference lookup
// TODO: Naming these "BUTTON_*" is confusing since they're not actually buttons(!)
private static final String BUTTON_VOICEMAIL_KEY = "button_voicemail_key";
+ private static final String BUTTON_VOICEMAIL_CATEGORY_KEY = "button_voicemail_category_key";
+ private static final String BUTTON_MWI_NOTIFICATION_KEY = "button_mwi_notification_key";
private static final String BUTTON_VOICEMAIL_PROVIDER_KEY = "button_voicemail_provider_key";
private static final String BUTTON_VOICEMAIL_SETTING_KEY = "button_voicemail_setting_key";
/* package */ static final String BUTTON_VOICEMAIL_NOTIFICATION_VIBRATE_WHEN_KEY =
"button_voicemail_notification_vibrate_when_key";
+ /* package */ static final String BUTTON_VOICEMAIL_NOTIFICATION_RINGTONE_KEY =
+ "button_voicemail_notification_ringtone_key";
private static final String BUTTON_FDN_KEY = "button_fdn_key";
private static final String BUTTON_RESPOND_VIA_SMS_KEY = "button_respond_via_sms_key";
- private static final String BUTTON_DTMF_KEY = "button_dtmf_settings";
- private static final String BUTTON_RETRY_KEY = "button_auto_retry_key";
- private static final String BUTTON_TTY_KEY = "button_tty_mode_key";
- private static final String BUTTON_HAC_KEY = "button_hac_key";
+ private static final String BUTTON_RINGTONE_KEY = "button_ringtone_key";
+ private static final String BUTTON_VIBRATE_ON_RING = "button_vibrate_on_ring";
+ private static final String BUTTON_PLAY_DTMF_TONE = "button_play_dtmf_tone";
+ private static final String BUTTON_DTMF_KEY = "button_dtmf_settings";
+ private static final String BUTTON_RETRY_KEY = "button_auto_retry_key";
+ private static final String BUTTON_TTY_KEY = "button_tty_mode_key";
+ private static final String BUTTON_HAC_KEY = "button_hac_key";
+ private static final String BUTTON_NOISE_SUPPRESSION_KEY = "button_noise_suppression_key";
private static final String BUTTON_GSM_UMTS_OPTIONS = "button_gsm_more_expand_key";
private static final String BUTTON_CDMA_OPTIONS = "button_cdma_more_expand_key";
+ private static final String BUTTON_VOICE_QUALITY_KEY = "button_voice_quality_key";
+ private static String mVoiceQuality;
+ private static String mButtonVoiceQualitySum;
+
private static final String VM_NUMBERS_SHARED_PREFERENCES_NAME = "vm_numbers";
private static final String BUTTON_SIP_CALL_OPTIONS =
@@ -163,6 +189,8 @@ public class CallFeaturesSetting extends PreferenceActivity
"sip_call_options_wifi_only_key";
private static final String SIP_SETTINGS_CATEGORY_KEY =
"sip_settings_category_key";
+ private static final String LOCKSCREEN_IF_CALL_ENDS_WITH_SCREENOFF =
+ "lockscreen_if_call_ends_with_screenoff";
private Intent mContactListIntent;
@@ -171,6 +199,8 @@ public class CallFeaturesSetting extends PreferenceActivity
private static final int EVENT_FORWARDING_CHANGED = 501;
private static final int EVENT_FORWARDING_GET_COMPLETED = 502;
+ private static final int MSG_UPDATE_RINGTONE_SUMMARY = 1;
+
// preferred TTY mode
// Phone.TTY_MODE_xxx
static final int preferredTtyMode = Phone.TTY_MODE_OFF;
@@ -216,15 +246,35 @@ public class CallFeaturesSetting extends PreferenceActivity
private EditPhoneNumberPreference mSubMenuVoicemailSettings;
+ private Runnable mRingtoneLookupRunnable;
+ private final Handler mRingtoneLookupComplete = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case MSG_UPDATE_RINGTONE_SUMMARY:
+ mRingtonePreference.setSummary((CharSequence) msg.obj);
+ break;
+ }
+ }
+ };
+
+ private Preference mRingtonePreference;
+ private CheckBoxPreference mVibrateWhenRinging;
+ /** Whether dialpad plays DTMF tone or not. */
+ private CheckBoxPreference mPlayDtmfTone;
private CheckBoxPreference mButtonAutoRetry;
private CheckBoxPreference mButtonHAC;
private ListPreference mButtonDTMF;
private ListPreference mButtonTTY;
+ private CheckBoxPreference mButtonNoiseSuppression;
private ListPreference mButtonSipCallOptions;
+ private CheckBoxPreference mMwiNotification;
private ListPreference mVoicemailProviders;
+ private ListPreference mButtonVoiceQuality;
private PreferenceScreen mVoicemailSettings;
private ListPreference mVoicemailNotificationVibrateWhen;
private SipSharedPreferences mSipSharedPreferences;
+ private CheckBoxPreference mCallEndedWithScreenOffLocks;
private class VoiceMailProvider {
public VoiceMailProvider(String name, Intent intent) {
@@ -238,7 +288,7 @@ public VoiceMailProvider(String name, Intent intent) {
/**
* Forwarding settings we are going to save.
*/
- static final int [] FORWARDING_SETTINGS_REASONS = new int[] {
+ private static final int [] FORWARDING_SETTINGS_REASONS = new int[] {
CommandsInterface.CF_REASON_UNCONDITIONAL,
CommandsInterface.CF_REASON_BUSY,
CommandsInterface.CF_REASON_NO_REPLY,
@@ -319,12 +369,12 @@ public String toString() {
public CallForwardInfo[] forwardingSettings;
}
- SharedPreferences mPerProviderSavedVMNumbers;
+ private SharedPreferences mPerProviderSavedVMNumbers;
/**
* Results of reading forwarding settings
*/
- CallForwardInfo[] mForwardingReadResults = null;
+ private CallForwardInfo[] mForwardingReadResults = null;
/**
* Result of forwarding number change.
@@ -342,47 +392,47 @@ public String toString() {
/**
* Result of vm number change
*/
- AsyncResult mVoicemailChangeResult = null;
+ private AsyncResult mVoicemailChangeResult = null;
/**
* Previous VM provider setting so we can return to it in case of failure.
*/
- String mPreviousVMProviderKey = null;
+ private String mPreviousVMProviderKey = null;
/**
* Id of the dialog being currently shown.
*/
- int mCurrentDialogId = 0;
+ private int mCurrentDialogId = 0;
/**
* Flag indicating that we are invoking settings for the voicemail provider programmatically
* due to vm provider change.
*/
- boolean mVMProviderSettingsForced = false;
+ private boolean mVMProviderSettingsForced = false;
/**
* Flag indicating that we are making changes to vm or fwd numbers
* due to vm provider change.
*/
- boolean mChangingVMorFwdDueToProviderChange = false;
+ private boolean mChangingVMorFwdDueToProviderChange = false;
/**
* True if we are in the process of vm & fwd number change and vm has already been changed.
* This is used to decide what to do in case of rollback.
*/
- boolean mVMChangeCompletedSuccesfully = false;
+ private boolean mVMChangeCompletedSuccessfully = false;
/**
* True if we had full or partial failure setting forwarding numbers and so need to roll them
* back.
*/
- boolean mFwdChangesRequireRollback = false;
+ private boolean mFwdChangesRequireRollback = false;
/**
* Id of error msg to display to user once we are done reverting the VM provider to the previous
* one.
*/
- int mVMOrFwdSetError = 0;
+ private int mVMOrFwdSetError = 0;
/**
* Data about discovered voice mail settings providers.
@@ -390,10 +440,10 @@ public String toString() {
* They key in this map is package name + activity name.
* We always add an entry for the default provider with a key of empty
* string and intent value of null.
- * @see #initVoiceMailProviders.
+ * @see #initVoiceMailProviders()
*/
private final Map mVMProvidersData =
- new HashMap();
+ new HashMap();
/** string to hold old voicemail number as it is being updated. */
private String mOldVmNumber;
@@ -402,7 +452,7 @@ public String toString() {
// Need to save these since before we get to saving we need to asynchronously
// query the existing forwarding settings.
private CallForwardInfo[] mNewFwdSettings;
- String mNewVMNumber;
+ private String mNewVMNumber;
private boolean mForeground;
@@ -429,10 +479,26 @@ public void onPause() {
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference == mSubMenuVoicemailSettings) {
return true;
+ } else if (preference == mPlayDtmfTone) {
+ Settings.System.putInt(getContentResolver(), Settings.System.DTMF_TONE_WHEN_DIALING,
+ mPlayDtmfTone.isChecked() ? 1 : 0);
+ } else if (preference == mMwiNotification) {
+ int mwi_notification = mMwiNotification.isChecked() ? 1 : 0;
+ Settings.System.putInt(mPhone.getContext().getContentResolver(),
+ Settings.System.ENABLE_MWI_NOTIFICATION, mwi_notification);
+ return true;
} else if (preference == mButtonDTMF) {
return true;
} else if (preference == mButtonTTY) {
return true;
+ } else if (preference == mButtonVoiceQuality) {
+ return true;
+ } else if (preference == mButtonNoiseSuppression) {
+ int nsp = mButtonNoiseSuppression.isChecked() ? 1 : 0;
+ // Update Noise suppression value in Settings database
+ Settings.System.putInt(mPhone.getContext().getContentResolver(),
+ Settings.System.NOISE_SUPPRESSION, nsp);
+ return true;
} else if (preference == mButtonAutoRetry) {
android.provider.Settings.System.putInt(mPhone.getContext().getContentResolver(),
android.provider.Settings.System.CALL_AUTO_RETRY,
@@ -447,10 +513,31 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferen
// Update HAC Value in AudioManager
mAudioManager.setParameter(HAC_KEY, hac != 0 ? HAC_VAL_ON : HAC_VAL_OFF);
return true;
- } else if (preference == mVoicemailSettings && preference.getIntent() != null) {
- if (DBG) log("Invoking cfg intent " + preference.getIntent().getPackage());
- this.startActivityForResult(preference.getIntent(), VOICEMAIL_PROVIDER_CFG_ID);
- return true;
+ } else if (preference == mVoicemailSettings) {
+ if (DBG) log("onPreferenceTreeClick: Voicemail Settings Preference is clicked.");
+ if (preference.getIntent() != null) {
+ if (DBG) {
+ log("onPreferenceTreeClick: Invoking cfg intent "
+ + preference.getIntent().getPackage());
+ }
+
+ // onActivityResult() will be responsible for resetting some of variables.
+ this.startActivityForResult(preference.getIntent(), VOICEMAIL_PROVIDER_CFG_ID);
+ return true;
+ } else {
+ if (DBG) {
+ log("onPreferenceTreeClick:"
+ + " No Intent is available. Use default behavior defined in xml.");
+ }
+
+ // There's no onActivityResult(), so we need to take care of some of variables
+ // which should be reset here.
+ mPreviousVMProviderKey = DEFAULT_VM_PROVIDER_KEY;
+ mVMProviderSettingsForced = false;
+
+ // This should let the preference use default behavior in the xml.
+ return false;
+ }
}
return false;
}
@@ -463,26 +550,47 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferen
* @param objValue should be the value of the selection, NOT its localized
* display value.
*/
+ @Override
public boolean onPreferenceChange(Preference preference, Object objValue) {
- if (preference == mButtonDTMF) {
+ if (DBG) {
+ log("onPreferenceChange(). preferenece: \"" + preference + "\""
+ + ", value: \"" + objValue + "\"");
+ }
+ if (preference == mVibrateWhenRinging) {
+ boolean doVibrate = (Boolean) objValue;
+ Settings.System.putInt(mPhone.getContext().getContentResolver(),
+ Settings.System.VIBRATE_WHEN_RINGING, doVibrate ? 1 : 0);
+ } else if (preference == mCallEndedWithScreenOffLocks) {
+ boolean doLock = (Boolean) objValue;
+ Settings.System.putInt(mPhone.getContext().getContentResolver(),
+ Settings.System.LOCKSCREEN_IF_CALL_ENDS_WITH_SCREENOFF, doLock ? 1 : 0);
+ } else if (preference == mButtonDTMF) {
int index = mButtonDTMF.findIndexOfValue((String) objValue);
Settings.System.putInt(mPhone.getContext().getContentResolver(),
Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, index);
} else if (preference == mButtonTTY) {
handleTTYChange(preference, objValue);
+ } else if (preference == mButtonVoiceQuality) {
+ mVoiceQuality = (String) objValue;
+ mButtonVoiceQuality.setValue(mVoiceQuality);
+ mButtonVoiceQuality.setSummary(String.format(mButtonVoiceQualitySum, mButtonVoiceQuality.getEntry()));
+ } else if (preference == mMwiNotification) {
+ int mwi_notification = mMwiNotification.isChecked() ? 1 : 0;
+ Settings.System.putInt(mPhone.getContext().getContentResolver(),
+ Settings.System.ENABLE_MWI_NOTIFICATION, mwi_notification);
} else if (preference == mVoicemailProviders) {
- final String currentProviderKey = getCurrentVoicemailProviderKey();
- final String newProviderKey = (String)objValue;
- if (DBG) log("VM provider changes to " + newProviderKey + " from " +
- mPreviousVMProviderKey);
+ final String newProviderKey = (String) objValue;
+ if (DBG) {
+ log("Voicemail Provider changes from \"" + mPreviousVMProviderKey
+ + "\" to \"" + newProviderKey + "\".");
+ }
+ // If previous provider key and the new one is same, we don't need to handle it.
if (mPreviousVMProviderKey.equals(newProviderKey)) {
- if (DBG) log("No change ");
+ if (DBG) log("No change is made toward VM provider setting.");
return true;
}
updateVMPreferenceWidgets(newProviderKey);
- mPreviousVMProviderKey = currentProviderKey;
-
final VoiceMailProviderSettings newProviderSettings =
loadSettingsForVoiceMailProvider(newProviderKey);
@@ -494,7 +602,7 @@ public boolean onPreferenceChange(Preference preference, Object objValue) {
if (newProviderSettings == null) {
// Force the user into a configuration of the chosen provider
- if (DBG) log("Saved preferences not found - invoking config");
+ Log.w(LOG_TAG, "Saved preferences not found - invoking config");
mVMProviderSettingsForced = true;
simulatePreferenceClick(mVoicemailSettings);
} else {
@@ -514,19 +622,20 @@ public boolean onPreferenceChange(Preference preference, Object objValue) {
return true;
}
- // Preference click listener invoked on OnDialogClosed for EditPhoneNumberPreference.
+ public static String getVoiceQuality() {
+ return mVoiceQuality;
+ }
+
+ @Override
public void onDialogClosed(EditPhoneNumberPreference preference, int buttonClicked) {
if (DBG) log("onPreferenceClick: request preference click on dialog close: " +
buttonClicked);
if (buttonClicked == DialogInterface.BUTTON_NEGATIVE) {
return;
}
- if (preference instanceof EditPhoneNumberPreference) {
- EditPhoneNumberPreference epn = preference;
- if (epn == mSubMenuVoicemailSettings) {
- handleVMBtnClickRequest();
- }
+ if (preference == mSubMenuVoicemailSettings) {
+ handleVMBtnClickRequest();
}
}
@@ -535,6 +644,7 @@ public void onDialogClosed(EditPhoneNumberPreference preference, int buttonClick
* This method set the default values for the various
* EditPhoneNumberPreference dialogs.
*/
+ @Override
public String onGetDefaultNumber(EditPhoneNumberPreference preference) {
if (preference == mSubMenuVoicemailSettings) {
// update the voicemail number field, which takes care of the
@@ -573,21 +683,38 @@ public void startActivityForResult(Intent intent, int requestCode) {
private void switchToPreviousVoicemailProvider() {
if (DBG) log("switchToPreviousVoicemailProvider " + mPreviousVMProviderKey);
if (mPreviousVMProviderKey != null) {
- if (mVMChangeCompletedSuccesfully || mFwdChangesRequireRollback) {
+ if (mVMChangeCompletedSuccessfully || mFwdChangesRequireRollback) {
// we have to revert with carrier
+ if (DBG) {
+ log("Needs to rollback."
+ + " mVMChangeCompletedSuccessfully=" + mVMChangeCompletedSuccessfully
+ + ", mFwdChangesRequireRollback=" + mFwdChangesRequireRollback);
+ }
+
showDialogIfForeground(VOICEMAIL_REVERTING_DIALOG);
- VoiceMailProviderSettings prevSettings =
- loadSettingsForVoiceMailProvider(mPreviousVMProviderKey);
- if (mVMChangeCompletedSuccesfully) {
+ final VoiceMailProviderSettings prevSettings =
+ loadSettingsForVoiceMailProvider(mPreviousVMProviderKey);
+ if (prevSettings == null) {
+ // prevSettings never becomes null since it should be already loaded!
+ Log.e(LOG_TAG, "VoiceMailProviderSettings for the key \""
+ + mPreviousVMProviderKey + "\" becomes null, which is unexpected.");
+ if (DBG) {
+ Log.e(LOG_TAG,
+ "mVMChangeCompletedSuccessfully: " + mVMChangeCompletedSuccessfully
+ + ", mFwdChangesRequireRollback: " + mFwdChangesRequireRollback);
+ }
+ }
+ if (mVMChangeCompletedSuccessfully) {
mNewVMNumber = prevSettings.voicemailNumber;
- if (DBG) log("have to revert VM to " + mNewVMNumber);
+ Log.i(LOG_TAG, "VM change is already completed successfully."
+ + "Have to revert VM back to " + mNewVMNumber + " again.");
mPhone.setVoiceMailNumber(
mPhone.getVoiceMailAlphaTag().toString(),
mNewVMNumber,
Message.obtain(mRevertOptionComplete, EVENT_VOICEMAIL_CHANGED));
}
if (mFwdChangesRequireRollback) {
- if (DBG) log("have to revert fwd");
+ Log.i(LOG_TAG, "Requested to rollback Fwd changes.");
final CallForwardInfo[] prevFwdSettings =
prevSettings.forwardingSettings;
if (prevFwdSettings != null) {
@@ -622,7 +749,7 @@ private void switchToPreviousVoicemailProvider() {
}
}
- void onRevertDone() {
+ private void onRevertDone() {
if (DBG) log("Flipping provider key back to " + mPreviousVMProviderKey);
mVoicemailProviders.setValue(mPreviousVMProviderKey);
updateVMPreferenceWidgets(mPreviousVMProviderKey);
@@ -633,13 +760,16 @@ void onRevertDone() {
}
}
- // asynchronous result call after contacts are selected or after we return from
- // a call to the VM settings provider.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (DBG) {
+ log("onActivityResult: requestCode: " + requestCode
+ + ", resultCode: " + resultCode
+ + ", data: " + data);
+ }
// there are cases where the contact picker may end up sending us more than one
// request. We want to ignore the request if we're not in the correct state.
- if (requestCode == VOICEMAIL_PROVIDER_CFG_ID) {
+ if (requestCode == VOICEMAIL_PROVIDER_CFG_ID) {
boolean failure = false;
// No matter how the processing of result goes lets clear the flag
@@ -701,25 +831,23 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
return;
}
- if (resultCode != RESULT_OK) {
- if (DBG) log("onActivityResult: contact picker result not OK.");
- return;
- }
+ if (requestCode == VOICEMAIL_PREF_ID) {
+ if (resultCode != RESULT_OK) {
+ if (DBG) log("onActivityResult: contact picker result not OK.");
+ return;
+ }
- Cursor cursor = getContentResolver().query(data.getData(),
- NUM_PROJECTION, null, null, null);
- if ((cursor == null) || (!cursor.moveToFirst())) {
- if (DBG) log("onActivityResult: bad contact data, no results found.");
+ Cursor cursor = getContentResolver().query(data.getData(),
+ NUM_PROJECTION, null, null, null);
+ if ((cursor == null) || (!cursor.moveToFirst())) {
+ if (DBG) log("onActivityResult: bad contact data, no results found.");
+ return;
+ }
+ mSubMenuVoicemailSettings.onPickActivityResult(cursor.getString(0));
return;
}
- switch (requestCode) {
- case VOICEMAIL_PREF_ID:
- mSubMenuVoicemailSettings.onPickActivityResult(cursor.getString(0));
- break;
- default:
- // TODO: may need exception here.
- }
+ super.onActivityResult(requestCode, resultCode, data);
}
// Voicemail button logic
@@ -803,12 +931,12 @@ private void saveVoiceMailAndForwardingNumber(String key,
}
maybeSaveSettingsForVoicemailProvider(key, newSettings);
- mVMChangeCompletedSuccesfully = false;
+ mVMChangeCompletedSuccessfully = false;
mFwdChangesRequireRollback = false;
mVMOrFwdSetError = 0;
if (!key.equals(mPreviousVMProviderKey)) {
mReadingSettingsForDefaultProvider =
- mPreviousVMProviderKey.equals(DEFAULT_VM_PROVIDER_KEY);
+ mPreviousVMProviderKey.equals(DEFAULT_VM_PROVIDER_KEY);
if (DBG) log("Reading current forwarding settings");
mForwardingReadResults = new CallForwardInfo[FORWARDING_SETTINGS_REASONS.length];
for (int i = 0; i < FORWARDING_SETTINGS_REASONS.length; i++) {
@@ -834,7 +962,7 @@ public void handleMessage(Message msg) {
}
};
- void handleForwardingSettingsReadResult(AsyncResult ar, int idx) {
+ private void handleForwardingSettingsReadResult(AsyncResult ar, int idx) {
if (DBG) Log.d(LOG_TAG, "handleForwardingSettingsReadResult: " + idx);
Throwable error = null;
if (ar.exception != null) {
@@ -972,15 +1100,15 @@ private void saveVoiceMailAndForwardingNumberStage2() {
mSetOptionComplete.obtainMessage(
EVENT_FORWARDING_CHANGED, fi.reason, 0));
}
- }
- showDialogIfForeground(VOICEMAIL_FWD_SAVING_DIALOG);
+ }
+ showDialogIfForeground(VOICEMAIL_FWD_SAVING_DIALOG);
} else {
if (DBG) log("Not touching fwd #");
setVMNumberWithCarrier();
}
}
- void setVMNumberWithCarrier() {
+ private void setVMNumberWithCarrier() {
if (DBG) log("save voicemail #: " + mNewVMNumber);
mPhone.setVoiceMailNumber(
mPhone.getVoiceMailAlphaTag().toString(),
@@ -999,15 +1127,15 @@ public void handleMessage(Message msg) {
switch (msg.what) {
case EVENT_VOICEMAIL_CHANGED:
mVoicemailChangeResult = result;
- mVMChangeCompletedSuccesfully = checkVMChangeSuccess() == null;
+ mVMChangeCompletedSuccessfully = checkVMChangeSuccess() == null;
if (DBG) log("VM change complete msg, VM change done = " +
- String.valueOf(mVMChangeCompletedSuccesfully));
+ String.valueOf(mVMChangeCompletedSuccessfully));
done = true;
break;
case EVENT_FORWARDING_CHANGED:
mForwardingChangeResults.put(msg.arg1, result);
if (result.exception != null) {
- if (DBG) log("Error in setting fwd# " + msg.arg1 + ": " +
+ Log.w(LOG_TAG, "Error in setting fwd# " + msg.arg1 + ": " +
result.exception.getMessage());
} else {
if (DBG) log("Success in setting fwd# " + msg.arg1);
@@ -1018,7 +1146,8 @@ public void handleMessage(Message msg) {
if (DBG) log("Overall fwd changes completed ok, starting vm change");
setVMNumberWithCarrier();
} else {
- if (DBG) log("Overall fwd changes completed, failure");
+ Log.w(LOG_TAG, "Overall fwd changes completed in failure. " +
+ "Check if we need to try rollback for some settings.");
mFwdChangesRequireRollback = false;
Iterator> it =
mForwardingChangeResults.entrySet().iterator();
@@ -1026,11 +1155,14 @@ public void handleMessage(Message msg) {
Map.Entry entry = it.next();
if (entry.getValue().exception == null) {
// If at least one succeeded we have to revert
- if (DBG) log("Rollback will be required");
- mFwdChangesRequireRollback =true;
+ Log.i(LOG_TAG, "Rollback will be required");
+ mFwdChangesRequireRollback = true;
break;
}
}
+ if (!mFwdChangesRequireRollback) {
+ Log.i(LOG_TAG, "No rollback needed.");
+ }
done = true;
}
}
@@ -1074,7 +1206,7 @@ public void handleMessage(Message msg) {
// TODO: should never reach this, may want to throw exception
}
final boolean done =
- (!mVMChangeCompletedSuccesfully || mVoicemailChangeResult != null) &&
+ (!mVMChangeCompletedSuccessfully || mVoicemailChangeResult != null) &&
(!mFwdChangesRequireRollback || checkForwardingCompleted());
if (done) {
if (DBG) log("All VM reverts done");
@@ -1162,18 +1294,24 @@ private void handleSetVMOrFwdMessage() {
if (success) {
if (DBG) log("change VM success!");
handleVMAndFwdSetSuccess(MSG_VM_OK);
- updateVoiceNumberField();
} else {
if (fwdFailure) {
- log("change FW failed: " + exceptionMessage);
+ Log.w(LOG_TAG, "Failed to change fowarding setting. Reason: " + exceptionMessage);
handleVMOrFwdSetError(MSG_FW_SET_EXCEPTION);
} else {
- log("change VM failed: " + exceptionMessage);
+ Log.w(LOG_TAG, "Failed to change voicemail. Reason: " + exceptionMessage);
handleVMOrFwdSetError(MSG_VM_EXCEPTION);
}
}
}
+ /**
+ * Called when Voicemail Provider or its forwarding settings failed. Rolls back partly made
+ * changes to those settings and show "failure" dialog.
+ *
+ * @param msgId Message ID used for the specific error case. {@link #MSG_FW_SET_EXCEPTION} or
+ * {@link #MSG_VM_EXCEPTION}
+ */
private void handleVMOrFwdSetError(int msgId) {
if (mChangingVMorFwdDueToProviderChange) {
mVMOrFwdSetError = msgId;
@@ -1186,16 +1324,28 @@ private void handleVMOrFwdSetError(int msgId) {
updateVoiceNumberField();
}
- private void handleVMAndFwdSetSuccess(int msgId) {
+ /**
+ * Called when Voicemail Provider and its forwarding settings were successfully finished.
+ * This updates a bunch of variables and show "success" dialog.
+ */
+ private void handleVMAndFwdSetSuccess(int msg) {
+ if (DBG) {
+ log("handleVMAndFwdSetSuccess(). current voicemail provider key: "
+ + getCurrentVoicemailProviderKey());
+ }
+ mPreviousVMProviderKey = getCurrentVoicemailProviderKey();
mChangingVMorFwdDueToProviderChange = false;
- showVMDialog(msgId);
+ showVMDialog(msg);
+ updateVoiceNumberField();
}
- /*
- * Methods used to sync UI state with that of the network
+ /**
+ * Update the voicemail number from what we've recorded on the sim.
*/
- // update the voicemail number from what we've recorded on the sim.
private void updateVoiceNumberField() {
+ if (DBG) {
+ log("updateVoiceNumberField(). mSubMenuVoicemailSettings=" + mSubMenuVoicemailSettings);
+ }
if (mSubMenuVoicemailSettings == null) {
return;
}
@@ -1206,7 +1356,7 @@ private void updateVoiceNumberField() {
}
mSubMenuVoicemailSettings.setPhoneNumber(mOldVmNumber);
final String summary = (mOldVmNumber.length() > 0) ? mOldVmNumber :
- getString(R.string.voicemail_number_not_set);
+ getString(R.string.voicemail_number_not_set);
mSubMenuVoicemailSettings.setSummary(summary);
}
@@ -1373,7 +1523,7 @@ private void showVMDialog(int msgStatus) {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
- if (DBG) log("Creating activity");
+ if (DBG) log("onCreate(). Intent: " + getIntent());
mPhone = PhoneApp.getPhone();
addPreferencesFromResource(R.xml.call_feature_setting);
@@ -1389,11 +1539,40 @@ protected void onCreate(Bundle icicle) {
mSubMenuVoicemailSettings.setDialogTitle(R.string.voicemail_settings_number_label);
}
+ mRingtonePreference = findPreference(BUTTON_RINGTONE_KEY);
+ mVibrateWhenRinging = (CheckBoxPreference) findPreference(BUTTON_VIBRATE_ON_RING);
+ mCallEndedWithScreenOffLocks = (CheckBoxPreference) findPreference(LOCKSCREEN_IF_CALL_ENDS_WITH_SCREENOFF);
+ mPlayDtmfTone = (CheckBoxPreference) findPreference(BUTTON_PLAY_DTMF_TONE);
+ mMwiNotification = (CheckBoxPreference) findPreference(BUTTON_MWI_NOTIFICATION_KEY);
+ if (mMwiNotification != null) {
+ if (getResources().getBoolean(R.bool.sprint_mwi_quirk)) {
+ mMwiNotification.setOnPreferenceChangeListener(this);
+ } else {
+ PreferenceScreen voicemailCategory = (PreferenceScreen) findPreference(BUTTON_VOICEMAIL_CATEGORY_KEY);
+ voicemailCategory.removePreference(mMwiNotification);
+ mMwiNotification = null;
+ }
+ }
+
mButtonDTMF = (ListPreference) findPreference(BUTTON_DTMF_KEY);
mButtonAutoRetry = (CheckBoxPreference) findPreference(BUTTON_RETRY_KEY);
mButtonHAC = (CheckBoxPreference) findPreference(BUTTON_HAC_KEY);
mButtonTTY = (ListPreference) findPreference(BUTTON_TTY_KEY);
+ mButtonNoiseSuppression = (CheckBoxPreference) findPreference(BUTTON_NOISE_SUPPRESSION_KEY);
mVoicemailProviders = (ListPreference) findPreference(BUTTON_VOICEMAIL_PROVIDER_KEY);
+ mButtonVoiceQuality = (ListPreference) findPreference(BUTTON_VOICE_QUALITY_KEY);
+
+ if (mButtonVoiceQuality != null) {
+ if (TextUtils.isEmpty(getResources().getString(R.string.voice_quality_param))) {
+ prefSet.removePreference(mButtonVoiceQuality);
+ mButtonVoiceQuality = null;
+ } else {
+ mButtonVoiceQuality.setOnPreferenceChangeListener(this);
+ mButtonVoiceQualitySum = getResources().getString(R.string.voice_quality_summary);
+ mVoiceQuality = mButtonVoiceQuality.getValue();
+ }
+ }
+
if (mVoicemailProviders != null) {
mVoicemailProviders.setOnPreferenceChangeListener(this);
mVoicemailSettings = (PreferenceScreen)findPreference(BUTTON_VOICEMAIL_SETTING_KEY);
@@ -1404,6 +1583,27 @@ protected void onCreate(Bundle icicle) {
initVoiceMailProviders();
}
+ if (mVibrateWhenRinging != null) {
+ Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
+ if (vibrator != null && vibrator.hasVibrator()) {
+ mVibrateWhenRinging.setOnPreferenceChangeListener(this);
+ } else {
+ prefSet.removePreference(mVibrateWhenRinging);
+ mVibrateWhenRinging = null;
+ }
+ }
+
+ if (mCallEndedWithScreenOffLocks != null) {
+ mCallEndedWithScreenOffLocks.setChecked(Settings.System.getInt(getContentResolver(),
+ Settings.System.LOCKSCREEN_IF_CALL_ENDS_WITH_SCREENOFF, 1) == 1);
+ mCallEndedWithScreenOffLocks.setOnPreferenceChangeListener(this);
+ }
+
+ if (mPlayDtmfTone != null) {
+ mPlayDtmfTone.setChecked(Settings.System.getInt(getContentResolver(),
+ Settings.System.DTMF_TONE_WHEN_DIALING, 1) != 0);
+ }
+
if (mButtonDTMF != null) {
if (getResources().getBoolean(R.bool.dtmf_type_enabled)) {
mButtonDTMF.setOnPreferenceChangeListener(this);
@@ -1441,6 +1641,15 @@ protected void onCreate(Bundle icicle) {
}
}
+ if (mButtonNoiseSuppression != null) {
+ if (getResources().getBoolean(R.bool.has_in_call_noise_suppression)) {
+ mButtonNoiseSuppression.setOnPreferenceChangeListener(this);
+ } else {
+ prefSet.removePreference(mButtonNoiseSuppression);
+ mButtonNoiseSuppression = null;
+ }
+ }
+
if (!getResources().getBoolean(R.bool.world_phone)) {
Preference options = prefSet.findPreference(BUTTON_CDMA_OPTIONS);
if (options != null)
@@ -1476,6 +1685,10 @@ protected void onCreate(Bundle icicle) {
if (icicle == null) {
if (getIntent().getAction().equals(ACTION_ADD_VOICEMAIL) &&
mVoicemailProviders != null) {
+ if (DBG) {
+ log("ACTION_ADD_VOICEMAIL Intent is thrown. current VM data size: "
+ + mVMProvidersData.size());
+ }
if (mVMProvidersData.size() > 1) {
simulatePreferenceClick(mVoicemailProviders);
} else {
@@ -1488,6 +1701,16 @@ protected void onCreate(Bundle icicle) {
mVMProviderSettingsForced = false;
createSipCallSettings();
+ mRingtoneLookupRunnable = new Runnable() {
+ @Override
+ public void run() {
+ if (mRingtonePreference != null) {
+ updateRingtoneName(RingtoneManager.TYPE_RINGTONE, mRingtonePreference,
+ MSG_UPDATE_RINGTONE_SUMMARY);
+ }
+ }
+ };
+
ActionBar actionBar = getActionBar();
if (actionBar != null) {
// android.R.id.home will be triggered in onOptionsItemSelected()
@@ -1495,6 +1718,36 @@ protected void onCreate(Bundle icicle) {
}
}
+ /**
+ * Updates ringtone name. This is a method copied from com.android.settings.SoundSettings
+ *
+ * @see com.android.settings.SoundSettings
+ */
+ private void updateRingtoneName(int type, Preference preference, int msg) {
+ if (preference == null) return;
+ Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(this, type);
+ CharSequence summary = getString(com.android.internal.R.string.ringtone_unknown);
+ // Is it a silent ringtone?
+ if (ringtoneUri == null) {
+ summary = getString(com.android.internal.R.string.ringtone_silent);
+ } else {
+ // Fetch the ringtone title from the media provider
+ try {
+ Cursor cursor = getContentResolver().query(ringtoneUri,
+ new String[] { MediaStore.Audio.Media.TITLE }, null, null, null);
+ if (cursor != null) {
+ if (cursor.moveToFirst()) {
+ summary = cursor.getString(0);
+ }
+ cursor.close();
+ }
+ } catch (SQLiteException sqle) {
+ // Unknown title for the ringtone
+ }
+ }
+ mRingtoneLookupComplete.sendMessage(mRingtoneLookupComplete.obtainMessage(msg, summary));
+ }
+
private void createSipCallSettings() {
// Add Internet call settings.
if (PhoneUtils.isVoipSupported()) {
@@ -1544,6 +1797,21 @@ protected void onResume() {
return;
}
+ if (mVibrateWhenRinging != null) {
+ mVibrateWhenRinging.setChecked(getVibrateWhenRinging(this));
+ }
+
+ if (mCallEndedWithScreenOffLocks != null) {
+ mCallEndedWithScreenOffLocks.setChecked(Settings.System.getInt(getContentResolver(),
+ Settings.System.LOCKSCREEN_IF_CALL_ENDS_WITH_SCREENOFF, 1) == 1);
+ }
+
+ if (mMwiNotification != null) {
+ int mwi_notification = Settings.System.getInt(getContentResolver(), Settings.System.ENABLE_MWI_NOTIFICATION, 0);
+ mMwiNotification.setChecked(mwi_notification != 0);
+
+ }
+
if (mButtonDTMF != null) {
int dtmf = Settings.System.getInt(getContentResolver(),
Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, DTMF_TONE_TYPE_NORMAL);
@@ -1568,6 +1836,40 @@ protected void onResume() {
mButtonTTY.setValue(Integer.toString(settingsTtyMode));
updatePreferredTtyModeSummary(settingsTtyMode);
}
+
+ if (mButtonNoiseSuppression != null) {
+ int nsp = Settings.System.getInt(getContentResolver(), Settings.System.NOISE_SUPPRESSION, 1);
+ mButtonNoiseSuppression.setChecked(nsp != 0);
+ }
+
+ lookupRingtoneName();
+ }
+
+ /**
+ * Obtain the setting for "vibrate when ringing" setting.
+ *
+ * Watch out: if the setting is missing in the device, this will try obtaining the old
+ * "vibrate on ring" setting from AudioManager, and save the previous setting to the new one.
+ */
+ public static boolean getVibrateWhenRinging(Context context) {
+ Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
+ if (vibrator == null || !vibrator.hasVibrator()) {
+ return false;
+ }
+
+ return Settings.System.getInt(context.getContentResolver(),
+ Settings.System.VIBRATE_WHEN_RINGING, 0) != 0;
+ }
+
+ /**
+ * Lookups ringtone name asynchronously and updates the relevant Preference.
+ */
+ private void lookupRingtoneName() {
+ new Thread(mRingtoneLookupRunnable).start();
+
+ if (mButtonVoiceQuality != null) {
+ mButtonVoiceQuality.setSummary(String.format(mButtonVoiceQualitySum, mButtonVoiceQuality.getEntry()));
+ }
}
private boolean isAirplaneModeOn() {
@@ -1635,7 +1937,7 @@ private static void log(String msg) {
/**
* Updates the look of the VM preference widgets based on current VM provider settings.
* Note that the provider name is loaded form the found activity via loadLabel in
- * initVoiceMailProviders in order for it to be localizable.
+ * {@link #initVoiceMailProviders()} in order for it to be localizable.
*/
private void updateVMPreferenceWidgets(String currentProviderSetting) {
final String key = currentProviderSetting;
@@ -1646,18 +1948,23 @@ private void updateVMPreferenceWidgets(String currentProviderSetting) {
In this case we want to show the UI asking the user to select a voicemail provider as
opposed to silently falling back to default one. */
if (provider == null) {
+ if (DBG) {
+ log("updateVMPreferenceWidget: provider for the key \"" + key + "\" is null.");
+ }
mVoicemailProviders.setSummary(getString(R.string.sum_voicemail_choose_provider));
- mVoicemailSettings.setSummary("");
mVoicemailSettings.setEnabled(false);
mVoicemailSettings.setIntent(null);
mVoicemailNotificationVibrateWhen.setEnabled(false);
mVoicemailNotificationVibrateWhen.setSummary("");
} else {
+ if (DBG) {
+ log("updateVMPreferenceWidget: provider for the key \"" + key + "\".."
+ + "name: " + provider.name
+ + ", intent: " + provider.intent);
+ }
final String providerName = provider.name;
mVoicemailProviders.setSummary(providerName);
- mVoicemailSettings.setSummary(getApplicationContext().getString(
- R.string.voicemail_settings_for, providerName));
mVoicemailSettings.setEnabled(true);
mVoicemailSettings.setIntent(provider.intent);
@@ -1673,22 +1980,21 @@ private void updateVMPreferenceWidgets(String currentProviderSetting) {
* In case we are called with ACTION_ADD_VOICEMAIL intent the intent may have
* an extra string called IGNORE_PROVIDER_EXTRA with "package.activityName" of the provider
* which should be hidden when we bring up the list of possible VM providers to choose.
- * This allows a provider which is being disabled (e.g. GV user logging out) to force the user
- * to pick some other provider.
*/
private void initVoiceMailProviders() {
+ if (DBG) log("initVoiceMailProviders()");
mPerProviderSavedVMNumbers =
- this.getApplicationContext().getSharedPreferences(
- VM_NUMBERS_SHARED_PREFERENCES_NAME, MODE_PRIVATE);
+ this.getApplicationContext().getSharedPreferences(
+ VM_NUMBERS_SHARED_PREFERENCES_NAME, MODE_PRIVATE);
String providerToIgnore = null;
if (getIntent().getAction().equals(ACTION_ADD_VOICEMAIL)) {
- if (DBG) log("ACTION_ADD_VOICEMAIL");
if (getIntent().hasExtra(IGNORE_PROVIDER_EXTRA)) {
providerToIgnore = getIntent().getStringExtra(IGNORE_PROVIDER_EXTRA);
}
- if (DBG) log("providerToIgnore=" + providerToIgnore);
+ if (DBG) log("Found ACTION_ADD_VOICEMAIL. providerToIgnore=" + providerToIgnore);
if (providerToIgnore != null) {
+ // IGNORE_PROVIDER_EXTRA implies we want to remove the choice from the list.
deleteSettingsForVoicemailProvider(providerToIgnore);
}
}
@@ -1712,17 +2018,21 @@ private void initVoiceMailProviders() {
final ResolveInfo ri= resolveInfos.get(i);
final ActivityInfo currentActivityInfo = ri.activityInfo;
final String key = makeKeyForActivity(currentActivityInfo);
- if (DBG) log("Loading " + key);
if (key.equals(providerToIgnore)) {
- if (DBG) log("Ignoring " + key);
+ if (DBG) log("Ignoring key: " + key);
len--;
continue;
}
+ if (DBG) log("Loading key: " + key);
final String nameForDisplay = ri.loadLabel(pm).toString();
Intent providerIntent = new Intent();
providerIntent.setAction(ACTION_CONFIGURE_VOICEMAIL);
providerIntent.setClassName(currentActivityInfo.packageName,
currentActivityInfo.name);
+ if (DBG) {
+ log("Store loaded VoiceMailProvider. key: " + key
+ + " -> name: " + nameForDisplay + ", intent: " + providerIntent);
+ }
mVMProvidersData.put(
key,
new VoiceMailProvider(nameForDisplay, providerIntent));
@@ -1746,10 +2056,17 @@ private void initVoiceMailProviders() {
entryIdx++;
}
+ // ListPreference is now updated.
mVoicemailProviders.setEntries(entries);
mVoicemailProviders.setEntryValues(values);
+ // Remember the current Voicemail Provider key as a "previous" key. This will be used
+ // when we fail to update Voicemail Provider, which requires rollback.
+ // We will update this when the VM Provider setting is successfully updated.
mPreviousVMProviderKey = getCurrentVoicemailProviderKey();
+ if (DBG) log("Set up the first mPreviousVMProviderKey: " + mPreviousVMProviderKey);
+
+ // Finally update the preference texts.
updateVMPreferenceWidgets(mPreviousVMProviderKey);
}
@@ -1789,12 +2106,15 @@ private void maybeSaveSettingsForVoicemailProvider(String key,
}
final VoiceMailProviderSettings curSettings = loadSettingsForVoiceMailProvider(key);
if (newSettings.equals(curSettings)) {
- if (DBG) log("Not saving setting for " + key + " since they have not changed");
+ if (DBG) {
+ log("maybeSaveSettingsForVoicemailProvider:"
+ + " Not saving setting for " + key + " since they have not changed");
+ }
return;
}
if (DBG) log("Saving settings for " + key + ": " + newSettings.toString());
Editor editor = mPerProviderSavedVMNumbers.edit();
- editor.putString(key + VM_NUMBER_TAG,newSettings.voicemailNumber);
+ editor.putString(key + VM_NUMBER_TAG, newSettings.voicemailNumber);
String fwdKey = key + FWD_SETTINGS_TAG;
CallForwardInfo[] s = newSettings.forwardingSettings;
if (s != FWD_SETTINGS_DONT_TOUCH) {
@@ -1825,7 +2145,8 @@ private VoiceMailProviderSettings loadSettingsForVoiceMailProvider(String key) {
final String vmNumberSetting = mPerProviderSavedVMNumbers.getString(key + VM_NUMBER_TAG,
null);
if (vmNumberSetting == null) {
- if (DBG) log("Settings for " + key + " not found");
+ Log.w(LOG_TAG, "VoiceMailProvider settings for the key \"" + key + "\""
+ + " was not found. Returning null.");
return null;
}
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index bf509f09e..544d4c21e 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -15,6 +15,7 @@
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
+import android.view.View;
import static com.android.phone.TimeConsumingPreferenceActivity.RESPONSE_ERROR;
@@ -24,6 +25,13 @@ public class CallForwardEditPreference extends EditPhoneNumberPreference {
private static final String SRC_TAGS[] = {"{0}"};
private CharSequence mSummaryOnTemplate;
+ /**
+ * Remembers which button was clicked by a user. If no button is clicked yet, this should have
+ * {@link DialogInterface#BUTTON_NEGATIVE}, meaning "cancel".
+ *
+ * TODO: consider removing this variable and having getButtonClicked() in
+ * EditPhoneNumberPreference instead.
+ */
private int mButtonClicked;
private int mServiceClass;
private MyHandler mHandler = new MyHandler();
@@ -67,6 +75,13 @@ void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
}
}
+ @Override
+ protected void onBindDialogView(View view) {
+ // default the button clicked to be the cancel button.
+ mButtonClicked = DialogInterface.BUTTON_NEGATIVE;
+ super.onBindDialogView(view);
+ }
+
@Override
public void onClick(DialogInterface dialog, int which) {
super.onClick(dialog, which);
@@ -79,6 +94,8 @@ protected void onDialogClosed(boolean positiveResult) {
if (DBG) Log.d(LOG_TAG, "mButtonClicked=" + mButtonClicked
+ ", positiveResult=" + positiveResult);
+ // Ignore this event if the user clicked the cancel button, or if the dialog is dismissed
+ // without any button being pressed (back button press or click event outside the dialog).
if (this.mButtonClicked != DialogInterface.BUTTON_NEGATIVE) {
int action = (isToggled() || (mButtonClicked == DialogInterface.BUTTON_POSITIVE)) ?
CommandsInterface.CF_ACTION_REGISTRATION :
@@ -148,8 +165,8 @@ private void updateSummaryText() {
// arg1: action -- register vs. disable
// arg2: get vs. set for the preceding request
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_CF = 0;
- private static final int MESSAGE_SET_CF = 1;
+ static final int MESSAGE_GET_CF = 0;
+ static final int MESSAGE_SET_CF = 1;
@Override
public void handleMessage(Message msg) {
diff --git a/src/com/android/phone/CallLogAsync.java b/src/com/android/phone/CallLogAsync.java
index 9b63e6da0..5a64a807d 100644
--- a/src/com/android/phone/CallLogAsync.java
+++ b/src/com/android/phone/CallLogAsync.java
@@ -158,10 +158,22 @@ protected Uri[] doInBackground(AddCallArgs... callList) {
for (int i = 0; i < count; i++) {
AddCallArgs c = callList[i];
- // May block.
- result[i] = Calls.addCall(
- c.ci, c.context, c.number, c.presentation,
- c.callType, c.timestamp, c.durationInSec);
+ try {
+ // May block.
+ result[i] = Calls.addCall(
+ c.ci, c.context, c.number, c.presentation,
+ c.callType, c.timestamp, c.durationInSec);
+ } catch (Exception e) {
+ // This must be very rare but may happen in legitimate cases.
+ // e.g. If the phone is encrypted and thus write request fails, it may
+ // cause some kind of Exception (right now it is IllegalArgumentException, but
+ // might change).
+ //
+ // We don't want to crash the whole process just because of that.
+ // Let's just ignore it and leave logs instead.
+ Log.e(TAG, "Exception raised during adding CallLog entry: " + e);
+ result[i] = null;
+ }
}
return result;
}
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index fc3e19d14..bb16b30f7 100755
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -17,26 +17,31 @@
package com.android.phone;
import com.android.internal.telephony.Call;
+import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.CallerInfo;
import com.android.internal.telephony.CallerInfoAsyncQuery;
-import com.android.internal.telephony.cdma.CdmaCallWaitingNotification;
-import com.android.internal.telephony.cdma.SignalToneUtil;
-import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaDisplayInfoRec;
-import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec;
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneBase;
+import com.android.internal.telephony.TelephonyCapabilities;
+import com.android.internal.telephony.cdma.CdmaCallWaitingNotification;
+import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaDisplayInfoRec;
+import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec;
+import com.android.internal.telephony.cdma.SignalToneUtil;
import com.android.internal.telephony.CallManager;
+import com.android.phone.CallFeaturesSetting;
import android.app.ActivityManagerNative;
import android.content.Context;
import android.media.AudioManager;
import android.media.ToneGenerator;
+import android.net.Uri;
import android.os.AsyncResult;
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
import android.os.SystemProperties;
+import android.os.SystemVibrator;
import android.os.Vibrator;
import android.provider.CallLog.Calls;
import android.provider.Settings;
@@ -47,7 +52,6 @@
import android.util.EventLog;
import android.util.Log;
-
/**
* Phone app module that listens for phone state changes and various other
* events from the telephony layer, and triggers any resulting UI behavior
@@ -133,13 +137,13 @@ public class CallNotifier extends Handler
// Events generated internally:
private static final int PHONE_MWI_CHANGED = 21;
- private static final int PHONE_BATTERY_LOW = 22;
- private static final int CALLWAITING_CALLERINFO_DISPLAY_DONE = 23;
- private static final int CALLWAITING_ADDCALL_DISABLE_TIMEOUT = 24;
- private static final int DISPLAYINFO_NOTIFICATION_DONE = 25;
- private static final int EVENT_OTA_PROVISION_CHANGE = 26;
- private static final int CDMA_CALL_WAITING_REJECT = 27;
- private static final int UPDATE_IN_CALL_NOTIFICATION = 28;
+ private static final int CALLWAITING_CALLERINFO_DISPLAY_DONE = 22;
+ private static final int CALLWAITING_ADDCALL_DISABLE_TIMEOUT = 23;
+ private static final int DISPLAYINFO_NOTIFICATION_DONE = 24;
+ private static final int EVENT_OTA_PROVISION_CHANGE = 25;
+ private static final int CDMA_CALL_WAITING_REJECT = 26;
+ private static final int UPDATE_IN_CALL_NOTIFICATION = 27;
+ private static final int VIBRATE_45_SEC = 28;
// Emergency call related defines:
private static final int EMERGENCY_TONE_OFF = 0;
@@ -163,6 +167,8 @@ public class CallNotifier extends Handler
private boolean mVoicePrivacyState = false;
private boolean mIsCdmaRedialCall = false;
+ private Call.State mLastCallState = null;
+
// Emergency call tone and vibrate:
private int mIsEmergencyToneOn;
private int mCurrentEmergencyToneState = EMERGENCY_TONE_OFF;
@@ -177,6 +183,8 @@ public class CallNotifier extends Handler
// Cached AudioManager
private AudioManager mAudioManager;
+ private Vibrator mVibrator;
+
/**
* Initialize the singleton CallNotifier instance.
* This is only done once, at startup, from PhoneApp.onCreate().
@@ -201,6 +209,7 @@ private CallNotifier(PhoneApp app, Phone phone, Ringer ringer,
mCallLog = callLog;
mAudioManager = (AudioManager) mApplication.getSystemService(Context.AUDIO_SERVICE);
+ mVibrator = (Vibrator) mApplication.getSystemService(Context.VIBRATOR_SERVICE);
registerForNotifications();
@@ -266,26 +275,13 @@ public void handleMessage(Message msg) {
break;
case RINGER_CUSTOM_RINGTONE_QUERY_TIMEOUT:
- // CallerInfo query is taking too long! But we can't wait
- // any more, so start ringing NOW even if it means we won't
- // use the correct custom ringtone.
- Log.w(LOG_TAG, "CallerInfo query took too long; manually starting ringer");
-
- // In this case we call onCustomRingQueryComplete(), just
- // like if the query had completed normally. (But we're
- // going to get the default ringtone, since we never got
- // the chance to call Ringer.setCustomRingtoneUri()).
- onCustomRingQueryComplete();
+ onCustomRingtoneQueryTimeout((String) msg.obj);
break;
case PHONE_MWI_CHANGED:
onMwiChanged(mApplication.phone.getMessageWaitingIndicator());
break;
- case PHONE_BATTERY_LOW:
- onBatteryLow();
- break;
-
case PHONE_CDMA_CALL_WAITING:
if (DBG) log("Received PHONE_CDMA_CALL_WAITING event");
onCdmaCallWaiting((AsyncResult) msg.obj);
@@ -365,6 +361,11 @@ public void handleMessage(Message msg) {
mApplication.notificationMgr.updateInCallNotification();
break;
+ case VIBRATE_45_SEC:
+ vibrate(70, 0, 0);
+ sendEmptyMessageDelayed(VIBRATE_45_SEC, 60000);
+ break;
+
default:
// super.handleMessage(msg);
}
@@ -401,12 +402,6 @@ private void onNewRingingConnection(AsyncResult r) {
return;
}
- if (c == null) {
- Log.w(LOG_TAG, "CallNotifier.onNewRingingConnection(): null connection!");
- // Should never happen, but if it does just bail out and do nothing.
- return;
- }
-
if (!c.isRinging()) {
Log.i(LOG_TAG, "CallNotifier.onNewRingingConnection(): connection not ringing!");
// This is a very strange case: an incoming call that stopped
@@ -460,6 +455,9 @@ private void onNewRingingConnection(AsyncResult r) {
startIncomingCallQuery(c);
} else {
if (VDBG) log("- starting call waiting tone...");
+ if (PhoneUtils.PhoneSettings.vibCallWaiting(mApplication)) {
+ vibrate(200, 300, 500);
+ }
if (mCallWaitingTonePlayer == null) {
mCallWaitingTonePlayer = new InCallTonePlayer(InCallTonePlayer.TONE_CALL_WAITING);
mCallWaitingTonePlayer.start();
@@ -575,7 +573,7 @@ private void startIncomingCallQuery(Connection c) {
}
}
if (shouldStartQuery) {
- // create a custom ringer using the default ringer first
+ // Reset the ringtone to the default first.
mRinger.setCustomRingtoneUri(Settings.System.DEFAULT_RINGTONE_URI);
// query the callerinfo to try to get the ringer.
@@ -589,7 +587,11 @@ private void startIncomingCallQuery(Connection c) {
onQueryComplete(0, this, cit.currentInfo);
} else {
if (VDBG) log("- Starting query, posting timeout message.");
- sendEmptyMessageDelayed(RINGER_CUSTOM_RINGTONE_QUERY_TIMEOUT,
+
+ // Phone number (via getAddress()) is stored in the message to remember which
+ // number is actually used for the look up.
+ sendMessageDelayed(
+ Message.obtain(this, RINGER_CUSTOM_RINGTONE_QUERY_TIMEOUT, c.getAddress()),
RINGTONE_QUERY_WAIT_TIME);
}
// The call to showIncomingCall() will happen after the
@@ -699,7 +701,7 @@ private void onUnknownConnectionAppeared(AsyncResult r) {
* the ringer and/or vibrator are started separately (see the various
* calls to Ringer.ring() in this class.)
*
- * @see NotificationMgr.updateNotificationAndLaunchIncomingCallUi()
+ * @see NotificationMgr#updateNotificationAndLaunchIncomingCallUi()
*/
private void showIncomingCall() {
log("showIncomingCall()... phone state = " + mCM.getState());
@@ -771,18 +773,20 @@ private void onPhoneStateChanged(AsyncResult r) {
.enableNotificationAlerts(state == Phone.State.IDLE);
Phone fgPhone = mCM.getFgPhone();
- if (fgPhone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
- if ((fgPhone.getForegroundCall().getState() == Call.State.ACTIVE)
- && ((mPreviousCdmaCallState == Call.State.DIALING)
- || (mPreviousCdmaCallState == Call.State.ALERTING))) {
- if (mIsCdmaRedialCall) {
- int toneToPlay = InCallTonePlayer.TONE_REDIAL;
- new InCallTonePlayer(toneToPlay).start();
- }
- // Stop any signal info tone when call moves to ACTIVE state
+ if (fgPhone != null) {
+ if (fgPhone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
+ if ((fgPhone.getForegroundCall().getState() == Call.State.ACTIVE)
+ && ((mPreviousCdmaCallState == Call.State.DIALING)
+ || (mPreviousCdmaCallState == Call.State.ALERTING))) {
+ if (mIsCdmaRedialCall) {
+ int toneToPlay = InCallTonePlayer.TONE_REDIAL;
+ new InCallTonePlayer(toneToPlay).start();
+ }
+ // Stop any signal info tone when call moves to ACTIVE state
stopSignalInfoTone();
+ }
+ mPreviousCdmaCallState = fgPhone.getForegroundCall().getState();
}
- mPreviousCdmaCallState = fgPhone.getForegroundCall().getState();
}
// Have the PhoneApp recompute its mShowBluetoothIndication
@@ -792,8 +796,8 @@ private void onPhoneStateChanged(AsyncResult r) {
// listens for phone state changes itself.
mApplication.updateBluetoothIndication(false);
- // Update the proximity sensor mode (on devices that have a
- // proximity sensor).
+
+ // Update the phone state and other sensor/lock.
mApplication.updatePhoneState(state);
if (state == Phone.State.OFFHOOK) {
@@ -804,6 +808,28 @@ private void onPhoneStateChanged(AsyncResult r) {
}
if (VDBG) log("onPhoneStateChanged: OFF HOOK");
+
+ Call call = PhoneUtils.getCurrentCall(fgPhone);
+ Connection c = PhoneUtils.getConnection(fgPhone, call);
+ if (VDBG) PhoneUtils.dumpCallState(fgPhone);
+ Call.State cstate = call.getState();
+
+ if (cstate == Call.State.ACTIVE && !c.isIncoming()) {
+ long callDurationMsec = c.getDurationMillis();
+ if (VDBG) Log.v(LOG_TAG, "duration is " + callDurationMsec);
+
+ boolean vibOut = PhoneUtils.PhoneSettings.vibOutgoing(mApplication);
+ if (vibOut && callDurationMsec < 200) {
+ vibrate(100, 0, 0);
+ }
+
+ boolean vib45 = PhoneUtils.PhoneSettings.vibOn45Secs(mApplication);
+ if (vib45) {
+ callDurationMsec = callDurationMsec % 60000;
+ start45SecondVibration(callDurationMsec);
+ }
+ }
+
// make sure audio is in in-call mode now
PhoneUtils.setAudioMode(mCM);
@@ -844,46 +870,63 @@ private void onPhoneStateChanged(AsyncResult r) {
IN_CALL_NOTIFICATION_UPDATE_DELAY);
}
- if (fgPhone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
- Connection c = fgPhone.getForegroundCall().getLatestConnection();
- if ((c != null) && (PhoneNumberUtils.isLocalEmergencyNumber(c.getAddress(),
+ if (fgPhone != null) {
+ if (fgPhone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
+ Connection c = fgPhone.getForegroundCall().getLatestConnection();
+ if ((c != null) && (PhoneNumberUtils.isLocalEmergencyNumber(c.getAddress(),
mApplication))) {
- if (VDBG) log("onPhoneStateChanged: it is an emergency call.");
- Call.State callState = fgPhone.getForegroundCall().getState();
- if (mEmergencyTonePlayerVibrator == null) {
- mEmergencyTonePlayerVibrator = new EmergencyTonePlayerVibrator();
- }
+ if (VDBG) log("onPhoneStateChanged: it is an emergency call.");
+ Call.State callState = fgPhone.getForegroundCall().getState();
+ if (mEmergencyTonePlayerVibrator == null) {
+ mEmergencyTonePlayerVibrator = new EmergencyTonePlayerVibrator();
+ }
- if (callState == Call.State.DIALING || callState == Call.State.ALERTING) {
- mIsEmergencyToneOn = Settings.System.getInt(
- mApplication.getContentResolver(),
- Settings.System.EMERGENCY_TONE, EMERGENCY_TONE_OFF);
- if (mIsEmergencyToneOn != EMERGENCY_TONE_OFF &&
- mCurrentEmergencyToneState == EMERGENCY_TONE_OFF) {
- if (mEmergencyTonePlayerVibrator != null) {
- mEmergencyTonePlayerVibrator.start();
+ if (callState == Call.State.DIALING || callState == Call.State.ALERTING) {
+ mIsEmergencyToneOn = Settings.System.getInt(
+ mApplication.getContentResolver(),
+ Settings.System.EMERGENCY_TONE, EMERGENCY_TONE_OFF);
+ if (mIsEmergencyToneOn != EMERGENCY_TONE_OFF &&
+ mCurrentEmergencyToneState == EMERGENCY_TONE_OFF) {
+ if (mEmergencyTonePlayerVibrator != null) {
+ mEmergencyTonePlayerVibrator.start();
+ }
}
- }
- } else if (callState == Call.State.ACTIVE) {
- if (mCurrentEmergencyToneState != EMERGENCY_TONE_OFF) {
- if (mEmergencyTonePlayerVibrator != null) {
- mEmergencyTonePlayerVibrator.stop();
+ } else if (callState == Call.State.ACTIVE) {
+ if (mCurrentEmergencyToneState != EMERGENCY_TONE_OFF) {
+ if (mEmergencyTonePlayerVibrator != null) {
+ mEmergencyTonePlayerVibrator.stop();
+ }
}
}
}
}
- }
- if ((fgPhone.getPhoneType() == Phone.PHONE_TYPE_GSM)
- || (fgPhone.getPhoneType() == Phone.PHONE_TYPE_SIP)) {
- Call.State callState = mCM.getActiveFgCallState();
- if (!callState.isDialing()) {
- // If call get activated or disconnected before the ringback
- // tone stops, we have to stop it to prevent disturbing.
- if (mInCallRingbackTonePlayer != null) {
- mInCallRingbackTonePlayer.stopTone();
- mInCallRingbackTonePlayer = null;
+ if ((fgPhone.getPhoneType() == Phone.PHONE_TYPE_GSM)
+ || (fgPhone.getPhoneType() == Phone.PHONE_TYPE_SIP)) {
+ Call.State callState = mCM.getActiveFgCallState();
+ if (!callState.isDialing()) {
+ // If call get activated or disconnected before the ringback
+ // tone stops, we have to stop it to prevent disturbing.
+ if (mInCallRingbackTonePlayer != null) {
+ mInCallRingbackTonePlayer.stopTone();
+ mInCallRingbackTonePlayer = null;
+ }
+ if (PhoneUtils.PhoneSettings.callRecordingEnabled(mApplication)) {
+ if (callState == Call.State.ACTIVE &&
+ callState != mLastCallState &&
+ mLastCallState != Call.State.DISCONNECTING) {
+ log("onPhoneStateChanged: State ACTIVE - startRecording, last state was: " + mLastCallState);
+ Call call = PhoneUtils.getCurrentCall(fgPhone);
+ Connection c = PhoneUtils.getConnection(fgPhone, call);
+ PhoneUtils.startRecording(c.getAddress(), c.isIncoming() ? "in":"out");
+ } else if (callState != Call.State.ACTIVE &&
+ mLastCallState == Call.State.ACTIVE) {
+ log("onPhoneStateChanged: State not ACTIVE - stopRecording");
+ PhoneUtils.stopRecording();
+ }
+ }
}
+ mLastCallState = callState;
}
}
}
@@ -943,15 +986,17 @@ private void registerForNotifications() {
* class itself, it is assumed that we have been waiting for the ringtone
* and direct to voicemail settings to update.
*/
+ @Override
public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
if (cookie instanceof Long) {
if (VDBG) log("CallerInfo query complete, posting missed call notification");
mApplication.notificationMgr.notifyMissedCall(ci.name, ci.phoneNumber,
- ci.phoneLabel, ((Long) cookie).longValue());
+ ci.phoneLabel, ci.cachedPhoto, ci.cachedPhotoIcon,
+ ((Long) cookie).longValue());
} else if (cookie instanceof CallNotifier) {
if (VDBG) log("CallerInfo query complete (for CallNotifier), "
- + "updating state for incoming call..");
+ + "updating state for incoming call..");
// get rid of the timeout messages
removeMessages(RINGER_CUSTOM_RINGTONE_QUERY_TIMEOUT);
@@ -985,6 +1030,50 @@ public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
}
}
+ /**
+ * Called when asynchronous CallerInfo query is taking too long (more than
+ * {@link #RINGTONE_QUERY_WAIT_TIME} msec), but we cannot wait any more.
+ *
+ * This looks up in-memory fallback cache and use it when available. If not, it just calls
+ * {@link #onCustomRingQueryComplete()} with default ringtone ("Send to voicemail" flag will
+ * be just ignored).
+ *
+ * @param number The phone number used for the async query. This method will take care of
+ * formatting or normalization of the number.
+ */
+ private void onCustomRingtoneQueryTimeout(String number) {
+ // First of all, this case itself should be rare enough, though we cannot avoid it in
+ // some situations (e.g. IPC is slow due to system overload, database is in sync, etc.)
+ Log.w(LOG_TAG, "CallerInfo query took too long; look up local fallback cache.");
+
+ // This method is intentionally verbose for now to detect possible bad side-effect for it.
+ // TODO: Remove the verbose log when it looks stable and reliable enough.
+
+ final CallerInfoCache.CacheEntry entry =
+ mApplication.callerInfoCache.getCacheEntry(number);
+ if (entry != null) {
+ if (entry.sendToVoicemail) {
+ log("send to voicemail flag detected (in fallback cache). hanging up.");
+ PhoneUtils.hangupRingingCall(mCM.getFirstActiveRingingCall());
+ return;
+ }
+
+ if (entry.customRingtone != null) {
+ log("custom ringtone found (in fallback cache), setting up ringer: "
+ + entry.customRingtone);
+ this.mRinger.setCustomRingtoneUri(Uri.parse(entry.customRingtone));
+ }
+ } else {
+ // In this case we call onCustomRingQueryComplete(), just
+ // like if the query had completed normally. (But we're
+ // going to get the default ringtone, since we never got
+ // the chance to call Ringer.setCustomRingtoneUri()).
+ log("Failed to find fallback cache. Use default ringer tone.");
+ }
+
+ onCustomRingQueryComplete();
+ }
+
private void onDisconnect(AsyncResult r) {
if (VDBG) log("onDisconnect()... CallManager state: " + mCM.getState());
@@ -1016,6 +1105,14 @@ private void onDisconnect(AsyncResult r) {
removeMessages(CALLWAITING_ADDCALL_DISABLE_TIMEOUT);
}
+ if (c != null) {
+ boolean vibHangup = PhoneUtils.PhoneSettings.vibHangup(mApplication);
+ if (vibHangup && c.getDurationMillis() > 0) {
+ vibrate(50, 100, 50);
+ }
+ removeMessages(VIBRATE_45_SEC);
+ }
+
// Stop the ringer if it was ringing (for an incoming call that
// either disconnected by itself, or was rejected by the user.)
//
@@ -1099,6 +1196,9 @@ private void onDisconnect(AsyncResult r) {
}
}
+ // disable noise suppression
+ PhoneUtils.turnOnNoiseSuppression(mApplication.getApplicationContext(), false);
+
// If we don't need to play BUSY or CONGESTION, then play the
// "call ended" tone if this was a "regular disconnect" (i.e. a
// normal call where one end or the other hung up) *and* this
@@ -1118,6 +1218,7 @@ private void onDisconnect(AsyncResult r) {
}
}
+ // All phone calls are disconnected.
if (mCM.getState() == Phone.State.IDLE) {
// Don't reset the audio mode or bluetooth/speakerphone state
// if we still need to let the user hear a tone through the earpiece.
@@ -1127,15 +1228,10 @@ private void onDisconnect(AsyncResult r) {
mApplication.notificationMgr.cancelCallInProgressNotifications();
- // If the InCallScreen is *not* in the foreground, forcibly
- // dismiss it to make sure it won't still be in the activity
- // history. (But if it *is* in the foreground, don't mess
- // with it; it needs to be visible, displaying the "Call
- // ended" state.)
- if (!mApplication.isShowingCallScreen()) {
- if (VDBG) log("onDisconnect: force InCallScreen to finish()");
- mApplication.dismissCallScreen();
- } else {
+ // If the screen is turned off when all the phone calls are hung up,
+ // InCallScreen#onDisconnect() will wake up the screen (only once) and let users
+ // check the disconnected status.
+ if (mApplication.isShowingCallScreen()) {
if (VDBG) log("onDisconnect: In call screen. Set short timeout.");
mApplication.clearUserActivityTimeout();
}
@@ -1234,22 +1330,6 @@ private void onDisconnect(AsyncResult r) {
// when *that* connection's "disconnect" event comes in.)
}
- if (mCM.getState() == Phone.State.IDLE) {
- // Release screen wake locks if the in-call screen is not
- // showing. Otherwise, let the in-call screen handle this because
- // it needs to show the call ended screen for a couple of
- // seconds.
- if (!mApplication.isShowingCallScreen()) {
- if (VDBG) log("- NOT showing in-call screen; releasing wake locks!");
- mApplication.setScreenTimeout(PhoneApp.ScreenTimeoutDuration.DEFAULT);
- mApplication.requestWakeState(PhoneApp.WakeState.SLEEP);
- } else {
- if (VDBG) log("- still showing in-call screen; not releasing wake locks.");
- }
- } else {
- if (VDBG) log("- phone still in use; not releasing wake locks.");
- }
-
if (((mPreviousCdmaCallState == Call.State.DIALING)
|| (mPreviousCdmaCallState == Call.State.ALERTING))
&& (!isEmergencyNumber)
@@ -1305,6 +1385,15 @@ private void onMwiChanged(boolean visible) {
return;
}
+ boolean notifProp = mApplication.getResources().getBoolean(R.bool.sprint_mwi_quirk);
+ boolean notifOption = Settings.System.getInt(mApplication.getPhone().getContext().getContentResolver(), Settings.System.ENABLE_MWI_NOTIFICATION, 0) == 1;
+ if (notifProp && !notifOption) {
+ // sprint_mwi_quirk is true, and ENABLE_MWI_NOTIFICATION is unchecked or unset (false)
+ // ignore the mwi event, but log if we're debugging.
+ if (VDBG) log("onMwiChanged(): mwi_notification is disabled. Ignoring...");
+ return;
+ }
+
mApplication.notificationMgr.updateMwi(visible);
}
@@ -1359,23 +1448,6 @@ void silenceRinger() {
}
}
- /**
- * Posts a PHONE_BATTERY_LOW event, causing us to play a warning
- * tone if the user is in-call.
- */
- /* package */ void sendBatteryLow() {
- Message message = Message.obtain(this, PHONE_BATTERY_LOW);
- sendMessage(message);
- }
-
- private void onBatteryLow() {
- if (DBG) log("onBatteryLow()...");
-
- // A "low battery" warning tone is now played by
- // StatusBarPolicy.updateBattery().
- }
-
-
/**
* Helper class to play tones through the earpiece (or speaker / BT)
* during a call, using the ToneGenerator.
@@ -1401,32 +1473,31 @@ private class InCallTonePlayer extends Thread {
public static final int TONE_CALL_WAITING = 1;
public static final int TONE_BUSY = 2;
public static final int TONE_CONGESTION = 3;
- public static final int TONE_BATTERY_LOW = 4;
- public static final int TONE_CALL_ENDED = 5;
- public static final int TONE_VOICE_PRIVACY = 6;
- public static final int TONE_REORDER = 7;
- public static final int TONE_INTERCEPT = 8;
- public static final int TONE_CDMA_DROP = 9;
- public static final int TONE_OUT_OF_SERVICE = 10;
- public static final int TONE_REDIAL = 11;
- public static final int TONE_OTA_CALL_END = 12;
- public static final int TONE_RING_BACK = 13;
- public static final int TONE_UNOBTAINABLE_NUMBER = 14;
+ public static final int TONE_CALL_ENDED = 4;
+ public static final int TONE_VOICE_PRIVACY = 5;
+ public static final int TONE_REORDER = 6;
+ public static final int TONE_INTERCEPT = 7;
+ public static final int TONE_CDMA_DROP = 8;
+ public static final int TONE_OUT_OF_SERVICE = 9;
+ public static final int TONE_REDIAL = 10;
+ public static final int TONE_OTA_CALL_END = 11;
+ public static final int TONE_RING_BACK = 12;
+ public static final int TONE_UNOBTAINABLE_NUMBER = 13;
// The tone volume relative to other sounds in the stream
- private static final int TONE_RELATIVE_VOLUME_EMERGENCY = 100;
- private static final int TONE_RELATIVE_VOLUME_HIPRI = 80;
- private static final int TONE_RELATIVE_VOLUME_LOPRI = 50;
+ static final int TONE_RELATIVE_VOLUME_EMERGENCY = 100;
+ static final int TONE_RELATIVE_VOLUME_HIPRI = 80;
+ static final int TONE_RELATIVE_VOLUME_LOPRI = 50;
// Buffer time (in msec) to add on to tone timeout value.
// Needed mainly when the timeout value for a tone is the
// exact duration of the tone itself.
- private static final int TONE_TIMEOUT_BUFFER = 20;
+ static final int TONE_TIMEOUT_BUFFER = 20;
// The tone state
- private static final int TONE_OFF = 0;
- private static final int TONE_ON = 1;
- private static final int TONE_STOPPED = 2;
+ static final int TONE_OFF = 0;
+ static final int TONE_ON = 1;
+ static final int TONE_STOPPED = 2;
InCallTonePlayer(int toneId) {
super();
@@ -1469,15 +1540,7 @@ public void run() {
toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
toneLengthMillis = 4000;
break;
- case TONE_BATTERY_LOW:
- // For now, use ToneGenerator.TONE_PROP_ACK (two quick
- // beeps). TODO: is there some other ToneGenerator
- // tone that would be more appropriate here? Or
- // should we consider adding a new custom tone?
- toneType = ToneGenerator.TONE_PROP_ACK;
- toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
- toneLengthMillis = 1000;
- break;
+
case TONE_CALL_ENDED:
toneType = ToneGenerator.TONE_PROP_PROMPT;
toneVolume = TONE_RELATIVE_VOLUME_HIPRI;
@@ -1632,7 +1695,7 @@ public void run() {
//
// (But watch out: do NOT do this if the phone is in use,
// since some of our tones get played *during* a call (like
- // CALL_WAITING and BATTERY_LOW) and we definitely *don't*
+ // CALL_WAITING) and we definitely *don't*
// want to reset the audio mode / speaker / bluetooth after
// playing those!
// This call is really here for use with tones that get played
@@ -1808,7 +1871,7 @@ private void onCdmaCallWaiting(AsyncResult r) {
* CDMA call-waiting call.
*
* This method is safe to call from any thread.
- * @see onCdmaCallWaitingReject()
+ * @see #onCdmaCallWaitingReject()
*/
/* package */ void sendCdmaCallWaitingReject() {
sendEmptyMessage(CDMA_CALL_WAITING_REJECT);
@@ -1819,7 +1882,7 @@ private void onCdmaCallWaiting(AsyncResult r) {
* and finally calls Hangup on the Call Waiting connection.
*
* This method should be called only from the UI thread.
- * @see sendCdmaCallWaitingReject()
+ * @see #sendCdmaCallWaitingReject()
*/
private void onCdmaCallWaitingReject() {
final Call ringingCall = mCM.getFirstActiveRingingCall();
@@ -1904,7 +1967,7 @@ private void onCdmaCallWaitingReject() {
*/
private void showMissedCallNotification(Connection c, final long date) {
PhoneUtils.CallerInfoToken info =
- PhoneUtils.startGetCallerInfo(mApplication, c, this, Long.valueOf(date));
+ PhoneUtils.startGetCallerInfo(mApplication, c, this, Long.valueOf(date));
if (info != null) {
// at this point, we've requested to start a query, but it makes no
// sense to log this missed call until the query comes back.
@@ -1928,7 +1991,7 @@ private void showMissedCallNotification(Connection c, final long date) {
ci, number, ci.numberPresentation);
}
mApplication.notificationMgr.notifyMissedCall(name, number,
- ci.phoneLabel, date);
+ ci.phoneLabel, ci.cachedPhoto, ci.cachedPhotoIcon, date);
}
} else {
// getCallerInfo() can return null in rare cases, like if we weren't
@@ -1947,7 +2010,9 @@ private class EmergencyTonePlayerVibrator {
new long[] { EMG_VIBRATE_LENGTH, EMG_VIBRATE_PAUSE };
private ToneGenerator mToneGenerator;
- private Vibrator mEmgVibrator;
+ // We don't rely on getSystemService(Context.VIBRATOR_SERVICE) to make sure this vibrator
+ // object will be isolated from others.
+ private Vibrator mEmgVibrator = new SystemVibrator();
private int mInCallVolume;
/**
@@ -1978,7 +2043,6 @@ private void start() {
}
} else if (mIsEmergencyToneOn == EMERGENCY_TONE_VIBRATE) {
log("EmergencyTonePlayerVibrator.start(): emergency vibrate...");
- mEmgVibrator = new Vibrator();
if (mEmgVibrator != null) {
mEmgVibrator.vibrate(mVibratePattern, 0);
mCurrentEmergencyToneState = EMERGENCY_TONE_VIBRATE;
@@ -2048,7 +2112,7 @@ private void onResendMute() {
* Apply the Call Name Presentation (CNAP) transform in the connection on the number.
*
* @param conn The phone connection.
- * @param info The CallerInfo. Maybe null.
+ * @param callerInfo The CallerInfo. Maybe null.
* @return the phone number.
*/
private String getLogNumber(Connection conn, CallerInfo callerInfo) {
@@ -2114,7 +2178,7 @@ private CallerInfo getCallerInfoFromConnection(Connection conn) {
* get it from the connection.
*
* @param conn The phone connection.
- * @param info The CallerInfo. Maybe null.
+ * @param callerInfo The CallerInfo. Maybe null.
* @return The presentation to use in the logs.
*/
private int getPresentation(Connection conn, CallerInfo callerInfo) {
@@ -2131,6 +2195,30 @@ private int getPresentation(Connection conn, CallerInfo callerInfo) {
return presentation;
}
+ private void start45SecondVibration(long callDurationMsec) {
+ if (VDBG) Log.v(LOG_TAG, "vibrate start @" + callDurationMsec);
+
+ removeMessages(VIBRATE_45_SEC);
+
+ long timer;
+ if (callDurationMsec > 45000) {
+ // Schedule the alarm at the next minute + 45 secs
+ timer = 45000 + 60000 - callDurationMsec;
+ } else {
+ // Schedule the alarm at the first 45 second mark
+ timer = 45000 - callDurationMsec;
+ }
+
+ sendEmptyMessageDelayed(VIBRATE_45_SEC, timer);
+ }
+
+ public void vibrate(int v1, int p1, int v2) {
+ long[] pattern = new long[] {
+ 0, v1, p1, v2
+ };
+ mVibrator.vibrate(pattern, -1);
+ }
+
private void log(String msg) {
Log.d(LOG_TAG, msg);
}
diff --git a/src/com/android/phone/CallWaitingCheckBoxPreference.java b/src/com/android/phone/CallWaitingCheckBoxPreference.java
index a174e4b38..6394ff1a4 100644
--- a/src/com/android/phone/CallWaitingCheckBoxPreference.java
+++ b/src/com/android/phone/CallWaitingCheckBoxPreference.java
@@ -20,13 +20,13 @@ public class CallWaitingCheckBoxPreference extends CheckBoxPreference {
private final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
private final MyHandler mHandler = new MyHandler();
- Phone phone;
- TimeConsumingPreferenceListener tcpListener;
+ private final Phone mPhone;
+ private TimeConsumingPreferenceListener mTcpListener;
public CallWaitingCheckBoxPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
- phone = PhoneApp.getPhone();
+ mPhone = PhoneApp.getPhone();
}
public CallWaitingCheckBoxPreference(Context context, AttributeSet attrs) {
@@ -37,14 +37,14 @@ public CallWaitingCheckBoxPreference(Context context) {
this(context, null);
}
- void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
- tcpListener = listener;
+ /* package */ void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
+ mTcpListener = listener;
if (!skipReading) {
- phone.getCallWaiting(mHandler.obtainMessage(MyHandler.MESSAGE_GET_CALL_WAITING,
+ mPhone.getCallWaiting(mHandler.obtainMessage(MyHandler.MESSAGE_GET_CALL_WAITING,
MyHandler.MESSAGE_GET_CALL_WAITING, MyHandler.MESSAGE_GET_CALL_WAITING));
- if (tcpListener != null) {
- tcpListener.onStarted(this, true);
+ if (mTcpListener != null) {
+ mTcpListener.onStarted(this, true);
}
}
}
@@ -53,16 +53,16 @@ void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
protected void onClick() {
super.onClick();
- phone.setCallWaiting(isChecked(),
+ mPhone.setCallWaiting(isChecked(),
mHandler.obtainMessage(MyHandler.MESSAGE_SET_CALL_WAITING));
- if (tcpListener != null) {
- tcpListener.onStarted(this, false);
+ if (mTcpListener != null) {
+ mTcpListener.onStarted(this, false);
}
}
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_CALL_WAITING = 0;
- private static final int MESSAGE_SET_CALL_WAITING = 1;
+ static final int MESSAGE_GET_CALL_WAITING = 0;
+ static final int MESSAGE_SET_CALL_WAITING = 1;
@Override
public void handleMessage(Message msg) {
@@ -79,11 +79,11 @@ public void handleMessage(Message msg) {
private void handleGetCallWaitingResponse(Message msg) {
AsyncResult ar = (AsyncResult) msg.obj;
- if (tcpListener != null) {
+ if (mTcpListener != null) {
if (msg.arg2 == MESSAGE_SET_CALL_WAITING) {
- tcpListener.onFinished(CallWaitingCheckBoxPreference.this, false);
+ mTcpListener.onFinished(CallWaitingCheckBoxPreference.this, false);
} else {
- tcpListener.onFinished(CallWaitingCheckBoxPreference.this, true);
+ mTcpListener.onFinished(CallWaitingCheckBoxPreference.this, true);
}
}
@@ -91,14 +91,18 @@ private void handleGetCallWaitingResponse(Message msg) {
if (DBG) {
Log.d(LOG_TAG, "handleGetCallWaitingResponse: ar.exception=" + ar.exception);
}
- if (tcpListener != null) {
- tcpListener.onException(CallWaitingCheckBoxPreference.this,
+ if (mTcpListener != null) {
+ mTcpListener.onException(CallWaitingCheckBoxPreference.this,
(CommandException)ar.exception);
}
} else if (ar.userObj instanceof Throwable) {
- if (tcpListener != null) tcpListener.onError(CallWaitingCheckBoxPreference.this, RESPONSE_ERROR);
+ if (mTcpListener != null) {
+ mTcpListener.onError(CallWaitingCheckBoxPreference.this, RESPONSE_ERROR);
+ }
} else {
- if (DBG) Log.d(LOG_TAG, "handleGetCallWaitingResponse: CW state successfully queried.");
+ if (DBG) {
+ Log.d(LOG_TAG, "handleGetCallWaitingResponse: CW state successfully queried.");
+ }
int[] cwArray = (int[])ar.result;
// If cwArray[0] is = 1, then cwArray[1] must follow,
// with the TS 27.007 service class bit vector of services
@@ -116,12 +120,14 @@ private void handleSetCallWaitingResponse(Message msg) {
AsyncResult ar = (AsyncResult) msg.obj;
if (ar.exception != null) {
- if (DBG) Log.d(LOG_TAG, "handleSetCallWaitingResponse: ar.exception=" + ar.exception);
+ if (DBG) {
+ Log.d(LOG_TAG, "handleSetCallWaitingResponse: ar.exception=" + ar.exception);
+ }
//setEnabled(false);
}
if (DBG) Log.d(LOG_TAG, "handleSetCallWaitingResponse: re get");
- phone.getCallWaiting(obtainMessage(MESSAGE_GET_CALL_WAITING,
+ mPhone.getCallWaiting(obtainMessage(MESSAGE_GET_CALL_WAITING,
MESSAGE_SET_CALL_WAITING, MESSAGE_SET_CALL_WAITING, ar.exception));
}
}
diff --git a/src/com/android/phone/CallerInfoCache.java b/src/com/android/phone/CallerInfoCache.java
new file mode 100644
index 000000000..dc6ffae2c
--- /dev/null
+++ b/src/com/android/phone/CallerInfoCache.java
@@ -0,0 +1,337 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.os.AsyncTask;
+import android.os.PowerManager;
+import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.provider.ContactsContract.CommonDataKinds.Callable;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.Data;
+import android.telephony.PhoneNumberUtils;
+import android.util.Log;
+
+import java.util.HashMap;
+import java.util.Map.Entry;
+
+/**
+ * Holds "custom ringtone" and "send to voicemail" information for each contact as a fallback of
+ * contacts database. The cached information is refreshed periodically and used when database
+ * lookup (via ContentResolver) takes longer time than expected.
+ *
+ * The data inside this class shouldn't be treated as "primary"; they may not reflect the
+ * latest information stored in the original database.
+ */
+public class CallerInfoCache {
+ private static final String LOG_TAG = CallerInfoCache.class.getSimpleName();
+ private static final boolean DBG =
+ (PhoneApp.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
+
+ /** This must not be set to true when submitting changes. */
+ private static final boolean VDBG = false;
+
+ /**
+ * Interval used with {@link AlarmManager#setInexactRepeating(int, long, long, PendingIntent)},
+ * which means the actually interval may not be very accurate.
+ */
+ private static final int CACHE_REFRESH_INTERVAL = 8 * 60 * 60 * 1000; // 8 hours in millis.
+
+ public static final int MESSAGE_UPDATE_CACHE = 0;
+
+ // Assuming DATA.DATA1 corresponds to Phone.NUMBER and SipAddress.ADDRESS, we just use
+ // Data columns as much as we can. One exception: because normalized numbers won't be used in
+ // SIP cases, Phone.NORMALIZED_NUMBER is used as is instead of using Data.
+ private static final String[] PROJECTION = new String[] {
+ Data.DATA1, // 0
+ Phone.NORMALIZED_NUMBER, // 1
+ Data.CUSTOM_RINGTONE, // 2
+ Data.SEND_TO_VOICEMAIL // 3
+ };
+
+ private static final int INDEX_NUMBER = 0;
+ private static final int INDEX_NORMALIZED_NUMBER = 1;
+ private static final int INDEX_CUSTOM_RINGTONE = 2;
+ private static final int INDEX_SEND_TO_VOICEMAIL = 3;
+
+ private static final String SELECTION = "("
+ + "(" + Data.CUSTOM_RINGTONE + " IS NOT NULL OR " + Data.SEND_TO_VOICEMAIL + "=1)"
+ + " AND " + Data.DATA1 + " IS NOT NULL)";
+
+ public static class CacheEntry {
+ public final String customRingtone;
+ public final boolean sendToVoicemail;
+ public CacheEntry(String customRingtone, boolean shouldSendToVoicemail) {
+ this.customRingtone = customRingtone;
+ this.sendToVoicemail = shouldSendToVoicemail;
+ }
+
+ @Override
+ public String toString() {
+ return "ringtone: " + customRingtone + ", " + sendToVoicemail;
+ }
+ }
+
+ private class CacheAsyncTask extends AsyncTask {
+
+ private PowerManager.WakeLock mWakeLock;
+
+ /**
+ * Call {@link PowerManager.WakeLock#acquire} and call {@link AsyncTask#execute(Object...)},
+ * guaranteeing the lock is held during the asynchronous task.
+ */
+ public void acquireWakeLockAndExecute() {
+ // Prepare a separate partial WakeLock than what PhoneApp has so to avoid
+ // unnecessary conflict.
+ PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
+ mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, LOG_TAG);
+ mWakeLock.acquire();
+ execute();
+ }
+
+ @Override
+ protected Void doInBackground(Void... params) {
+ if (DBG) log("Start refreshing cache.");
+ refreshCacheEntry();
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ if (VDBG) log("CacheAsyncTask#onPostExecute()");
+ super.onPostExecute(result);
+ releaseWakeLock();
+ }
+
+ @Override
+ protected void onCancelled(Void result) {
+ if (VDBG) log("CacheAsyncTask#onCanceled()");
+ super.onCancelled(result);
+ releaseWakeLock();
+ }
+
+ private void releaseWakeLock() {
+ if (mWakeLock != null && mWakeLock.isHeld()) {
+ mWakeLock.release();
+ }
+ }
+ }
+
+ private final Context mContext;
+
+ /**
+ * The mapping from number to CacheEntry.
+ *
+ * The number will be:
+ * - last 7 digits of each "normalized phone number when it is for PSTN phone call, or
+ * - a full SIP address for SIP call
+ *
+ * When cache is being refreshed, this whole object will be replaced with a newer object,
+ * instead of updating elements inside the object. "volatile" is used to make
+ * {@link #getCacheEntry(String)} access to the newer one every time when the object is
+ * being replaced.
+ */
+ private volatile HashMap mNumberToEntry;
+
+ /**
+ * Used to remember if the previous task is finished or not. Should be set to null when done.
+ */
+ private CacheAsyncTask mCacheAsyncTask;
+
+ public static CallerInfoCache init(Context context) {
+ if (DBG) log("init()");
+ CallerInfoCache cache = new CallerInfoCache(context);
+ // The first cache should be available ASAP.
+ cache.startAsyncCache();
+ cache.setRepeatingCacheUpdateAlarm();
+ return cache;
+ }
+
+ private CallerInfoCache(Context context) {
+ mContext = context;
+ mNumberToEntry = new HashMap();
+ }
+
+ /* package */ void startAsyncCache() {
+ if (DBG) log("startAsyncCache");
+
+ if (mCacheAsyncTask != null) {
+ Log.w(LOG_TAG, "Previous cache task is remaining.");
+ mCacheAsyncTask.cancel(true);
+ }
+ mCacheAsyncTask = new CacheAsyncTask();
+ mCacheAsyncTask.acquireWakeLockAndExecute();
+ }
+
+ /**
+ * Set up periodic alarm for cache update.
+ */
+ private void setRepeatingCacheUpdateAlarm() {
+ if (DBG) log("setRepeatingCacheUpdateAlarm");
+
+ Intent intent = new Intent(CallerInfoCacheUpdateReceiver.ACTION_UPDATE_CALLER_INFO_CACHE);
+ intent.setClass(mContext, CallerInfoCacheUpdateReceiver.class);
+ PendingIntent pendingIntent =
+ PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
+ AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
+ // We don't need precise timer while this should be power efficient.
+ alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME,
+ SystemClock.uptimeMillis() + CACHE_REFRESH_INTERVAL,
+ CACHE_REFRESH_INTERVAL, pendingIntent);
+ }
+
+ private void refreshCacheEntry() {
+ if (VDBG) log("refreshCacheEntry() started");
+
+ // There's no way to know which part of the database was updated. Also we don't want
+ // to block incoming calls asking for the cache. So this method just does full query
+ // and replaces the older cache with newer one. To refrain from blocking incoming calls,
+ // it keeps older one as much as it can, and replaces it with newer one inside a very small
+ // synchronized block.
+
+ Cursor cursor = null;
+ try {
+ cursor = mContext.getContentResolver().query(Callable.CONTENT_URI,
+ PROJECTION, SELECTION, null, null);
+ if (cursor != null) {
+ // We don't want to block real in-coming call, so prepare a completely fresh
+ // cache here again, and replace it with older one.
+ final HashMap newNumberToEntry =
+ new HashMap(cursor.getCount());
+
+ while (cursor.moveToNext()) {
+ final String number = cursor.getString(INDEX_NUMBER);
+ String normalizedNumber = cursor.getString(INDEX_NORMALIZED_NUMBER);
+ if (normalizedNumber == null) {
+ // There's no guarantee normalized numbers are available every time and
+ // it may become null sometimes. Try formatting the original number.
+ normalizedNumber = PhoneNumberUtils.normalizeNumber(number);
+ }
+ final String customRingtone = cursor.getString(INDEX_CUSTOM_RINGTONE);
+ final boolean sendToVoicemail = cursor.getInt(INDEX_SEND_TO_VOICEMAIL) == 1;
+
+ if (PhoneNumberUtils.isUriNumber(number)) {
+ // SIP address case
+ putNewEntryWhenAppropriate(
+ newNumberToEntry, number, customRingtone, sendToVoicemail);
+ } else {
+ // PSTN number case
+ // Each normalized number may or may not have full content of the number.
+ // Contacts database may contain +15001234567 while a dialed number may be
+ // just 5001234567. Also we may have inappropriate country
+ // code in some cases (e.g. when the location of the device is inconsistent
+ // with the device's place). So to avoid confusion we just rely on the last
+ // 7 digits here. It may cause some kind of wrong behavior, which is
+ // unavoidable anyway in very rare cases..
+ final int length = normalizedNumber.length();
+ final String key = length > 7
+ ? normalizedNumber.substring(length - 7, length)
+ : normalizedNumber;
+ putNewEntryWhenAppropriate(
+ newNumberToEntry, key, customRingtone, sendToVoicemail);
+ }
+ }
+
+ if (VDBG) {
+ Log.d(LOG_TAG, "New cache size: " + newNumberToEntry.size());
+ for (Entry entry : newNumberToEntry.entrySet()) {
+ Log.d(LOG_TAG, "Number: " + entry.getKey() + " -> " + entry.getValue());
+ }
+ }
+
+ mNumberToEntry = newNumberToEntry;
+
+ if (DBG) {
+ log("Caching entries are done. Total: " + newNumberToEntry.size());
+ }
+ } else {
+ // Let's just wait for the next refresh..
+ //
+ // If the cursor became null at that exact moment, probably we don't want to
+ // drop old cache. Also the case is fairly rare in usual cases unless acore being
+ // killed, so we don't take care much of this case.
+ Log.w(LOG_TAG, "cursor is null");
+ }
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
+ }
+
+ if (VDBG) log("refreshCacheEntry() ended");
+ }
+
+ private void putNewEntryWhenAppropriate(HashMap newNumberToEntry,
+ String numberOrSipAddress, String customRingtone, boolean sendToVoicemail) {
+ if (newNumberToEntry.containsKey(numberOrSipAddress)) {
+ // There may be duplicate entries here and we should prioritize
+ // "send-to-voicemail" flag in any case.
+ final CacheEntry entry = newNumberToEntry.get(numberOrSipAddress);
+ if (!entry.sendToVoicemail && sendToVoicemail) {
+ newNumberToEntry.put(numberOrSipAddress,
+ new CacheEntry(customRingtone, sendToVoicemail));
+ }
+ } else {
+ newNumberToEntry.put(numberOrSipAddress,
+ new CacheEntry(customRingtone, sendToVoicemail));
+ }
+ }
+
+ /**
+ * Returns CacheEntry for the given number (PSTN number or SIP address).
+ *
+ * @param number OK to be unformatted.
+ * @return CacheEntry to be used. Maybe null if there's no cache here. Note that this may
+ * return null when the cache itself is not ready. BE CAREFUL. (or might be better to throw
+ * an exception)
+ */
+ public CacheEntry getCacheEntry(String number) {
+ if (mNumberToEntry == null) {
+ // Very unusual state. This implies the cache isn't ready during the request, while
+ // it should be prepared on the boot time (i.e. a way before even the first request).
+ Log.w(LOG_TAG, "Fallback cache isn't ready.");
+ return null;
+ }
+
+ CacheEntry entry;
+ if (PhoneNumberUtils.isUriNumber(number)) {
+ if (VDBG) log("Trying to lookup " + number);
+
+ entry = mNumberToEntry.get(number);
+ } else {
+ final String normalizedNumber = PhoneNumberUtils.normalizeNumber(number);
+ final int length = normalizedNumber.length();
+ final String key =
+ (length > 7 ? normalizedNumber.substring(length - 7, length)
+ : normalizedNumber);
+ if (VDBG) log("Trying to lookup " + key);
+
+ entry = mNumberToEntry.get(key);
+ }
+ if (VDBG) log("Obtained " + entry);
+ return entry;
+ }
+
+ private static void log(String msg) {
+ Log.d(LOG_TAG, msg);
+ }
+}
diff --git a/src/com/android/phone/CallerInfoCacheUpdateReceiver.java b/src/com/android/phone/CallerInfoCacheUpdateReceiver.java
new file mode 100644
index 000000000..5d609476e
--- /dev/null
+++ b/src/com/android/phone/CallerInfoCacheUpdateReceiver.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.SystemProperties;
+import android.util.Log;
+
+/**
+ * BroadcastReceiver responsible for (periodic) update of {@link CallerInfoCache}.
+ *
+ * This broadcast can be sent from Contacts edit screen, implying relevant settings have changed
+ * and the cache may become obsolete.
+ */
+public class CallerInfoCacheUpdateReceiver extends BroadcastReceiver {
+ private static final String LOG_TAG = CallerInfoCacheUpdateReceiver.class.getSimpleName();
+ private static final boolean DBG =
+ (PhoneApp.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
+
+ public static final String ACTION_UPDATE_CALLER_INFO_CACHE =
+ "com.android.phone.UPDATE_CALLER_INFO_CACHE";
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (DBG) log("CallerInfoCacheUpdateReceiver#onReceive(). Intent: " + intent);
+ PhoneApp.getInstance().callerInfoCache.startAsyncCache();
+ }
+
+ private static void log(String msg) {
+ Log.d(LOG_TAG, msg);
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/CdmaSubscriptionListPreference.java b/src/com/android/phone/CdmaSubscriptionListPreference.java
index c45a6b32b..43d3c0bf7 100644
--- a/src/com/android/phone/CdmaSubscriptionListPreference.java
+++ b/src/com/android/phone/CdmaSubscriptionListPreference.java
@@ -102,7 +102,7 @@ protected void onDialogClosed(boolean positiveResult) {
private class CdmaSubscriptionButtonHandler extends Handler {
- private static final int MESSAGE_SET_CDMA_SUBSCRIPTION = 0;
+ static final int MESSAGE_SET_CDMA_SUBSCRIPTION = 0;
@Override
public void handleMessage(Message msg) {
diff --git a/src/com/android/phone/CdmaSystemSelectListPreference.java b/src/com/android/phone/CdmaSystemSelectListPreference.java
index 70e6071c5..5a6259a91 100644
--- a/src/com/android/phone/CdmaSystemSelectListPreference.java
+++ b/src/com/android/phone/CdmaSystemSelectListPreference.java
@@ -33,10 +33,10 @@
public class CdmaSystemSelectListPreference extends ListPreference {
private static final String LOG_TAG = "CdmaRoamingListPreference";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
private Phone mPhone;
- private MyHandler mHandler = new MyHandler();;
+ private MyHandler mHandler = new MyHandler();
public CdmaSystemSelectListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -71,21 +71,15 @@ protected void onDialogClosed(boolean positiveResult) {
Secure.getInt(mPhone.getContext().getContentResolver(),
Secure.CDMA_ROAMING_MODE, Phone.CDMA_RM_HOME);
if (buttonCdmaRoamingMode != settingsCdmaRoamingMode) {
- int statusCdmaRoamingMode;
- switch(buttonCdmaRoamingMode) {
- case Phone.CDMA_RM_ANY:
- statusCdmaRoamingMode = Phone.CDMA_RM_ANY;
- break;
- case Phone.CDMA_RM_HOME:
- default:
- statusCdmaRoamingMode = Phone.CDMA_RM_HOME;
- }
//Set the Settings.Secure network mode
Secure.putInt(mPhone.getContext().getContentResolver(),
Secure.CDMA_ROAMING_MODE,
buttonCdmaRoamingMode );
//Set the roaming preference mode
- mPhone.setCdmaRoamingPreference(statusCdmaRoamingMode, mHandler
+ // Note: buttonCdmaRoamingMode was previously vetted against the
+ // device-specific cdma_system_select_values list, and so doesn't need to
+ // be coerced again here.
+ mPhone.setCdmaRoamingPreference(buttonCdmaRoamingMode, mHandler
.obtainMessage(MyHandler.MESSAGE_SET_ROAMING_PREFERENCE));
}
} else {
@@ -96,8 +90,8 @@ protected void onDialogClosed(boolean positiveResult) {
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_ROAMING_PREFERENCE = 0;
- private static final int MESSAGE_SET_ROAMING_PREFERENCE = 1;
+ static final int MESSAGE_GET_ROAMING_PREFERENCE = 0;
+ static final int MESSAGE_SET_ROAMING_PREFERENCE = 1;
@Override
public void handleMessage(Message msg) {
@@ -120,9 +114,16 @@ private void handleQueryCdmaRoamingPreference(Message msg) {
int settingsRoamingMode = Secure.getInt(
mPhone.getContext().getContentResolver(),
Secure.CDMA_ROAMING_MODE, Phone.CDMA_RM_HOME);
- //check that statusCdmaRoamingMode is from an accepted value
- if (statusCdmaRoamingMode == Phone.CDMA_RM_HOME ||
- statusCdmaRoamingMode == Phone.CDMA_RM_ANY ) {
+
+ // Ensure that statusCdmaRoamingMode is a value that appears in the
+ // cdma_system_select_values list. Note that this check used to be
+ // hardcoded against Phone.CDMA_RM_HOME and Phone.CDMA_RM_ANY, however,
+ // some devices (e.g., epicmtd) have radios that support additional roaming
+ // options which should be specified in an overlay .xml file. Should the
+ // radio report an option that's _not_ present in that list, fall back to
+ // the default roaming mode so that the user doesn't operate in a mode he
+ // can't verify.
+ if (findIndexOfValue(Integer.toString(statusCdmaRoamingMode)) != -1) {
//check changes in statusCdmaRoamingMode and updates settingsRoamingMode
if (statusCdmaRoamingMode != settingsRoamingMode) {
settingsRoamingMode = statusCdmaRoamingMode;
diff --git a/src/com/android/phone/CdmaVoicePrivacyCheckBoxPreference.java b/src/com/android/phone/CdmaVoicePrivacyCheckBoxPreference.java
index 1ef8f9b8b..6439c6721 100644
--- a/src/com/android/phone/CdmaVoicePrivacyCheckBoxPreference.java
+++ b/src/com/android/phone/CdmaVoicePrivacyCheckBoxPreference.java
@@ -60,8 +60,8 @@ protected void onClick() {
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_VP = 0;
- private static final int MESSAGE_SET_VP = 1;
+ static final int MESSAGE_GET_VP = 0;
+ static final int MESSAGE_SET_VP = 1;
@Override
public void handleMessage(Message msg) {
diff --git a/src/com/android/phone/CellBroadcastSms.java b/src/com/android/phone/CellBroadcastSms.java
index b9c6ae8c4..296fb69c0 100644
--- a/src/com/android/phone/CellBroadcastSms.java
+++ b/src/com/android/phone/CellBroadcastSms.java
@@ -39,7 +39,7 @@ public class CellBroadcastSms extends PreferenceActivity
implements Preference.OnPreferenceChangeListener{
// debug data
private static final String LOG_TAG = "CellBroadcastSms";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
//String keys for preference lookup
private static final String BUTTON_ENABLE_DISABLE_BC_SMS_KEY =
@@ -85,7 +85,7 @@ public class CellBroadcastSms extends PreferenceActivity
"button_national_general_news";
private static final String BUTTON_INTERNATIONAL_GENERAL_NEWS_KEY =
"button_international_general_news";
-
+
private static final String BUTTON_LOCAL_BF_NEWS_KEY =
"button_local_bf_news";
private static final String BUTTON_REGIONAL_BF_NEWS_KEY =
@@ -94,7 +94,7 @@ public class CellBroadcastSms extends PreferenceActivity
"button_national_bf_news";
private static final String BUTTON_INTERNATIONAL_BF_NEWS_KEY =
"button_international_bf_news";
-
+
private static final String BUTTON_LOCAL_SPORTS_NEWS_KEY =
"button_local_sports_news";
private static final String BUTTON_REGIONAL_SPORTS_NEWS_KEY =
@@ -103,7 +103,7 @@ public class CellBroadcastSms extends PreferenceActivity
"button_national_sports_news";
private static final String BUTTON_INTERNATIONAL_SPORTS_NEWS_KEY =
"button_international_sports_news";
-
+
private static final String BUTTON_LOCAL_ENTERTAINMENT_NEWS_KEY =
"button_local_entertainment_news";
private static final String BUTTON_REGIONAL_ENTERTAINMENT_NEWS_KEY =
@@ -126,9 +126,9 @@ public class CellBroadcastSms extends PreferenceActivity
//UI objects
private CheckBoxPreference mButtonBcSms;
-
+
private ListPreference mListLanguage;
-
+
private CheckBoxPreference mButtonEmergencyBroadcast;
private CheckBoxPreference mButtonAdministrative;
private CheckBoxPreference mButtonMaintenance;
@@ -149,29 +149,29 @@ public class CellBroadcastSms extends PreferenceActivity
private CheckBoxPreference mButtonRegional1;
private CheckBoxPreference mButtonNational1;
private CheckBoxPreference mButtonInternational1;
-
+
private CheckBoxPreference mButtonLocal2;
private CheckBoxPreference mButtonRegional2;
private CheckBoxPreference mButtonNational2;
private CheckBoxPreference mButtonInternational2;
-
+
private CheckBoxPreference mButtonLocal3;
private CheckBoxPreference mButtonRegional3;
private CheckBoxPreference mButtonNational3;
private CheckBoxPreference mButtonInternational3;
-
+
private CheckBoxPreference mButtonLocal4;
private CheckBoxPreference mButtonRegional4;
private CheckBoxPreference mButtonNational4;
private CheckBoxPreference mButtonInternational4;
-
-
+
+
//Member variables
private Phone mPhone;
private MyHandler mHandler;
- /**
- * Invoked on each preference click in this hierarchy, overrides
+ /**
+ * Invoked on each preference click in this hierarchy, overrides
* PreferenceActivity's implementation. Used to make sure we track the
* preference click events.
*/
@@ -320,7 +320,7 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
return true;
}
-
+
public boolean onPreferenceChange(Preference preference, Object objValue) {
if (preference == mListLanguage) {
// set the new language to the array which will be transmitted later
@@ -378,7 +378,7 @@ public void onCreate(Bundle icicle) {
BUTTON_TECHNOLOGY_NEWS_KEY);
mButtonMultiCategory = (CheckBoxPreference) prefSet.findPreference(
BUTTON_MULTI_CATEGORY_KEY);
-
+
mButtonLocal1 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_LOCAL_GENERAL_NEWS_KEY);
mButtonRegional1 = (CheckBoxPreference) prefSet.findPreference(
@@ -387,7 +387,7 @@ public void onCreate(Bundle icicle) {
BUTTON_NATIONAL_GENERAL_NEWS_KEY);
mButtonInternational1 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_INTERNATIONAL_GENERAL_NEWS_KEY);
-
+
mButtonLocal2 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_LOCAL_BF_NEWS_KEY);
mButtonRegional2 = (CheckBoxPreference) prefSet.findPreference(
@@ -396,7 +396,7 @@ public void onCreate(Bundle icicle) {
BUTTON_NATIONAL_BF_NEWS_KEY);
mButtonInternational2 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_INTERNATIONAL_BF_NEWS_KEY);
-
+
mButtonLocal3 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_LOCAL_SPORTS_NEWS_KEY);
mButtonRegional3 = (CheckBoxPreference) prefSet.findPreference(
@@ -405,7 +405,7 @@ public void onCreate(Bundle icicle) {
BUTTON_NATIONAL_SPORTS_NEWS_KEY);
mButtonInternational3 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_INTERNATIONAL_SPORTS_NEWS_KEY);
-
+
mButtonLocal4 = (CheckBoxPreference) prefSet.findPreference(
BUTTON_LOCAL_ENTERTAINMENT_NEWS_KEY);
mButtonRegional4 = (CheckBoxPreference) prefSet.findPreference(
@@ -425,7 +425,7 @@ protected void onResume() {
int settingCbSms = android.provider.Settings.Secure.getInt(
mPhone.getContext().getContentResolver(),
android.provider.Settings.Secure.CDMA_CELL_BROADCAST_SMS,
- RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED);
+ RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED);
mButtonBcSms.setChecked(settingCbSms == RILConstants.CDMA_CELL_BROADCAST_SMS_ENABLED);
if(mButtonBcSms.isChecked()) {
@@ -464,28 +464,28 @@ private void enableDisableAllCbConfigButtons(boolean enable) {
mButtonMhh.setEnabled(enable);
mButtonTechnologyNews.setEnabled(enable);
mButtonMultiCategory.setEnabled(enable);
-
+
mButtonLocal1.setEnabled(enable);
mButtonRegional1.setEnabled(enable);
mButtonNational1.setEnabled(enable);
mButtonInternational1.setEnabled(enable);
-
+
mButtonLocal2.setEnabled(enable);
mButtonRegional2.setEnabled(enable);
mButtonNational2.setEnabled(enable);
mButtonInternational2.setEnabled(enable);
-
+
mButtonLocal3.setEnabled(enable);
mButtonRegional3.setEnabled(enable);
mButtonNational3.setEnabled(enable);
mButtonInternational3.setEnabled(enable);
-
+
mButtonLocal4.setEnabled(enable);
mButtonRegional4.setEnabled(enable);
mButtonNational4.setEnabled(enable);
mButtonInternational4.setEnabled(enable);
}
-
+
private void setAllCbConfigButtons(int[] configArray) {
//These buttons are in a well defined sequence. If you want to change it,
//be sure to map the buttons to their corresponding slot in the configArray !
@@ -588,7 +588,7 @@ private static void setCbSmsConfig(int[] configData) {
Log.e(LOG_TAG, "Error! Wrong number of service categories returned from RIL");
return;
}
-
+
//The required config values for broadcast SMS are stored in a C struct:
//
// typedef struct {
@@ -608,11 +608,11 @@ private static void setCbSmsConfig(int[] configData) {
for(int i = 1; i < configData.length; i += NO_OF_INTS_STRUCT_1) {
mBSelected[configData[i]] = configData[i +2];
}
-
+
//Store all values in an extra array
mConfigDataComplete = configData;
}
-
+
private static void setCbSmsBSelectedValue(boolean value, int pos) {
if(pos < mBSelected.length) {
mBSelected[pos] = (value == true ? 1 : 0);
@@ -620,22 +620,22 @@ private static void setCbSmsBSelectedValue(boolean value, int pos) {
Log.e(LOG_TAG,"Error! Invalid value position.");
}
}
-
+
private static int[] getCbSmsBselectedValues() {
return(mBSelected);
}
-
+
// TODO: Change the return value to a RIL_BroadcastSMSConfig
private static int[] getCbSmsAllValues() {
return(mConfigDataComplete);
}
-
+
private static void setCbSmsNoOfStructs(int value) {
//Sets the size parameter, which contains the number of structs
//that will be transmitted
mConfigDataComplete[0] = value;
}
-
+
private static void setConfigDataCompleteBSelected(boolean value, int serviceCategory) {
//Sets the bSelected value for a specific serviceCategory
for(int i = 1; i < mConfigDataComplete.length; i += NO_OF_INTS_STRUCT_1) {
@@ -645,18 +645,18 @@ private static void setConfigDataCompleteBSelected(boolean value, int serviceCat
}
}
}
-
+
private static void setConfigDataCompleteLanguage(int language) {
- //It is only possible to set the same language for all entries
+ //It is only possible to set the same language for all entries
for(int i = 2; i < mConfigDataComplete.length; i += NO_OF_INTS_STRUCT_1) {
mConfigDataComplete[i] = language;
}
}
-
+
private static int getConfigDataLanguage() {
int language = mConfigDataComplete[2];
//2 is the language value of the first entry
- //It is only possible to set the same language for all entries
+ //It is only possible to set the same language for all entries
if (language < 1 || language > 7) {
Log.e(LOG_TAG, "Error! Wrong language returned from RIL...defaulting to 1, english");
return 1;
diff --git a/src/com/android/phone/ClearMissedCallsService.java b/src/com/android/phone/ClearMissedCallsService.java
index 288f68ef2..c9608b8f3 100644
--- a/src/com/android/phone/ClearMissedCallsService.java
+++ b/src/com/android/phone/ClearMissedCallsService.java
@@ -47,6 +47,7 @@ protected void onHandleIntent(Intent intent) {
// Clear the list of new missed calls.
ContentValues values = new ContentValues();
values.put(Calls.NEW, 0);
+ values.put(Calls.IS_READ, 1);
StringBuilder where = new StringBuilder();
where.append(Calls.NEW);
where.append(" = 1 AND ");
diff --git a/src/com/android/phone/ContactsAsyncHelper.java b/src/com/android/phone/ContactsAsyncHelper.java
new file mode 100644
index 000000000..445eba758
--- /dev/null
+++ b/src/com/android/phone/ContactsAsyncHelper.java
@@ -0,0 +1,342 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.app.Notification;
+import android.content.ContentUris;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.provider.ContactsContract.Contacts;
+import android.util.Log;
+
+import com.android.internal.telephony.CallerInfo;
+import com.android.internal.telephony.Connection;
+
+import java.io.InputStream;
+
+/**
+ * Helper class for loading contacts photo asynchronously.
+ */
+public class ContactsAsyncHelper {
+
+ private static final boolean DBG = false;
+ private static final String LOG_TAG = "ContactsAsyncHelper";
+
+ /**
+ * Interface for a WorkerHandler result return.
+ */
+ public interface OnImageLoadCompleteListener {
+ /**
+ * Called when the image load is complete.
+ *
+ * @param token Integer passed in {@link ContactsAsyncHelper#startObtainPhotoAsync(int,
+ * Context, Uri, OnImageLoadCompleteListener, Object)}.
+ * @param photo Drawable object obtained by the async load.
+ * @param photoIcon Bitmap object obtained by the async load.
+ * @param cookie Object passed in {@link ContactsAsyncHelper#startObtainPhotoAsync(int,
+ * Context, Uri, OnImageLoadCompleteListener, Object)}. Can be null iff. the original
+ * cookie is null.
+ */
+ public void onImageLoadComplete(int token, Drawable photo, Bitmap photoIcon,
+ Object cookie);
+ }
+
+ // constants
+ private static final int EVENT_LOAD_IMAGE = 1;
+
+ private final Handler mResultHandler = new Handler() {
+ /** Called when loading is done. */
+ @Override
+ public void handleMessage(Message msg) {
+ WorkerArgs args = (WorkerArgs) msg.obj;
+ switch (msg.arg1) {
+ case EVENT_LOAD_IMAGE:
+ if (args.listener != null) {
+ if (DBG) {
+ Log.d(LOG_TAG, "Notifying listener: " + args.listener.toString() +
+ " image: " + args.uri + " completed");
+ }
+ args.listener.onImageLoadComplete(msg.what, args.photo, args.photoIcon,
+ args.cookie);
+ }
+ break;
+ default:
+ }
+ }
+ };
+
+ /** Handler run on a worker thread to load photo asynchronously. */
+ private static Handler sThreadHandler;
+
+ /** For forcing the system to call its constructor */
+ @SuppressWarnings("unused")
+ private static ContactsAsyncHelper sInstance;
+
+ static {
+ sInstance = new ContactsAsyncHelper();
+ }
+
+ private static final class WorkerArgs {
+ public Context context;
+ public Uri uri;
+ public Drawable photo;
+ public Bitmap photoIcon;
+ public Object cookie;
+ public OnImageLoadCompleteListener listener;
+ }
+
+ /**
+ * public inner class to help out the ContactsAsyncHelper callers
+ * with tracking the state of the CallerInfo Queries and image
+ * loading.
+ *
+ * Logic contained herein is used to remove the race conditions
+ * that exist as the CallerInfo queries run and mix with the image
+ * loads, which then mix with the Phone state changes.
+ */
+ public static class ImageTracker {
+
+ // Image display states
+ public static final int DISPLAY_UNDEFINED = 0;
+ public static final int DISPLAY_IMAGE = -1;
+ public static final int DISPLAY_DEFAULT = -2;
+
+ // State of the image on the imageview.
+ private CallerInfo mCurrentCallerInfo;
+ private int displayMode;
+
+ public ImageTracker() {
+ mCurrentCallerInfo = null;
+ displayMode = DISPLAY_UNDEFINED;
+ }
+
+ /**
+ * Used to see if the requested call / connection has a
+ * different caller attached to it than the one we currently
+ * have in the CallCard.
+ */
+ public boolean isDifferentImageRequest(CallerInfo ci) {
+ // note, since the connections are around for the lifetime of the
+ // call, and the CallerInfo-related items as well, we can
+ // definitely use a simple != comparison.
+ return (mCurrentCallerInfo != ci);
+ }
+
+ public boolean isDifferentImageRequest(Connection connection) {
+ // if the connection does not exist, see if the
+ // mCurrentCallerInfo is also null to match.
+ if (connection == null) {
+ if (DBG) Log.d(LOG_TAG, "isDifferentImageRequest: connection is null");
+ return (mCurrentCallerInfo != null);
+ }
+ Object o = connection.getUserData();
+
+ // if the call does NOT have a callerInfo attached
+ // then it is ok to query.
+ boolean runQuery = true;
+ if (o instanceof CallerInfo) {
+ runQuery = isDifferentImageRequest((CallerInfo) o);
+ }
+ return runQuery;
+ }
+
+ /**
+ * Simple setter for the CallerInfo object.
+ */
+ public void setPhotoRequest(CallerInfo ci) {
+ mCurrentCallerInfo = ci;
+ }
+
+ /**
+ * Convenience method used to retrieve the URI
+ * representing the Photo file recorded in the attached
+ * CallerInfo Object.
+ */
+ public Uri getPhotoUri() {
+ if (mCurrentCallerInfo != null) {
+ return ContentUris.withAppendedId(Contacts.CONTENT_URI,
+ mCurrentCallerInfo.person_id);
+ }
+ return null;
+ }
+
+ /**
+ * Simple setter for the Photo state.
+ */
+ public void setPhotoState(int state) {
+ displayMode = state;
+ }
+
+ /**
+ * Simple getter for the Photo state.
+ */
+ public int getPhotoState() {
+ return displayMode;
+ }
+ }
+
+ /**
+ * Thread worker class that handles the task of opening the stream and loading
+ * the images.
+ */
+ private class WorkerHandler extends Handler {
+ public WorkerHandler(Looper looper) {
+ super(looper);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ WorkerArgs args = (WorkerArgs) msg.obj;
+
+ switch (msg.arg1) {
+ case EVENT_LOAD_IMAGE:
+ InputStream inputStream = null;
+ try {
+ inputStream = Contacts.openContactPhotoInputStream(
+ args.context.getContentResolver(), args.uri, true);
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Error opening photo input stream", e);
+ }
+
+ if (inputStream != null) {
+ args.photo = Drawable.createFromStream(inputStream, args.uri.toString());
+
+ // This assumes Drawable coming from contact database is usually
+ // BitmapDrawable and thus we can have (down)scaled version of it.
+ args.photoIcon = getPhotoIconWhenAppropriate(args.context, args.photo);
+
+ if (DBG) Log.d(LOG_TAG, "Loading image: " + msg.arg1 +
+ " token: " + msg.what + " image URI: " + args.uri);
+ } else {
+ args.photo = null;
+ args.photoIcon = null;
+ if (DBG) Log.d(LOG_TAG, "Problem with image: " + msg.arg1 +
+ " token: " + msg.what + " image URI: " + args.uri +
+ ", using default image.");
+ }
+ break;
+ default:
+ }
+
+ // send the reply to the enclosing class.
+ Message reply = ContactsAsyncHelper.this.mResultHandler.obtainMessage(msg.what);
+ reply.arg1 = msg.arg1;
+ reply.obj = msg.obj;
+ reply.sendToTarget();
+ }
+
+ /**
+ * Returns a Bitmap object suitable for {@link Notification}'s large icon. This might
+ * return null when the given Drawable isn't BitmapDrawable, or if the system fails to
+ * create a scaled Bitmap for the Drawable.
+ */
+ private Bitmap getPhotoIconWhenAppropriate(Context context, Drawable photo) {
+ if (!(photo instanceof BitmapDrawable)) {
+ return null;
+ }
+ int iconSize = context.getResources()
+ .getDimensionPixelSize(R.dimen.notification_icon_size);
+ Bitmap orgBitmap = ((BitmapDrawable) photo).getBitmap();
+ int orgWidth = orgBitmap.getWidth();
+ int orgHeight = orgBitmap.getHeight();
+ int longerEdge = orgWidth > orgHeight ? orgWidth : orgHeight;
+ // We want downscaled one only when the original icon is too big.
+ if (longerEdge > iconSize) {
+ float ratio = ((float) longerEdge) / iconSize;
+ int newWidth = (int) (orgWidth / ratio);
+ int newHeight = (int) (orgHeight / ratio);
+ // If the longer edge is much longer than the shorter edge, the latter may
+ // become 0 which will cause a crash.
+ if (newWidth <= 0 || newHeight <= 0) {
+ Log.w(LOG_TAG, "Photo icon's width or height become 0.");
+ return null;
+ }
+
+ // It is sure ratio >= 1.0f in any case and thus the newly created Bitmap
+ // should be smaller than the original.
+ return Bitmap.createScaledBitmap(orgBitmap, newWidth, newHeight, true);
+ } else {
+ return orgBitmap;
+ }
+ }
+ }
+
+ /**
+ * Private constructor for static class
+ */
+ private ContactsAsyncHelper() {
+ HandlerThread thread = new HandlerThread("ContactsAsyncWorker");
+ thread.start();
+ sThreadHandler = new WorkerHandler(thread.getLooper());
+ }
+
+ /**
+ * Starts an asynchronous image load. After finishing the load,
+ * {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable, Bitmap, Object)}
+ * will be called.
+ *
+ * @param token Arbitrary integer which will be returned as the first argument of
+ * {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable, Bitmap, Object)}
+ * @param context Context object used to do the time-consuming operation.
+ * @param personUri Uri to be used to fetch the photo
+ * @param listener Callback object which will be used when the asynchronous load is done.
+ * Can be null, which means only the asynchronous load is done while there's no way to
+ * obtain the loaded photos.
+ * @param cookie Arbitrary object the caller wants to remember, which will become the
+ * fourth argument of {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable,
+ * Bitmap, Object)}. Can be null, at which the callback will also has null for the argument.
+ */
+ public static final void startObtainPhotoAsync(int token, Context context, Uri personUri,
+ OnImageLoadCompleteListener listener, Object cookie) {
+ // in case the source caller info is null, the URI will be null as well.
+ // just update using the placeholder image in this case.
+ if (personUri == null) {
+ Log.wtf(LOG_TAG, "Uri is missing");
+ return;
+ }
+
+ // Added additional Cookie field in the callee to handle arguments
+ // sent to the callback function.
+
+ // setup arguments
+ WorkerArgs args = new WorkerArgs();
+ args.cookie = cookie;
+ args.context = context;
+ args.uri = personUri;
+ args.listener = listener;
+
+ // setup message arguments
+ Message msg = sThreadHandler.obtainMessage(token);
+ msg.arg1 = EVENT_LOAD_IMAGE;
+ msg.obj = args;
+
+ if (DBG) Log.d(LOG_TAG, "Begin loading image: " + args.uri +
+ ", displaying default image for now.");
+
+ // notify the thread to begin working
+ sThreadHandler.sendMessage(msg);
+ }
+
+
+}
diff --git a/src/com/android/phone/DTMFTwelveKeyDialer.java b/src/com/android/phone/DTMFTwelveKeyDialer.java
old mode 100755
new mode 100644
index 4d5556ebe..c47b36641
--- a/src/com/android/phone/DTMFTwelveKeyDialer.java
+++ b/src/com/android/phone/DTMFTwelveKeyDialer.java
@@ -23,18 +23,19 @@
import android.provider.Settings;
import android.telephony.PhoneNumberUtils;
import android.text.Editable;
-import android.text.Spannable;
+import android.text.SpannableString;
import android.text.method.DialerKeyListener;
-import android.text.method.MovementMethod;
+import android.text.style.RelativeSizeSpan;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
+import android.view.ViewStub;
import android.widget.EditText;
-import android.widget.TextView;
import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
import java.util.HashMap;
import java.util.LinkedList;
@@ -55,7 +56,7 @@ public class DTMFTwelveKeyDialer implements View.OnTouchListener, View.OnKeyList
private CallManager mCM;
private ToneGenerator mToneGenerator;
- private Object mToneGeneratorLock = new Object();
+ private final Object mToneGeneratorLock = new Object();
// indicate if we want to enable the local tone playback.
private boolean mLocalToneEnabled;
@@ -110,17 +111,36 @@ public class DTMFTwelveKeyDialer implements View.OnTouchListener, View.OnKeyList
mDisplayMap.put(R.id.star, '*');
}
- // EditText field used to display the DTMF digits sent so far.
- // Note this is null in some modes (like during the CDMA OTA call,
- // where there's no onscreen "digits" display.)
+ /** EditText field used to display the DTMF digits sent so far.
+ Note this is null in some modes (like during the CDMA OTA call,
+ where there's no onscreen "digits" display.) */
private EditText mDialpadDigits;
// InCallScreen reference.
private InCallScreen mInCallScreen;
- // The DTMFTwelveKeyDialerView we use to display the dialpad.
+ /**
+ * The DTMFTwelveKeyDialerView we use to display the dialpad.
+ *
+ * Only one of mDialerView or mDialerStub will have a legitimate object; the other one will be
+ * null at that moment. Either of following scenarios will occur:
+ *
+ * - If the constructor with {@link DTMFTwelveKeyDialerView} is called, mDialerView will
+ * obtain that object, and mDialerStub will be null. mDialerStub won't be used in this case.
+ *
+ * - If the constructor with {@link ViewStub} is called, mDialerView will be null at that
+ * moment, and mDialerStub will obtain the ViewStub object.
+ * When the dialer is required by the user (i.e. until {@link #openDialer(boolean)} being
+ * called), mDialerStub will inflate the dialer, and make mDialerStub itself null.
+ * mDialerStub won't be used afterward.
+ */
private DTMFTwelveKeyDialerView mDialerView;
+ /**
+ * {@link ViewStub} holding {@link DTMFTwelveKeyDialerView}. See the comments for mDialerView.
+ */
+ private ViewStub mDialerStub;
+
// KeyListener used with the "dialpad digits" EditText widget.
private DTMFKeyListener mDialerKeyListener;
@@ -316,7 +336,7 @@ boolean isKeyEventAcceptable (KeyEvent event) {
/**
* Our own handler to take care of the messages from the phone state changes
*/
- private Handler mHandler = new Handler() {
+ private final Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
@@ -339,13 +359,13 @@ public void handleMessage(Message msg) {
/**
- * DTMFTwelveKeyDialer constructor.
+ * DTMFTwelveKeyDialer constructor with {@link DTMFTwelveKeyDialerView}
*
* @param parent the InCallScreen instance that owns us.
* @param dialerView the DTMFTwelveKeyDialerView we should use to display the dialpad.
*/
public DTMFTwelveKeyDialer(InCallScreen parent,
- DTMFTwelveKeyDialerView dialerView) {
+ DTMFTwelveKeyDialerView dialerView) {
if (DBG) log("DTMFTwelveKeyDialer constructor... this = " + this);
mInCallScreen = parent;
@@ -362,27 +382,58 @@ public DTMFTwelveKeyDialer(InCallScreen parent,
if (DBG) log("- Got passed-in mDialerView: " + mDialerView);
if (mDialerView != null) {
- mDialerView.setDialer(this);
-
- // In the normal in-call DTMF dialpad, mDialpadDigits is an
- // EditText used to display the digits the user has typed so
- // far. But some other modes (like the OTA call) have no
- // "digits" display at all, in which case mDialpadDigits will
- // be null.
- mDialpadDigits = (EditText) mDialerView.findViewById(R.id.dtmfDialerField);
- if (mDialpadDigits != null) {
- mDialerKeyListener = new DTMFKeyListener();
- mDialpadDigits.setKeyListener(mDialerKeyListener);
+ setupDialerView();
+ }
+ }
- // remove the long-press context menus that support
- // the edit (copy / paste / select) functions.
- mDialpadDigits.setLongClickable(false);
- }
+ /**
+ * DTMFTwelveKeyDialer constructor with {@link ViewStub}.
+ *
+ * When the dialer is required for the first time (e.g. when {@link #openDialer(boolean)} is
+ * called), the object will inflate the ViewStub by itself, assuming the ViewStub will return
+ * {@link DTMFTwelveKeyDialerView} on {@link ViewStub#inflate()}.
+ *
+ * @param parent the InCallScreen instance that owns us.
+ * @param dialerStub ViewStub which will return {@link DTMFTwelveKeyDialerView} on
+ * {@link ViewStub#inflate()}.
+ */
+ public DTMFTwelveKeyDialer(InCallScreen parent, ViewStub dialerStub) {
+ if (DBG) log("DTMFTwelveKeyDialer constructor... this = " + this);
+
+ mInCallScreen = parent;
+ mCM = PhoneApp.getInstance().mCM;
+
+ mDialerStub = dialerStub;
+ if (DBG) log("- Got passed-in mDialerStub: " + mDialerStub);
+
+ // At this moment mDialerView is still null. We delay calling setupDialerView().
+ }
- // Hook up touch / key listeners for the buttons in the onscreen
- // keypad.
- setupKeypad(mDialerView);
+ /**
+ * Prepare the dialer view and relevant variables.
+ */
+ private void setupDialerView() {
+ if (DBG) log("setupDialerView()");
+ mDialerView.setDialer(this);
+
+ // In the normal in-call DTMF dialpad, mDialpadDigits is an
+ // EditText used to display the digits the user has typed so
+ // far. But some other modes (like the OTA call) have no
+ // "digits" display at all, in which case mDialpadDigits will
+ // be null.
+ mDialpadDigits = (EditText) mDialerView.findViewById(R.id.dtmfDialerField);
+ if (mDialpadDigits != null) {
+ mDialerKeyListener = new DTMFKeyListener();
+ mDialpadDigits.setKeyListener(mDialerKeyListener);
+
+ // remove the long-press context menus that support
+ // the edit (copy / paste / select) functions.
+ mDialpadDigits.setLongClickable(false);
}
+
+ // Hook up touch / key listeners for the buttons in the onscreen
+ // keypad.
+ setupKeypad(mDialerView);
}
/**
@@ -407,7 +458,7 @@ public DTMFTwelveKeyDialer(InCallScreen parent,
* Dialer code that runs when the dialer is brought up.
* This includes layout changes, etc, and just prepares the dialer model for use.
*/
- private void onDialerOpen() {
+ private void onDialerOpen(boolean animate) {
if (DBG) log("onDialerOpen()...");
// Any time the dialer is open, listen for "disconnect" events (so
@@ -419,7 +470,11 @@ private void onDialerOpen() {
PhoneApp.getInstance().updateWakeState();
// Give the InCallScreen a chance to do any necessary UI updates.
- mInCallScreen.onDialerOpen();
+ if (mInCallScreen != null) {
+ mInCallScreen.onDialerOpen(animate);
+ } else {
+ Log.e(LOG_TAG, "InCallScreen object was null during onDialerOpen()");
+ }
}
/**
@@ -467,7 +522,7 @@ public void startDialerSession() {
* Dialer code that runs when the dialer is closed.
* This releases resources acquired when we start the dialer.
*/
- private void onDialerClose() {
+ private void onDialerClose(boolean animate) {
if (DBG) log("onDialerClose()...");
// reset back to a short delay for the poke lock.
@@ -478,7 +533,9 @@ private void onDialerClose() {
// Give the InCallScreen a chance to do any necessary UI updates.
if (mInCallScreen != null) {
- mInCallScreen.onDialerClose();
+ mInCallScreen.onDialerClose(animate);
+ } else {
+ Log.e(LOG_TAG, "InCallScreen object was null during onDialerClose()");
}
}
@@ -504,7 +561,11 @@ public void stopDialerSession() {
*/
public boolean onDialerKeyDown(KeyEvent event) {
if (DBG) log("Notifying dtmf key down.");
- return mDialerKeyListener.onKeyDown(event);
+ if (mDialerKeyListener != null) {
+ return mDialerKeyListener.onKeyDown(event);
+ } else {
+ return false;
+ }
}
/**
@@ -512,7 +573,11 @@ public boolean onDialerKeyDown(KeyEvent event) {
*/
public boolean onDialerKeyUp(KeyEvent event) {
if (DBG) log("Notifying dtmf key up.");
- return mDialerKeyListener.onKeyUp(event);
+ if (mDialerKeyListener != null) {
+ return mDialerKeyListener.onKeyUp(event);
+ } else {
+ return false;
+ }
}
/**
@@ -558,6 +623,7 @@ public boolean onKeyUp(int keyCode, KeyEvent event) {
/**
* Implemented for the TouchListener, process the touch events.
*/
+ @Override
public boolean onTouch(View v, MotionEvent event) {
int viewId = v.getId();
@@ -584,6 +650,7 @@ public boolean onTouch(View v, MotionEvent event) {
/**
* Implements View.OnKeyListener for the DTMF buttons. Enables dialing with trackball/dpad.
*/
+ @Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// if (DBG) log("onKey: keyCode " + keyCode + ", view " + v);
@@ -608,37 +675,63 @@ public boolean onKey(View v, int keyCode, KeyEvent event) {
}
/**
- * @return true if the dialer is currently visible onscreen.
+ * Returns true if the dialer is in "open" state, meaning it is already visible *and* it
+ * isn't fading out. Note that during fade-out animation the View will return VISIBLE but
+ * will become GONE soon later, so you would want to use this method instead of
+ * {@link View#getVisibility()}.
+ *
+ * Fade-in animation, on the other hand, will set the View's visibility VISIBLE soon after
+ * the request, so we don't need to take care much of it. In other words,
+ * {@link #openDialer(boolean)} soon makes the visibility VISIBLE and thus this method will
+ * return true just after the method call.
+ *
+ * Note: during the very early stage of "open" state, users may not see the dialpad yet because
+ * of its fading-in animation, while they will see it shortly anyway. Similarly, during the
+ * early stage of "closed" state (opposite of "open" state), users may still see the dialpad
+ * due to fading-out animation, but it will vanish shortly and thus we can treat it as "closed",
+ * or "not open". To make the transition clearer, we call the state "open", not "shown" nor
+ * "visible".
*/
- // TODO: clean up naming inconsistency of "opened" vs. "visible".
- // This should be called isVisible(), and open/closeDialer() should
- // be "show" and "hide".
public boolean isOpened() {
// Return whether or not the dialer view is visible.
// (Note that if we're in the middle of a fade-out animation, that
// also counts as "not visible" even though mDialerView itself is
// technically still VISIBLE.)
- return ((mDialerView.getVisibility() == View.VISIBLE)
- && !CallCard.Fade.isFadingOut(mDialerView));
+ return (mDialerView != null
+ &&(mDialerView.getVisibility() == View.VISIBLE)
+ && !AnimationUtils.Fade.isFadingOut(mDialerView));
}
/**
* Forces the dialer into the "open" state.
* Does nothing if the dialer is already open.
*
+ * The "open" state includes the state the dialer is fading in.
+ * {@link InCallScreen#onDialerOpen(boolean)} will change visibility state and do
+ * actual animation.
+ *
* @param animate if true, open the dialer with an animation.
+ *
+ * @see #isOpened
*/
public void openDialer(boolean animate) {
if (DBG) log("openDialer()...");
+ if (mDialerView == null && mDialerStub != null) {
+ if (DBG) log("Dialer isn't ready. Inflate it from ViewStub.");
+ mDialerView = (DTMFTwelveKeyDialerView) mDialerStub.inflate();
+ setupDialerView();
+ mDialerStub = null;
+ }
+
if (!isOpened()) {
// Make the dialer view visible.
if (animate) {
- CallCard.Fade.show(mDialerView);
+ AnimationUtils.Fade.show(mDialerView);
} else {
mDialerView.setVisibility(View.VISIBLE);
}
- onDialerOpen();
+ onDialerOpen(animate);
}
}
@@ -646,7 +739,12 @@ public void openDialer(boolean animate) {
* Forces the dialer into the "closed" state.
* Does nothing if the dialer is already closed.
*
+ * {@link InCallScreen#onDialerOpen(boolean)} will change visibility state and do
+ * actual animation.
+ *
* @param animate if true, close the dialer with an animation.
+ *
+ * @see #isOpened
*/
public void closeDialer(boolean animate) {
if (DBG) log("closeDialer()...");
@@ -654,11 +752,11 @@ public void closeDialer(boolean animate) {
if (isOpened()) {
// Hide the dialer view.
if (animate) {
- CallCard.Fade.hide(mDialerView, View.GONE);
+ AnimationUtils.Fade.hide(mDialerView, View.GONE);
} else {
mDialerView.setVisibility(View.GONE);
}
- onDialerClose();
+ onDialerClose(animate);
}
}
@@ -729,6 +827,32 @@ public void clearDigits() {
if (mDialpadDigits != null) {
mDialpadDigits.setText("");
}
+
+ setDialpadContext("");
+ }
+
+ /**
+ * Set the context text (hint) to show in the dialpad Digits EditText.
+ *
+ * This is currently only used for displaying a value for "Voice Mail"
+ * calls since they default to the dialpad and we want to give users better
+ * context when they dial voicemail.
+ *
+ * TODO: Is there value in extending this functionality for all contacts
+ * and not just Voice Mail calls?
+ * TODO: This should include setting the digits as well as the context
+ * once we start saving the digits properly...and properly in this case
+ * ideally means moving some of processDtmf() out of this class.
+ */
+ public void setDialpadContext(String contextValue) {
+ if (mDialpadDigits != null) {
+ if (contextValue == null) {
+ contextValue = "";
+ }
+ final SpannableString hint = new SpannableString(contextValue);
+ hint.setSpan(new RelativeSizeSpan(0.8f), 0, hint.length(), 0);
+ mDialpadDigits.setHint(hint);
+ }
}
/**
@@ -739,9 +863,14 @@ public void startTone(char c) {
if (!mToneMap.containsKey(c)) {
return;
}
+
+ if (!mInCallScreen.okToDialDTMFTones()) {
+ return;
+ }
+
// Read the settings as it may be changed by the user during the call
Phone phone = mCM.getFgPhone();
- mShortTone = TelephonyCapabilities.useShortDtmfTones(phone, phone.getContext());
+ mShortTone = PhoneUtils.useShortDtmfTones(phone, phone.getContext());
if (DBG) log("startDtmfTone()...");
@@ -799,6 +928,9 @@ private static void log(String msg) {
* Stops the local tone based on the phone type.
*/
public void stopTone() {
+ // We do not rely on InCallScreen#okToDialDTMFTones() here since it is ok to stop tones
+ // without starting them.
+
if (!mShortTone) {
if (DBG) log("stopping remote tone.");
mCM.stopDtmf();
@@ -839,7 +971,6 @@ private void sendShortDtmfToNetwork(char dtmfDigit) {
mDTMFQueue.add(new Character(dtmfDigit));
} else {
String dtmfStr = Character.toString(dtmfDigit);
- Log.i(LOG_TAG, "dtmfsent = " + dtmfStr);
mCM.sendBurstDtmf(dtmfStr, 0, 0, mHandler.obtainMessage(DTMF_SEND_CNF));
// Set flag to indicate wait for Telephony confirmation.
mDTMFBurstCnfPending = true;
diff --git a/src/com/android/phone/DefaultRingtonePreference.java b/src/com/android/phone/DefaultRingtonePreference.java
new file mode 100644
index 000000000..8205fd06a
--- /dev/null
+++ b/src/com/android/phone/DefaultRingtonePreference.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.content.Context;
+import android.content.Intent;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.preference.RingtonePreference;
+import android.util.AttributeSet;
+
+/**
+ * RingtonePreference which doesn't show default ringtone setting.
+ *
+ * @see com.android.settings.DefaultRingtonePreference
+ */
+public class DefaultRingtonePreference extends RingtonePreference {
+ public DefaultRingtonePreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void onPrepareRingtonePickerIntent(Intent ringtonePickerIntent) {
+ super.onPrepareRingtonePickerIntent(ringtonePickerIntent);
+
+ /*
+ * Since this preference is for choosing the default ringtone, it
+ * doesn't make sense to show a 'Default' item.
+ */
+ ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, false);
+ }
+
+ @Override
+ protected void onSaveRingtone(Uri ringtoneUri) {
+ RingtoneManager.setActualDefaultRingtoneUri(getContext(), getRingtoneType(), ringtoneUri);
+ }
+
+ @Override
+ protected Uri onRestoreRingtone() {
+ return RingtoneManager.getActualDefaultRingtoneUri(getContext(), getRingtoneType());
+ }
+}
diff --git a/src/com/android/phone/DeleteFdnContactScreen.java b/src/com/android/phone/DeleteFdnContactScreen.java
index b030d8746..19b10c672 100644
--- a/src/com/android/phone/DeleteFdnContactScreen.java
+++ b/src/com/android/phone/DeleteFdnContactScreen.java
@@ -65,8 +65,7 @@ protected void onCreate(Bundle icicle) {
}
@Override
- protected void onActivityResult(int requestCode, int resultCode,
- Intent intent) {
+ protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (DBG) log("onActivityResult");
switch (requestCode) {
@@ -150,6 +149,7 @@ private void handleResult(boolean success) {
}
mHandler.postDelayed(new Runnable() {
+ @Override
public void run() {
finish();
}
@@ -166,13 +166,15 @@ public QueryHandler(ContentResolver cr) {
protected void onQueryComplete(int token, Object cookie, Cursor c) {
}
- protected void onInsertComplete(int token, Object cookie,
- Uri uri) {
+ @Override
+ protected void onInsertComplete(int token, Object cookie, Uri uri) {
}
+ @Override
protected void onUpdateComplete(int token, Object cookie, int result) {
}
+ @Override
protected void onDeleteComplete(int token, Object cookie, int result) {
if (DBG) log("onDeleteComplete");
displayProgress(false);
diff --git a/src/com/android/phone/EditFdnContactScreen.java b/src/com/android/phone/EditFdnContactScreen.java
index 9c6c97e78..cdeae1932 100644
--- a/src/com/android/phone/EditFdnContactScreen.java
+++ b/src/com/android/phone/EditFdnContactScreen.java
@@ -31,6 +31,7 @@
import android.os.Handler;
import android.provider.Contacts.PeopleColumns;
import android.provider.Contacts.PhonesColumns;
+import android.telephony.PhoneNumberUtils;
import android.text.Selection;
import android.text.Spannable;
import android.text.TextUtils;
@@ -104,7 +105,7 @@ protected void onCreate(Bundle icicle) {
setTitle(mAddContact ?
R.string.add_fdn_contact : R.string.edit_fdn_contact);
- mDataBusy = false;
+ displayProgress(false);
}
/**
@@ -115,8 +116,7 @@ protected void onCreate(Bundle icicle) {
* Also, process the results from the contact picker.
*/
@Override
- protected void onActivityResult(int requestCode, int resultCode,
- Intent intent) {
+ protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (DBG) log("onActivityResult request:" + requestCode + " result:" + resultCode);
switch (requestCode) {
@@ -261,6 +261,8 @@ private Uri getContentURI() {
/**
* @param number is voice mail number
* @return true if number length is less than 20-digit limit
+ *
+ * TODO: Fix this logic.
*/
private boolean isValidNumber(String number) {
return (number.length() <= 20);
@@ -270,7 +272,9 @@ private boolean isValidNumber(String number) {
private void addContact() {
if (DBG) log("addContact");
- if (!isValidNumber(getNumberFromTextField())) {
+ final String number = PhoneNumberUtils.convertAndStrip(getNumberFromTextField());
+
+ if (!isValidNumber(number)) {
handleResult(false, true);
return;
}
@@ -279,10 +283,9 @@ private void addContact() {
ContentValues bundle = new ContentValues(3);
bundle.put("tag", getNameFromTextField());
- bundle.put("number", getNumberFromTextField());
+ bundle.put("number", number);
bundle.put("pin2", mPin2);
-
mQueryHandler = new QueryHandler(getContentResolver());
mQueryHandler.startInsert(0, null, uri, bundle);
displayProgress(true);
@@ -292,7 +295,9 @@ private void addContact() {
private void updateContact() {
if (DBG) log("updateContact");
- if (!isValidNumber(getNumberFromTextField())) {
+ final String number = PhoneNumberUtils.convertAndStrip(getNumberFromTextField());
+
+ if (!isValidNumber(number)) {
handleResult(false, true);
return;
}
@@ -301,8 +306,8 @@ private void updateContact() {
ContentValues bundle = new ContentValues();
bundle.put("tag", mName);
bundle.put("number", mNumber);
- bundle.put("newTag", getNameFromTextField());
- bundle.put("newNumber", getNumberFromTextField());
+ bundle.put("newTag", number);
+ bundle.put("newNumber", number);
bundle.put("pin2", mPin2);
mQueryHandler = new QueryHandler(getContentResolver());
@@ -349,8 +354,8 @@ private void displayProgress(boolean flag) {
*/
private void showStatus(CharSequence statusMsg) {
if (statusMsg != null) {
- Toast.makeText(this, statusMsg, Toast.LENGTH_SHORT)
- .show();
+ Toast.makeText(this, statusMsg, Toast.LENGTH_LONG)
+ .show();
}
}
@@ -361,13 +366,17 @@ private void handleResult(boolean success, boolean invalidNumber) {
R.string.fdn_contact_added : R.string.fdn_contact_updated));
} else {
if (DBG) log("handleResult: failed!");
- if (invalidNumber)
+ if (invalidNumber) {
showStatus(getResources().getText(R.string.fdn_invalid_number));
- else
- showStatus(getResources().getText(R.string.pin2_invalid));
+ } else {
+ // There's no way to know whether the failure is due to incorrect PIN2 or
+ // an inappropriate phone number.
+ showStatus(getResources().getText(R.string.pin2_or_fdn_invalid));
+ }
}
mHandler.postDelayed(new Runnable() {
+ @Override
public void run() {
finish();
}
@@ -375,7 +384,8 @@ public void run() {
}
- private View.OnClickListener mClicked = new View.OnClickListener() {
+ private final View.OnClickListener mClicked = new View.OnClickListener() {
+ @Override
public void onClick(View v) {
if (mPinFieldContainer.getVisibility() != View.VISIBLE) {
return;
@@ -395,8 +405,9 @@ public void onClick(View v) {
}
};
- View.OnFocusChangeListener mOnFocusChangeHandler =
+ private final View.OnFocusChangeListener mOnFocusChangeHandler =
new View.OnFocusChangeListener() {
+ @Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
TextView textView = (TextView) v;
@@ -415,8 +426,7 @@ protected void onQueryComplete(int token, Object cookie, Cursor c) {
}
@Override
- protected void onInsertComplete(int token, Object cookie,
- Uri uri) {
+ protected void onInsertComplete(int token, Object cookie, Uri uri) {
if (DBG) log("onInsertComplete");
displayProgress(false);
handleResult(uri != null, false);
diff --git a/src/com/android/phone/EditPinPreference.java b/src/com/android/phone/EditPinPreference.java
index 84cded324..af0040ddd 100644
--- a/src/com/android/phone/EditPinPreference.java
+++ b/src/com/android/phone/EditPinPreference.java
@@ -19,6 +19,7 @@
import android.app.AlertDialog;
import android.content.Context;
import android.preference.EditTextPreference;
+import android.text.InputType;
import android.text.method.DigitsKeyListener;
import android.text.method.PasswordTransformationMethod;
import android.util.AttributeSet;
@@ -64,13 +65,10 @@ protected View onCreateDialogView() {
setDialogLayoutResource(R.layout.pref_dialog_editpin);
View dialog = super.onCreateDialogView();
-
- // set the transformation method and the key listener to ensure
- // correct input and presentation of the pin / puk.
- final EditText textfield = getEditText();
- textfield.setTransformationMethod(PasswordTransformationMethod.getInstance());
- textfield.setKeyListener(DigitsKeyListener.getInstance());
-
+
+ getEditText().setInputType(InputType.TYPE_CLASS_NUMBER |
+ InputType.TYPE_NUMBER_VARIATION_PASSWORD);
+
return dialog;
}
diff --git a/src/com/android/phone/EmergencyCallHelper.java b/src/com/android/phone/EmergencyCallHelper.java
index 3a9be54ae..8a2392b0c 100644
--- a/src/com/android/phone/EmergencyCallHelper.java
+++ b/src/com/android/phone/EmergencyCallHelper.java
@@ -47,7 +47,7 @@
*/
public class EmergencyCallHelper extends Handler {
private static final String TAG = "EmergencyCallHelper";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
// Number of times to retry the call, and time between retry attempts.
public static final int MAX_NUM_RETRIES = 6;
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 02cceb49c..a3c8d89a4 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -25,13 +25,10 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.media.ToneGenerator;
import android.net.Uri;
import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
import android.provider.Settings;
import android.telephony.PhoneNumberUtils;
import android.text.Editable;
@@ -85,13 +82,11 @@ public class EmergencyDialer extends Activity
private static final int TONE_RELATIVE_VOLUME = 80;
/** Stream type used to play the DTMF tones off call, and mapped to the volume control keys */
- private static final int DIAL_TONE_STREAM_TYPE = AudioManager.STREAM_MUSIC;
+ private static final int DIAL_TONE_STREAM_TYPE = AudioManager.STREAM_DTMF;
private static final int BAD_EMERGENCY_NUMBER_DIALOG = 0;
EditText mDigits;
- // If mVoicemailDialAndDeleteRow is null, mDialButton and mDelete are also null.
- private View mAdditionalButtons;
private View mDialButton;
private View mDelete;
@@ -106,6 +101,7 @@ public class EmergencyDialer extends Activity
// close activity when screen turns off
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+ @Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) {
finish();
@@ -115,15 +111,17 @@ public void onReceive(Context context, Intent intent) {
private String mLastNumber; // last number we tried to dial. Used to restore error dialog.
+ @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Do nothing
}
+ @Override
public void onTextChanged(CharSequence input, int start, int before, int changeCount) {
// Do nothing
}
-
+ @Override
public void afterTextChanged(Editable input) {
// Check for special sequences, in particular the "**04" or "**05"
// sequences that allow you to enter PIN or PUK-related codes.
@@ -167,23 +165,18 @@ protected void onCreate(Bundle icicle) {
setupKeypad();
}
- mAdditionalButtons = findViewById(R.id.dialpadAdditionalButtons);
+ mDelete = findViewById(R.id.deleteButton);
+ mDelete.setOnClickListener(this);
+ mDelete.setOnLongClickListener(this);
+
+ mDialButton = findViewById(R.id.dialButton);
// Check whether we should show the onscreen "Dial" button and co.
Resources res = getResources();
if (res.getBoolean(R.bool.config_show_onscreen_dial_button)) {
- // Make sure it is disabled.
- mAdditionalButtons.findViewById(R.id.searchButton).setEnabled(false);
-
- mDialButton = mAdditionalButtons.findViewById(R.id.dialButton);
mDialButton.setOnClickListener(this);
-
- mDelete = mAdditionalButtons.findViewById(R.id.deleteButton);
- mDelete.setOnClickListener(this);
- mDelete.setOnLongClickListener(this);
} else {
- mAdditionalButtons.setVisibility(View.GONE); // It's VISIBLE by default
- mAdditionalButtons = null;
+ mDialButton.setVisibility(View.GONE);
}
if (icicle != null) {
@@ -204,11 +197,7 @@ protected void onCreate(Bundle icicle) {
synchronized (mToneGeneratorLock) {
if (mToneGenerator == null) {
try {
- // we want the user to be able to control the volume of the dial tones
- // outside of a call, so we use the stream type that is also mapped to the
- // volume control keys for this activity
mToneGenerator = new ToneGenerator(DIAL_TONE_STREAM_TYPE, TONE_RELATIVE_VOLUME);
- setVolumeControlStream(DIAL_TONE_STREAM_TYPE);
} catch (RuntimeException e) {
Log.w(LOG_TAG, "Exception caught while creating local tone generator: " + e);
mToneGenerator = null;
@@ -295,6 +284,7 @@ private void setupKeypad() {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
+ // Happen when there's a "Call" hard button.
case KeyEvent.KEYCODE_CALL: {
if (TextUtils.isEmpty(mDigits.getText().toString())) {
// if we are adding a call from the InCallScreen and the phone
@@ -317,10 +307,14 @@ private void keyPressed(int keyCode) {
mDigits.onKeyDown(keyCode, event);
}
+ @Override
public boolean onKey(View view, int keyCode, KeyEvent event) {
switch (view.getId()) {
case R.id.digits:
- if (keyCode == KeyEvent.KEYCODE_ENTER) {
+ // Happen when "Done" button of the IME is pressed. This can happen when this
+ // Activity is forced into landscape mode due to a desk dock.
+ if (keyCode == KeyEvent.KEYCODE_ENTER
+ && event.getAction() == KeyEvent.ACTION_UP) {
placeCall();
return true;
}
@@ -329,6 +323,7 @@ public boolean onKey(View view, int keyCode, KeyEvent event) {
return false;
}
+ @Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.one: {
@@ -412,6 +407,7 @@ public void onClick(View view) {
/**
* called for long touch events
*/
+ @Override
public boolean onLongClick(View view) {
int id = view.getId();
switch (id) {
@@ -486,7 +482,7 @@ public void onPause() {
/**
* place the call, but check to make sure it is a viable number.
*/
- void placeCall() {
+ private void placeCall() {
mLastNumber = mDigits.getText().toString();
if (PhoneNumberUtils.isLocalEmergencyNumber(mLastNumber, this)) {
if (DBG) Log.d(LOG_TAG, "placing call to " + mLastNumber);
@@ -587,11 +583,9 @@ protected void onPrepareDialog(int id, Dialog dialog) {
* Update the enabledness of the "Dial" and "Backspace" buttons if applicable.
*/
private void updateDialAndDeleteButtonStateEnabledAttr() {
- if (null != mAdditionalButtons) {
- final boolean notEmpty = mDigits.length() != 0;
+ final boolean notEmpty = mDigits.length() != 0;
- mDialButton.setEnabled(notEmpty);
- mDelete.setEnabled(notEmpty);
- }
+ mDialButton.setEnabled(notEmpty);
+ mDelete.setEnabled(notEmpty);
}
}
diff --git a/src/com/android/phone/FdnSetting.java b/src/com/android/phone/FdnSetting.java
index a63143d9f..4f21e2ff0 100644
--- a/src/com/android/phone/FdnSetting.java
+++ b/src/com/android/phone/FdnSetting.java
@@ -16,23 +16,23 @@
package com.android.phone;
-import com.android.internal.telephony.CommandException;
-import com.android.internal.telephony.Phone;
-
import android.app.ActionBar;
import android.app.AlertDialog;
import android.content.DialogInterface;
-import android.content.Intent;
import android.os.AsyncResult;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.util.Log;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import android.view.MenuItem;
import android.view.WindowManager;
import android.widget.Toast;
+import com.android.internal.telephony.CommandException;
+import com.android.internal.telephony.Phone;
+
/**
* FDN settings UI for the Phone app.
* Rewritten to look and behave closer to the other preferences.
@@ -40,6 +40,9 @@
public class FdnSetting extends PreferenceActivity
implements EditPinPreference.OnPinEnteredListener, DialogInterface.OnCancelListener {
+ private static final String LOG_TAG = PhoneApp.LOG_TAG;
+ private static final boolean DBG = false;
+
private Phone mPhone;
/**
@@ -61,12 +64,15 @@ public class FdnSetting extends PreferenceActivity
// State variables
private String mOldPin;
private String mNewPin;
+ private String mPuk2;
private static final int PIN_CHANGE_OLD = 0;
private static final int PIN_CHANGE_NEW = 1;
private static final int PIN_CHANGE_REENTER = 2;
private static final int PIN_CHANGE_PUK = 3;
+ private static final int PIN_CHANGE_NEW_PIN_FOR_PUK = 4;
+ private static final int PIN_CHANGE_REENTER_PIN_FOR_PUK = 5;
private int mPinChangeState;
- private boolean mSkipOldPin; // Indicates we know that we are PUK2 blocked.
+ private boolean mIsPuk2Locked; // Indicates we know that we are PUK2 blocked.
private static final String SKIP_OLD_PIN_KEY = "skip_old_pin_key";
private static final String PIN_CHANGE_STATE_KEY = "pin_change_state_key";
@@ -82,6 +88,7 @@ public class FdnSetting extends PreferenceActivity
/**
* Delegate to the respective handlers.
*/
+ @Override
public void onPinEntered(EditPinPreference preference, boolean positiveResult) {
if (preference == mButtonEnableFDN) {
toggleFDNEnable(positiveResult);
@@ -119,9 +126,13 @@ private void toggleFDNEnable(boolean positiveResult) {
* Attempt to change the pin.
*/
private void updatePINChangeState(boolean positiveResult) {
+ if (DBG) log("updatePINChangeState positive=" + positiveResult
+ + " mPinChangeState=" + mPinChangeState
+ + " mSkipOldPin=" + mIsPuk2Locked);
+
if (!positiveResult) {
// reset the state on cancel, either to expect PUK2 or PIN2
- if (!mSkipOldPin) {
+ if (!mIsPuk2Locked) {
resetPinChangeState();
} else {
resetPinChangeStateForPUK2();
@@ -168,39 +179,62 @@ private void updatePINChangeState(boolean positiveResult) {
mButtonChangePin2.setText("");
displayPinChangeDialog(R.string.mismatchPin2, true);
} else {
- // If the PIN is valid, then we either submit the change PIN request or
- // display the PUK2 dialog if we KNOW that we're PUK2 locked.
+ // If the PIN is valid, then we submit the change PIN request.
mButtonChangePin2.setText("");
- if (!mSkipOldPin) {
- Message onComplete = mFDNHandler.obtainMessage(EVENT_PIN2_CHANGE_COMPLETE);
- mPhone.getIccCard().changeIccFdnPassword(mOldPin, mNewPin, onComplete);
- } else {
- mPinChangeState = PIN_CHANGE_PUK;
- displayPinChangeDialog();
- }
+ Message onComplete = mFDNHandler.obtainMessage(
+ EVENT_PIN2_CHANGE_COMPLETE);
+ mPhone.getIccCard().changeIccFdnPassword(
+ mOldPin, mNewPin, onComplete);
}
break;
case PIN_CHANGE_PUK: {
// Doh! too many incorrect requests, PUK requested.
- // if the pin is not valid, display a message and reset the state.
- String puk2 = mButtonChangePin2.getText();
+ mPuk2 = mButtonChangePin2.getText();
mButtonChangePin2.setText("");
- // make sure that the puk is valid before submitting it.
- if (validatePin (puk2, true)) {
- Message onComplete = mFDNHandler.obtainMessage(EVENT_PIN2_CHANGE_COMPLETE);
- mPhone.getIccCard().supplyPuk2(puk2, mNewPin, onComplete);
+ // if the puk is not valid, display
+ // a message and reset the state.
+ if (validatePin (mPuk2, true)) {
+ mPinChangeState = PIN_CHANGE_NEW_PIN_FOR_PUK;
+ displayPinChangeDialog();
} else {
displayPinChangeDialog(R.string.invalidPuk2, true);
}
}
break;
+ case PIN_CHANGE_NEW_PIN_FOR_PUK:
+ mNewPin = mButtonChangePin2.getText();
+ mButtonChangePin2.setText("");
+ // if the new pin is not valid, display
+ // a message and reset the state.
+ if (validatePin (mNewPin, false)) {
+ mPinChangeState = PIN_CHANGE_REENTER_PIN_FOR_PUK;
+ displayPinChangeDialog();
+ } else {
+ displayPinChangeDialog(R.string.invalidPin2, true);
+ }
+ break;
+ case PIN_CHANGE_REENTER_PIN_FOR_PUK:
+ // if the re-entered pin is not valid, display
+ // a message and reset the state.
+ if (!mNewPin.equals(mButtonChangePin2.getText())) {
+ mPinChangeState = PIN_CHANGE_NEW_PIN_FOR_PUK;
+ mButtonChangePin2.setText("");
+ displayPinChangeDialog(R.string.mismatchPin2, true);
+ } else {
+ // Both puk2 and new pin2 are ready to submit
+ mButtonChangePin2.setText("");
+ Message onComplete = mFDNHandler.obtainMessage(
+ EVENT_PIN2_CHANGE_COMPLETE);
+ mPhone.getIccCard().supplyPuk2(mPuk2, mNewPin, onComplete);
+ }
+ break;
}
}
/**
* Handler for asynchronous replies from the sim.
*/
- private Handler mFDNHandler = new Handler() {
+ private final Handler mFDNHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
@@ -229,6 +263,8 @@ public void handleMessage(Message msg) {
// the error requests a PUK (usually after too many incorrect tries)
// Set the state accordingly.
case EVENT_PIN2_CHANGE_COMPLETE: {
+ if (DBG)
+ log("Handle EVENT_PIN2_CHANGE_COMPLETE");
AsyncResult ar = (AsyncResult) msg.obj;
if (ar.exception != null) {
CommandException ce = (CommandException) ar.exception;
@@ -246,23 +282,18 @@ public void handleMessage(Message msg) {
a.show();
} else {
// set the correct error message depending upon the state.
- if (mPinChangeState == PIN_CHANGE_PUK) {
- displayMessage(R.string.badPuk2);
- } else {
- displayMessage(R.string.badPin2);
- }
-
// Reset the state depending upon or knowledge of the PUK state.
- if (!mSkipOldPin) {
+ if (!mIsPuk2Locked) {
+ displayMessage(R.string.badPin2);
resetPinChangeState();
} else {
+ displayMessage(R.string.badPuk2);
resetPinChangeStateForPUK2();
}
}
} else {
// reset to normal behaviour on successful change.
displayMessage(R.string.pin2_changed);
- mSkipOldPin = false;
resetPinChangeState();
}
}
@@ -274,9 +305,10 @@ public void handleMessage(Message msg) {
/**
* Cancel listener for the PUK2 request alert dialog.
*/
+ @Override
public void onCancel(DialogInterface dialog) {
// set the state of the preference and then display the dialog.
- mPinChangeState = PIN_CHANGE_PUK;
+ resetPinChangeStateForPUK2();
displayPinChangeDialog(0, true);
}
@@ -302,9 +334,11 @@ private final void displayPinChangeDialog(int strId, boolean shouldDisplay) {
msgId = R.string.oldPin2Label;
break;
case PIN_CHANGE_NEW:
+ case PIN_CHANGE_NEW_PIN_FOR_PUK:
msgId = R.string.newPin2Label;
break;
case PIN_CHANGE_REENTER:
+ case PIN_CHANGE_REENTER_PIN_FOR_PUK:
msgId = R.string.confirmPin2Label;
break;
case PIN_CHANGE_PUK:
@@ -330,19 +364,22 @@ private final void displayPinChangeDialog(int strId, boolean shouldDisplay) {
* Reset the state of the pin change dialog.
*/
private final void resetPinChangeState() {
+ if (DBG) log("resetPinChangeState");
mPinChangeState = PIN_CHANGE_OLD;
displayPinChangeDialog(0, false);
mOldPin = mNewPin = "";
+ mIsPuk2Locked = false;
}
/**
* Reset the state of the pin change dialog solely for PUK2 use.
*/
private final void resetPinChangeStateForPUK2() {
- mPinChangeState = PIN_CHANGE_NEW;
+ if (DBG) log("resetPinChangeStateForPUK2");
+ mPinChangeState = PIN_CHANGE_PUK;
displayPinChangeDialog(0, false);
- mOldPin = mNewPin = "";
- mSkipOldPin = true;
+ mOldPin = mNewPin = mPuk2 = "";
+ mIsPuk2Locked = true;
}
/**
@@ -352,10 +389,10 @@ private final void resetPinChangeStateForPUK2() {
* @param isPuk Boolean indicating whether we are to treat
* the pin input as a puk.
*/
- private boolean validatePin(String pin, boolean isPUK) {
+ private boolean validatePin(String pin, boolean isPuk) {
// for pin, we have 4-8 numbers, or puk, we use only 8.
- int pinMinimum = isPUK ? MAX_PIN_LENGTH : MIN_PIN_LENGTH;
+ int pinMinimum = isPuk ? MAX_PIN_LENGTH : MIN_PIN_LENGTH;
// check validity
if (pin == null || pin.length() < pinMinimum || pin.length() > MAX_PIN_LENGTH) {
@@ -403,7 +440,7 @@ protected void onCreate(Bundle icicle) {
if (icicle == null) {
resetPinChangeState();
} else {
- mSkipOldPin = icicle.getBoolean(SKIP_OLD_PIN_KEY);
+ mIsPuk2Locked = icicle.getBoolean(SKIP_OLD_PIN_KEY);
mPinChangeState = icicle.getInt(PIN_CHANGE_STATE_KEY);
mOldPin = icicle.getString(OLD_PIN_KEY);
mNewPin = icicle.getString(NEW_PIN_KEY);
@@ -431,7 +468,7 @@ protected void onResume() {
@Override
protected void onSaveInstanceState(Bundle out) {
super.onSaveInstanceState(out);
- out.putBoolean(SKIP_OLD_PIN_KEY, mSkipOldPin);
+ out.putBoolean(SKIP_OLD_PIN_KEY, mIsPuk2Locked);
out.putInt(PIN_CHANGE_STATE_KEY, mPinChangeState);
out.putString(OLD_PIN_KEY, mOldPin);
out.putString(NEW_PIN_KEY, mNewPin);
@@ -448,5 +485,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
}
return super.onOptionsItemSelected(item);
}
+
+ private void log(String msg) {
+ Log.d(LOG_TAG, "FdnSetting: " + msg);
+ }
}
diff --git a/src/com/android/phone/GetPin2Screen.java b/src/com/android/phone/GetPin2Screen.java
index 3f9c7f39e..c3fda6649 100644
--- a/src/com/android/phone/GetPin2Screen.java
+++ b/src/com/android/phone/GetPin2Screen.java
@@ -23,36 +23,35 @@
import android.text.TextUtils;
import android.text.method.DigitsKeyListener;
import android.util.Log;
+import android.view.KeyEvent;
import android.view.View;
+import android.view.inputmethod.EditorInfo;
+import android.widget.Button;
import android.widget.EditText;
+import android.widget.TextView;
/**
* Pin2 entry screen.
*/
-public class GetPin2Screen extends Activity {
+public class GetPin2Screen extends Activity implements TextView.OnEditorActionListener {
private static final String LOG_TAG = PhoneApp.LOG_TAG;
private EditText mPin2Field;
+ private Button mOkButton;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.get_pin2_screen);
- setupView();
- }
- /**
- * Reflect the changes in the layout that force the user to open
- * the keyboard.
- */
- private void setupView() {
mPin2Field = (EditText) findViewById(R.id.pin);
- if (mPin2Field != null) {
- mPin2Field.setKeyListener(DigitsKeyListener.getInstance());
- mPin2Field.setMovementMethod(null);
- mPin2Field.setOnClickListener(mClicked);
- }
+ mPin2Field.setKeyListener(DigitsKeyListener.getInstance());
+ mPin2Field.setMovementMethod(null);
+ mPin2Field.setOnEditorActionListener(this);
+
+ mOkButton = (Button) findViewById(R.id.ok);
+ mOkButton.setOnClickListener(mClicked);
}
private String getPin2() {
@@ -72,7 +71,17 @@ private void returnResult() {
finish();
}
- private View.OnClickListener mClicked = new View.OnClickListener() {
+ @Override
+ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+ if (actionId == EditorInfo.IME_ACTION_DONE) {
+ mOkButton.performClick();
+ return true;
+ }
+ return false;
+ }
+
+ private final View.OnClickListener mClicked = new View.OnClickListener() {
+ @Override
public void onClick(View v) {
if (TextUtils.isEmpty(mPin2Field.getText())) {
return;
diff --git a/src/com/android/phone/GsmUmtsAdditionalCallOptions.java b/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
index 69a025ccd..72e7d5c4a 100644
--- a/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
+++ b/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
@@ -8,6 +8,9 @@
import android.util.Log;
import android.view.MenuItem;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+
import java.util.ArrayList;
public class GsmUmtsAdditionalCallOptions extends
@@ -17,11 +20,13 @@ public class GsmUmtsAdditionalCallOptions extends
private static final String BUTTON_CLIR_KEY = "button_clir_key";
private static final String BUTTON_CW_KEY = "button_cw_key";
+ private static final String BUTTON_PN_KEY = "button_pn_key";
private CLIRListPreference mCLIRButton;
private CallWaitingCheckBoxPreference mCWButton;
+ private MSISDNEditPreference mMSISDNButton;
- private ArrayList mPreferences = new ArrayList ();
+ private final ArrayList mPreferences = new ArrayList();
private int mInitIndex= 0;
@Override
@@ -33,9 +38,11 @@ protected void onCreate(Bundle icicle) {
PreferenceScreen prefSet = getPreferenceScreen();
mCLIRButton = (CLIRListPreference) prefSet.findPreference(BUTTON_CLIR_KEY);
mCWButton = (CallWaitingCheckBoxPreference) prefSet.findPreference(BUTTON_CW_KEY);
+ mMSISDNButton = (MSISDNEditPreference) prefSet.findPreference(BUTTON_PN_KEY);
mPreferences.add(mCLIRButton);
mPreferences.add(mCWButton);
+ mPreferences.add(mMSISDNButton);
if (icicle == null) {
if (DBG) Log.d(LOG_TAG, "start to init ");
@@ -45,6 +52,8 @@ protected void onCreate(Bundle icicle) {
mInitIndex = mPreferences.size();
mCLIRButton.init(this, true);
mCWButton.init(this, true);
+ mMSISDNButton.init(this, true);
+
int[] clirArray = icicle.getIntArray(mCLIRButton.getKey());
if (clirArray != null) {
if (DBG) Log.d(LOG_TAG, "onCreate: clirArray[0]="
@@ -78,6 +87,8 @@ public void onFinished(Preference preference, boolean reading) {
Preference pref = mPreferences.get(mInitIndex);
if (pref instanceof CallWaitingCheckBoxPreference) {
((CallWaitingCheckBoxPreference) pref).init(this, false);
+ } else if (pref instanceof MSISDNEditPreference) {
+ ((MSISDNEditPreference) pref).init(this, false);
}
}
super.onFinished(preference, reading);
diff --git a/src/com/android/phone/HapticFeedback.java b/src/com/android/phone/HapticFeedback.java
index edca4ab0c..7001ee032 100644
--- a/src/com/android/phone/HapticFeedback.java
+++ b/src/com/android/phone/HapticFeedback.java
@@ -16,13 +16,14 @@
package com.android.phone;
-import android.content.Context;
import android.content.ContentResolver;
+import android.content.Context;
import android.content.res.Resources;
+import android.os.SystemVibrator;
import android.os.Vibrator;
-import android.util.Log;
import android.provider.Settings;
import android.provider.Settings.System;
+import android.util.Log;
/**
* Handles the haptic feedback: a light buzz happening when the user
@@ -89,7 +90,9 @@ public class HapticFeedback {
public void init(Context context, boolean enabled) {
mEnabled = enabled;
if (enabled) {
- mVibrator = new Vibrator();
+ // We don't rely on getSystemService(Context.VIBRATOR_SERVICE) to make sure this
+ // vibrator object will be isolated from others.
+ mVibrator = new SystemVibrator();
if (!loadHapticSystemPattern(context.getResources())) {
mHapticPattern = new long[] {0, DURATION, 2 * DURATION, 3 * DURATION};
}
@@ -127,7 +130,16 @@ public void vibrate() {
if (!mEnabled || !mSettingEnabled) {
return;
}
- mVibrator.vibrate(mHapticPattern, NO_REPEAT);
+ // System-wide configuration may return different styles of haptic feedback pattern.
+ // - an array with one value implies "one-shot vibration"
+ // - an array with multiple values implies "pattern vibration"
+ // We need to switch methods to call depending on the difference.
+ // See also PhoneWindowManager#performHapticFeedbackLw() for another example.
+ if (mHapticPattern != null && mHapticPattern.length == 1) {
+ mVibrator.vibrate(mHapticPattern[0]);
+ } else {
+ mVibrator.vibrate(mHapticPattern, NO_REPEAT);
+ }
}
/**
diff --git a/src/com/android/phone/InCallContactPhoto.java b/src/com/android/phone/InCallContactPhoto.java
deleted file mode 100644
index c98ec0d4b..000000000
--- a/src/com/android/phone/InCallContactPhoto.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.os.SystemClock;
-import android.os.SystemProperties;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.View;
-import android.widget.ImageView;
-
-
-/**
- * ImageView subclass used for contact photos in the in-call UI.
- *
- * For contact photos larger than 96x96, this view behaves just like a regular
- * ImageView. But for 96x96 or smaller (i.e. the size of contact thumbnails
- * we typically get from contacts sync), apply a "blur + inset" special effect
- * rather than simply scaling up the image. (Scaling looks terrible because
- * the onscreen ImageView is so much larger than the source image.)
- *
- * Watch out: this widget only does the "blur + inset" effect in one very
- * specific case: you must set the photo using the setImageDrawable() API,
- * *and* pass in a drawable that's an instance of BitmapDrawable.
- * (This is exactly what the in-call UI does; see CallCard.java and also
- * android.pim.ContactsAsyncHelper.)
- *
- * TODO: If we ever intend to expose this class for more general use (or move
- * it into the framework) we'll need to make this effect work for all the
- * various setImage*() calls, with any kind of drawable.
- *
- * TODO: other features to consider adding here:
- * - any special scaling / cropping behavior?
- * - special handling for the "unknown" contact photo and the "conference
- call" state?
- * - allow the whole image to be blurred or dimmed, regardless of the
- * size of the input image (like for a call that's on hold)
- */
-public class InCallContactPhoto extends ImageView {
- private static final String TAG = "InCallContactPhoto";
- private static final boolean DBG =
- (PhoneApp.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
- private static final boolean VDBG = false;
-
- /**
- * If true, enable the "blur + inset" special effect for lo-res
- * images. (This flag provides a quick way to disable this class
- * entirely; if false, InCallContactPhoto instances will behave just
- * like plain old ImageViews.)
- */
- private static final boolean ENABLE_BLUR_INSET_EFFECT = false;
-
- private Drawable mPreviousImageDrawable;
- private ImageView mInsetImageView;
-
- public InCallContactPhoto(Context context) {
- super(context);
- }
-
- public InCallContactPhoto(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public InCallContactPhoto(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
- public void setInsetImageView(ImageView imageView) {
- mInsetImageView = imageView;
- }
-
- @Override
- public void setImageResource(int resId) {
- if (DBG) log("setImageResource(" + resId + ")...");
- // For now, at least, this method doesn't trigger any special effects
- // (see the TODO comment in the class javadoc.)
- mPreviousImageDrawable = null;
- hideInset();
- super.setImageResource(resId);
- }
-
- @Override
- public void setImageURI(Uri uri) {
- if (DBG) log("setImageURI(" + uri + ")...");
- // For now, at least, this method doesn't trigger any special effects
- // (see the TODO comment in the class javadoc.)
- mPreviousImageDrawable = null;
- hideInset();
- super.setImageURI(uri);
- }
-
- @Override
- public void setImageBitmap(Bitmap bm) {
- if (DBG) log("setImageBitmap(" + bm + ")...");
- // For now, at least, this method doesn't trigger any special effects
- // (see the TODO comment in the class javadoc.)
- mPreviousImageDrawable = null;
- hideInset();
- super.setImageBitmap(bm);
- }
-
- @Override
- public void setImageDrawable(Drawable inputDrawable) {
- if (DBG) log("setImageDrawable(" + inputDrawable + ")...");
- long startTime = SystemClock.uptimeMillis();
-
- BitmapDrawable blurredBitmapDrawable = null;
-
- if (VDBG) log("################# setImageDrawable()... ################");
- if (VDBG) log("- this: " + this);
- if (VDBG) log("- inputDrawable: " + inputDrawable);
- if (VDBG) log("- mPreviousImageDrawable: " + mPreviousImageDrawable);
-
- if (inputDrawable != mPreviousImageDrawable) {
-
- mPreviousImageDrawable = inputDrawable;
-
- if (inputDrawable instanceof BitmapDrawable) {
- Bitmap inputBitmap = ((BitmapDrawable) inputDrawable).getBitmap();
-
- if (VDBG) log("- inputBitmap: " + inputBitmap);
- if (VDBG) log(" - dimensions: " + inputBitmap.getWidth()
- + " x " + inputBitmap.getHeight());
- if (VDBG) log(" - config: " + inputBitmap.getConfig());
- if (VDBG) log(" - byte count: " + inputBitmap.getByteCount());
-
- if (!ENABLE_BLUR_INSET_EFFECT) {
- if (DBG) log("- blur+inset disabled; no special effect.");
- // ...and leave blurredBitmapDrawable = null so that we'll
- // fall back to the regular ImageView behavior (see below.)
- } else if (inputBitmap == null) {
- Log.w(TAG, "setImageDrawable: null bitmap from inputDrawable.getBitmap()!");
- // ...and leave blurredBitmapDrawable = null so that we'll
- // fall back to the regular ImageView behavior (see below.)
- } else if (!isLoRes(inputBitmap)) {
- if (DBG) log("- not a lo-res bitmap; no special effect.");
- // ...and leave blurredBitmapDrawable = null so that we'll
- // fall back to the regular ImageView behavior (see below.)
- } else {
- // Ok, we have a valid bitmap *and* it's lo-res.
- // Do the blur + inset effect.
- if (DBG) log("- got a lo-res bitmap; blurring...");
- Bitmap blurredBitmap = BitmapUtils.createBlurredBitmap(inputBitmap);
- if (VDBG) log("- blurredBitmap: " + blurredBitmap);
- if (VDBG) log(" - dimensions: " + blurredBitmap.getWidth()
- + " x " + blurredBitmap.getHeight());
- if (VDBG) log(" - config: " + blurredBitmap.getConfig());
- if (VDBG) log(" - byte count: " + blurredBitmap.getByteCount());
-
- blurredBitmapDrawable = new BitmapDrawable(getResources(), blurredBitmap);
- if (DBG) log("- Created blurredBitmapDrawable: " + blurredBitmapDrawable);
- }
- } else {
- Log.w(TAG, "setImageDrawable: inputDrawable '" + inputDrawable
- + "' is not a BitmapDrawable");
- // For now, at least, we don't trigger any special effects in
- // this case (see the TODO comment in the class javadoc.)
- // Just leave blurredBitmapDrawable = null so that we'll
- // fall back to the regular ImageView behavior (see below.)
- }
-
- if (blurredBitmapDrawable != null) {
- if (DBG) log("- Show the special effect! blurredBitmapDrawable = "
- + blurredBitmapDrawable);
- super.setImageDrawable(blurredBitmapDrawable);
- // And show the original (sharp) image in the inset.
- showInset(inputDrawable);
- } else {
- if (DBG) log("- null blurredBitmapDrawable; don't show the special effect.");
- // Otherwise, Just fall back to the regular ImageView behavior.
- super.setImageDrawable(inputDrawable);
- hideInset();
- }
- }
-
- long endTime = SystemClock.uptimeMillis();
- if (DBG) log("setImageDrawable() done: *ELAPSED* = " + (endTime - startTime) + " msec");
- }
-
- /**
- * @return true if the specified bitmap is a lo-res contact photo
- * (i.e. if we *should* use the blur+inset effect for this photo
- * in the in-call UI.)
- */
- private boolean isLoRes(Bitmap bitmap) {
- // In practice, contact photos will almost always be either 96x96 (for
- // thumbnails from contacts sync) or 256x256 (if you pick a photo from
- // the gallery or camera via the contacts app.)
- //
- // So enable the blur+inset effect *only* for width = 96 or smaller.
- // (If the user somehow gets a contact to have a photo that's between
- // 97 and 255 pixels wide, that's OK, we'll just show it as-is with no
- // special effects.)
- final int LO_RES_THRESHOLD_WIDTH = 96;
- if (DBG) log("- isLoRes: checking bitmap with width " + bitmap.getWidth() + "...");
- return (bitmap.getWidth() <= LO_RES_THRESHOLD_WIDTH);
- }
-
- private void hideInset() {
- if (DBG) log("- hideInset()...");
- if (mInsetImageView != null) {
- mInsetImageView.setVisibility(View.GONE);
- }
- }
-
- private void showInset(Drawable drawable) {
- if (DBG) log("- showInset(Drawable " + drawable + ")...");
- if (mInsetImageView != null) {
- mInsetImageView.setImageDrawable(drawable);
- mInsetImageView.setVisibility(View.VISIBLE);
- }
- }
-
- private void log(String msg) {
- Log.d(TAG, msg);
- }
-}
diff --git a/src/com/android/phone/InCallControlState.java b/src/com/android/phone/InCallControlState.java
index e78a065f1..b44e3107a 100644
--- a/src/com/android/phone/InCallControlState.java
+++ b/src/com/android/phone/InCallControlState.java
@@ -23,7 +23,7 @@
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.CallManager;
-
+import com.android.internal.telephony.TelephonyCapabilities;
/**
* Helper class to keep track of enabledness, visibility, and "on/off"
@@ -119,12 +119,13 @@ public void update() {
// "Add call":
canAddCall = PhoneUtils.okToAddCall(mCM);
- // "End call": always enabled.
- // We keep this button enabled even in states where it's technically not
- // needed, like during the brief "Call ended" state, where the phone is
- // IDLE. (See InCallScreen.internalHangup() for the handling of that
- // case.)
- canEndCall = true;
+ // "End call": always enabled unless the phone is totally idle.
+ // Note that while the phone is ringing, the InCallTouchUi widget isn't
+ // visible at all, so the state of the End button doesn't matter. However
+ // we *do* still set canEndCall to true in this case, purely to prevent a
+ // UI glitch when the InCallTouchUi widget first appears, immediately after
+ // answering an incoming call.
+ canEndCall = (mCM.hasActiveFgCall() || mCM.hasActiveRingingCall() || mCM.hasActiveBgCall());
// Swap / merge calls
canSwap = PhoneUtils.okToSwapCalls(mCM);
diff --git a/src/com/android/phone/InCallScreen.java b/src/com/android/phone/InCallScreen.java
index 26733ed54..008efd84e 100755
--- a/src/com/android/phone/InCallScreen.java
+++ b/src/com/android/phone/InCallScreen.java
@@ -17,6 +17,7 @@
package com.android.phone;
import android.app.Activity;
+import android.app.ActivityOptions;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
@@ -27,8 +28,8 @@
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.Context;
-import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface;
+import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
@@ -65,9 +66,9 @@
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.MmiCode;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
import com.android.phone.Constants.CallStatusCode;
import com.android.phone.InCallUiState.InCallScreenMode;
-import com.android.phone.OtaUtils.CdmaOtaInCallScreenUiState;
import com.android.phone.OtaUtils.CdmaOtaScreenState;
import java.util.List;
@@ -121,13 +122,14 @@ public class InCallScreen extends Activity
// "long" value is for calls ended by the remote caller.
private static final int CALL_ENDED_SHORT_DELAY = 200; // msec
private static final int CALL_ENDED_LONG_DELAY = 2000; // msec
+ private static final int CALL_ENDED_EXTRA_LONG_DELAY = 5000; // msec
// Amount of time that we display the PAUSE alert Dialog showing the
// post dial string yet to be send out to the n/w
private static final int PAUSE_PROMPT_DIALOG_TIMEOUT = 2000; //msec
- // Amount of time that we display the provider's overlay if applicable.
- private static final int PROVIDER_OVERLAY_TIMEOUT = 5000; // msec
+ // Amount of time that we display the provider info if applicable.
+ private static final int PROVIDER_INFO_TIMEOUT = 5000; // msec
// These are values for the settings of the auto retry mode:
// 0 = disabled
@@ -154,7 +156,7 @@ public class InCallScreen extends Activity
private static final int REQUEST_CLOSE_SPC_ERROR_NOTICE = 118;
private static final int REQUEST_CLOSE_OTA_FAILURE_NOTICE = 119;
private static final int EVENT_PAUSE_DIALOG_COMPLETE = 120;
- private static final int EVENT_HIDE_PROVIDER_OVERLAY = 121; // Time to remove the overlay.
+ private static final int EVENT_HIDE_PROVIDER_INFO = 121; // Time to remove the info.
private static final int REQUEST_UPDATE_SCREEN = 122;
private static final int PHONE_INCOMING_RING = 123;
private static final int PHONE_NEW_RINGING_CONNECTION = 124;
@@ -200,10 +202,7 @@ private enum SyncWithPhoneStateStatus {
private boolean mBluetoothConnectionPending;
private long mBluetoothConnectionRequestTime;
- // Main in-call UI ViewGroups
- private ViewGroup mInCallPanel;
-
- // Main in-call UI elements:
+ /** Main in-call UI elements. */
private CallCard mCallCard;
// UI controls:
@@ -214,7 +213,6 @@ private enum SyncWithPhoneStateStatus {
// DTMF Dialer controller and its view:
private DTMFTwelveKeyDialer mDialer;
- private DTMFTwelveKeyDialerView mDialerView;
private EditText mWildPromptText;
@@ -311,9 +309,11 @@ public void handleMessage(Message msg) {
break;
- case PhoneApp.MMI_INITIATE:
- onMMIInitiate((AsyncResult) msg.obj);
- break;
+ // TODO: sort out MMI code (probably we should remove this method entirely).
+ // See also MMI handling code in onResume()
+ // case PhoneApp.MMI_INITIATE:
+ // onMMIInitiate((AsyncResult) msg.obj);
+ // break;
case PhoneApp.MMI_CANCEL:
onMMICancel();
@@ -324,20 +324,7 @@ public void handleMessage(Message msg) {
// a system dialog in PhoneUtils.displayMMIComplete(), we
// should finish the activity here to close the window.
case PhoneApp.MMI_COMPLETE:
- // Check the code to see if the request is ready to
- // finish, this includes any MMI state that is not
- // PENDING.
- MmiCode mmiCode = (MmiCode) ((AsyncResult) msg.obj).result;
- // if phone is a CDMA phone display feature code completed message
- int phoneType = mPhone.getPhoneType();
- if (phoneType == Phone.PHONE_TYPE_CDMA) {
- PhoneUtils.displayMMIComplete(mPhone, mApp, mmiCode, null, null);
- } else if (phoneType == Phone.PHONE_TYPE_GSM) {
- if (mmiCode.getState() != MmiCode.State.PENDING) {
- if (DBG) log("Got MMI_COMPLETE, finishing InCallScreen...");
- endInCallScreenSession();
- }
- }
+ onMMIComplete((MmiCode) ((AsyncResult) msg.obj).result);
break;
case POST_ON_DIAL_CHARS:
@@ -408,11 +395,12 @@ public void handleMessage(Message msg) {
}
break;
- case EVENT_HIDE_PROVIDER_OVERLAY:
- mApp.inCallUiState.providerOverlayVisible = false;
- updateProviderOverlay(); // Clear the overlay.
+ case EVENT_HIDE_PROVIDER_INFO:
+ mApp.inCallUiState.providerInfoVisible = false;
+ if (mCallCard != null) {
+ mCallCard.updateState(mCM);
+ }
break;
-
case REQUEST_UPDATE_SCREEN:
updateScreen();
break;
@@ -485,12 +473,6 @@ protected void onCreate(Bundle icicle) {
}
getWindow().addFlags(flags);
- // Also put the system bar (if present on this device) into
- // "lights out" mode any time we're the foreground activity.
- WindowManager.LayoutParams params = getWindow().getAttributes();
- params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE;
- getWindow().setAttributes(params);
-
setPhone(mApp.phone); // Sets mPhone
mCM = mApp.mCM;
@@ -536,15 +518,17 @@ protected void onCreate(Bundle icicle) {
}
private BluetoothProfile.ServiceListener mBluetoothProfileServiceListener =
- new BluetoothProfile.ServiceListener() {
- public void onServiceConnected(int profile, BluetoothProfile proxy) {
- mBluetoothHeadset = (BluetoothHeadset) proxy;
- if (VDBG) log("- Got BluetoothHeadset: " + mBluetoothHeadset);
- }
-
- public void onServiceDisconnected(int profile) {
- mBluetoothHeadset = null;
- }
+ new BluetoothProfile.ServiceListener() {
+ @Override
+ public void onServiceConnected(int profile, BluetoothProfile proxy) {
+ mBluetoothHeadset = (BluetoothHeadset) proxy;
+ if (VDBG) log("- Got BluetoothHeadset: " + mBluetoothHeadset);
+ }
+
+ @Override
+ public void onServiceDisconnected(int profile) {
+ mBluetoothHeadset = null;
+ }
};
/**
@@ -567,6 +551,11 @@ protected void onResume() {
mIsForegroundActivity = true;
mIsForegroundActivityForProximity = true;
+ // The flag shouldn't be turned on when there are actual phone calls.
+ if (mCM.hasActiveFgCall() || mCM.hasActiveBgCall() || mCM.hasActiveRingingCall()) {
+ mApp.inCallUiState.showAlreadyDisconnectedState = false;
+ }
+
final InCallUiState inCallUiState = mApp.inCallUiState;
if (VDBG) inCallUiState.dumpState();
@@ -575,9 +564,8 @@ protected void onResume() {
// prevent the device from going to sleep.
mApp.setIgnoreTouchUserActivity(true);
- // Disable the status bar "window shade" the entire time we're on
- // the in-call screen.
- mApp.notificationMgr.statusBarHelper.enableExpandedView(false);
+ updateExpandedViewState();
+
// ...and update the in-call notification too, since the status bar
// icon needs to be hidden while we're the foreground activity:
mApp.notificationMgr.updateInCallNotification();
@@ -593,12 +581,14 @@ protected void onResume() {
// Update the onscreen dialpad state to match the InCallUiState.
if (inCallUiState.showDialpad) {
- showDialpadInternal(false); // no "opening" animation
+ openDialpadInternal(false); // no "opening" animation
} else {
- hideDialpadInternal(false); // no "closing" animation
+ closeDialpadInternal(false); // no "closing" animation
}
- //
- // TODO: also need to load inCallUiState.dialpadDigits into the dialpad
+
+ // Reset the dialpad context
+ // TODO: Dialpad digits should be set here as well (once they are saved)
+ mDialer.setDialpadContext(inCallUiState.dialpadContextText);
// If there's a "Respond via SMS" popup still around since the
// last time we were the foreground activity, make sure it's not
@@ -607,9 +597,7 @@ protected void onResume() {
// come to the foreground; it only ever comes up in response to
// the user selecting the "SMS" option from the incoming call
// widget.)
- if (mRespondViaSmsManager != null) {
- mRespondViaSmsManager.dismissPopup(); // safe even if already dismissed
- }
+ mRespondViaSmsManager.dismissPopup(); // safe even if already dismissed
// Display an error / diagnostic indication if necessary.
//
@@ -713,7 +701,7 @@ protected void onResume() {
} else if (TelephonyCapabilities.supportsOtasp(mPhone)) {
if (inCallUiState.inCallScreenMode == InCallScreenMode.OTA_NORMAL ||
inCallUiState.inCallScreenMode == InCallScreenMode.OTA_ENDED) {
- if (mInCallPanel != null) mInCallPanel.setVisibility(View.GONE);
+ if (mCallCard != null) mCallCard.setVisibility(View.GONE);
updateScreen();
return;
}
@@ -722,11 +710,8 @@ protected void onResume() {
// InCallScreen is now active.
EventLog.writeEvent(EventLogTags.PHONE_UI_ENTER);
- // Update the poke lock and wake lock when we move to
- // the foreground.
- //
- // But we need to do something special if we're coming
- // to the foreground while an incoming call is ringing:
+ // Coming to the foreground while in an incoming call is ringing.
+ // We need to do something special.
if (mCM.getState() == Phone.State.RINGING) {
// If the phone is ringing, we *should* already be holding a
// full wake lock (which we would have acquired before
@@ -759,6 +744,8 @@ protected void onResume() {
// but let's do this just to be safe:
mApp.preventScreenOn(false);
}
+ // Update the poke lock and wake lock when we move to the foreground.
+ // This will be no-op when prox sensor is effective.
mApp.updateWakeState();
// Restore the mute state if the last mute state change was NOT
@@ -770,6 +757,50 @@ protected void onResume() {
}
Profiler.profileViewCreate(getWindow(), InCallScreen.class.getName());
+
+ // If there's a pending MMI code, we'll show a dialog here.
+ //
+ // Note: previously we had shown the dialog when MMI_INITIATE event's coming
+ // from telephony layer, while right now we don't because the event comes
+ // too early (before in-call screen is prepared).
+ // Now we instead check pending MMI code and show the dialog here.
+ //
+ // This *may* cause some problem, e.g. when the user really quickly starts
+ // MMI sequence and calls an actual phone number before the MMI request
+ // being completed, which is rather rare.
+ //
+ // TODO: streamline this logic and have a UX in a better manner.
+ // Right now syncWithPhoneState() above will return SUCCESS based on
+ // mPhone.getPendingMmiCodes().isEmpty(), while we check it again here.
+ // Also we show pre-populated in-call UI under the dialog, which looks
+ // not great. (issue 5210375, 5545506)
+ // After cleaning them, remove commented-out MMI handling code elsewhere.
+ if (!mPhone.getPendingMmiCodes().isEmpty()) {
+ if (mMmiStartedDialog == null) {
+ MmiCode mmiCode = mPhone.getPendingMmiCodes().get(0);
+ Message message = Message.obtain(mHandler, PhoneApp.MMI_CANCEL);
+ mMmiStartedDialog = PhoneUtils.displayMMIInitiate(this, mmiCode,
+ message, mMmiStartedDialog);
+ // mInCallScreen needs to receive MMI_COMPLETE/MMI_CANCEL event from telephony,
+ // which will dismiss the entire screen.
+ }
+ }
+
+ // This means the screen is shown even though there's no connection, which only happens
+ // when the phone call has hung up while the screen is turned off at that moment.
+ // We want to show "disconnected" state with photos with appropriate elapsed time for
+ // the finished phone call.
+ if (mApp.inCallUiState.showAlreadyDisconnectedState) {
+ // if (DBG) {
+ log("onResume(): detected \"show already disconnected state\" situation."
+ + " set up DELAYED_CLEANUP_AFTER_DISCONNECT message with "
+ + CALL_ENDED_LONG_DELAY + " msec delay.");
+ //}
+ mHandler.removeMessages(DELAYED_CLEANUP_AFTER_DISCONNECT);
+ mHandler.sendEmptyMessageDelayed(DELAYED_CLEANUP_AFTER_DISCONNECT,
+ CALL_ENDED_LONG_DELAY);
+ }
+
if (VDBG) log("onResume() done.");
}
@@ -781,15 +812,20 @@ protected void onPause() {
super.onPause();
if (mPowerManager.isScreenOn()) {
+ // Set to false when the screen went background *not* by screen turned off. Probably
+ // the user bailed out of the in-call screen (by pressing BACK, HOME, etc.)
mIsForegroundActivityForProximity = false;
}
mIsForegroundActivity = false;
- // Force a clear of the provider overlay' frame. Since the
- // overlay is removed using a timed message, it is
+ // Force a clear of the provider info frame. Since the
+ // frame is removed using a timed message, it is
// possible we missed it if the prev call was interrupted.
- mApp.inCallUiState.providerOverlayVisible = false;
- updateProviderOverlay();
+ mApp.inCallUiState.providerInfoVisible = false;
+
+ // "show-already-disconnected-state" should be effective just during the first wake-up.
+ // We should never allow it to stay true after that.
+ mApp.inCallUiState.showAlreadyDisconnectedState = false;
// A safety measure to disable proximity sensor in case call failed
// and the telephony state did not change.
@@ -832,7 +868,7 @@ protected void onPause() {
// end up causing the sleep request to be ignored.
if (mHandler.hasMessages(DELAYED_CLEANUP_AFTER_DISCONNECT)
&& mCM.getState() != Phone.State.RINGING) {
- log("DELAYED_CLEANUP_AFTER_DISCONNECT detected, moving UI to background.");
+ if (DBG) log("DELAYED_CLEANUP_AFTER_DISCONNECT detected, moving UI to background.");
endInCallScreenSession();
}
@@ -842,8 +878,8 @@ protected void onPause() {
// sure they won't still be around when we get back here.
dismissAllDialogs();
- // Re-enable the status bar (which we disabled in onResume().)
- mApp.notificationMgr.statusBarHelper.enableExpandedView(true);
+ updateExpandedViewState();
+
// ...and the in-call notification too:
mApp.notificationMgr.updateInCallNotification();
// ...and *always* reset the system bar back to its normal state
@@ -875,6 +911,14 @@ public void run() {
// clear the dismiss keyguard flag so we are back to the default state
// when we next resume
updateKeyguardPolicy(false);
+
+ // See also PhoneApp#updatePhoneState(), which takes care of all the other release() calls.
+ if (mApp.getUpdateLock().isHeld() && mApp.getPhoneState() == Phone.State.IDLE) {
+ if (DBG) {
+ log("Release UpdateLock on onPause() because there's no active phone call.");
+ }
+ mApp.getUpdateLock().release();
+ }
}
@Override
@@ -888,6 +932,13 @@ protected void onStop() {
if (DBG) log("onStop: state = " + state);
if (state == Phone.State.IDLE) {
+ if (mRespondViaSmsManager.isShowingPopup()) {
+ // This means that the user has been opening the "Respond via SMS" dialog even
+ // after the incoming call hanging up, and the screen finally went background.
+ // In that case we just close the dialog and exit the whole in-call screen.
+ mRespondViaSmsManager.dismissPopup();
+ }
+
// when OTA Activation, OTA Success/Failure dialog or OTA SPC
// failure dialog is running, do not destroy inCallScreen. Because call
// is already ended and dialog will not get redrawn on slider event.
@@ -927,9 +978,7 @@ protected void onDestroy() {
if (mInCallTouchUi != null) {
mInCallTouchUi.setInCallScreenInstance(null);
}
- if (mRespondViaSmsManager != null) {
- mRespondViaSmsManager.setInCallScreenInstance(null);
- }
+ mRespondViaSmsManager.setInCallScreenInstance(null);
mDialer.clearInCallScreenReference();
mDialer = null;
@@ -998,7 +1047,9 @@ public void endInCallScreenSession() {
* @see finish()
*/
private void endInCallScreenSession(boolean forceFinish) {
- log("endInCallScreenSession(" + forceFinish + ")... phone state = " + mCM.getState());
+ if (DBG) {
+ log("endInCallScreenSession(" + forceFinish + ")... phone state = " + mCM.getState());
+ }
if (forceFinish) {
Log.i(LOG_TAG, "endInCallScreenSession(): FORCING a call to super.finish()!");
super.finish(); // Call super.finish() rather than our own finish() method,
@@ -1009,10 +1060,19 @@ private void endInCallScreenSession(boolean forceFinish) {
setInCallScreenMode(InCallScreenMode.UNDEFINED);
}
+ /**
+ * True when this Activity is in foreground (between onResume() and onPause()).
+ */
/* package */ boolean isForegroundActivity() {
return mIsForegroundActivity;
}
+ /**
+ * Returns true when the Activity is in foreground (between onResume() and onPause()),
+ * or, is in background due to user's bailing out of the screen, not by screen turning off.
+ *
+ * @see #isForegroundActivity()
+ */
/* package */ boolean isForegroundActivityForProximity() {
return mIsForegroundActivityForProximity;
}
@@ -1029,7 +1089,10 @@ private void registerForPhoneStates() {
if (!mRegisteredForPhoneStates) {
mCM.registerForPreciseCallStateChanged(mHandler, PHONE_STATE_CHANGED, null);
mCM.registerForDisconnect(mHandler, PHONE_DISCONNECT, null);
- mCM.registerForMmiInitiate(mHandler, PhoneApp.MMI_INITIATE, null);
+ // TODO: sort out MMI code (probably we should remove this method entirely).
+ // See also MMI handling code in onResume()
+ // mCM.registerForMmiInitiate(mHandler, PhoneApp.MMI_INITIATE, null);
+
// register for the MMI complete message. Upon completion,
// PhoneUtils will bring up a system dialog instead of the
// message display class in PhoneUtils.displayMMIComplete().
@@ -1145,6 +1208,15 @@ private void internalResolveIntent(Intent intent) {
// If SHOW_DIALPAD_EXTRA is specified, that overrides whatever
// the previous state of inCallUiState.showDialpad was.
mApp.inCallUiState.showDialpad = showDialpad;
+
+ final boolean hasActiveCall = mCM.hasActiveFgCall();
+ final boolean hasHoldingCall = mCM.hasActiveBgCall();
+
+ // There's only one line in use, AND it's on hold, at which we're sure the user
+ // wants to use the dialpad toward the exact line, so un-hold the holding line.
+ if (showDialpad && !hasActiveCall && hasHoldingCall) {
+ PhoneUtils.switchHoldingAndActive(mCM.getFirstActiveBgCall());
+ }
}
// ...and in onResume() we'll update the onscreen dialpad state to
// match the InCallUiState.
@@ -1212,8 +1284,6 @@ private void initInCallScreen() {
// Have the WindowManager filter out touch events that are "too fat".
getWindow().addFlags(WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES);
- mInCallPanel = (ViewGroup) findViewById(R.id.inCallPanel);
-
// Initialize the CallCard.
mCallCard = (CallCard) findViewById(R.id.callCard);
if (VDBG) log(" - mCallCard = " + mCallCard);
@@ -1229,19 +1299,8 @@ private void initInCallScreen() {
mManageConferenceUtils = new ManageConferenceUtils(this, mCM);
// The DTMF Dialpad.
- // TODO: Don't inflate this until the first time it's needed.
- ViewStub stub = (ViewStub)findViewById(R.id.dtmf_twelve_key_dialer_stub);
- stub.inflate();
- mDialerView = (DTMFTwelveKeyDialerView) findViewById(R.id.dtmf_twelve_key_dialer_view);
- if (DBG) log("- Found dialerView: " + mDialerView);
-
- // Sanity-check that (regardless of the device) at least the
- // dialer view is present:
- if (mDialerView == null) {
- Log.e(LOG_TAG, "onCreate: couldn't find dialerView", new IllegalStateException());
- }
- // Finally, create the DTMFTwelveKeyDialer instance.
- mDialer = new DTMFTwelveKeyDialer(this, mDialerView);
+ ViewStub stub = (ViewStub) findViewById(R.id.dtmf_twelve_key_dialer_stub);
+ mDialer = new DTMFTwelveKeyDialer(this, stub);
mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
}
@@ -1299,7 +1358,7 @@ public void onBackPressed() {
// in-call UI:
if (mDialer.isOpened()) {
- hideDialpadInternal(true); // do the "closing" animation
+ closeDialpadInternal(true); // do the "closing" animation
return;
}
@@ -1617,6 +1676,8 @@ private void onPhoneStateChanged(AsyncResult r) {
return;
}
+ updateExpandedViewState();
+
// Update the onscreen UI.
// We use requestUpdateScreen() here (which posts a handler message)
// instead of calling updateScreen() directly, which allows us to avoid
@@ -1649,7 +1710,8 @@ private void onPhoneStateChanged(AsyncResult r) {
private void onDisconnect(AsyncResult r) {
Connection c = (Connection) r.result;
Connection.DisconnectCause cause = c.getDisconnectCause();
- if (DBG) log("onDisconnect: connection '" + c + "', cause = " + cause);
+ if (DBG) log("onDisconnect: connection '" + c + "', cause = " + cause
+ + ", showing screen: " + mApp.isShowingCallScreen());
boolean currentlyIdle = !phoneIsInUse();
int autoretrySetting = AUTO_RETRY_OFF;
@@ -1743,7 +1805,7 @@ private void onDisconnect(AsyncResult r) {
// conference call there's no "call ended" state at all; in that
// case we blow away any DISCONNECTED connections right now to make sure
// the UI updates instantly to reflect the current state.]
- Call call = c.getCall();
+ final Call call = c.getCall();
if (call != null) {
// We only care about situation of a single caller
// disconnecting from a conference call. In that case, the
@@ -1795,24 +1857,27 @@ private void onDisconnect(AsyncResult r) {
|| (cause == Connection.DisconnectCause.INCOMING_REJECTED))
&& currentlyIdle;
+ boolean showingQuickResponseDialog =
+ mRespondViaSmsManager != null && mRespondViaSmsManager.isShowingPopup();
+
// Note: we also do some special handling for the case when a call
// disconnects with cause==OUT_OF_SERVICE while making an
// emergency call from airplane mode. That's handled by
// EmergencyCallHelper.onDisconnect().
- // TODO: one more case where we *shouldn't* bail out immediately:
- // If the disconnect event was from an incoming ringing call, but
- // the "Respond via SMS" popup is visible onscreen. (In this
- // case, we let the popup stay up even after the incoming call
- // stops ringing, to give people extra time to choose a response.)
- //
- // But watch out: if we allow the popup to stay onscreen even
- // after the incoming call disconnects, then we'll *also* have to
- // forcibly dismiss it if the InCallScreen gets paused in that
- // state (like by the user pressing Power or the screen timing
- // out).
+ if (bailOutImmediately && showingQuickResponseDialog) {
+ if (DBG) log("- onDisconnect: Respond-via-SMS dialog is still being displayed...");
- if (bailOutImmediately) {
+ // Do *not* exit the in-call UI yet!
+ // If the call was an incoming call that was missed *and* the user is using
+ // quick response screen, we keep showing the screen for a moment, assuming the
+ // user wants to reply the call anyway.
+ //
+ // For this case, we will exit the screen when:
+ // - the message is sent (RespondViaSmsManager)
+ // - the message is canceled (RespondViaSmsManager), or
+ // - when the whole in-call UI becomes background (onPause())
+ } else if (bailOutImmediately) {
if (DBG) log("- onDisconnect: bailOutImmediately...");
// Exit the in-call UI!
@@ -1889,16 +1954,67 @@ private void onDisconnect(AsyncResult r) {
}
}
+ // This is onDisconnect() request from the last phone call; no available call anymore.
+ //
+ // When the in-call UI is in background *because* the screen is turned off (unlike the
+ // other case where the other activity is being shown), we wake up the screen and
+ // show "DISCONNECTED" state once, with appropriate elapsed time. After showing that
+ // we *must* bail out of the screen again, showing screen lock if needed.
+ //
+ // See also comments for isForegroundActivityForProximity()
+ //
+ // TODO: Consider moving this to CallNotifier. This code assumes the InCallScreen
+ // never gets destroyed. For this exact case, it works (since InCallScreen won't be
+ // destroyed), while technically this isn't right; Activity may be destroyed when
+ // in background.
+ if (currentlyIdle && !isForegroundActivity() && isForegroundActivityForProximity()) {
+ log("Force waking up the screen to let users see \"disconnected\" state");
+ if (call != null) {
+ mCallCard.updateElapsedTimeWidget(call);
+ }
+ // This variable will be kept true until the next InCallScreen#onPause(), which
+ // forcibly turns it off regardless of the situation (for avoiding unnecessary
+ // confusion around this special case).
+ mApp.inCallUiState.showAlreadyDisconnectedState = true;
+
+ // Finally request wake-up..
+ mApp.wakeUpScreen();
+
+ // InCallScreen#onResume() will set DELAYED_CLEANUP_AFTER_DISCONNECT message,
+ // so skip the following section.
+ return;
+ }
+
// Finally, arrange for delayedCleanupAfterDisconnect() to get
// called after a short interval (during which we display the
// "call ended" state.) At that point, if the
// Phone is idle, we'll finish out of this activity.
- int callEndedDisplayDelay =
- (cause == Connection.DisconnectCause.LOCAL)
- ? CALL_ENDED_SHORT_DELAY : CALL_ENDED_LONG_DELAY;
+ final int callEndedDisplayDelay;
+ switch (cause) {
+ // When the local user hanged up the ongoing call, it is ok to dismiss the screen
+ // soon. In other cases, we show the "hung up" screen longer.
+ //
+ // - For expected reasons we will use CALL_ENDED_LONG_DELAY.
+ // -- when the peer hanged up the call
+ // -- when the local user rejects the incoming call during the other ongoing call
+ // (TODO: there may be other cases which should be in this category)
+ //
+ // - For other unexpected reasons, we will use CALL_ENDED_EXTRA_LONG_DELAY,
+ // assuming the local user wants to confirm the disconnect reason.
+ case LOCAL:
+ callEndedDisplayDelay = CALL_ENDED_SHORT_DELAY;
+ break;
+ case NORMAL:
+ case INCOMING_REJECTED:
+ callEndedDisplayDelay = CALL_ENDED_LONG_DELAY;
+ break;
+ default:
+ callEndedDisplayDelay = CALL_ENDED_EXTRA_LONG_DELAY;
+ break;
+ }
mHandler.removeMessages(DELAYED_CLEANUP_AFTER_DISCONNECT);
mHandler.sendEmptyMessageDelayed(DELAYED_CLEANUP_AFTER_DISCONNECT,
- callEndedDisplayDelay);
+ callEndedDisplayDelay);
}
// Remove 3way timer (only meaningful for CDMA)
@@ -1910,6 +2026,8 @@ private void onDisconnect(AsyncResult r) {
/**
* Brings up the "MMI Started" dialog.
*/
+ /* TODO: sort out MMI code (probably we should remove this method entirely). See also
+ MMI handling code in onResume()
private void onMMIInitiate(AsyncResult r) {
if (VDBG) log("onMMIInitiate()... AsyncResult r = " + r);
@@ -1935,13 +2053,12 @@ private void onMMIInitiate(AsyncResult r) {
Message message = Message.obtain(mHandler, PhoneApp.MMI_CANCEL);
mMmiStartedDialog = PhoneUtils.displayMMIInitiate(this, mmiCode,
message, mMmiStartedDialog);
- }
+ }*/
/**
* Handles an MMI_CANCEL event, which is triggered by the button
* (labeled either "OK" or "Cancel") on the "MMI Started" dialog.
- * @see onMMIInitiate
- * @see PhoneUtils.cancelMmiCode
+ * @see PhoneUtils#cancelMmiCode(Phone)
*/
private void onMMICancel() {
if (VDBG) log("onMMICancel()...");
@@ -1959,9 +2076,32 @@ private void onMMICancel() {
// partially-constructed state as soon as the "MMI Started" dialog
// gets dismissed. So let's forcibly bail out right now.
if (DBG) log("onMMICancel: finishing InCallScreen...");
+ dismissAllDialogs();
endInCallScreenSession();
}
+ /**
+ * Handles an MMI_COMPLETE event, which is triggered by telephony,
+ * implying MMI
+ */
+ private void onMMIComplete(MmiCode mmiCode) {
+ // Check the code to see if the request is ready to
+ // finish, this includes any MMI state that is not
+ // PENDING.
+
+ // if phone is a CDMA phone display feature code completed message
+ int phoneType = mPhone.getPhoneType();
+ if (phoneType == Phone.PHONE_TYPE_CDMA) {
+ PhoneUtils.displayMMIComplete(mPhone, mApp, mmiCode, null, null);
+ } else if (phoneType == Phone.PHONE_TYPE_GSM) {
+ if (mmiCode.getState() != MmiCode.State.PENDING) {
+ if (DBG) log("Got MMI_COMPLETE, finishing InCallScreen...");
+ dismissAllDialogs();
+ endInCallScreenSession();
+ }
+ }
+ }
+
/**
* Handles the POST_ON_DIAL_CHARS message from the Phone
* (see our call to mPhone.setOnPostDialCharacter() above.)
@@ -2054,18 +2194,21 @@ private void showWaitPromptDialog(final Connection c, String postDialStr) {
mWaitPromptDialog = new AlertDialog.Builder(this)
.setMessage(buf.toString())
.setPositiveButton(R.string.pause_prompt_yes,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- if (DBG) log("handle WAIT_PROMPT_CONFIRMED, proceed...");
- c.proceedAfterWaitChar();
- }
- })
- .setNegativeButton(R.string.pause_prompt_no, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- if (DBG) log("handle POST_DIAL_CANCELED!");
- c.cancelPostDial();
- }
- })
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int whichButton) {
+ if (DBG) log("handle WAIT_PROMPT_CONFIRMED, proceed...");
+ c.proceedAfterWaitChar();
+ }
+ })
+ .setNegativeButton(R.string.pause_prompt_no,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int whichButton) {
+ if (DBG) log("handle POST_DIAL_CANCELED!");
+ c.cancelPostDial();
+ }
+ })
.create();
mWaitPromptDialog.getWindow().addFlags(
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
@@ -2146,6 +2289,7 @@ private void showWildPromptDialog(final Connection c) {
.setPositiveButton(
R.string.send_button,
new DialogInterface.OnClickListener() {
+ @Override
public void onClick(DialogInterface dialog, int whichButton) {
if (VDBG) log("handle WILD_PROMPT_CHAR_ENTERED, proceed...");
String replacement = null;
@@ -2159,6 +2303,7 @@ public void onClick(DialogInterface dialog, int whichButton) {
})
.setOnCancelListener(
new DialogInterface.OnCancelListener() {
+ @Override
public void onCancel(DialogInterface dialog) {
if (VDBG) log("handle POST_DIAL_CANCELED!");
c.cancelPostDial();
@@ -2183,6 +2328,9 @@ public void onCancel(DialogInterface dialog) {
* some other thread, or if you just want to "post a request" for the screen
* to be updated (rather than doing it synchronously), call
* requestUpdateScreen() instead.
+ *
+ * Right now this method will update UI visibility immediately, with no animation.
+ * TODO: have animate flag here and use it anywhere possible.
*/
private void updateScreen() {
if (DBG) log("updateScreen()...");
@@ -2204,18 +2352,21 @@ private void updateScreen() {
}
if (inCallScreenMode == InCallScreenMode.OTA_NORMAL) {
- if (DBG) log("- updateScreen: OTA call state NORMAL...");
+ if (DBG) log("- updateScreen: OTA call state NORMAL (NOT updating in-call UI)...");
+ mCallCard.setVisibility(View.GONE);
if (mApp.otaUtils != null) {
- if (DBG) log("- updateScreen: mApp.otaUtils is not null, call otaShowProperScreen");
mApp.otaUtils.otaShowProperScreen();
+ } else {
+ Log.w(LOG_TAG, "OtaUtils object is null, not showing any screen for that.");
}
- return;
+ return; // Return without updating in-call UI.
} else if (inCallScreenMode == InCallScreenMode.OTA_ENDED) {
- if (DBG) log("- updateScreen: OTA call ended state ...");
+ if (DBG) log("- updateScreen: OTA call ended state (NOT updating in-call UI)...");
+ mCallCard.setVisibility(View.GONE);
// Wake up the screen when we get notification, good or bad.
mApp.wakeUpScreen();
if (mApp.cdmaOtaScreenState.otaScreenState
- == CdmaOtaScreenState.OtaScreenState.OTA_STATUS_ACTIVATION) {
+ == CdmaOtaScreenState.OtaScreenState.OTA_STATUS_ACTIVATION) {
if (DBG) log("- updateScreen: OTA_STATUS_ACTIVATION");
if (mApp.otaUtils != null) {
if (DBG) log("- updateScreen: mApp.otaUtils is not null, "
@@ -2229,11 +2380,12 @@ private void updateScreen() {
mApp.otaUtils.otaShowSuccessFailure();
}
}
- return;
+ return; // Return without updating in-call UI.
} else if (inCallScreenMode == InCallScreenMode.MANAGE_CONFERENCE) {
if (DBG) log("- updateScreen: manage conference mode (NOT updating in-call UI)...");
+ mCallCard.setVisibility(View.GONE);
updateManageConferencePanelIfNecessary();
- return;
+ return; // Return without updating in-call UI.
} else if (inCallScreenMode == InCallScreenMode.CALL_ENDED) {
if (DBG) log("- updateScreen: call ended state...");
// Continue with the rest of updateScreen() as usual, since we do
@@ -2247,8 +2399,39 @@ private void updateScreen() {
// space the InCallTouchUi widget needs.
updateInCallTouchUi();
mCallCard.updateState(mCM);
- updateDialpadVisibility();
- updateProviderOverlay();
+
+ // If an incoming call is ringing, make sure the dialpad is
+ // closed. (We do this to make sure we're not covering up the
+ // "incoming call" UI.)
+ if (mCM.getState() == Phone.State.RINGING) {
+ if (mDialer.isOpened()) {
+ Log.i(LOG_TAG, "During RINGING state we force hiding dialpad.");
+ closeDialpadInternal(false); // don't do the "closing" animation
+ }
+
+ // At this point, we are guranteed that the dialer is closed.
+ // This means that it is safe to clear out the "history" of DTMF digits
+ // you may have typed into the previous call (so you don't see the
+ // previous call's digits if you answer this call and then bring up the
+ // dialpad.)
+ //
+ // TODO: it would be more precise to do this when you *answer* the
+ // incoming call, rather than as soon as it starts ringing, but
+ // the InCallScreen doesn't keep enough state right now to notice
+ // that specific transition in onPhoneStateChanged().
+ // TODO: This clears out the dialpad context as well so when a second
+ // call comes in while a voicemail call is happening, the voicemail
+ // dialpad will no longer have the "Voice Mail" context. It's a small
+ // case so not terribly bad, but we need to maintain a better
+ // call-to-callstate mapping before we can fix this.
+ mDialer.clearDigits();
+ }
+
+
+ // Now that we're sure DTMF dialpad is in an appropriate state, reflect
+ // the dialpad state into CallCard
+ updateCallCardVisibilityPerDialerState(false);
+
updateProgressIndication();
// Forcibly take down all dialog if an incoming call is ringing.
@@ -2338,8 +2521,10 @@ private SyncWithPhoneStateStatus syncWithPhoneState() {
// happening in the background.
boolean showProgressIndication = mApp.inCallUiState.isProgressIndicationActive();
+ boolean showScreenEvenAfterDisconnect = mApp.inCallUiState.showAlreadyDisconnectedState;
+
if (mCM.hasActiveFgCall() || mCM.hasActiveBgCall() || mCM.hasActiveRingingCall()
- || hasPendingMmiCodes || showProgressIndication) {
+ || hasPendingMmiCodes || showProgressIndication || showScreenEvenAfterDisconnect) {
if (VDBG) log("syncWithPhoneState: it's ok to be here; update the screen...");
updateScreen();
return SyncWithPhoneStateStatus.SUCCESS;
@@ -2433,7 +2618,7 @@ private void dontAddVoiceMailNumber() {
* nothing, and instead stay here on the InCallScreen.
*/
private void delayedCleanupAfterDisconnect() {
- log("delayedCleanupAfterDisconnect()... Phone state = " + mCM.getState());
+ if (VDBG) log("delayedCleanupAfterDisconnect()... Phone state = " + mCM.getState());
// Clean up any connections in the DISCONNECTED state.
//
@@ -2456,7 +2641,7 @@ private void delayedCleanupAfterDisconnect() {
boolean stayHere = phoneIsInUse() || mApp.inCallUiState.isProgressIndicationActive();
if (stayHere) {
- log("- delayedCleanupAfterDisconnect: staying on the InCallScreen...");
+ if (DBG) log("- delayedCleanupAfterDisconnect: staying on the InCallScreen...");
} else {
// Phone is idle! We should exit the in-call UI now.
if (DBG) log("- delayedCleanupAfterDisconnect: phone is idle...");
@@ -2501,13 +2686,14 @@ private void delayedCleanupAfterDisconnect() {
&& !isPhoneStateRestricted()
&& PhoneApp.sVoiceCapable) {
final Intent intent = mApp.createPhoneEndIntentUsingCallOrigin();
- intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
+ ActivityOptions opts = ActivityOptions.makeCustomAnimation(this,
+ R.anim.activity_close_enter, R.anim.activity_close_exit);
if (VDBG) {
log("- Show Call Log (or Dialtacts) after disconnect. Current intent: "
+ intent);
}
try {
- startActivity(intent);
+ startActivity(intent, opts.toBundle());
} catch (ActivityNotFoundException e) {
// Don't crash if there's somehow no "Call log" at
// all on this device.
@@ -2539,11 +2725,15 @@ private void delayedCleanupAfterDisconnect() {
* This method handles clicks from UI elements that use the
* InCallScreen itself as their OnClickListener.
*
- * Note: Currently this method is used only for a few special buttons: the
- * mButtonManageConferenceDone "Back to call" button, and the OTASP-specific
- * buttons managed by OtaUtils.java. *Most* in-call controls are handled by
- * the handleOnscreenButtonClick() method, via the InCallTouchUi widget.
+ * Note: Currently this method is used only for a few special buttons:
+ * - the mButtonManageConferenceDone "Back to call" button
+ * - the "dim" effect for the secondary call photo in CallCard as the second "swap" button
+ * - other OTASP-specific buttons managed by OtaUtils.java.
+ *
+ * *Most* in-call controls are handled by the handleOnscreenButtonClick() method, via the
+ * InCallTouchUi widget.
*/
+ @Override
public void onClick(View view) {
int id = view.getId();
if (VDBG) log("onClick(View " + view + ", id " + id + ")...");
@@ -2556,6 +2746,12 @@ public void onClick(View view) {
requestUpdateScreen();
break;
+ case R.id.dim_effect_for_secondary_photo:
+ if (mInCallControlState.canSwap) {
+ internalSwapCalls();
+ }
+ break;
+
default:
// Presumably one of the OTASP-specific buttons managed by
// OtaUtils.java.
@@ -2613,7 +2809,7 @@ private void onHoldClick() {
// enough.)
// Also, any time we hold or unhold, force the DTMF dialpad to close.
- hideDialpadInternal(true); // do the "closing" animation
+ closeDialpadInternal(true); // do the "closing" animation
}
/**
@@ -2756,19 +2952,23 @@ public void switchInCallAudio(InCallAudioMode newMode) {
}
/**
- * Handle a click on the "Show/Hide dialpad" button.
+ * Handle a click on the "Open/Close dialpad" button.
+ *
+ * @see DTMFTwelveKeyDialer#openDialer(boolean)
+ * @see DTMFTwelveKeyDialer#closeDialer(boolean)
*/
- private void onShowHideDialpad() {
- if (VDBG) log("onShowHideDialpad()...");
+ private void onOpenCloseDialpad() {
+ if (VDBG) log("onOpenCloseDialpad()...");
if (mDialer.isOpened()) {
- hideDialpadInternal(true); // do the "closing" animation
+ closeDialpadInternal(true); // do the "closing" animation
} else {
- showDialpadInternal(true); // do the "opening" animation
+ openDialpadInternal(true); // do the "opening" animation
}
+ mApp.updateProximitySensorMode(mCM.getState());
}
- // Internal wrapper around DTMFTwelveKeyDialer.openDialer()
- private void showDialpadInternal(boolean animate) {
+ /** Internal wrapper around {@link DTMFTwelveKeyDialer#openDialer(boolean)} */
+ private void openDialpadInternal(boolean animate) {
mDialer.openDialer(animate);
// And update the InCallUiState (so that we'll restore the dialpad
// to the correct state if we get paused/resumed).
@@ -2776,7 +2976,7 @@ private void showDialpadInternal(boolean animate) {
}
// Internal wrapper around DTMFTwelveKeyDialer.closeDialer()
- private void hideDialpadInternal(boolean animate) {
+ private void closeDialpadInternal(boolean animate) {
mDialer.closeDialer(animate);
// And update the InCallUiState (so that we'll restore the dialpad
// to the correct state if we get paused/resumed).
@@ -2812,7 +3012,7 @@ private void hideDialpadInternal(boolean animate) {
internalHangup();
break;
case R.id.dialpadButton:
- onShowHideDialpad();
+ onOpenCloseDialpad();
break;
case R.id.muteButton:
onMuteClick();
@@ -2857,45 +3057,6 @@ private void hideDialpadInternal(boolean animate) {
updateInCallTouchUi();
}
- /**
- * Update the network provider's overlay based on the value of
- * InCallUiState.providerOverlayVisible.
- * If false the overlay is hidden otherwise it is shown. A
- * delayed message is posted to take the overalay down after
- * PROVIDER_OVERLAY_TIMEOUT. This ensures the user will see the
- * overlay even if the call setup phase is very short.
- */
- private void updateProviderOverlay() {
- final InCallUiState inCallUiState = mApp.inCallUiState;
-
- if (VDBG) log("updateProviderOverlay: " + inCallUiState.providerOverlayVisible);
-
- ViewGroup overlay = (ViewGroup) findViewById(R.id.inCallProviderOverlay);
-
- if (inCallUiState.providerOverlayVisible) {
- CharSequence template = getText(R.string.calling_via_template);
- CharSequence text = TextUtils.expandTemplate(template,
- inCallUiState.providerLabel,
- inCallUiState.providerAddress);
-
- TextView message = (TextView) findViewById(R.id.callingVia);
- message.setText(text);
-
- ImageView image = (ImageView) findViewById(R.id.callingViaIcon);
- image.setImageDrawable(inCallUiState.providerIcon);
-
- overlay.setVisibility(View.VISIBLE);
-
- // Remove any zombie messages and then send a message to
- // self to remove the overlay after some time.
- mHandler.removeMessages(EVENT_HIDE_PROVIDER_OVERLAY);
- Message msg = Message.obtain(mHandler, EVENT_HIDE_PROVIDER_OVERLAY);
- mHandler.sendMessageDelayed(msg, PROVIDER_OVERLAY_TIMEOUT);
- } else {
- overlay.setVisibility(View.GONE);
- }
- }
-
/**
* Display a status or error indication to the user according to the
* specified InCallUiState.CallStatusCode value.
@@ -3074,7 +3235,7 @@ private void showCallLostDialog() {
mCallLostDialog = new AlertDialog.Builder(this)
.setMessage(R.string.call_lost)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.create();
mCallLostDialog.show();
}
@@ -3332,7 +3493,7 @@ private void dismissProgressIndication() {
* ringing or waiting call.
*/
private void internalAnswerCall() {
- log("internalAnswerCall()...");
+ if (DBG) log("internalAnswerCall()...");
// if (DBG) PhoneUtils.dumpCallState(mPhone);
final boolean hasRingingCall = mCM.hasActiveRingingCall();
@@ -3376,7 +3537,8 @@ private void internalAnswerCall() {
} else {
PhoneUtils.answerCall(ringing);
}
- }else if (phoneType == Phone.PHONE_TYPE_GSM){
+ } else if (phoneType == Phone.PHONE_TYPE_GSM) {
+ if (DBG) log("internalAnswerCall: answering (GSM)...");
// GSM: this is usually just a wrapper around
// PhoneUtils.answerCall(), *but* we also need to do
// something special for the "both lines in use" case.
@@ -3450,11 +3612,6 @@ private void internalRespondViaSms() {
log("internalRespondViaSms()...");
if (VDBG) PhoneUtils.dumpCallManager();
- if (mRespondViaSmsManager == null) {
- throw new IllegalStateException(
- "got internalRespondViaSms(), but mRespondViaSmsManager was never initialized");
- }
-
// In the rare case when multiple calls are ringing, the UI policy
// it to always act on the first ringing call.
Call ringingCall = mCM.getFirstActiveRingingCall();
@@ -3528,7 +3685,7 @@ private void internalSwapCalls() {
// Any time we swap calls, force the DTMF dialpad to close.
// (We want the regular in-call UI to be visible right now, so the
// user can clearly see which call is now in the foreground.)
- hideDialpadInternal(true); // do the "closing" animation
+ closeDialpadInternal(true); // do the "closing" animation
// Also, clear out the "history" of DTMF digits you typed, to make
// sure you don't see digits from call #1 while call #2 is active.
@@ -3599,7 +3756,7 @@ private void setInCallScreenMode(InCallScreenMode newMode) {
mManageConferenceUtils.updateManageConferencePanel(connections);
// The "Manage conference" UI takes up the full main frame,
- // replacing the inCallPanel and CallCard PopupWindow.
+ // replacing the CallCard PopupWindow.
mManageConferenceUtils.setPanelVisible(true);
// Start the chronometer.
@@ -3614,31 +3771,13 @@ private void setInCallScreenMode(InCallScreenMode newMode) {
mManageConferenceUtils.startConferenceTime(
SystemClock.elapsedRealtime() - callDuration);
- mInCallPanel.setVisibility(View.GONE);
-
// No need to close the dialer here, since the Manage
// Conference UI will just cover it up anyway.
break;
case CALL_ENDED:
- // Display the CallCard (in the "Call ended" state)
- // and hide all other UI.
-
- mManageConferenceUtils.setPanelVisible(false);
- mManageConferenceUtils.stopConferenceTime();
-
- // Make sure the CallCard (which is a child of mInCallPanel) is visible.
- mInCallPanel.setVisibility(View.VISIBLE);
-
- break;
-
case NORMAL:
- if (isDialerOpened()) {
- mInCallPanel.setVisibility(View.GONE);
- } else {
- mInCallPanel.setVisibility(View.VISIBLE);
- }
mManageConferenceUtils.setPanelVisible(false);
mManageConferenceUtils.stopConferenceTime();
break;
@@ -3646,13 +3785,11 @@ private void setInCallScreenMode(InCallScreenMode newMode) {
case OTA_NORMAL:
mApp.otaUtils.setCdmaOtaInCallScreenUiState(
OtaUtils.CdmaOtaInCallScreenUiState.State.NORMAL);
- mInCallPanel.setVisibility(View.GONE);
break;
case OTA_ENDED:
mApp.otaUtils.setCdmaOtaInCallScreenUiState(
OtaUtils.CdmaOtaInCallScreenUiState.State.ENDED);
- mInCallPanel.setVisibility(View.GONE);
break;
case UNDEFINED:
@@ -3692,7 +3829,6 @@ private void setInCallScreenMode(InCallScreenMode newMode) {
log("WARNING: Setting mode to UNDEFINED but phone is OFFHOOK,"
+ " skip cleanOtaScreen.");
}
- mInCallPanel.setVisibility(View.VISIBLE);
break;
}
}
@@ -3758,55 +3894,46 @@ private void updateManageConferencePanelIfNecessary() {
}
/**
- * Updates the visibility of the DTMF dialpad (and its onscreen
- * "handle", if applicable), based on the current state of the phone
- * and/or the current InCallScreenMode.
+ * Updates {@link #mCallCard}'s visibility state per DTMF dialpad visibility. They
+ * cannot be shown simultaneously and thus we should reflect DTMF dialpad visibility into
+ * another.
+ *
+ * Note: During OTA calls or users' managing conference calls, we should *not* call this method
+ * but manually manage both visibility.
+ *
+ * @see #updateScreen()
*/
- private void updateDialpadVisibility() {
- //
- // (1) The dialpad itself:
- //
- // If an incoming call is ringing, make sure the dialpad is
- // closed. (We do this to make sure we're not covering up the
- // "incoming call" UI, and especially to make sure that the "touch
- // lock" overlay won't appear.)
- if (mCM.getState() == Phone.State.RINGING) {
- hideDialpadInternal(false); // don't do the "closing" animation
-
- // Also, clear out the "history" of DTMF digits you may have typed
- // into the previous call (so you don't see the previous call's
- // digits if you answer this call and then bring up the dialpad.)
- //
- // TODO: it would be more precise to do this when you *answer* the
- // incoming call, rather than as soon as it starts ringing, but
- // the InCallScreen doesn't keep enough state right now to notice
- // that specific transition in onPhoneStateChanged().
- mDialer.clearDigits();
- }
-
- //
- // (2) The main in-call panel (containing the CallCard):
- //
- // We need to hide the CallCard (which is a
- // child of mInCallPanel) while the dialpad is visible.
- //
-
+ private void updateCallCardVisibilityPerDialerState(boolean animate) {
+ // We need to hide the CallCard while the dialpad is visible.
if (isDialerOpened()) {
- if (VDBG) log("- updateDialpadVisibility: dialpad open, hide mInCallPanel...");
- CallCard.Fade.hide(mInCallPanel, View.GONE);
+ if (VDBG) {
+ log("- updateCallCardVisibilityPerDialerState(animate="
+ + animate + "): dialpad open, hide mCallCard...");
+ }
+ if (animate) {
+ AnimationUtils.Fade.hide(mCallCard, View.GONE);
+ } else {
+ mCallCard.setVisibility(View.GONE);
+ }
} else {
- // Dialpad is dismissed; bring back the CallCard if
- // it's supposed to be visible.
+ // Dialpad is dismissed; bring back the CallCard if it's supposed to be visible.
if ((mApp.inCallUiState.inCallScreenMode == InCallScreenMode.NORMAL)
|| (mApp.inCallUiState.inCallScreenMode == InCallScreenMode.CALL_ENDED)) {
- if (VDBG) log("- updateDialpadVisibility: dialpad dismissed, show mInCallPanel...");
- CallCard.Fade.show(mInCallPanel);
+ if (VDBG) {
+ log("- updateCallCardVisibilityPerDialerState(animate="
+ + animate + "): dialpad dismissed, show mCallCard...");
+ }
+ if (animate) {
+ AnimationUtils.Fade.show(mCallCard);
+ } else {
+ mCallCard.setVisibility(View.VISIBLE);
+ }
}
}
}
/**
- * @return true if the DTMF dialpad is currently visible.
+ * @see DTMFTwelveKeyDialer#isOpened()
*/
/* package */ boolean isDialerOpened() {
return (mDialer != null && mDialer.isOpened());
@@ -3814,16 +3941,16 @@ private void updateDialpadVisibility() {
/**
* Called any time the DTMF dialpad is opened.
- * @see DTMFTwelveKeyDialer.onDialerOpen()
+ * @see DTMFTwelveKeyDialer#openDialer(boolean)
*/
- /* package */ void onDialerOpen() {
+ /* package */ void onDialerOpen(boolean animate) {
if (DBG) log("onDialerOpen()...");
// Update the in-call touch UI.
updateInCallTouchUi();
- // Update any other onscreen UI elements that depend on the dialpad.
- updateDialpadVisibility();
+ // Update CallCard UI, which depends on the dialpad.
+ updateCallCardVisibilityPerDialerState(animate);
// This counts as explicit "user activity".
mApp.pokeUserActivity();
@@ -3840,9 +3967,9 @@ private void updateDialpadVisibility() {
/**
* Called any time the DTMF dialpad is closed.
- * @see DTMFTwelveKeyDialer.onDialerClose()
+ * @see DTMFTwelveKeyDialer#closeDialer(boolean)
*/
- /* package */ void onDialerClose() {
+ /* package */ void onDialerClose(boolean animate) {
if (DBG) log("onDialerClose()...");
// OTA-specific cleanup upon closing the dialpad.
@@ -3859,9 +3986,8 @@ private void updateDialpadVisibility() {
// Update the in-call touch UI.
updateInCallTouchUi();
- // Update the visibility of the dialpad itself (and any other
- // onscreen UI elements that depend on it.)
- updateDialpadVisibility();
+ // Update CallCard UI, which depends on the dialpad.
+ updateCallCardVisibilityPerDialerState(animate);
// This counts as explicit "user activity".
mApp.pokeUserActivity();
@@ -3870,7 +3996,7 @@ private void updateDialpadVisibility() {
/**
* Determines when we can dial DTMF tones.
*/
- private boolean okToDialDTMFTones() {
+ /* package */ boolean okToDialDTMFTones() {
final boolean hasRingingCall = mCM.hasActiveRingingCall();
final Call.State fgCallState = mCM.getActiveFgCallState();
@@ -3903,9 +4029,9 @@ private boolean okToDialDTMFTones() {
* dialpad" onscreen button; see InCallControlState.dialpadEnabled.)
*/
/* package */ boolean okToShowDialpad() {
- // The dialpad is available only when it's OK to dial DTMF
- // tones given the current state of the current call.
- return okToDialDTMFTones();
+ // Very similar to okToDialDTMFTones(), but allow DIALING here.
+ final Call.State fgCallState = mCM.getActiveFgCallState();
+ return okToDialDTMFTones() || (fgCallState == Call.State.DIALING);
}
/**
@@ -3959,29 +4085,6 @@ private void updateInCallTouchUi() {
mHandler.sendEmptyMessage(REQUEST_UPDATE_SCREEN);
}
- /**
- * @return true if it's OK to display the in-call touch UI, given the
- * current state of the InCallScreen.
- */
- /* package */ boolean okToShowInCallTouchUi() {
- // Note that this method is concerned only with the internal state
- // of the InCallScreen. (The InCallTouchUi widget has separate
- // logic to make sure it's OK to display the touch UI given the
- // current telephony state, and that it's allowed on the current
- // device in the first place.)
-
- // The touch UI is available in the following InCallScreenModes:
- // - NORMAL (obviously)
- // - CALL_ENDED (which is intended to look mostly the same as
- // a normal in-call state, even though the in-call
- // buttons are mostly disabled)
- // and is hidden in any of the other modes, like MANAGE_CONFERENCE
- // or one of the OTA modes (which use totally different UIs.)
-
- return ((mApp.inCallUiState.inCallScreenMode == InCallScreenMode.NORMAL)
- || (mApp.inCallUiState.inCallScreenMode == InCallScreenMode.CALL_ENDED));
- }
-
/**
* @return true if we're in restricted / emergency dialing only mode.
*/
@@ -4291,7 +4394,7 @@ private boolean checkOtaspStateOnResume() {
// (This call has no effect if the UI widgets have already been set up.
// It only really matters the very first time that the InCallScreen instance
// is onResume()d after starting an OTASP call.)
- mApp.otaUtils.updateUiWidgets(this, mInCallPanel, mInCallTouchUi, mCallCard);
+ mApp.otaUtils.updateUiWidgets(this, mInCallTouchUi, mCallCard);
// Also update the InCallScreenMode based on the cdmaOtaInCallScreenState.
@@ -4403,6 +4506,24 @@ public void resetInCallScreenMode() {
}
}
+
+ /**
+ * Used when we need to update buttons outside InCallTouchUi's updateInCallControls() along
+ * with that method being called. CallCard may call this too because it doesn't have
+ * enough information to update buttons inside itself (more specifically, the class cannot
+ * obtain mInCallControllState without some side effect. See also
+ * {@link #getUpdatedInCallControlState()}. We probably don't want a method like
+ * getRawCallControlState() which returns raw intance with no side effect just for this
+ * corner case scenario)
+ *
+ * TODO: need better design for buttons outside InCallTouchUi.
+ */
+ /* package */ void updateButtonStateOutsideInCallTouchUi() {
+ if (mCallCard != null) {
+ mCallCard.setSecondaryCallClickable(mInCallControlState.canSwap);
+ }
+ }
+
@Override
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
super.dispatchPopulateAccessibilityEvent(event);
@@ -4464,14 +4585,20 @@ private void onIncomingRing() {
/**
* Handles a "new ringing connection" event from the telephony layer.
+ *
+ * This event comes in right at the start of the incoming-call sequence,
+ * exactly once per incoming call.
+ *
+ * Watch out: this won't be called if InCallScreen isn't ready yet,
+ * which typically happens for the first incoming phone call (even before
+ * the possible first outgoing call).
*/
private void onNewRingingConnection() {
if (DBG) log("onNewRingingConnection()...");
- // This event comes in right at the start of the incoming-call
- // sequence, exactly once per incoming call. We use this event to
- // reset any incoming-call-related UI elements that might have
- // been left in an inconsistent state after a prior incoming call.
+ // We use this event to reset any incoming-call-related UI elements
+ // that might have been left in an inconsistent state after a prior
+ // incoming call.
// (Note we do this whether or not we're the foreground activity,
// since this event comes in *before* we actually get launched to
// display the incoming-call UI.)
@@ -4484,12 +4611,44 @@ private void onNewRingingConnection() {
// need it here too, to make sure the popup gets reset in the case
// where a call-waiting call comes in while the InCallScreen is
// already in the foreground.)
- if (mRespondViaSmsManager != null) {
- mRespondViaSmsManager.dismissPopup(); // safe even if already dismissed
+ mRespondViaSmsManager.dismissPopup(); // safe even if already dismissed
+ }
+
+ /**
+ * Enables or disables the status bar "window shade" based on the current situation.
+ */
+ private void updateExpandedViewState() {
+ if (mIsForegroundActivity) {
+ if (mApp.proximitySensorModeEnabled()) {
+ // We should not enable notification's expanded view on RINGING state.
+ mApp.notificationMgr.statusBarHelper.enableExpandedView(
+ mCM.getState() != Phone.State.RINGING);
+ } else {
+ // If proximity sensor is unavailable on the device, disable it to avoid false
+ // touches toward notifications.
+ mApp.notificationMgr.statusBarHelper.enableExpandedView(false);
+ }
+ } else {
+ mApp.notificationMgr.statusBarHelper.enableExpandedView(true);
}
}
private void log(String msg) {
Log.d(LOG_TAG, msg);
}
+
+ /**
+ * Requests to remove provider info frame after having
+ * {@link #PROVIDER_INFO_TIMEOUT}) msec delay.
+ */
+ /* package */ void requestRemoveProviderInfoWithDelay() {
+ // Remove any zombie messages and then send a message to
+ // self to remove the provider info after some time.
+ mHandler.removeMessages(EVENT_HIDE_PROVIDER_INFO);
+ Message msg = Message.obtain(mHandler, EVENT_HIDE_PROVIDER_INFO);
+ mHandler.sendMessageDelayed(msg, PROVIDER_INFO_TIMEOUT);
+ if (DBG) {
+ log("Requested to remove provider info after " + PROVIDER_INFO_TIMEOUT + " msec.");
+ }
+ }
}
diff --git a/src/com/android/phone/InCallScreenShowActivation.java b/src/com/android/phone/InCallScreenShowActivation.java
index 2e5192e16..ad13186f4 100644
--- a/src/com/android/phone/InCallScreenShowActivation.java
+++ b/src/com/android/phone/InCallScreenShowActivation.java
@@ -24,6 +24,7 @@
import android.util.Log;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
/**
* Invisible activity that handles the com.android.phone.PERFORM_CDMA_PROVISIONING intent.
diff --git a/src/com/android/phone/InCallTouchUi.java b/src/com/android/phone/InCallTouchUi.java
index f8ddc8f34..9845fa830 100644
--- a/src/com/android/phone/InCallTouchUi.java
+++ b/src/com/android/phone/InCallTouchUi.java
@@ -16,20 +16,24 @@
package com.android.phone;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.content.Context;
-import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
+import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
-import android.view.LayoutInflater;
+import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewPropertyAnimator;
+import android.view.ViewStub;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
@@ -37,13 +41,14 @@
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.PopupMenu;
+import android.widget.Toast;
import com.android.internal.telephony.Call;
-import com.android.internal.telephony.Phone;
-import com.android.internal.widget.multiwaveview.MultiWaveView;
-import com.android.internal.widget.multiwaveview.MultiWaveView.OnTriggerListener;
import com.android.internal.telephony.CallManager;
-
+import com.android.internal.telephony.Phone;
+import com.android.internal.widget.multiwaveview.GlowPadView;
+import com.android.internal.widget.multiwaveview.GlowPadView.OnTriggerListener;
+import com.android.phone.InCallUiState.InCallScreenMode;
/**
* In-call onscreen touch UI elements, used on some platforms.
@@ -52,9 +57,8 @@
* non-touch-sensitive parts of the in-call UI (i.e. the call card).
*/
public class InCallTouchUi extends FrameLayout
- implements View.OnClickListener, OnTriggerListener,
+ implements View.OnClickListener, View.OnLongClickListener, OnTriggerListener,
PopupMenu.OnMenuItemClickListener, PopupMenu.OnDismissListener {
- private static final int IN_CALL_WIDGET_TRANSITION_TIME = 250; // in ms
private static final String LOG_TAG = "InCallTouchUi";
private static final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
@@ -74,8 +78,14 @@ public class InCallTouchUi extends FrameLayout
private PhoneApp mApp;
// UI containers / elements
- private MultiWaveView mIncomingCallWidget; // UI used for an incoming call
- private View mInCallControls; // UI elements while on a regular call
+ private GlowPadView mIncomingCallWidget; // UI used for an incoming call
+ private boolean mIncomingCallWidgetIsFadingOut;
+ private boolean mIncomingCallWidgetShouldBeReset = true;
+
+ /** UI elements while on a regular call (bottom buttons, DTMF dialpad) */
+ private View mInCallControls;
+ private boolean mShowInCallControlsDuringHidingAnimation;
+
//
private ImageButton mAddButton;
private ImageButton mMergeButton;
@@ -86,8 +96,9 @@ public class InCallTouchUi extends FrameLayout
private CompoundButton mHoldButton;
private ImageButton mSwapButton;
private View mHoldSwapSpacer;
- //
- private ViewGroup mExtraButtonRow;
+
+ // "Extra button row"
+ private ViewStub mExtraButtonRow;
private ViewGroup mCdmaMergeButton;
private ViewGroup mManageConferenceButton;
private ImageButton mManageConferenceButtonImage;
@@ -99,7 +110,7 @@ public class InCallTouchUi extends FrameLayout
// Time of the most recent "answer" or "reject" action (see updateState())
private long mLastIncomingCallActionTime; // in SystemClock.uptimeMillis() time base
- // Parameters for the MultiWaveView "ping" animation; see triggerPing().
+ // Parameters for the GlowPadView "ping" animation; see triggerPing().
private static final boolean ENABLE_PING_ON_RING_EVENTS = false;
private static final boolean ENABLE_PING_AUTO_REPEAT = true;
private static final long PING_AUTO_REPEAT_DELAY_MSEC = 1200;
@@ -124,21 +135,12 @@ public void handleMessage(Message msg) {
}
};
-
public InCallTouchUi(Context context, AttributeSet attrs) {
super(context, attrs);
if (DBG) log("InCallTouchUi constructor...");
if (DBG) log("- this = " + this);
if (DBG) log("- context " + context + ", attrs " + attrs);
-
- // Inflate our contents, and add it (to ourself) as a child.
- LayoutInflater inflater = LayoutInflater.from(context);
- inflater.inflate(
- R.layout.incall_touch_ui, // resource
- this, // root
- true);
-
mApp = PhoneApp.getInstance();
}
@@ -154,7 +156,7 @@ protected void onFinishInflate() {
// Look up the various UI elements.
// "Drag-to-answer" widget for incoming calls.
- mIncomingCallWidget = (MultiWaveView) findViewById(R.id.incomingCallWidget);
+ mIncomingCallWidget = (GlowPadView) findViewById(R.id.incomingCallWidget);
mIncomingCallWidget.setOnTriggerListener(this);
// Container for the UI elements shown while on a regular call.
@@ -164,20 +166,27 @@ protected void onFinishInflate() {
// Main cluster of buttons:
mAddButton = (ImageButton) mInCallControls.findViewById(R.id.addButton);
mAddButton.setOnClickListener(this);
+ mAddButton.setOnLongClickListener(this);
mMergeButton = (ImageButton) mInCallControls.findViewById(R.id.mergeButton);
mMergeButton.setOnClickListener(this);
+ mMergeButton.setOnLongClickListener(this);
mEndButton = (ImageButton) mInCallControls.findViewById(R.id.endButton);
mEndButton.setOnClickListener(this);
mDialpadButton = (CompoundButton) mInCallControls.findViewById(R.id.dialpadButton);
mDialpadButton.setOnClickListener(this);
+ mDialpadButton.setOnLongClickListener(this);
mMuteButton = (CompoundButton) mInCallControls.findViewById(R.id.muteButton);
mMuteButton.setOnClickListener(this);
+ mMuteButton.setOnLongClickListener(this);
mAudioButton = (CompoundButton) mInCallControls.findViewById(R.id.audioButton);
mAudioButton.setOnClickListener(this);
+ mAudioButton.setOnLongClickListener(this);
mHoldButton = (CompoundButton) mInCallControls.findViewById(R.id.holdButton);
mHoldButton.setOnClickListener(this);
+ mHoldButton.setOnLongClickListener(this);
mSwapButton = (ImageButton) mInCallControls.findViewById(R.id.swapButton);
mSwapButton.setOnClickListener(this);
+ mSwapButton.setOnLongClickListener(this);
mHoldSwapSpacer = mInCallControls.findViewById(R.id.holdSwapSpacer);
// TODO: Back when these buttons had text labels, we changed
@@ -195,34 +204,9 @@ protected void onFinishInflate() {
// button in CDMA.
// Buttons shown on the "extra button row", only visible in certain (rare) states.
- mExtraButtonRow = (ViewGroup) mInCallControls.findViewById(R.id.extraButtonRow);
- // The two "buttons" here (mCdmaMergeButton and mManageConferenceButton)
- // are actually layouts containing an icon and a text label side-by-side.
- mCdmaMergeButton =
- (ViewGroup) mInCallControls.findViewById(R.id.cdmaMergeButton);
- mCdmaMergeButton.setOnClickListener(this);
- //
- mManageConferenceButton =
- (ViewGroup) mInCallControls.findViewById(R.id.manageConferenceButton);
- mManageConferenceButton.setOnClickListener(this);
- mManageConferenceButtonImage =
- (ImageButton) mInCallControls.findViewById(R.id.manageConferenceButtonImage);
+ mExtraButtonRow = (ViewStub) mInCallControls.findViewById(R.id.extraButtonRow);
- // Add a custom OnTouchListener to manually shrink the "hit
- // target" of some buttons.
- // (We do this for a few specific buttons which are vulnerable to
- // "false touches" because either (1) they're near the edge of the
- // screen and might be unintentionally touched while holding the
- // device in your hand, or (2) they're in the upper corners and might
- // be touched by the user's ear before the prox sensor has a chance to
- // kick in.)
- //
- // TODO (new ICS layout): not sure which buttons need this yet.
- // For now, use it only with the "End call" button (which extends all
- // the way to the edges of the screen). But we can consider doing
- // this for "Dialpad" and/or "Add call" if those turn out to be a
- // problem too.
- //
+ // Add a custom OnTouchListener to manually shrink the "hit target".
View.OnTouchListener smallerHitTargetTouchListener = new SmallerHitTargetTouchListener();
mEndButton.setOnTouchListener(smallerHitTargetTouchListener);
}
@@ -231,7 +215,7 @@ protected void onFinishInflate() {
* Updates the visibility and/or state of our UI elements, based on
* the current state of the phone.
*/
- void updateState(CallManager cm) {
+ /* package */ void updateState(CallManager cm) {
if (mInCallScreen == null) {
log("- updateState: mInCallScreen has been destroyed; bailing out...");
return;
@@ -251,8 +235,7 @@ void updateState(CallManager cm) {
// layer rejects the ringing call while the FG call is dialing/alerting,
// but the incoming call *does* briefly exist in the DISCONNECTING or
// DISCONNECTED state.
- if ((ringingCall.getState() != Call.State.IDLE)
- && !fgCallState.isDialing()) {
+ if ((ringingCall.getState() != Call.State.IDLE) && !fgCallState.isDialing()) {
// A phone call is ringing *or* call waiting.
// Watch out: even if the phone state is RINGING, it's
@@ -266,9 +249,14 @@ void updateState(CallManager cm) {
}
// Ugly hack to cover up slow response from the radio:
- // if we attempted to answer or reject an incoming call
- // within the last 500 msec, *don't* show the incoming call
+ // if we get an updateState() call immediately after answering/rejecting a call
+ // (via onTrigger()), *don't* show the incoming call
// UI even if the phone is still in the RINGING state.
+ // This covers up a slow response from the radio for some actions.
+ // To detect that situation, we are using "500 msec" heuristics.
+ //
+ // Watch out: we should *not* rely on this behavior when "instant text response" action
+ // has been chosen. See also onTrigger() for why.
long now = SystemClock.uptimeMillis();
if (now < mLastIncomingCallActionTime + 500) {
log("updateState: Too soon after last action; not drawing!");
@@ -276,20 +264,31 @@ void updateState(CallManager cm) {
}
} else {
// Ok, show the regular in-call touch UI (with some exceptions):
- if (mInCallScreen.okToShowInCallTouchUi()) {
+ if (okToShowInCallControls()) {
showInCallControls = true;
} else {
if (DBG) log("- updateState: NOT OK to show touch UI; disabling...");
}
}
- // Update visibility and state of the incoming call controls or
- // the normal in-call controls.
-
+ // In usual cases we don't allow showing both incoming call controls and in-call controls.
+ //
+ // There's one exception: if this call is during fading-out animation for the incoming
+ // call controls, we need to show both for smoother transition.
if (showIncomingCallControls && showInCallControls) {
throw new IllegalStateException(
"'Incoming' and 'in-call' touch controls visible at the same time!");
}
+ if (mShowInCallControlsDuringHidingAnimation) {
+ if (DBG) {
+ log("- updateState: FORCE showing in-call controls during incoming call widget"
+ + " being hidden with animation");
+ }
+ showInCallControls = true;
+ }
+
+ // Update visibility and state of the incoming call controls or
+ // the normal in-call controls.
if (showInCallControls) {
if (DBG) log("- updateState: showing in-call controls...");
@@ -340,7 +339,26 @@ void updateState(CallManager cm) {
}
}
- // View.OnClickListener implementation
+ private boolean okToShowInCallControls() {
+ // Note that this method is concerned only with the internal state
+ // of the InCallScreen. (The InCallTouchUi widget has separate
+ // logic to make sure it's OK to display the touch UI given the
+ // current telephony state, and that it's allowed on the current
+ // device in the first place.)
+
+ // The touch UI is available in the following InCallScreenModes:
+ // - NORMAL (obviously)
+ // - CALL_ENDED (which is intended to look mostly the same as
+ // a normal in-call state, even though the in-call
+ // buttons are mostly disabled)
+ // and is hidden in any of the other modes, like MANAGE_CONFERENCE
+ // or one of the OTA modes (which use totally different UIs.)
+
+ return ((mApp.inCallUiState.inCallScreenMode == InCallScreenMode.NORMAL)
+ || (mApp.inCallUiState.inCallScreenMode == InCallScreenMode.CALL_ENDED));
+ }
+
+ @Override
public void onClick(View view) {
int id = view.getId();
if (DBG) log("onClick(View " + view + ", id " + id + ")...");
@@ -370,17 +388,48 @@ public void onClick(View view) {
}
}
+ @Override
+ public boolean onLongClick(View view) {
+ final int id = view.getId();
+ if (DBG) log("onLongClick(View " + view + ", id " + id + ")...");
+
+ switch (id) {
+ case R.id.addButton:
+ case R.id.mergeButton:
+ case R.id.dialpadButton:
+ case R.id.muteButton:
+ case R.id.holdButton:
+ case R.id.swapButton:
+ case R.id.audioButton: {
+ final CharSequence description = view.getContentDescription();
+ if (!TextUtils.isEmpty(description)) {
+ // Show description as ActionBar's menu buttons do.
+ // See also ActionMenuItemView#onLongClick() for the original implementation.
+ final Toast cheatSheet =
+ Toast.makeText(view.getContext(), description, Toast.LENGTH_SHORT);
+ cheatSheet.setGravity(
+ Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, view.getHeight());
+ cheatSheet.show();
+ }
+ return true;
+ }
+ default:
+ Log.w(LOG_TAG, "onLongClick() with unexpected View " + view + ". Ignoring it.");
+ break;
+ }
+ return false;
+ }
/**
* Updates the enabledness and "checked" state of the buttons on the
* "inCallControls" panel, based on the current telephony state.
*/
- void updateInCallControls(CallManager cm) {
+ private void updateInCallControls(CallManager cm) {
int phoneType = cm.getActiveFgCall().getPhone().getPhoneType();
// Note we do NOT need to worry here about cases where the entire
// in-call touch UI is disabled, like during an OTA call or if the
// dtmf dialpad is up. (That's handled by updateState(), which
- // calls InCallScreen.okToShowInCallTouchUi().)
+ // calls okToShowInCallControls().)
//
// If we get here, it *is* OK to show the in-call touch UI, so we
// now need to update the enabledness and/or "checked" state of
@@ -391,9 +440,10 @@ void updateInCallControls(CallManager cm) {
// state of the various onscreen buttons:
InCallControlState inCallControlState = mInCallScreen.getUpdatedInCallControlState();
- // The "extra button row" will be visible only if any of its
- // buttons need to be visible.
- boolean showExtraButtonRow = false;
+ if (DBG) {
+ log("updateInCallControls()...");
+ inCallControlState.dumpState();
+ }
// "Add" / "Merge":
// These two buttons occupy the same space onscreen, so at any
@@ -499,6 +549,7 @@ void updateInCallControls(CallManager cm) {
mHoldSwapSpacer.setVisibility(View.GONE);
}
}
+ mInCallScreen.updateButtonStateOutsideInCallTouchUi();
if (inCallControlState.canSwap && inCallControlState.canHold) {
// Uh oh, the InCallControlState thinks that Swap *and* Hold
// should both be available. This *should* never happen with
@@ -508,17 +559,6 @@ void updateInCallControls(CallManager cm) {
Log.w(LOG_TAG, "updateInCallControls: Hold *and* Swap enabled, but can't show both!");
}
- // CDMA-specific "Merge" button.
- // This button and its label are totally hidden (rather than just disabled)
- // when the operation isn't available.
- boolean showCdmaMerge =
- (phoneType == Phone.PHONE_TYPE_CDMA) && inCallControlState.canMerge;
- if (showCdmaMerge) {
- mCdmaMergeButton.setVisibility(View.VISIBLE);
- showExtraButtonRow = true;
- } else {
- mCdmaMergeButton.setVisibility(View.GONE);
- }
if (phoneType == Phone.PHONE_TYPE_CDMA) {
if (inCallControlState.canSwap && inCallControlState.canMerge) {
// Uh oh, the InCallControlState thinks that Swap *and* Merge
@@ -531,24 +571,94 @@ void updateInCallControls(CallManager cm) {
}
}
- // "Manage conference" (used only on GSM devices)
- // This button and its label are shown or hidden together.
- if (inCallControlState.manageConferenceVisible) {
- mManageConferenceButton.setVisibility(View.VISIBLE);
- showExtraButtonRow = true;
- mManageConferenceButtonImage.setEnabled(inCallControlState.manageConferenceEnabled);
- } else {
- mManageConferenceButton.setVisibility(View.GONE);
- }
-
// Finally, update the "extra button row": It's displayed above the
// "End" button, but only if necessary. Also, it's never displayed
// while the dialpad is visible (since it would overlap.)
+ //
+ // The row contains two buttons:
+ //
+ // - "Manage conference" (used only on GSM devices)
+ // - "Merge" button (used only on CDMA devices)
+ //
+ // Note that mExtraButtonRow is ViewStub, which will be inflated for the first time when
+ // any of its buttons becomes visible.
+ final boolean showCdmaMerge =
+ (phoneType == Phone.PHONE_TYPE_CDMA) && inCallControlState.canMerge;
+ final boolean showExtraButtonRow =
+ showCdmaMerge || inCallControlState.manageConferenceVisible;
if (showExtraButtonRow && !inCallControlState.dialpadVisible) {
+ // This will require the ViewStub inflate itself.
mExtraButtonRow.setVisibility(View.VISIBLE);
+
+ // Need to set up mCdmaMergeButton and mManageConferenceButton if this is the first
+ // time they're visible.
+ if (mCdmaMergeButton == null) {
+ setupExtraButtons();
+ }
+ mCdmaMergeButton.setVisibility(showCdmaMerge ? View.VISIBLE : View.GONE);
+ if (inCallControlState.manageConferenceVisible) {
+ mManageConferenceButton.setVisibility(View.VISIBLE);
+ mManageConferenceButtonImage.setEnabled(inCallControlState.manageConferenceEnabled);
+ } else {
+ mManageConferenceButton.setVisibility(View.GONE);
+ }
} else {
mExtraButtonRow.setVisibility(View.GONE);
}
+
+ if (DBG) {
+ log("At the end of updateInCallControls().");
+ dumpBottomButtonState();
+ }
+ }
+
+ /**
+ * Set up the buttons that are part of the "extra button row"
+ */
+ private void setupExtraButtons() {
+ // The two "buttons" here (mCdmaMergeButton and mManageConferenceButton)
+ // are actually layouts containing an icon and a text label side-by-side.
+ mCdmaMergeButton = (ViewGroup) mInCallControls.findViewById(R.id.cdmaMergeButton);
+ if (mCdmaMergeButton == null) {
+ Log.wtf(LOG_TAG, "CDMA Merge button is null even after ViewStub being inflated.");
+ return;
+ }
+ mCdmaMergeButton.setOnClickListener(this);
+
+ mManageConferenceButton =
+ (ViewGroup) mInCallControls.findViewById(R.id.manageConferenceButton);
+ mManageConferenceButton.setOnClickListener(this);
+ mManageConferenceButtonImage =
+ (ImageButton) mInCallControls.findViewById(R.id.manageConferenceButtonImage);
+ }
+
+ private void dumpBottomButtonState() {
+ log(" - dialpad: " + getButtonState(mDialpadButton));
+ log(" - speaker: " + getButtonState(mAudioButton));
+ log(" - mute: " + getButtonState(mMuteButton));
+ log(" - hold: " + getButtonState(mHoldButton));
+ log(" - swap: " + getButtonState(mSwapButton));
+ log(" - add: " + getButtonState(mAddButton));
+ log(" - merge: " + getButtonState(mMergeButton));
+ log(" - cdmaMerge: " + getButtonState(mCdmaMergeButton));
+ log(" - swap: " + getButtonState(mSwapButton));
+ log(" - manageConferenceButton: " + getButtonState(mManageConferenceButton));
+ }
+
+ private static String getButtonState(View view) {
+ if (view == null) {
+ return "(null)";
+ }
+ StringBuilder builder = new StringBuilder();
+ builder.append("visibility: " + (view.getVisibility() == View.VISIBLE ? "VISIBLE"
+ : view.getVisibility() == View.INVISIBLE ? "INVISIBLE" : "GONE"));
+ if (view instanceof ImageButton) {
+ builder.append(", enabled: " + ((ImageButton) view).isEnabled());
+ } else if (view instanceof CompoundButton) {
+ builder.append(", enabled: " + ((CompoundButton) view).isEnabled());
+ builder.append(", checked: " + ((CompoundButton) view).isChecked());
+ }
+ return builder.toString();
}
/**
@@ -580,7 +690,8 @@ private void updateAudioButton(InCallControlState inCallControlState) {
boolean showMoreIndicator = false;
//
// - Foreground icons for the button. Exactly one of these is enabled:
- boolean showSpeakerIcon = false;
+ boolean showSpeakerOnIcon = false;
+ boolean showSpeakerOffIcon = false;
boolean showHandsetIcon = false;
boolean showBluetoothIcon = false;
@@ -598,7 +709,7 @@ private void updateAudioButton(InCallControlState inCallControlState) {
if (inCallControlState.bluetoothIndicatorOn) {
showBluetoothIcon = true;
} else if (inCallControlState.speakerOn) {
- showSpeakerIcon = true;
+ showSpeakerOnIcon = true;
} else {
showHandsetIcon = true;
// TODO: if a wired headset is plugged in, that takes precedence
@@ -617,7 +728,9 @@ private void updateAudioButton(InCallControlState inCallControlState) {
// Update desired layers:
showToggleStateIndication = true;
- showSpeakerIcon = true;
+
+ showSpeakerOnIcon = inCallControlState.speakerOn;
+ showSpeakerOffIcon = !inCallControlState.speakerOn;
} else {
if (DBG) log("- updateAudioButton: disabled...");
@@ -628,7 +741,7 @@ private void updateAudioButton(InCallControlState inCallControlState) {
// Update desired layers:
showToggleStateIndication = true;
- showSpeakerIcon = true;
+ showSpeakerOffIcon = true;
}
// Finally, update the drawable layers (see btn_compound_audio.xml).
@@ -652,8 +765,11 @@ private void updateAudioButton(InCallControlState inCallControlState) {
layers.findDrawableByLayerId(R.id.handsetItem)
.setAlpha(showHandsetIcon ? VISIBLE : HIDDEN);
- layers.findDrawableByLayerId(R.id.speakerphoneItem)
- .setAlpha(showSpeakerIcon ? VISIBLE : HIDDEN);
+ layers.findDrawableByLayerId(R.id.speakerphoneOnItem)
+ .setAlpha(showSpeakerOnIcon ? VISIBLE : HIDDEN);
+
+ layers.findDrawableByLayerId(R.id.speakerphoneOffItem)
+ .setAlpha(showSpeakerOffIcon ? VISIBLE : HIDDEN);
}
/**
@@ -762,6 +878,7 @@ public void refreshAudioModePopup() {
}
// PopupMenu.OnMenuItemClickListener implementation; see showAudioModePopup()
+ @Override
public boolean onMenuItemClick(MenuItem item) {
if (DBG) log("- onMenuItemClick: " + item);
if (DBG) log(" id: " + item.getItemId());
@@ -798,6 +915,7 @@ public boolean onMenuItemClick(MenuItem item) {
// This gets called when the PopupMenu gets dismissed for *any* reason, like
// the user tapping outside its bounds, or pressing Back, or selecting one
// of the menu items.
+ @Override
public void onDismiss(PopupMenu menu) {
if (DBG) log("- onDismiss: " + menu);
mAudioModePopupVisible = false;
@@ -814,7 +932,7 @@ public void onDismiss(PopupMenu menu) {
* actually used. Specifically:
*
* - If an incoming call is ringing, the button cluster isn't
- * visible at all. (And the MultiWaveView widget is actually
+ * visible at all. (And the GlowPadView widget is actually
* much taller than the button cluster.)
*
* - If the InCallTouchUi widget's "extra button row" is visible
@@ -845,13 +963,15 @@ public int getTouchUiHeight() {
//
- // MultiWaveView.OnTriggerListener implementation
+ // GlowPadView.OnTriggerListener implementation
//
+ @Override
public void onGrabbed(View v, int handle) {
}
+ @Override
public void onReleased(View v, int handle) {
}
@@ -861,16 +981,15 @@ public void onReleased(View v, int handle) {
* We get this callback from the incoming call widget
* when the user triggers an action.
*/
- public void onTrigger(View v, int whichHandle) {
- if (DBG) log("onDialTrigger(whichHandle = " + whichHandle + ")...");
-
- // On any action by the user, hide the widget:
- hideIncomingCallWidget();
+ @Override
+ public void onTrigger(View view, int whichHandle) {
+ if (DBG) log("onTrigger(whichHandle = " + whichHandle + ")...");
- // ...and also prevent it from reappearing right away.
- // (This covers up a slow response from the radio for some
- // actions; see updateState().)
- mLastIncomingCallActionTime = SystemClock.uptimeMillis();
+ if (mInCallScreen == null) {
+ Log.wtf(LOG_TAG, "onTrigger(" + whichHandle
+ + ") from incoming-call widget, but null mInCallScreen!");
+ return;
+ }
// The InCallScreen actually implements all of these actions.
// Each possible action from the incoming call widget corresponds
@@ -878,25 +997,54 @@ public void onTrigger(View v, int whichHandle) {
// click" handler (even though the UI elements aren't actually
// buttons; see InCallScreen.handleOnscreenButtonClick().)
- if (mInCallScreen == null) {
- Log.wtf(LOG_TAG, "onTrigger(" + whichHandle
- + ") from incoming-call widget, but null mInCallScreen!");
- return;
- }
+ mShowInCallControlsDuringHidingAnimation = false;
switch (whichHandle) {
case ANSWER_CALL_ID:
if (DBG) log("ANSWER_CALL_ID: answer!");
mInCallScreen.handleOnscreenButtonClick(R.id.incomingCallAnswer);
+ mShowInCallControlsDuringHidingAnimation = true;
+
+ // ...and also prevent it from reappearing right away.
+ // (This covers up a slow response from the radio for some
+ // actions; see updateState().)
+ mLastIncomingCallActionTime = SystemClock.uptimeMillis();
break;
case SEND_SMS_ID:
if (DBG) log("SEND_SMS_ID!");
mInCallScreen.handleOnscreenButtonClick(R.id.incomingCallRespondViaSms);
+
+ // Watch out: mLastIncomingCallActionTime should not be updated for this case.
+ //
+ // The variable is originally for avoiding a problem caused by delayed phone state
+ // update; RINGING state may remain just after answering/declining an incoming
+ // call, so we need to wait a bit (500ms) until we get the effective phone state.
+ // For this case, we shouldn't rely on that hack.
+ //
+ // When the user selects this case, there are two possibilities, neither of which
+ // should rely on the hack.
+ //
+ // 1. The first possibility is that, the device eventually sends one of canned
+ // responses per the user's "send" request, and reject the call after sending it.
+ // At that moment the code introducing the canned responses should handle the
+ // case separately.
+ //
+ // 2. The second possibility is that, the device will show incoming call widget
+ // again per the user's "cancel" request, where the incoming call will still
+ // remain. At that moment the incoming call will keep its RINGING state.
+ // The remaining phone state should never be ignored by the hack for
+ // answering/declining calls because the RINGING state is legitimate. If we
+ // use the hack for answer/decline cases, the user loses the incoming call
+ // widget, until further screen update occurs afterward, which often results in
+ // missed calls.
break;
case DECLINE_CALL_ID:
if (DBG) log("DECLINE_CALL_ID: reject!");
mInCallScreen.handleOnscreenButtonClick(R.id.incomingCallReject);
+
+ // Same as "answer" case.
+ mLastIncomingCallActionTime = SystemClock.uptimeMillis();
break;
default:
@@ -904,83 +1052,132 @@ public void onTrigger(View v, int whichHandle) {
break;
}
+ // On any action by the user, hide the widget.
+ //
+ // If requested above (i.e. if mShowInCallControlsDuringHidingAnimation is set to true),
+ // in-call controls will start being shown too.
+ hideIncomingCallWidget();
+
// Regardless of what action the user did, be sure to clear out
// the hint text we were displaying while the user was dragging.
mInCallScreen.updateIncomingCallWidgetHint(0, 0);
}
+ public void onFinishFinalAnimation() {
+ // Not used
+ }
+
/**
* Apply an animation to hide the incoming call widget.
*/
private void hideIncomingCallWidget() {
- if (DBG) log("hideIncomingCallWidget()...");
+ // if (DBG) log("hideIncomingCallWidget()...");
if (mIncomingCallWidget.getVisibility() != View.VISIBLE
- || mIncomingCallWidget.getAnimation() != null) {
+ || mIncomingCallWidgetIsFadingOut) {
// Widget is already hidden or in the process of being hidden
return;
}
- // Hide the incoming call screen with a transition
- AlphaAnimation anim = new AlphaAnimation(1.0f, 0.0f);
- anim.setDuration(IN_CALL_WIDGET_TRANSITION_TIME);
- anim.setAnimationListener(new AnimationListener() {
-
- public void onAnimationStart(Animation animation) {
- }
-
- public void onAnimationRepeat(Animation animation) {
+ // TODO: remove this once we fixed issue 6603655
+ log("hideIncomingCallWidget()");
+ // Hide the incoming call screen with a transition
+ mIncomingCallWidgetIsFadingOut = true;
+ ViewPropertyAnimator animator = mIncomingCallWidget.animate();
+ animator.cancel();
+ animator.setDuration(AnimationUtils.ANIMATION_DURATION);
+ animator.setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationStart(Animator animation) {
+ if (mShowInCallControlsDuringHidingAnimation) {
+ if (DBG) log("IncomingCallWidget's hiding animation started");
+ updateInCallControls(mApp.mCM);
+ mInCallControls.setVisibility(View.VISIBLE);
+ }
}
-
- public void onAnimationEnd(Animation animation) {
- // hide the incoming call UI.
- mIncomingCallWidget.clearAnimation();
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ if (DBG) log("IncomingCallWidget's hiding animation ended");
+ mIncomingCallWidget.setAlpha(1);
mIncomingCallWidget.setVisibility(View.GONE);
+ mIncomingCallWidget.animate().setListener(null);
+ mShowInCallControlsDuringHidingAnimation = false;
+ mIncomingCallWidgetIsFadingOut = false;
+ mIncomingCallWidgetShouldBeReset = true;
+ }
+ @Override
+ public void onAnimationCancel(Animator animation) {
+ mIncomingCallWidget.animate().setListener(null);
+ mShowInCallControlsDuringHidingAnimation = false;
+ mIncomingCallWidgetIsFadingOut = false;
+ mIncomingCallWidgetShouldBeReset = true;
+
+ // Note: the code which reset this animation should be responsible for
+ // alpha and visibility.
}
});
- mIncomingCallWidget.startAnimation(anim);
+ animator.alpha(0f);
}
/**
* Shows the incoming call widget and cancels any animation that may be fading it out.
*/
private void showIncomingCallWidget(Call ringingCall) {
- if (DBG) log("showIncomingCallWidget()...");
+ // if (DBG) log("showIncomingCallWidget()...");
+
+ // TODO: remove this once we fixed issue 6603655
+ // TODO: wouldn't be ok to suppress this whole request if the widget is already VISIBLE
+ // and we don't need to reset it?
+ log("showIncomingCallWidget(). widget visibility: " + mIncomingCallWidget.getVisibility());
- Animation anim = mIncomingCallWidget.getAnimation();
- if (anim != null) {
- anim.reset();
- mIncomingCallWidget.clearAnimation();
+ ViewPropertyAnimator animator = mIncomingCallWidget.animate();
+ if (animator != null) {
+ animator.cancel();
}
+ mIncomingCallWidget.setAlpha(1.0f);
- // Update the MultiWaveView widget's targets based on the state of
+ // Update the GlowPadView widget's targets based on the state of
// the ringing call. (Specifically, we need to disable the
// "respond via SMS" option for certain types of calls, like SIP
// addresses or numbers with blocked caller-id.)
+ final boolean allowRespondViaSms =
+ RespondViaSmsManager.allowRespondViaSmsForCall(mInCallScreen, ringingCall);
+ final int targetResourceId = allowRespondViaSms
+ ? R.array.incoming_call_widget_3way_targets
+ : R.array.incoming_call_widget_2way_targets;
+ // The widget should be updated only when appropriate; if the previous choice can be reused
+ // for this incoming call, we'll just keep using it. Otherwise we'll see UI glitch
+ // everytime when this method is called during a single incoming call.
+ if (targetResourceId != mIncomingCallWidget.getTargetResourceId()) {
+ if (allowRespondViaSms) {
+ // The GlowPadView widget is allowed to have all 3 choices:
+ // Answer, Decline, and Respond via SMS.
+ mIncomingCallWidget.setTargetResources(targetResourceId);
+ mIncomingCallWidget.setTargetDescriptionsResourceId(
+ R.array.incoming_call_widget_3way_target_descriptions);
+ mIncomingCallWidget.setDirectionDescriptionsResourceId(
+ R.array.incoming_call_widget_3way_direction_descriptions);
+ } else {
+ // You only get two choices: Answer or Decline.
+ mIncomingCallWidget.setTargetResources(targetResourceId);
+ mIncomingCallWidget.setTargetDescriptionsResourceId(
+ R.array.incoming_call_widget_2way_target_descriptions);
+ mIncomingCallWidget.setDirectionDescriptionsResourceId(
+ R.array.incoming_call_widget_2way_direction_descriptions);
+ }
- boolean allowRespondViaSms = RespondViaSmsManager.allowRespondViaSmsForCall(ringingCall);
- if (allowRespondViaSms) {
- // The MultiWaveView widget is allowed to have all 3 choices:
- // Answer, Decline, and Respond via SMS.
- mIncomingCallWidget.setTargetResources(R.array.incoming_call_widget_3way_targets);
- mIncomingCallWidget.setTargetDescriptionsResourceId(
- R.array.incoming_call_widget_3way_target_descriptions);
- mIncomingCallWidget.setDirectionDescriptionsResourceId(
- R.array.incoming_call_widget_3way_direction_descriptions);
- } else {
- // You only get two choices: Answer or Decline.
- mIncomingCallWidget.setTargetResources(R.array.incoming_call_widget_2way_targets);
- mIncomingCallWidget.setTargetDescriptionsResourceId(
- R.array.incoming_call_widget_2way_target_descriptions);
- mIncomingCallWidget.setDirectionDescriptionsResourceId(
- R.array.incoming_call_widget_2way_direction_descriptions);
+ // This will be used right after this block.
+ mIncomingCallWidgetShouldBeReset = true;
+ }
+ if (mIncomingCallWidgetShouldBeReset) {
+ // Watch out: be sure to call reset() and setVisibility() *after*
+ // updating the target resources, since otherwise the GlowPadView
+ // widget will make the targets visible initially (even before you
+ // touch the widget.)
+ mIncomingCallWidget.reset(false);
+ mIncomingCallWidgetShouldBeReset = false;
}
- // Watch out: be sure to call reset() and setVisibility() *after*
- // updating the target resources, since otherwise the MultiWaveView
- // widget will make the targets visible initially (even before you
- // touch the widget.)
- mIncomingCallWidget.reset(false);
mIncomingCallWidget.setVisibility(View.VISIBLE);
// Finally, manually trigger a "ping" animation.
@@ -997,7 +1194,7 @@ private void showIncomingCallWidget(Call ringingCall) {
mHandler.sendEmptyMessageDelayed(
INCOMING_CALL_WIDGET_PING,
// Visual polish: add a small delay here, to make the
- // MultiWaveView widget visible for a brief moment
+ // GlowPadView widget visible for a brief moment
// *before* starting the ping animation.
// This value doesn't need to be very precise.
250 /* msec */);
@@ -1008,10 +1205,11 @@ private void showIncomingCallWidget(Call ringingCall) {
*
* In previous releases (where we used a SlidingTab widget) we would
* display an onscreen hint depending on which "handle" the user was
- * dragging. But we now use a MultiWaveView widget, which has only
+ * dragging. But we now use a GlowPadView widget, which has only
* one handle, so for now we don't display a hint at all (see the TODO
* comment below.)
*/
+ @Override
public void onGrabbedStateChange(View v, int grabbedState) {
if (mInCallScreen != null) {
// Look up the hint based on which handle is currently grabbed.
@@ -1020,22 +1218,11 @@ public void onGrabbedStateChange(View v, int grabbedState) {
// handle means "Answer" and the right handle means "Decline".)
int hintTextResId, hintColorResId;
switch (grabbedState) {
- case MultiWaveView.OnTriggerListener.NO_HANDLE:
- case MultiWaveView.OnTriggerListener.CENTER_HANDLE:
+ case GlowPadView.OnTriggerListener.NO_HANDLE:
+ case GlowPadView.OnTriggerListener.CENTER_HANDLE:
hintTextResId = 0;
hintColorResId = 0;
break;
- // TODO: MultiWaveView only has one handle. MultiWaveView could send an event
- // indicating that a snap (but not release) happened. Could be used to show text
- // when user hovers over an item.
- // case SlidingTab.OnTriggerListener.LEFT_HANDLE:
- // hintTextResId = R.string.slide_to_answer;
- // hintColorResId = R.color.incall_textConnected; // green
- // break;
- // case SlidingTab.OnTriggerListener.RIGHT_HANDLE:
- // hintTextResId = R.string.slide_to_decline;
- // hintColorResId = R.color.incall_textEnded; // red
- // break;
default:
Log.e(LOG_TAG, "onGrabbedStateChange: unexpected grabbedState: "
+ grabbedState);
@@ -1056,7 +1243,7 @@ public void onGrabbedStateChange(View v, int grabbedState) {
public void onIncomingRing() {
if (ENABLE_PING_ON_RING_EVENTS) {
// Each RING from the telephony layer triggers a "ping" animation
- // of the MultiWaveView widget. (The intent here is to make the
+ // of the GlowPadView widget. (The intent here is to make the
// pinging appear to be synchronized with the ringtone, although
// that only works for non-looping ringtones.)
triggerPing();
@@ -1064,11 +1251,11 @@ public void onIncomingRing() {
}
/**
- * Runs a single "ping" animation of the MultiWaveView widget,
- * or do nothing if the MultiWaveView widget is no longer visible.
+ * Runs a single "ping" animation of the GlowPadView widget,
+ * or do nothing if the GlowPadView widget is no longer visible.
*
* Also, if ENABLE_PING_AUTO_REPEAT is true, schedule the next ping as
- * well (but again, only if the MultiWaveView widget is still visible.)
+ * well (but again, only if the GlowPadView widget is still visible.)
*/
public void triggerPing() {
if (DBG) log("triggerPing: mIncomingCallWidget = " + mIncomingCallWidget);
@@ -1081,7 +1268,7 @@ public void triggerPing() {
}
if (mIncomingCallWidget == null) {
- // This shouldn't happen; the MultiWaveView widget should
+ // This shouldn't happen; the GlowPadView widget should
// always be present in our layout file.
Log.w(LOG_TAG, "- triggerPing: null mIncomingCallWidget!");
return;
@@ -1122,97 +1309,6 @@ public void triggerPing() {
}
}
- /**
- * OnTouchListener used to shrink the "hit target" of some onscreen
- * buttons.
- */
- class SmallerHitTargetTouchListener implements View.OnTouchListener {
- /**
- * Width of the allowable "hit target" as a percentage of
- * the total width of this button.
- */
- private static final int HIT_TARGET_PERCENT_X = 50;
-
- /**
- * Height of the allowable "hit target" as a percentage of
- * the total height of this button.
- *
- * This is larger than HIT_TARGET_PERCENT_X because some of
- * the onscreen buttons are wide but not very tall and we don't
- * want to make the vertical hit target *too* small.
- */
- private static final int HIT_TARGET_PERCENT_Y = 80;
-
- // Size (percentage-wise) of the "edge" area that's *not* touch-sensitive.
- private static final int X_EDGE = (100 - HIT_TARGET_PERCENT_X) / 2;
- private static final int Y_EDGE = (100 - HIT_TARGET_PERCENT_Y) / 2;
- // Min/max values (percentage-wise) of the touch-sensitive hit target.
- private static final int X_HIT_MIN = X_EDGE;
- private static final int X_HIT_MAX = 100 - X_EDGE;
- private static final int Y_HIT_MIN = Y_EDGE;
- private static final int Y_HIT_MAX = 100 - Y_EDGE;
-
- // True if the most recent DOWN event was a "hit".
- boolean mDownEventHit;
-
- /**
- * Called when a touch event is dispatched to a view. This allows listeners to
- * get a chance to respond before the target view.
- *
- * @return True if the listener has consumed the event, false otherwise.
- * (In other words, we return true when the touch is *outside*
- * the "smaller hit target", which will prevent the actual
- * button from handling these events.)
- */
- public boolean onTouch(View v, MotionEvent event) {
- // if (DBG) log("SmallerHitTargetTouchListener: " + v + ", event " + event);
-
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- // Note that event.getX() and event.getY() are already
- // translated into the View's coordinates. (In other words,
- // "0,0" is a touch on the upper-left-most corner of the view.)
- int touchX = (int) event.getX();
- int touchY = (int) event.getY();
-
- int viewWidth = v.getWidth();
- int viewHeight = v.getHeight();
-
- // Touch location as a percentage of the total button width or height.
- int touchXPercent = (int) ((float) (touchX * 100) / (float) viewWidth);
- int touchYPercent = (int) ((float) (touchY * 100) / (float) viewHeight);
- // if (DBG) log("- percentage: x = " + touchXPercent + ", y = " + touchYPercent);
-
- // TODO: user research: add event logging here of the actual
- // hit location (and button ID), and enable it for dogfooders
- // for a few days. That'll give us a good idea of how close
- // to the center of the button(s) most touch events are, to
- // help us fine-tune the HIT_TARGET_PERCENT_* constants.
-
- if (touchXPercent < X_HIT_MIN || touchXPercent > X_HIT_MAX
- || touchYPercent < Y_HIT_MIN || touchYPercent > Y_HIT_MAX) {
- // Missed!
- // if (DBG) log(" -> MISSED!");
- mDownEventHit = false;
- return true; // Consume this event; don't let the button see it
- } else {
- // Hit!
- // if (DBG) log(" -> HIT!");
- mDownEventHit = true;
- return false; // Let this event through to the actual button
- }
- } else {
- // This is a MOVE, UP or CANCEL event.
- //
- // We only do the "smaller hit target" check on DOWN events.
- // For the subsequent MOVE/UP/CANCEL events, we let them
- // through to the actual button IFF the previous DOWN event
- // got through to the actual button (i.e. it was a "hit".)
- return !mDownEventHit;
- }
- }
- }
-
-
// Debugging / testing code
private void log(String msg) {
diff --git a/src/com/android/phone/InCallUiState.java b/src/com/android/phone/InCallUiState.java
index 397112f3e..cfaed997d 100644
--- a/src/com/android/phone/InCallUiState.java
+++ b/src/com/android/phone/InCallUiState.java
@@ -145,6 +145,14 @@ public enum InCallScreenMode {
*/
String dialpadDigits;
+ /**
+ * The contact/dialed number information shown in the DTMF digits text
+ * when the user has not yet typed any digits.
+ *
+ * Currently only used for displaying "Voice Mail" since voicemail calls
+ * start directly in the dialpad view.
+ */
+ String dialpadContextText;
//
// (3) Error / diagnostic indications
@@ -334,13 +342,14 @@ public boolean isProgressIndicationActive() {
//
- // (4) Optional overlay when a 3rd party "provider" is used.
- // @see InCallScreen.updateProviderOverlay()
+ // (4) Optional info when a 3rd party "provider" is used.
+ // @see InCallScreen#requestRemoveProviderInfoWithDelay()
+ // @see CallCard#updateCallStateWidgets()
//
- // TODO: maybe isolate all the provider-overlay-related stuff out to a
+ // TODO: maybe isolate all the provider-related stuff out to a
// separate inner class?
- boolean providerOverlayVisible;
+ boolean providerInfoVisible;
CharSequence providerLabel;
Drawable providerIcon;
Uri providerGatewayUri;
@@ -351,26 +360,26 @@ public boolean isProgressIndicationActive() {
* Set the fields related to the provider support
* based on the specified intent.
*/
- public void setProviderOverlayInfo(Intent intent) {
+ public void setProviderInfo(Intent intent) {
providerLabel = PhoneUtils.getProviderLabel(mContext, intent);
providerIcon = PhoneUtils.getProviderIcon(mContext, intent);
providerGatewayUri = PhoneUtils.getProviderGatewayUri(intent);
providerAddress = PhoneUtils.formatProviderUri(providerGatewayUri);
- providerOverlayVisible = true;
+ providerInfoVisible = true;
// ...but if any of the "required" fields are missing, completely
// disable the overlay.
if (TextUtils.isEmpty(providerLabel) || providerIcon == null ||
providerGatewayUri == null || TextUtils.isEmpty(providerAddress)) {
- clearProviderOverlayInfo();
+ clearProviderInfo();
}
}
/**
* Clear all the fields related to the provider support.
*/
- public void clearProviderOverlayInfo() {
- providerOverlayVisible = false;
+ public void clearProviderInfo() {
+ providerInfoVisible = false;
providerLabel = null;
providerIcon = null;
providerGatewayUri = null;
@@ -391,6 +400,26 @@ public void clearProviderOverlayInfo() {
*/
String latestActiveCallOrigin;
+ /**
+ * Timestamp for "Call origin". This will be used to preserve when the call origin was set.
+ * {@link android.os.SystemClock#elapsedRealtime()} will be used.
+ */
+ long latestActiveCallOriginTimeStamp;
+
+ /**
+ * Flag forcing Phone app to show in-call UI even when there's no phone call and thus Phone
+ * is in IDLE state. This will be turned on only when:
+ *
+ * - the last phone call is hung up, and
+ * - the screen is being turned off in the middle of in-call UI (and thus when the screen being
+ * turned on in-call UI is expected to be the next foreground activity)
+ *
+ * At that moment whole UI should show "previously disconnected phone call" for a moment and
+ * exit itself. {@link InCallScreen#onPause()} will turn this off and prevent possible weird
+ * cases which may happen with that exceptional case.
+ */
+ boolean showAlreadyDisconnectedState;
+
//
// Debugging
//
@@ -398,6 +427,7 @@ public void clearProviderOverlayInfo() {
public void dumpState() {
log("dumpState():");
log(" - showDialpad: " + showDialpad);
+ log(" - dialpadContextText: " + dialpadContextText);
if (hasPendingCallStatusCode()) {
log(" - status indication is pending!");
log(" - pending call status code = " + mPendingCallStatusCode);
@@ -405,14 +435,14 @@ public void dumpState() {
log(" - pending call status code: none");
}
log(" - progressIndication: " + progressIndication);
- if (providerOverlayVisible) {
- log(" - provider overlay VISIBLE: "
+ if (providerInfoVisible) {
+ log(" - provider info VISIBLE: "
+ providerLabel + " / "
+ providerIcon + " / "
+ providerGatewayUri + " / "
+ providerAddress);
} else {
- log(" - provider overlay: none");
+ log(" - provider info: none");
}
log(" - latestActiveCallOrigin: " + latestActiveCallOrigin);
}
diff --git a/src/com/android/phone/MSISDNEditPreference.java b/src/com/android/phone/MSISDNEditPreference.java
new file mode 100644
index 000000000..17613df18
--- /dev/null
+++ b/src/com/android/phone/MSISDNEditPreference.java
@@ -0,0 +1,130 @@
+
+package com.android.phone;
+
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+import android.os.AsyncResult;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.EditTextPreference;
+import android.util.AttributeSet;
+import android.util.Log;
+
+public class MSISDNEditPreference extends EditTextPreference {
+
+ private static final String LOG_TAG = "MSISDNListPreference";
+ public static final String PHONE_NUMBER = "phone_number";
+
+ private final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
+
+ private MyHandler mHandler = new MyHandler();
+
+ private Phone mPhone;
+ private Context mContext;
+
+ private TimeConsumingPreferenceListener tcpListener;
+
+ public MSISDNEditPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+
+ mPhone = PhoneFactory.getDefaultPhone();
+ mContext = context;
+ }
+
+ public MSISDNEditPreference(Context context) {
+ this(context, null);
+ }
+
+ @Override
+ protected void onDialogClosed(boolean positiveResult) {
+ super.onDialogClosed(positiveResult);
+
+ if (positiveResult) {
+ String alphaTag = mPhone.getLine1AlphaTag();
+ if (alphaTag == null || "".equals(alphaTag)) {
+ // No tag, set it.
+ alphaTag = "Voice Line 1";
+ }
+
+ mPhone.setLine1Number(alphaTag, getText(),
+ mHandler.obtainMessage(MyHandler.MESSAGE_SET_MSISDN));
+ if (tcpListener != null) {
+ tcpListener.onStarted(this, false);
+ }
+
+ // Save the number into the system property
+ SharedPreferences prefs = mContext.getSharedPreferences(MSISDNEditPreference.class.getPackage().getName() + "_preferences", Context.MODE_PRIVATE);
+ Editor editor = prefs.edit();
+
+ String phoneNum = getText().trim();
+ String savedNum = prefs.getString(PHONE_NUMBER, null);
+
+ // If there is no string, treat it as null
+ if (phoneNum.length() == 0) {
+ phoneNum = null;
+ }
+
+ if (phoneNum == null && savedNum == null) {
+ Log.d(LOG_TAG, "No phone number set yet");
+ } else {
+ if (phoneNum != null && phoneNum.equals(savedNum) == false) {
+ /* Save phone number only if there is some number set and
+ it is not equal to the already saved one */
+ if (DBG)
+ Log.d(LOG_TAG, "Saving phone number: " + phoneNum);
+
+ editor.putString(PHONE_NUMBER, phoneNum);
+ editor.commit();
+ } else if (phoneNum == null && savedNum != null) {
+ /* Remove saved number only if there is some saved and
+ there is no number set */
+ if (DBG)
+ Log.d(LOG_TAG, "Removing phone number");
+
+ editor.remove(PHONE_NUMBER);
+ editor.commit();
+ } else if (DBG) {
+ Log.d(LOG_TAG, "No change");
+ }
+ }
+ }
+ }
+
+ void init(TimeConsumingPreferenceListener listener, boolean skipReading) {
+ tcpListener = listener;
+ if (!skipReading) {
+ setText(mPhone.getLine1Number());
+ }
+ }
+
+ private class MyHandler extends Handler {
+ private static final int MESSAGE_SET_MSISDN = 0;
+
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case MESSAGE_SET_MSISDN:
+ handleSetMSISDNResponse(msg);
+ break;
+ }
+ }
+
+ private void handleSetMSISDNResponse(Message msg) {
+ AsyncResult ar = (AsyncResult) msg.obj;
+
+ if (ar.exception != null) {
+ if (DBG)
+ Log.d(LOG_TAG, "handleSetMSISDNResponse: ar.exception=" + ar.exception);
+ // setEnabled(false);
+ }
+ if (DBG)
+ Log.d(LOG_TAG, "handleSetMSISDNResponse: re get");
+
+ tcpListener.onFinished(MSISDNEditPreference.this, false);
+ }
+ }
+}
diff --git a/src/com/android/phone/ManageConferenceUtils.java b/src/com/android/phone/ManageConferenceUtils.java
index f7af0670a..e88479865 100644
--- a/src/com/android/phone/ManageConferenceUtils.java
+++ b/src/com/android/phone/ManageConferenceUtils.java
@@ -31,7 +31,6 @@
import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.Connection;
-import com.android.internal.telephony.Phone;
import java.util.List;
@@ -39,18 +38,51 @@
/**
* Helper class to initialize and run the InCallScreen's "Manage conference" UI.
*/
-public class ManageConferenceUtils
- implements CallerInfoAsyncQuery.OnQueryCompleteListener {
+public class ManageConferenceUtils {
private static final String LOG_TAG = "ManageConferenceUtils";
private static final boolean DBG =
(PhoneApp.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
+ /**
+ * CallerInfoAsyncQuery.OnQueryCompleteListener implementation.
+ *
+ * This object listens for results from the caller-id info queries we
+ * fire off in updateManageConferenceRow(), and updates the
+ * corresponding conference row.
+ */
+ private final class QueryCompleteListener
+ implements CallerInfoAsyncQuery.OnQueryCompleteListener {
+ private final int mConferencCallListIndex;
+
+ public QueryCompleteListener(int index) {
+ mConferencCallListIndex = index;
+ }
+
+ @Override
+ public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
+ if (DBG) log("callerinfo query complete, updating UI." + ci);
+
+ Connection connection = (Connection) cookie;
+ int presentation = connection.getNumberPresentation();
+
+ // get the viewgroup (conference call list item) and make it visible
+ ViewGroup viewGroup = mConferenceCallList[mConferencCallListIndex];
+ viewGroup.setVisibility(View.VISIBLE);
+
+ // update the list item with this information.
+ displayCallerInfoForConferenceRow(ci, presentation,
+ (TextView) viewGroup.findViewById(R.id.conferenceCallerName),
+ (TextView) viewGroup.findViewById(R.id.conferenceCallerNumberType),
+ (TextView) viewGroup.findViewById(R.id.conferenceCallerNumber));
+ }
+ }
+
private InCallScreen mInCallScreen;
private CallManager mCM;
// "Manage conference" UI elements and state
private ViewGroup mManageConferencePanel;
- private Button mButtonManageConferenceDone;
+ private View mButtonManageConferenceDone;
private ViewGroup[] mConferenceCallList;
private int mNumCallersInConference;
private Chronometer mConferenceTime;
@@ -94,7 +126,7 @@ public void initManageConferencePanel() {
(ViewGroup) mInCallScreen.findViewById(viewGroupIdList[i]);
}
- mButtonManageConferenceDone = (Button) mInCallScreen.findViewById(R.id.manage_done);
+ mButtonManageConferenceDone = mInCallScreen.findViewById(R.id.manage_done);
mButtonManageConferenceDone.setOnClickListener(mInCallScreen);
}
}
@@ -183,9 +215,8 @@ public void updateManageConferenceRow(final int i,
mConferenceCallList[i].setVisibility(View.VISIBLE);
// get the relevant children views
- ImageButton endButton = (ImageButton) mConferenceCallList[i].findViewById(
- R.id.conferenceCallerDisconnect);
- ImageButton separateButton = (ImageButton) mConferenceCallList[i].findViewById(
+ View endButton = mConferenceCallList[i].findViewById(R.id.conferenceCallerDisconnect);
+ View separateButton = mConferenceCallList[i].findViewById(
R.id.conferenceCallerSeparate);
TextView nameTextView = (TextView) mConferenceCallList[i].findViewById(
R.id.conferenceCallerName);
@@ -198,6 +229,7 @@ public void updateManageConferenceRow(final int i,
// Hook up this row's buttons.
View.OnClickListener endThisConnection = new View.OnClickListener() {
+ @Override
public void onClick(View v) {
endConferenceConnection(i, connection);
PhoneApp.getInstance().pokeUserActivity();
@@ -207,6 +239,7 @@ public void onClick(View v) {
//
if (canSeparate) {
View.OnClickListener separateThisConnection = new View.OnClickListener() {
+ @Override
public void onClick(View v) {
separateConferenceConnection(i, connection);
PhoneApp.getInstance().pokeUserActivity();
@@ -219,17 +252,15 @@ public void onClick(View v) {
}
// Name/number for this caller.
- // TODO: need to deal with private or blocked caller id?
+ QueryCompleteListener listener = new QueryCompleteListener(i);
PhoneUtils.CallerInfoToken info =
PhoneUtils.startGetCallerInfo(mInCallScreen,
- connection,
- this,
- mConferenceCallList[i]);
+ connection, listener, connection);
if (DBG) log(" - got info from startGetCallerInfo(): " + info);
// display the CallerInfo.
- displayCallerInfoForConferenceRow(info.currentInfo, nameTextView,
- numberTypeTextView, numberTextView);
+ displayCallerInfoForConferenceRow(info.currentInfo, connection.getNumberPresentation(),
+ nameTextView, numberTypeTextView, numberTextView);
} else {
// Disable this row of the Manage conference panel:
mConferenceCallList[i].setVisibility(View.GONE);
@@ -239,11 +270,11 @@ public void onClick(View v) {
/**
* Helper function to fill out the Conference Call(er) information
* for each item in the "Manage Conference Call" list.
+ *
+ * @param presentation presentation specified by {@link Connection}.
*/
- public final void displayCallerInfoForConferenceRow(CallerInfo ci,
- TextView nameTextView,
- TextView numberTypeTextView,
- TextView numberTextView) {
+ public final void displayCallerInfoForConferenceRow(CallerInfo ci, int presentation,
+ TextView nameTextView, TextView numberTypeTextView, TextView numberTextView) {
// gather the correct name and number information.
String callerName = "";
String callerNumber = "";
@@ -251,9 +282,15 @@ public final void displayCallerInfoForConferenceRow(CallerInfo ci,
if (ci != null) {
callerName = ci.name;
if (TextUtils.isEmpty(callerName)) {
- callerName = ci.phoneNumber;
- if (TextUtils.isEmpty(callerName)) {
- callerName = mInCallScreen.getString(R.string.unknown);
+ // Do similar fallback as CallCard does.
+ // See also CallCard#updateDisplayForPerson().
+ if (TextUtils.isEmpty(ci.phoneNumber)) {
+ callerName = PhoneUtils.getPresentationString(mInCallScreen, presentation);
+ } else if (!TextUtils.isEmpty(ci.cnapName)) {
+ // No name, but we do have a valid CNAP name, so use that.
+ callerName = ci.cnapName;
+ } else {
+ callerName = ci.phoneNumber;
}
} else {
callerNumber = ci.phoneNumber;
@@ -314,27 +351,6 @@ public void separateConferenceConnection(int i, Connection connection) {
// separateCall().)
}
- /**
- * CallerInfoAsyncQuery.OnQueryCompleteListener implementation.
- *
- * This method listens for results from the caller-id info queries we
- * fire off in updateManageConferenceRow(), and updates the
- * corresponding conference row.
- */
- public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
- if (DBG) log("callerinfo query complete, updating UI." + ci);
-
- // get the viewgroup (conference call list item) and make it visible
- ViewGroup vg = (ViewGroup) cookie;
- vg.setVisibility(View.VISIBLE);
-
- // update the list item with this information.
- displayCallerInfoForConferenceRow(ci,
- (TextView) vg.findViewById(R.id.conferenceCallerName),
- (TextView) vg.findViewById(R.id.conferenceCallerNumberType),
- (TextView) vg.findViewById(R.id.conferenceCallerNumber));
- }
-
private void log(String msg) {
Log.d(LOG_TAG, msg);
diff --git a/src/com/android/phone/Settings.java b/src/com/android/phone/MobileNetworkSettings.java
similarity index 74%
rename from src/com/android/phone/Settings.java
rename to src/com/android/phone/MobileNetworkSettings.java
index 969bab097..58b1b32a3 100644
--- a/src/com/android/phone/Settings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -53,24 +53,24 @@
* you reach it from the "Wireless & Networks" section of the main
* Settings app. It's not part of the "Call settings" hierarchy that's
* available from the Phone app (see CallFeaturesSetting for that.)
- *
- * TODO: Rename this to be "NetworkSettings.java" to be more clear.
- * (But be careful in case the Settings app has any hardwired references
- * to this class name...)
*/
-public class Settings extends PreferenceActivity implements DialogInterface.OnClickListener,
+public class MobileNetworkSettings extends PreferenceActivity
+ implements DialogInterface.OnClickListener,
DialogInterface.OnDismissListener, Preference.OnPreferenceChangeListener{
// debug data
private static final String LOG_TAG = "NetworkSettings";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
public static final int REQUEST_CODE_EXIT_ECM = 17;
//String keys for preference lookup
private static final String BUTTON_DATA_ENABLED_KEY = "button_data_enabled_key";
private static final String BUTTON_DATA_USAGE_KEY = "button_data_usage_key";
private static final String BUTTON_PREFERED_NETWORK_MODE = "preferred_network_mode_key";
+ private static final String BUTTON_PREFERED_UMTS_NETWORK_MODE = "preferred_umts_network_mode_key";
+ private static final String BUTTON_PREFERED_CDMA_NETWORK_MODE = "preferred_cdma_network_mode_key";
private static final String BUTTON_ROAMING_KEY = "button_roaming_key";
+ private static final String BUTTON_NATIONAL_ROAMING_KEY = "button_national_roaming_key";
private static final String BUTTON_CDMA_LTE_DATA_SERVICE_KEY = "cdma_lte_data_service_key";
static final int preferredNetworkMode = Phone.PREFERRED_NT_MODE;
@@ -82,7 +82,10 @@ public class Settings extends PreferenceActivity implements DialogInterface.OnCl
//UI objects
private ListPreference mButtonPreferredNetworkMode;
+ private ListPreference mButtonPreferredUmtsNetworkMode;
+ private ListPreference mButtonPreferredCdmaNetworkMode;
private CheckBoxPreference mButtonDataRoam;
+ private CheckBoxPreference mButtonNationalDataRoam;
private CheckBoxPreference mButtonDataEnabled;
private Preference mLteDataServicePref;
@@ -144,11 +147,17 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferen
REQUEST_CODE_EXIT_ECM);
}
return true;
- } else if (preference == mButtonPreferredNetworkMode) {
+
+ } else if (preference == mButtonPreferredNetworkMode ||
+ preference == mButtonPreferredUmtsNetworkMode ||
+ preference == mButtonPreferredCdmaNetworkMode) {
//displays the value taken from the Settings.System
+ int phoneType = mPhone.getPhoneType();
int settingsNetworkMode = android.provider.Settings.Secure.getInt(mPhone.getContext().
getContentResolver(), android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
preferredNetworkMode);
+ mButtonPreferredUmtsNetworkMode.setValue(Integer.toString(settingsNetworkMode));
+ mButtonPreferredCdmaNetworkMode.setValue(Integer.toString(settingsNetworkMode));
mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
return true;
} else if (preference == mButtonDataRoam) {
@@ -161,7 +170,7 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferen
new AlertDialog.Builder(this).setMessage(
getResources().getString(R.string.roaming_warning))
.setTitle(android.R.string.dialog_alert_title)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setPositiveButton(android.R.string.yes, this)
.setNegativeButton(android.R.string.no, this)
.show()
@@ -170,12 +179,20 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferen
mPhone.setDataRoamingEnabled(false);
}
return true;
+ } else if (preference == mButtonNationalDataRoam){
+ android.provider.Settings.System.putInt(mPhone.getContext().getContentResolver(),
+ android.provider.Settings.System.MVNO_ROAMING, mButtonNationalDataRoam.isChecked() ? 1 : 0);
+ return true;
} else if (preference == mButtonDataEnabled) {
if (DBG) log("onPreferenceTreeClick: preference == mButtonDataEnabled.");
ConnectivityManager cm =
(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
cm.setMobileDataEnabled(mButtonDataEnabled.isChecked());
+
+ Intent intent = new Intent(PhoneToggler.MOBILE_DATA_CHANGED);
+ intent.putExtra(PhoneToggler.NETWORK_MODE, mButtonDataEnabled.isChecked());
+ mPhone.getContext().sendBroadcast(intent);
return true;
} else if (preference == mLteDataServicePref) {
String tmpl = android.provider.Settings.Secure.getString(getContentResolver(),
@@ -219,15 +236,23 @@ protected void onCreate(Bundle icicle) {
mButtonDataEnabled = (CheckBoxPreference) prefSet.findPreference(BUTTON_DATA_ENABLED_KEY);
mButtonDataRoam = (CheckBoxPreference) prefSet.findPreference(BUTTON_ROAMING_KEY);
+ mButtonPreferredCdmaNetworkMode = (ListPreference) prefSet.findPreference(
+ BUTTON_PREFERED_CDMA_NETWORK_MODE);
+ mButtonPreferredUmtsNetworkMode = (ListPreference) prefSet.findPreference(
+ BUTTON_PREFERED_UMTS_NETWORK_MODE);
+ mButtonNationalDataRoam = (CheckBoxPreference) prefSet.findPreference(BUTTON_NATIONAL_ROAMING_KEY);
mButtonPreferredNetworkMode = (ListPreference) prefSet.findPreference(
BUTTON_PREFERED_NETWORK_MODE);
mButtonDataUsage = prefSet.findPreference(BUTTON_DATA_USAGE_KEY);
mLteDataServicePref = prefSet.findPreference(BUTTON_CDMA_LTE_DATA_SERVICE_KEY);
boolean isLteOnCdma = mPhone.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE;
+ boolean isLteOnGsm = mPhone.getLteOnGsmMode() != 0;
if (getResources().getBoolean(R.bool.world_phone) == true) {
// set the listener for the mButtonPreferredNetworkMode list preference so we can issue
// change Preferred Network Mode.
+ prefSet.removePreference(mButtonPreferredUmtsNetworkMode);
+ prefSet.removePreference(mButtonPreferredCdmaNetworkMode);
mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this);
//Get the networkMode from Settings.System and displays it
@@ -237,32 +262,65 @@ protected void onCreate(Bundle icicle) {
mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
mCdmaOptions = new CdmaOptions(this, prefSet, mPhone);
mGsmUmtsOptions = new GsmUmtsOptions(this, prefSet);
+
+ if (getResources().getBoolean(R.bool.config_preferred_mode_disable) == true) {
+ prefSet.removePreference(mButtonPreferredNetworkMode);
+ }
+
} else {
- if (!isLteOnCdma) {
+ if (!isLteOnCdma && !isLteOnGsm) {
prefSet.removePreference(mButtonPreferredNetworkMode);
}
+ //Get the networkMode from Settings.System and displays it
int phoneType = mPhone.getPhoneType();
+ prefSet.removePreference(mButtonPreferredNetworkMode);
+ int settingsNetworkMode = android.provider.Settings.Secure.getInt(
+ mPhone.getContext().getContentResolver(),
+ android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
+ preferredNetworkMode);
+
if (phoneType == Phone.PHONE_TYPE_CDMA) {
mCdmaOptions = new CdmaOptions(this, prefSet, mPhone);
+ prefSet.removePreference(mButtonPreferredUmtsNetworkMode);
+ mButtonPreferredCdmaNetworkMode.setOnPreferenceChangeListener(this);
+ mButtonPreferredCdmaNetworkMode.setValue(
+ Integer.toString(settingsNetworkMode));
if (isLteOnCdma) {
mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this);
mButtonPreferredNetworkMode.setEntries(
R.array.preferred_network_mode_choices_lte);
mButtonPreferredNetworkMode.setEntryValues(
R.array.preferred_network_mode_values_lte);
- int settingsNetworkMode = android.provider.Settings.Secure.getInt(
- mPhone.getContext().getContentResolver(),
- android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
- preferredNetworkMode);
mButtonPreferredNetworkMode.setValue(
Integer.toString(settingsNetworkMode));
}
} else if (phoneType == Phone.PHONE_TYPE_GSM) {
mGsmUmtsOptions = new GsmUmtsOptions(this, prefSet);
+
+ prefSet.removePreference(mButtonPreferredCdmaNetworkMode);
+ mButtonPreferredUmtsNetworkMode.setOnPreferenceChangeListener(this);
+ mButtonPreferredUmtsNetworkMode.setValue(
+ Integer.toString(settingsNetworkMode));
+
+ if (isLteOnGsm) {
+ mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this);
+ mButtonPreferredNetworkMode.setEntries(
+ R.array.preferred_network_mode_choices_lte_gsm);
+ mButtonPreferredNetworkMode.setEntryValues(
+ R.array.preferred_network_mode_values_lte_gsm);
+ mButtonPreferredNetworkMode.setValue(
+ Integer.toString(settingsNetworkMode));
+ }
} else {
throw new IllegalStateException("Unexpected phone type: " + phoneType);
}
+
+ if (getResources().getBoolean(R.bool.config_preferred_mode_disable) == true) {
+ prefSet.removePreference(mButtonPreferredCdmaNetworkMode);
+ prefSet.removePreference(mButtonPreferredUmtsNetworkMode);
+ }
+
}
final boolean missingDataServiceUrl = TextUtils.isEmpty(
@@ -301,6 +359,9 @@ protected void onResume() {
// and the UI state would be inconsistent with actual state
mButtonDataRoam.setChecked(mPhone.getDataRoamingEnabled());
+ mButtonNationalDataRoam.setChecked(android.provider.Settings.System.getInt(
+ mPhone.getContext().getContentResolver(), android.provider.Settings.System.MVNO_ROAMING, 0) == 1);
+
if (getPreferenceScreen().findPreference(BUTTON_PREFERED_NETWORK_MODE) != null) {
mPhone.getPreferredNetworkType(mHandler.obtainMessage(
MyHandler.MESSAGE_GET_PREFERRED_NETWORK_TYPE));
@@ -323,9 +384,13 @@ protected void onPause() {
* display value.
*/
public boolean onPreferenceChange(Preference preference, Object objValue) {
- if (preference == mButtonPreferredNetworkMode) {
+ if (preference == mButtonPreferredNetworkMode ||
+ preference == mButtonPreferredUmtsNetworkMode ||
+ preference == mButtonPreferredCdmaNetworkMode) {
//NOTE onPreferenceChange seems to be called even if there is no change
//Check if the button value is changed from the System.Setting
+ mButtonPreferredUmtsNetworkMode.setValue((String) objValue);
+ mButtonPreferredCdmaNetworkMode.setValue((String) objValue);
mButtonPreferredNetworkMode.setValue((String) objValue);
int buttonNetworkMode;
buttonNetworkMode = Integer.valueOf((String) objValue).intValue();
@@ -347,6 +412,12 @@ public boolean onPreferenceChange(Preference preference, Object objValue) {
case Phone.NT_MODE_CDMA:
modemNetworkMode = Phone.NT_MODE_CDMA;
break;
+ case Phone.NT_MODE_LTE_CDMA_EVDO:
+ modemNetworkMode = Phone.NT_MODE_LTE_CDMA_EVDO;
+ break;
+ case Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA:
+ modemNetworkMode = Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA;
+ break;
case Phone.NT_MODE_GSM_UMTS:
modemNetworkMode = Phone.NT_MODE_GSM_UMTS;
break;
@@ -359,6 +430,9 @@ public boolean onPreferenceChange(Preference preference, Object objValue) {
case Phone.NT_MODE_WCDMA_PREF:
modemNetworkMode = Phone.NT_MODE_WCDMA_PREF;
break;
+ case Phone.NT_MODE_LTE_GSM_WCDMA:
+ modemNetworkMode = Phone.NT_MODE_LTE_GSM_WCDMA;
+ break;
default:
modemNetworkMode = Phone.PREFERRED_NT_MODE;
}
@@ -379,6 +453,10 @@ public boolean onPreferenceChange(Preference preference, Object objValue) {
//Set the modem network mode
mPhone.setPreferredNetworkType(modemNetworkMode, mHandler
.obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE));
+
+ Intent intent = new Intent(PhoneToggler.NETWORK_MODE_CHANGED);
+ intent.putExtra(PhoneToggler.NETWORK_MODE, buttonNetworkMode);
+ mPhone.getContext().sendBroadcast(intent, PhoneToggler.CHANGE_NETWORK_MODE_PERM);
}
}
@@ -388,8 +466,8 @@ public boolean onPreferenceChange(Preference preference, Object objValue) {
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_PREFERRED_NETWORK_TYPE = 0;
- private static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 1;
+ static final int MESSAGE_GET_PREFERRED_NETWORK_TYPE = 0;
+ static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 1;
@Override
public void handleMessage(Message msg) {
@@ -425,6 +503,7 @@ private void handleGetPreferredNetworkTypeResponse(Message msg) {
settingsNetworkMode);
}
+ boolean isLteOnCdma = mPhone.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE;
//check that modemNetworkMode is from an accepted value
if (modemNetworkMode == Phone.NT_MODE_WCDMA_PREF ||
modemNetworkMode == Phone.NT_MODE_GSM_ONLY ||
@@ -433,7 +512,13 @@ private void handleGetPreferredNetworkTypeResponse(Message msg) {
modemNetworkMode == Phone.NT_MODE_CDMA ||
modemNetworkMode == Phone.NT_MODE_CDMA_NO_EVDO ||
modemNetworkMode == Phone.NT_MODE_EVDO_NO_CDMA ||
- modemNetworkMode == Phone.NT_MODE_GLOBAL ) {
+ modemNetworkMode == Phone.NT_MODE_LTE_CDMA_EVDO ||
+ modemNetworkMode == Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA ||
+ modemNetworkMode == Phone.NT_MODE_LTE_GSM_WCDMA ||
+ //A modem might report world phone sometimes
+ //but it's not true. Double check here
+ ((getResources().getBoolean(R.bool.world_phone) == true || isLteOnCdma) &&
+ modemNetworkMode == Phone.NT_MODE_GLOBAL) ) {
if (DBG) {
log("handleGetPreferredNetworkTypeResponse: if 1: modemNetworkMode = " +
modemNetworkMode);
@@ -457,11 +542,16 @@ private void handleGetPreferredNetworkTypeResponse(Message msg) {
mPhone.getContext().getContentResolver(),
android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
settingsNetworkMode );
- }
-
+ };
UpdatePreferredNetworkModeSummary(modemNetworkMode);
// changes the mButtonPreferredNetworkMode accordingly to modemNetworkMode
+ mButtonPreferredCdmaNetworkMode.setValue(Integer.toString(modemNetworkMode));
+ mButtonPreferredUmtsNetworkMode.setValue(Integer.toString(modemNetworkMode));
mButtonPreferredNetworkMode.setValue(Integer.toString(modemNetworkMode));
+
+ Intent intent = new Intent(PhoneToggler.NETWORK_MODE_CHANGED);
+ intent.putExtra(PhoneToggler.NETWORK_MODE, modemNetworkMode);
+ mPhone.getContext().sendBroadcast(intent, PhoneToggler.CHANGE_NETWORK_MODE_PERM);
} else if (modemNetworkMode == Phone.NT_MODE_LTE_ONLY) {
// LTE Only mode not yet supported on UI, but could be used for testing
if (DBG) log("handleGetPreferredNetworkTypeResponse: lte only: no action");
@@ -474,13 +564,27 @@ private void handleGetPreferredNetworkTypeResponse(Message msg) {
private void handleSetPreferredNetworkTypeResponse(Message msg) {
AsyncResult ar = (AsyncResult) msg.obj;
+ int phoneType = mPhone.getPhoneType();
+ int networkMode;
if (ar.exception == null) {
- int networkMode = Integer.valueOf(
+ if (phoneType == Phone.PHONE_TYPE_GSM) {
+ networkMode = Integer.valueOf(
+ mButtonPreferredUmtsNetworkMode.getValue()).intValue();
+ } else if (phoneType == Phone.PHONE_TYPE_CDMA) {
+ networkMode = Integer.valueOf(
+ mButtonPreferredCdmaNetworkMode.getValue()).intValue();
+ } else {
+ networkMode = Integer.valueOf(
mButtonPreferredNetworkMode.getValue()).intValue();
+ }
android.provider.Settings.Secure.putInt(mPhone.getContext().getContentResolver(),
android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
networkMode );
+
+ Intent intent = new Intent(PhoneToggler.NETWORK_MODE_CHANGED);
+ intent.putExtra(PhoneToggler.NETWORK_MODE, networkMode);
+ mPhone.getContext().sendBroadcast(intent, PhoneToggler.CHANGE_NETWORK_MODE_PERM);
} else {
mPhone.getPreferredNetworkType(obtainMessage(MESSAGE_GET_PREFERRED_NETWORK_TYPE));
}
@@ -488,6 +592,8 @@ private void handleSetPreferredNetworkTypeResponse(Message msg) {
private void resetNetworkModeToDefault() {
//set the mButtonPreferredNetworkMode
+ mButtonPreferredCdmaNetworkMode.setValue(Integer.toString(preferredNetworkMode));
+ mButtonPreferredUmtsNetworkMode.setValue(Integer.toString(preferredNetworkMode));
mButtonPreferredNetworkMode.setValue(Integer.toString(preferredNetworkMode));
//set the Settings.System
android.provider.Settings.Secure.putInt(mPhone.getContext().getContentResolver(),
@@ -518,17 +624,18 @@ private void UpdatePreferredNetworkModeSummary(int NetworkMode) {
R.string.preferred_network_mode_gsm_wcdma_summary);
break;
case Phone.NT_MODE_CDMA:
- switch (mPhone.getLteOnCdmaMode()) {
+ // Show the same label whether a CDMA or CDMA/LTE phone.
+ /*switch (mPhone.getLteOnCdmaMode()) {
case Phone.LTE_ON_CDMA_TRUE:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_cdma_summary);
break;
case Phone.LTE_ON_CDMA_FALSE:
- default:
+ default:*/
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_cdma_evdo_summary);
- break;
- }
+ /*break;
+ }*/
break;
case Phone.NT_MODE_CDMA_NO_EVDO:
mButtonPreferredNetworkMode.setSummary(
@@ -538,6 +645,18 @@ private void UpdatePreferredNetworkModeSummary(int NetworkMode) {
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_evdo_only_summary);
break;
+ case Phone.NT_MODE_LTE_GSM_WCDMA:
+ mButtonPreferredNetworkMode.setSummary(
+ R.string.preferred_network_mode_lte_gsm_summary);
+ break;
+ case Phone.NT_MODE_LTE_CDMA_EVDO:
+ mButtonPreferredNetworkMode.setSummary(
+ R.string.preferred_network_mode_lte_cdma_evdo_summary);
+ break;
+ case Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA:
+ mButtonPreferredNetworkMode.setSummary(
+ R.string.preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary);
+ break;
case Phone.NT_MODE_GLOBAL:
default:
mButtonPreferredNetworkMode.setSummary(
diff --git a/src/com/android/phone/MyPhoneNumber.java b/src/com/android/phone/MyPhoneNumber.java
new file mode 100644
index 000000000..f8b72a56a
--- /dev/null
+++ b/src/com/android/phone/MyPhoneNumber.java
@@ -0,0 +1,59 @@
+package com.android.phone;
+
+import com.android.internal.telephony.IccCard;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+
+public class MyPhoneNumber extends BroadcastReceiver {
+ private final String LOG_TAG = "MyPhoneNumber";
+ private final boolean DBG = false;
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+ SharedPreferences prefs = context.getSharedPreferences(MyPhoneNumber.class.getPackage().getName() + "_preferences", Context.MODE_PRIVATE);
+
+ String phoneNum = mTelephonyMgr.getLine1Number();
+ String savedNum = prefs.getString(MSISDNEditPreference.PHONE_NUMBER, null);
+ String simState = intent.getStringExtra(IccCard.INTENT_KEY_ICC_STATE);
+
+ if (!IccCard.INTENT_VALUE_ICC_LOADED.equals(simState)) {
+ /* Don't set line 1 number unless SIM_STATE is LOADED
+ * (We're not using READY because the MSISDN record is not yet loaded on READY)
+ */
+ if (DBG)
+ Log.d(LOG_TAG, "simState not correct. No modification to phone number. simState: " + simState);
+ } else if (TextUtils.isEmpty(phoneNum)) {
+ if (DBG)
+ Log.d(LOG_TAG, "Trying to read the phone number from file");
+
+ if (savedNum != null) {
+ Phone mPhone = PhoneFactory.getDefaultPhone();
+ String alphaTag = mPhone.getLine1AlphaTag();
+
+ if (TextUtils.isEmpty(alphaTag)) {
+ // No tag, set it.
+ alphaTag = "Voice Line 1";
+ }
+
+ mPhone.setLine1Number(alphaTag, savedNum, null);
+
+ if (DBG)
+ Log.d(LOG_TAG, "Phone number set to: " + savedNum);
+ } else if (DBG) {
+ Log.d(LOG_TAG, "No phone number set yet");
+ }
+ } else if (DBG) {
+ Log.d(LOG_TAG, "Phone number exists. No need to read it from file.");
+ }
+ }
+}
diff --git a/src/com/android/phone/NetworkSetting.java b/src/com/android/phone/NetworkSetting.java
index 9365c4845..fff92fade 100644
--- a/src/com/android/phone/NetworkSetting.java
+++ b/src/com/android/phone/NetworkSetting.java
@@ -33,6 +33,7 @@
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
+import android.text.TextUtils;
import android.util.Log;
import com.android.internal.telephony.CommandException;
@@ -41,6 +42,7 @@
import java.util.HashMap;
import java.util.List;
+import java.util.ArrayList;
/**
* "Networks" settings UI for the Phone app.
@@ -386,8 +388,10 @@ private void networksListLoaded(List result, int status) {
// update the state of the preferences.
if (DBG) log("hideProgressPanel");
- if (mIsForeground) {
+ try {
dismissDialog(DIALOG_NETWORK_LIST_LOAD);
+ } catch (IllegalArgumentException e){
+ if (DBG) log(" DIALOG_NETWORK_LIST_LOAD dismissed already");
}
getPreferenceScreen().setEnabled(true);
@@ -404,14 +408,21 @@ private void networksListLoaded(List result, int status) {
// create a preference for each item in the list.
// just use the operator name instead of the mildly
// confusing mcc/mnc.
+ ArrayList operatorNumerics = new ArrayList();
for (OperatorInfo ni : result) {
- Preference carrier = new Preference(this, null);
- carrier.setTitle(ni.getOperatorAlphaLong());
- carrier.setPersistent(false);
- mNetworkList.addPreference(carrier);
- mNetworkMap.put(carrier, ni);
-
- if (DBG) log(" " + ni);
+ String operatorNumeric = ni.getOperatorNumeric();
+ if (!operatorNumerics.contains(operatorNumeric)) {
+ operatorNumerics.add(operatorNumeric);
+ Preference carrier = new Preference(this, null);
+ carrier.setTitle(getNetworkTitle(ni));
+ carrier.setPersistent(false);
+ mNetworkList.addPreference(carrier);
+ mNetworkMap.put(carrier, ni);
+
+ if (DBG) log(" adding: " + ni);
+ } else {
+ if (DBG) log(" skipping: " + ni);
+ }
}
} else {
@@ -420,6 +431,25 @@ private void networksListLoaded(List result, int status) {
}
}
+ /**
+ * Returns the title of the network obtained in the manual search.
+ *
+ * @param OperatorInfo contains the information of the network.
+ *
+ * @return Long Name if not null/empty, otherwise Short Name if not null/empty,
+ * else MCCMNC string.
+ */
+
+ private String getNetworkTitle(OperatorInfo ni) {
+ if (!TextUtils.isEmpty(ni.getOperatorAlphaLong())) {
+ return ni.getOperatorAlphaLong();
+ } else if (!TextUtils.isEmpty(ni.getOperatorAlphaShort())) {
+ return ni.getOperatorAlphaShort();
+ } else {
+ return ni.getOperatorNumeric();
+ }
+ }
+
private void clearList() {
for (Preference p : mNetworkMap.keySet()) {
mNetworkList.removePreference(p);
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 0009253a2..f8874744e 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -23,32 +23,39 @@
import android.content.AsyncQueryHandler;
import android.content.ComponentName;
import android.content.ContentResolver;
+import android.content.ContentUris;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
+import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.net.Uri;
import android.os.PowerManager;
-import android.os.SystemClock;
import android.os.SystemProperties;
import android.preference.PreferenceManager;
+import android.provider.Settings;
import android.provider.CallLog.Calls;
+import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.PhoneLookup;
+import android.provider.Settings;
import android.telephony.PhoneNumberUtils;
import android.telephony.ServiceState;
import android.text.TextUtils;
import android.util.Log;
-import android.widget.RemoteViews;
+import android.widget.ImageView;
import android.widget.Toast;
import com.android.internal.telephony.Call;
+import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.CallerInfo;
import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneBase;
-import com.android.internal.telephony.CallManager;
+import com.android.internal.telephony.TelephonyCapabilities;
/**
* NotificationManager-related utility code for the Phone app.
@@ -63,6 +70,8 @@ public class NotificationMgr implements CallerInfoAsyncQuery.OnQueryCompleteList
private static final String LOG_TAG = "NotificationMgr";
private static final boolean DBG =
(PhoneApp.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
+ // Do not check in with VDBG = true, since that may write PII to the system log.
+ private static final boolean VDBG = false;
private static final String[] CALL_LOG_PROJECTION = new String[] {
Calls._ID,
@@ -82,6 +91,23 @@ public class NotificationMgr implements CallerInfoAsyncQuery.OnQueryCompleteList
static final int DATA_DISCONNECTED_ROAMING_NOTIFICATION = 7;
static final int SELECTED_OPERATOR_FAIL_NOTIFICATION = 8;
+ // notification light Settings.System keys
+ private static final String NOTIFICATION_LIGHT_PULSE = "notification_light_pulse";
+ private static final String NOTIFICATION_LIGHT_PULSE_DEFAULT_COLOR = "notification_light_pulse_default_color";
+ private static final String NOTIFICATION_LIGHT_PULSE_DEFAULT_LED_ON = "notification_light_pulse_default_led_on";
+ private static final String NOTIFICATION_LIGHT_PULSE_DEFAULT_LED_OFF = "notification_light_pulse_default_led_off";
+ private static final String NOTIFICATION_LIGHT_PULSE_CUSTOM_ENABLE = "notification_light_pulse_custom_enable";
+ private static final String NOTIFICATION_LIGHT_PULSE_CALL_COLOR = "notification_light_pulse_call_color";
+ private static final String NOTIFICATION_LIGHT_PULSE_CALL_LED_ON = "notification_light_pulse_call_led_on";
+ private static final String NOTIFICATION_LIGHT_PULSE_CALL_LED_OFF = "notification_light_pulse_call_led_off";
+ private static final String NOTIFICATION_LIGHT_PULSE_VMAIL_COLOR = "notification_light_pulse_vmail_color";
+ private static final String NOTIFICATION_LIGHT_PULSE_VMAIL_LED_ON = "notification_light_pulse_vmail_led_on";
+ private static final String NOTIFICATION_LIGHT_PULSE_VMAIL_LED_OFF = "notification_light_pulse_vmail_led_off";
+
+ // notification light default constants
+ public static final int DEFAULT_COLOR = 0xFFFFFF; //White
+ public static final int DEFAULT_TIME = 1000; // 1 second
+
/** The singleton NotificationMgr instance. */
private static NotificationMgr sInstance;
@@ -284,14 +310,19 @@ private void updateNotificationsAtStartup() {
/** The projection to use when querying the phones table */
static final String[] PHONES_PROJECTION = new String[] {
PhoneLookup.NUMBER,
- PhoneLookup.DISPLAY_NAME
+ PhoneLookup.DISPLAY_NAME,
+ PhoneLookup._ID
};
/**
- * Class used to run asynchronous queries to re-populate
- * the notifications we care about.
+ * Class used to run asynchronous queries to re-populate the notifications we care about.
+ * There are really 3 steps to this:
+ * 1. Find the list of missed calls
+ * 2. For each call, run a query to retrieve the caller's name.
+ * 3. For each caller, try obtaining photo.
*/
- private class QueryHandler extends AsyncQueryHandler {
+ private class QueryHandler extends AsyncQueryHandler
+ implements ContactsAsyncHelper.OnImageLoadCompleteListener {
/**
* Used to store relevant fields for the Missed Call
@@ -300,7 +331,12 @@ private class QueryHandler extends AsyncQueryHandler {
private class NotificationInfo {
public String name;
public String number;
- public String label;
+ /**
+ * Type of the call. {@link android.provider.CallLog.Calls#INCOMING_TYPE}
+ * {@link android.provider.CallLog.Calls#OUTGOING_TYPE}, or
+ * {@link android.provider.CallLog.Calls#MISSED_TYPE}.
+ */
+ public String type;
public long date;
}
@@ -309,10 +345,7 @@ public QueryHandler(ContentResolver cr) {
}
/**
- * Handles the query results. There are really 2 steps to this,
- * similar to what happens in CallLogActivity.
- * 1. Find the list of missed calls
- * 2. For each call, run a query to retrieve the caller's name.
+ * Handles the query results.
*/
@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
@@ -359,16 +392,38 @@ protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
if ((cursor != null) && (cookie != null)){
NotificationInfo n = (NotificationInfo) cookie;
+ Uri personUri = null;
if (cursor.moveToFirst()) {
- // we have contacts data, get the name.
- if (DBG) log("contact :" + n.name + " found for phone: " + n.number);
n.name = cursor.getString(
cursor.getColumnIndexOrThrow(PhoneLookup.DISPLAY_NAME));
+ long person_id = cursor.getLong(
+ cursor.getColumnIndexOrThrow(PhoneLookup._ID));
+ if (DBG) {
+ log("contact :" + n.name + " found for phone: " + n.number
+ + ". id : " + person_id);
+ }
+ personUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, person_id);
}
- // send the notification
- if (DBG) log("sending notification.");
- notifyMissedCall(n.name, n.number, n.label, n.date);
+ if (personUri != null) {
+ if (DBG) {
+ log("Start obtaining picture for the missed call. Uri: "
+ + personUri);
+ }
+ // Now try to obtain a photo for this person.
+ // ContactsAsyncHelper will do that and call onImageLoadComplete()
+ // after that.
+ ContactsAsyncHelper.startObtainPhotoAsync(
+ 0, mContext, personUri, this, n);
+ } else {
+ if (DBG) {
+ log("Failed to find Uri for obtaining photo."
+ + " Just send notification without it.");
+ }
+ // We couldn't find person Uri, so we're sure we cannot obtain a photo.
+ // Call notifyMissedCall() right now.
+ notifyMissedCall(n.name, n.number, n.type, null, null, n.date);
+ }
if (DBG) log("closing contact cursor.");
cursor.close();
@@ -378,6 +433,14 @@ protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
}
}
+ @Override
+ public void onImageLoadComplete(
+ int token, Drawable photo, Bitmap photoIcon, Object cookie) {
+ if (DBG) log("Finished loading image: " + photo);
+ NotificationInfo n = (NotificationInfo) cookie;
+ notifyMissedCall(n.name, n.number, n.type, photo, photoIcon, n.date);
+ }
+
/**
* Factory method to generate a NotificationInfo object given a
* cursor from the call log table.
@@ -386,7 +449,7 @@ private final NotificationInfo getNotificationInfo(Cursor cursor) {
NotificationInfo n = new NotificationInfo();
n.name = null;
n.number = cursor.getString(cursor.getColumnIndexOrThrow(Calls.NUMBER));
- n.label = cursor.getString(cursor.getColumnIndexOrThrow(Calls.TYPE));
+ n.type = cursor.getString(cursor.getColumnIndexOrThrow(Calls.TYPE));
n.date = cursor.getLong(cursor.getColumnIndexOrThrow(Calls.DATE));
// make sure we update the number depending upon saved values in
@@ -406,21 +469,65 @@ private final NotificationInfo getNotificationInfo(Cursor cursor) {
}
/**
- * Configures a Notification to emit the blinky green message-waiting/
+ * Configures a Notification to emit the blinky message-waiting/
* missed-call signal.
+ * @param notificationType
*/
- private static void configureLedNotification(Notification note) {
- note.flags |= Notification.FLAG_SHOW_LIGHTS;
- note.defaults |= Notification.DEFAULT_LIGHTS;
+ private static void configureLedNotification(Context context, int notificationType, Notification note) {
+
+ // get the default Notification light settings
+ ContentResolver resolver = context.getContentResolver();
+ boolean lightEnabled = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE, 0) == 1;
+ int color = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_DEFAULT_COLOR, DEFAULT_COLOR);
+ int timeOn = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_DEFAULT_LED_ON, DEFAULT_TIME);
+ int timeOff = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_DEFAULT_LED_OFF, DEFAULT_TIME);
+
+ // Get Missed call and Voice mail values if they are to be used
+ boolean customEnabled = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_CUSTOM_ENABLE, 0) == 1;
+ if (customEnabled) {
+ if (notificationType == MISSED_CALL_NOTIFICATION) {
+ color = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_CALL_COLOR, DEFAULT_COLOR);
+ timeOn = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_CALL_LED_ON, DEFAULT_TIME);
+ timeOff = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_CALL_LED_OFF, DEFAULT_TIME);
+ } else if (notificationType == VOICEMAIL_NOTIFICATION) {
+ color = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_VMAIL_COLOR, DEFAULT_COLOR);
+ timeOn = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_VMAIL_LED_ON, DEFAULT_TIME);
+ timeOff = Settings.System.getInt(resolver, NOTIFICATION_LIGHT_PULSE_VMAIL_LED_OFF, DEFAULT_TIME);
+ }
+ }
+
+ // Set the LED flags if notification light is enabled
+ if (lightEnabled) {
+ note.ledARGB = color;
+ note.ledOnMS = timeOn;
+ note.ledOffMS = timeOff;
+ note.flags |= Notification.FLAG_SHOW_LIGHTS;
+ note.flags |= Notification.FLAG_FORCE_LED_SCREEN_OFF;
+ }
}
/**
* Displays a notification about a missed call.
*
- * @param nameOrNumber either the contact name, or the phone number if no contact
- * @param label the label of the number if nameOrNumber is a name, null if it is a number
+ * @param name the contact name.
+ * @param number the phone number. Note that this may be a non-callable String like "Unknown",
+ * or "Private Number", which possibly come from methods like
+ * {@link PhoneUtils#modifyForSpecialCnapCases(Context, CallerInfo, String, int)}.
+ * @param type the type of the call. {@link android.provider.CallLog.Calls#INCOMING_TYPE}
+ * {@link android.provider.CallLog.Calls#OUTGOING_TYPE}, or
+ * {@link android.provider.CallLog.Calls#MISSED_TYPE}
+ * @param photo picture which may be used for the notification (when photoIcon is null).
+ * This also can be null when the picture itself isn't available. If photoIcon is available
+ * it should be prioritized (because this may be too huge for notification).
+ * See also {@link ContactsAsyncHelper}.
+ * @param photoIcon picture which should be used for the notification. Can be null. This is
+ * the most suitable for {@link android.app.Notification.Builder#setLargeIcon(Bitmap)}, this
+ * should be used when non-null.
+ * @param date the time when the missed call happened
*/
- void notifyMissedCall(String name, String number, String label, long date) {
+ /* package */ void notifyMissedCall(
+ String name, String number, String type, Drawable photo, Bitmap photoIcon, long date) {
+
// When the user clicks this notification, we go to the call log.
final Intent callLogIntent = PhoneApp.createCallLogIntent();
@@ -432,6 +539,12 @@ void notifyMissedCall(String name, String number, String label, long date) {
return;
}
+ if (VDBG) {
+ log("notifyMissedCall(). name: " + name + ", number: " + number
+ + ", label: " + type + ", photo: " + photo + ", photoIcon: " + photoIcon
+ + ", date: " + date);
+ }
+
// title resource id
int titleResId;
// the text in the notification's line 1 and 2.
@@ -463,21 +576,48 @@ void notifyMissedCall(String name, String number, String label, long date) {
mNumberMissedCalls);
}
- // make the notification
- Notification note = new Notification(
- android.R.drawable.stat_notify_missed_call, // icon
- mContext.getString(R.string.notification_missedCallTicker, callName), // tickerText
- date // when
- );
- note.setLatestEventInfo(mContext, mContext.getText(titleResId), expandedText,
- PendingIntent.getActivity(mContext, 0, callLogIntent, 0));
- note.flags |= Notification.FLAG_AUTO_CANCEL;
- // This intent will be called when the notification is dismissed.
- // It will take care of clearing the list of missed calls.
- note.deleteIntent = createClearMissedCallsIntent();
-
- configureLedNotification(note);
- mNotificationManager.notify(MISSED_CALL_NOTIFICATION, note);
+ Notification.Builder builder = new Notification.Builder(mContext);
+ builder.setSmallIcon(android.R.drawable.stat_notify_missed_call)
+ .setTicker(mContext.getString(R.string.notification_missedCallTicker, callName))
+ .setWhen(date)
+ .setContentTitle(mContext.getText(titleResId))
+ .setContentText(expandedText)
+ .setContentIntent(PendingIntent.getActivity(mContext, 0, callLogIntent, 0))
+ .setAutoCancel(true)
+ .setDeleteIntent(createClearMissedCallsIntent());
+
+ // Simple workaround for issue 6476275; refrain having actions when the given number seems
+ // not a real one but a non-number which was embedded by methods outside (like
+ // PhoneUtils#modifyForSpecialCnapCases()).
+ // TODO: consider removing equals() checks here, and modify callers of this method instead.
+ if (mNumberMissedCalls == 1
+ && !TextUtils.isEmpty(number)
+ && !TextUtils.equals(number, mContext.getString(R.string.private_num))
+ && !TextUtils.equals(number, mContext.getString(R.string.unknown))){
+ if (DBG) log("Add actions with the number " + number);
+
+ builder.addAction(R.drawable.stat_sys_phone_call,
+ mContext.getString(R.string.notification_missedCall_call_back),
+ PhoneApp.getCallBackPendingIntent(mContext, number));
+
+ builder.addAction(R.drawable.ic_text_holo_dark,
+ mContext.getString(R.string.notification_missedCall_message),
+ PhoneApp.getSendSmsFromNotificationPendingIntent(mContext, number));
+
+ if (photoIcon != null) {
+ builder.setLargeIcon(photoIcon);
+ } else if (photo instanceof BitmapDrawable) {
+ builder.setLargeIcon(((BitmapDrawable) photo).getBitmap());
+ }
+ } else {
+ if (DBG) {
+ log("Suppress actions. number: " + number + ", missedCalls: " + mNumberMissedCalls);
+ }
+ }
+
+ Notification notification = builder.getNotification();
+ configureLedNotification(mContext, MISSED_CALL_NOTIFICATION, notification);
+ mNotificationManager.notify(MISSED_CALL_NOTIFICATION, notification);
}
/** Returns an intent to be invoked when the missed call notification is cleared. */
@@ -519,12 +659,12 @@ private void cancelSpeakerphone() {
*
* If you already know the current speaker state (e.g. if you just
* called AudioManager.setSpeakerphoneOn() yourself) then you should
- * directly call {@link updateSpeakerNotification(boolean)} instead.
+ * directly call {@link #updateSpeakerNotification(boolean)} instead.
*
* (But note that the status bar icon is *never* shown while the in-call UI
* is active; it only appears if you bail out to some other activity.)
*/
- public void updateSpeakerNotification() {
+ private void updateSpeakerNotification() {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
boolean showNotification =
(mPhone.getState() == Phone.State.OFFHOOK) && audioManager.isSpeakerphoneOn();
@@ -652,7 +792,7 @@ public void updateInCallNotification() {
* update or cancel the in-call notification based on the current
* phone state.
*
- * @see updateInCallNotification()
+ * @see #updateInCallNotification(boolean)
*/
public void updateNotificationAndLaunchIncomingCallUi() {
// Set allowFullScreenIntent=true to indicate that we *should*
@@ -666,7 +806,7 @@ public void updateNotificationAndLaunchIncomingCallUi() {
* status bar notification based on the current telephony state, or
* cancels the notification if the phone is totally idle.
*
- * @param allowLaunchInCallScreen If true, *and* an incoming call is
+ * @param allowFullScreenIntent If true, *and* an incoming call is
* ringing, the notification will include a "fullScreenIntent"
* pointing at the InCallScreen (which will cause the InCallScreen
* to be launched.)
@@ -712,15 +852,6 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
boolean suppressNotification = mApp.isShowingCallScreen();
// if (DBG) log("- suppressNotification: initial value: " + suppressNotification);
- // Additionally, suppress the notification if the screen is off.
- // (Of course no UI is visible at this point(!) -- we're doing
- // this purely to avoid a brief flicker of the icon in the status
- // bar when the screen turns back on (due to the prox sensor, for
- // example) while still on the InCallScreen.)
- boolean isScreenOn = mPowerManager.isScreenOn();
- // if (DBG) log(" - suppressNotification: isScreenOn = " + isScreenOn);
- if (!isScreenOn) suppressNotification = true;
-
// ...except for a couple of cases where we *never* suppress the
// notification:
//
@@ -753,7 +884,7 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
if (hasRingingCall) {
// There's an incoming ringing call.
- resId = R.drawable.stat_sys_phone_call_ringing;
+ resId = R.drawable.stat_sys_phone_call;
} else if (!hasActiveCall && hasHoldingCall) {
// There's only one call, and it's on hold.
if (enhancedVoicePrivacy) {
@@ -761,13 +892,6 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
} else {
resId = R.drawable.stat_sys_phone_call_on_hold;
}
- } else if (mApp.showBluetoothIndication()) {
- // Bluetooth is active.
- if (enhancedVoicePrivacy) {
- resId = R.drawable.stat_sys_vp_phone_call_bluetooth;
- } else {
- resId = R.drawable.stat_sys_phone_call_bluetooth;
- }
} else {
if (enhancedVoicePrivacy) {
resId = R.drawable.stat_sys_vp_phone_call;
@@ -785,9 +909,6 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
if (DBG) log("- Updating status bar icon: resId = " + resId);
mInCallResId = resId;
- // The icon in the expanded view is the same as in the status bar.
- int expandedViewIcon = mInCallResId;
-
// Even if both lines are in use, we only show a single item in
// the expanded Notifications UI. It's labeled "Ongoing call"
// (or "On hold" if there's only one call, and it's on hold.)
@@ -806,9 +927,8 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
}
Connection currentConn = currentCall.getEarliestConnection();
- Notification notification = new Notification();
- notification.icon = mInCallResId;
- notification.flags |= Notification.FLAG_ONGOING_EVENT;
+ final Notification.Builder builder = new Notification.Builder(mContext);
+ builder.setSmallIcon(mInCallResId).setOngoing(true);
// PendingIntent that can be used to launch the InCallScreen. The
// system fires off this intent if the user pulls down the windowshade
@@ -818,63 +938,104 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
PendingIntent inCallPendingIntent =
PendingIntent.getActivity(mContext, 0,
PhoneApp.createInCallIntent(), 0);
- notification.contentIntent = inCallPendingIntent;
-
- // When expanded, the "Ongoing call" notification is (visually)
- // different from most other Notifications, so we need to use a
- // custom view hierarchy.
- // Our custom view, which includes an icon (either "ongoing call" or
- // "on hold") and 2 lines of text: (1) the label (either "ongoing
- // call" with time counter, or "on hold), and (2) the compact name of
- // the current Connection.
- RemoteViews contentView = new RemoteViews(mContext.getPackageName(),
- R.layout.ongoing_call_notification);
- contentView.setImageViewResource(R.id.icon, expandedViewIcon);
-
- // if the connection is valid, then build what we need for the
- // first line of notification information, and start the chronometer.
- // Otherwise, don't bother and just stick with line 2.
+ builder.setContentIntent(inCallPendingIntent);
+
+ // Update icon on the left of the notification.
+ // - If it is directly available from CallerInfo, we'll just use that.
+ // - If it is not, use the same icon as in the status bar.
+ CallerInfo callerInfo = null;
if (currentConn != null) {
- // Determine the "start time" of the current connection, in terms
- // of the SystemClock.elapsedRealtime() timebase (which is what
- // the Chronometer widget needs.)
- // We can't use currentConn.getConnectTime(), because (1) that's
- // in the currentTimeMillis() time base, and (2) it's zero when
- // the phone first goes off hook, since the getConnectTime counter
- // doesn't start until the DIALING -> ACTIVE transition.
- // Instead we start with the current connection's duration,
- // and translate that into the elapsedRealtime() timebase.
- long callDurationMsec = currentConn.getDurationMillis();
- long chronometerBaseTime = SystemClock.elapsedRealtime() - callDurationMsec;
-
- // Line 1 of the expanded view (in bold text):
- String expandedViewLine1;
+ Object o = currentConn.getUserData();
+ if (o instanceof CallerInfo) {
+ callerInfo = (CallerInfo) o;
+ } else if (o instanceof PhoneUtils.CallerInfoToken) {
+ callerInfo = ((PhoneUtils.CallerInfoToken) o).currentInfo;
+ } else {
+ Log.w(LOG_TAG, "CallerInfo isn't available while Call object is available.");
+ }
+ }
+ boolean largeIconWasSet = false;
+ if (callerInfo != null) {
+ // In most cases, the user will see the notification after CallerInfo is already
+ // available, so photo will be available from this block.
+ if (callerInfo.isCachedPhotoCurrent) {
+ // .. and in that case CallerInfo's cachedPhotoIcon should also be available.
+ // If it happens not, then try using cachedPhoto, assuming Drawable coming from
+ // ContactProvider will be BitmapDrawable.
+ if (callerInfo.cachedPhotoIcon != null) {
+ builder.setLargeIcon(callerInfo.cachedPhotoIcon);
+ largeIconWasSet = true;
+ } else if (callerInfo.cachedPhoto instanceof BitmapDrawable) {
+ if (DBG) log("- BitmapDrawable found for large icon");
+ Bitmap bitmap = ((BitmapDrawable) callerInfo.cachedPhoto).getBitmap();
+ builder.setLargeIcon(bitmap);
+ largeIconWasSet = true;
+ } else {
+ if (DBG) {
+ log("- Failed to fetch icon from CallerInfo's cached photo."
+ + " (cachedPhotoIcon: " + callerInfo.cachedPhotoIcon
+ + ", cachedPhoto: " + callerInfo.cachedPhoto + ")."
+ + " Ignore it.");
+ }
+ }
+ }
+
+ if (!largeIconWasSet && callerInfo.photoResource > 0) {
+ if (DBG) {
+ log("- BitmapDrawable nor person Id not found for large icon."
+ + " Use photoResource: " + callerInfo.photoResource);
+ }
+ Drawable drawable =
+ mContext.getResources().getDrawable(callerInfo.photoResource);
+ if (drawable instanceof BitmapDrawable) {
+ Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
+ builder.setLargeIcon(bitmap);
+ largeIconWasSet = true;
+ } else {
+ if (DBG) {
+ log("- PhotoResource was found but it didn't return BitmapDrawable."
+ + " Ignore it");
+ }
+ }
+ }
+ } else {
+ if (DBG) log("- CallerInfo not found. Use the same icon as in the status bar.");
+ }
+
+ // Failed to fetch Bitmap.
+ if (!largeIconWasSet && DBG) {
+ log("- No useful Bitmap was found for the photo."
+ + " Use the same icon as in the status bar.");
+ }
+
+ // If the connection is valid, then build what we need for the
+ // content text of notification, and start the chronometer.
+ // Otherwise, don't bother and just stick with content title.
+ if (currentConn != null) {
+ if (DBG) log("- Updating context text and chronometer.");
if (hasRingingCall) {
// Incoming call is ringing.
- // Note this isn't a format string! (We want "Incoming call"
- // here, not "Incoming call (1:23)".) But that's OK; if you
- // call String.format() with more arguments than format
- // specifiers, the extra arguments are ignored.
- expandedViewLine1 = mContext.getString(R.string.notification_incoming_call);
+ builder.setContentText(mContext.getString(R.string.notification_incoming_call));
+ builder.setUsesChronometer(false);
} else if (hasHoldingCall && !hasActiveCall) {
// Only one call, and it's on hold.
- // Note this isn't a format string either (see comment above.)
- expandedViewLine1 = mContext.getString(R.string.notification_on_hold);
+ builder.setContentText(mContext.getString(R.string.notification_on_hold));
+ builder.setUsesChronometer(false);
} else {
- // Normal ongoing call.
- // Format string with a "%s" where the current call time should go.
- expandedViewLine1 = mContext.getString(R.string.notification_ongoing_call_format);
+ // We show the elapsed time of the current call using Chronometer.
+ builder.setUsesChronometer(true);
+
+ // Determine the "start time" of the current connection.
+ // We can't use currentConn.getConnectTime(), because (1) that's
+ // in the currentTimeMillis() time base, and (2) it's zero when
+ // the phone first goes off hook, since the getConnectTime counter
+ // doesn't start until the DIALING -> ACTIVE transition.
+ // Instead we start with the current connection's duration,
+ // and translate that into the elapsedRealtime() timebase.
+ long callDurationMsec = currentConn.getDurationMillis();
+ builder.setWhen(System.currentTimeMillis() - callDurationMsec);
+ builder.setContentText(mContext.getString(R.string.notification_ongoing_call));
}
-
- if (DBG) log("- Updating expanded view: line 1 '" + /*expandedViewLine1*/ "xxxxxxx" + "'");
-
- // Text line #1 is actually a Chronometer, not a plain TextView.
- // We format the elapsed time of the current call into a line like
- // "Ongoing call (01:23)".
- contentView.setChronometer(R.id.text1,
- chronometerBaseTime,
- expandedViewLine1,
- true);
} else if (DBG) {
Log.w(LOG_TAG, "updateInCallNotification: null connection, can't set exp view line 1.");
}
@@ -905,8 +1066,7 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
}
if (DBG) log("- Updating expanded view: line 2 '" + /*expandedViewLine2*/ "xxxxxxx" + "'");
- contentView.setTextViewText(R.id.title, expandedViewLine2);
- notification.contentView = contentView;
+ builder.setContentTitle(expandedViewLine2);
// TODO: We also need to *update* this notification in some cases,
// like when a call ends on one line but the other is still in use
@@ -921,7 +1081,7 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
// This is a high-priority event that should be shown even if the
// status bar is hidden or if an immersive activity is running.
- notification.flags |= Notification.FLAG_HIGH_PRIORITY;
+ builder.setPriority(Notification.PRIORITY_HIGH);
// If an immersive activity is running, we have room for a single
// line of text in the small notification popup window.
@@ -929,7 +1089,7 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
// the incoming caller), since that's more relevant than
// expandedViewLine1 (which is something generic like "Incoming
// call".)
- notification.tickerText = expandedViewLine2;
+ builder.setTicker(expandedViewLine2);
if (allowFullScreenIntent) {
// Ok, we actually want to launch the incoming call
@@ -938,7 +1098,7 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
// the InCallScreen to be launched immediately *unless* the
// current foreground activity is marked as "immersive".
if (DBG) log("- Setting fullScreenIntent: " + inCallPendingIntent);
- notification.fullScreenIntent = inCallPendingIntent;
+ builder.setFullScreenIntent(inCallPendingIntent, true);
// Ugly hack alert:
//
@@ -969,11 +1129,21 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
mNotificationManager.cancel(IN_CALL_NOTIFICATION);
}
}
+ } else { // not ringing call
+ // Make the notification prioritized over the other normal notifications.
+ builder.setPriority(Notification.PRIORITY_HIGH);
+
+ // TODO: use "if (DBG)" for this comment.
+ log("Will show \"hang-up\" action in the ongoing active call Notification");
+ // TODO: use better asset.
+ builder.addAction(R.drawable.stat_sys_phone_call_end,
+ mContext.getText(R.string.notification_action_end_call),
+ PhoneApp.createHangUpOngoingCallPendingIntent(mContext));
}
+ Notification notification = builder.getNotification();
if (DBG) log("Notifying IN_CALL_NOTIFICATION: " + notification);
- mNotificationManager.notify(IN_CALL_NOTIFICATION,
- notification);
+ mNotificationManager.notify(IN_CALL_NOTIFICATION, notification);
// Finally, refresh the mute and speakerphone notifications (since
// some phone state changes can indirectly affect the mute and/or
@@ -986,6 +1156,7 @@ private void updateInCallNotification(boolean allowFullScreenIntent) {
* Implemented for CallerInfoAsyncQuery.OnQueryCompleteListener interface.
* refreshes the contentView when called.
*/
+ @Override
public void onQueryComplete(int token, Object cookie, CallerInfo ci){
if (DBG) log("CallerInfo query complete (for NotificationMgr), "
+ "updating in-call notification..");
@@ -1044,6 +1215,7 @@ private void cancelInCall() {
*/
/* package */ void updateMwi(boolean visible) {
if (DBG) log("updateMwi(): " + visible);
+
if (visible) {
int resId = android.R.drawable.stat_notify_voicemail;
@@ -1122,22 +1294,25 @@ private void cancelInCall() {
Uri.fromParts(Constants.SCHEME_VOICEMAIL, "", null));
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0);
- Notification notification = new Notification(
- resId, // icon
- null, // tickerText
- System.currentTimeMillis() // Show the time the MWI notification came in,
- // since we don't know the actual time of the
- // most recent voicemail message
- );
- notification.setLatestEventInfo(
- mContext, // context
- notificationTitle, // contentTitle
- notificationText, // contentText
- pendingIntent // contentIntent
- );
- notification.defaults |= Notification.DEFAULT_SOUND;
-
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
+ Uri ringtoneUri;
+ String uriString = prefs.getString(
+ CallFeaturesSetting.BUTTON_VOICEMAIL_NOTIFICATION_RINGTONE_KEY, null);
+ if (!TextUtils.isEmpty(uriString)) {
+ ringtoneUri = Uri.parse(uriString);
+ } else {
+ ringtoneUri = Settings.System.DEFAULT_NOTIFICATION_URI;
+ }
+
+ Notification.Builder builder = new Notification.Builder(mContext);
+ builder.setSmallIcon(resId)
+ .setWhen(System.currentTimeMillis())
+ .setContentTitle(notificationTitle)
+ .setContentText(notificationText)
+ .setContentIntent(pendingIntent)
+ .setSound(ringtoneUri);
+ Notification notification = builder.getNotification();
+
String vibrateWhen = prefs.getString(
CallFeaturesSetting.BUTTON_VOICEMAIL_NOTIFICATION_VIBRATE_WHEN_KEY, "never");
boolean vibrateAlways = vibrateWhen.equals("always");
@@ -1150,7 +1325,7 @@ private void cancelInCall() {
}
notification.flags |= Notification.FLAG_NO_CLEAR;
- configureLedNotification(notification);
+ configureLedNotification(mContext, VOICEMAIL_NOTIFICATION, notification);
mNotificationManager.notify(VOICEMAIL_NOTIFICATION, notification);
} else {
mNotificationManager.cancel(VOICEMAIL_NOTIFICATION);
@@ -1220,8 +1395,9 @@ private void cancelInCall() {
/* package */ void showDataDisconnectedRoaming() {
if (DBG) log("showDataDisconnectedRoaming()...");
+ // "Mobile network settings" screen / dialog
Intent intent = new Intent(mContext,
- com.android.phone.Settings.class); // "Mobile network settings" screen / dialog
+ com.android.phone.MobileNetworkSettings.class);
Notification notification = new Notification(
android.R.drawable.stat_sys_warning, // icon
diff --git a/src/com/android/phone/OtaStartupReceiver.java b/src/com/android/phone/OtaStartupReceiver.java
index 04d012ad3..180041f93 100644
--- a/src/com/android/phone/OtaStartupReceiver.java
+++ b/src/com/android/phone/OtaStartupReceiver.java
@@ -31,6 +31,7 @@
import android.telephony.TelephonyManager;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
import android.util.Log;
@@ -41,7 +42,7 @@
*/
public class OtaStartupReceiver extends BroadcastReceiver {
private static final String TAG = "OtaStartupReceiver";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
private static final int MIN_READY = 10;
private static final int SERVICE_STATE_CHANGED = 11;
private Context mContext;
@@ -139,30 +140,30 @@ public void onReceive(Context context, Intent intent) {
if (DBG) Log.d(TAG, "call OtaUtils.maybeDoOtaCall");
OtaUtils.maybeDoOtaCall(mContext, mHandler, MIN_READY);
}
-
+
/**
- * On devices that provide a phone initialization wizard (such as Google Setup Wizard), we
+ * On devices that provide a phone initialization wizard (such as Google Setup Wizard), we
* allow delaying CDMA OTA setup so it can be done in a single wizard. The wizard is responsible
- * for (1) disabling itself once it has been run and/or (2) setting the 'device_provisioned'
+ * for (1) disabling itself once it has been run and/or (2) setting the 'device_provisioned'
* flag to something non-zero and (3) calling the OTA Setup with the action below.
- *
+ *
* NB: Typical phone initialization wizards will install themselves as the homescreen
- * (category "android.intent.category.HOME") with a priority higher than the default.
+ * (category "android.intent.category.HOME") with a priority higher than the default.
* The wizard should set 'device_provisioned' when it completes, disable itself with the
* PackageManager.setComponentEnabledSetting() and then start home screen.
- *
+ *
* @return true if setup will be handled by wizard, false if it should be done now.
*/
private boolean shouldPostpone(Context context) {
Intent intent = new Intent("android.intent.action.DEVICE_INITIALIZATION_WIZARD");
- ResolveInfo resolveInfo = context.getPackageManager().resolveActivity(intent,
+ ResolveInfo resolveInfo = context.getPackageManager().resolveActivity(intent,
PackageManager.MATCH_DEFAULT_ONLY);
boolean provisioned = Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.DEVICE_PROVISIONED, 0) != 0;
String mode = SystemProperties.get("ro.setupwizard.mode", "REQUIRED");
boolean runningSetupWizard = "REQUIRED".equals(mode) || "OPTIONAL".equals(mode);
if (DBG) {
- Log.v(TAG, "resolvInfo = " + resolveInfo + ", provisioned = " + provisioned
+ Log.v(TAG, "resolvInfo = " + resolveInfo + ", provisioned = " + provisioned
+ ", runningSetupWizard = " + runningSetupWizard);
}
return resolveInfo != null && !provisioned && runningSetupWizard;
diff --git a/src/com/android/phone/OtaUtils.java b/src/com/android/phone/OtaUtils.java
index 596ae1f6d..a93e0e703 100644
--- a/src/com/android/phone/OtaUtils.java
+++ b/src/com/android/phone/OtaUtils.java
@@ -17,6 +17,7 @@
package com.android.phone;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
import com.android.internal.telephony.TelephonyProperties;
import com.android.phone.OtaUtils.CdmaOtaInCallScreenUiState.State;
@@ -60,7 +61,7 @@
*/
public class OtaUtils {
private static final String LOG_TAG = "OtaUtils";
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
public static final int OTA_SHOW_ACTIVATION_SCREEN_OFF = 0;
public static final int OTA_SHOW_ACTIVATION_SCREEN_ON = 1;
@@ -141,7 +142,6 @@ public class OtaUtils {
private Context mContext;
private PhoneApp mApplication;
private OtaWidgetData mOtaWidgetData;
- private ViewGroup mInCallPanel; // Container for the CallCard
private ViewGroup mInCallTouchUi; // UI controls for regular calls
private CallCard mCallCard;
@@ -230,9 +230,7 @@ public OtaUtils(Context context, boolean interactive) {
* InCallScreen.onResume().)
*/
public void updateUiWidgets(InCallScreen inCallScreen,
- ViewGroup inCallPanel,
- ViewGroup inCallTouchUi,
- CallCard callCard) {
+ ViewGroup inCallTouchUi, CallCard callCard) {
if (DBG) log("updateUiWidgets()... mInCallScreen = " + mInCallScreen);
if (!mInteractive) {
@@ -245,7 +243,6 @@ public void updateUiWidgets(InCallScreen inCallScreen,
}
mInCallScreen = inCallScreen;
- mInCallPanel = inCallPanel;
mInCallTouchUi = inCallTouchUi;
mCallCard = callCard;
mOtaWidgetData = new OtaWidgetData();
@@ -269,7 +266,6 @@ public void updateUiWidgets(InCallScreen inCallScreen,
*/
public void clearUiWidgets() {
mInCallScreen = null;
- mInCallPanel = null;
mInCallTouchUi = null;
mCallCard = null;
mOtaWidgetData = null;
@@ -519,7 +515,7 @@ public static boolean isOtaspCallIntent(Intent intent) {
// the magic OTASP numbers.
String number;
try {
- number = CallController.getInitialNumber(intent);
+ number = PhoneUtils.getInitialNumber(intent);
} catch (PhoneUtils.VoiceMailNumberMissingException ex) {
// This was presumably a "voicemail:" intent, so it's
// obviously not an OTASP number.
@@ -884,12 +880,6 @@ private void sendOtaspResult(int resultCode) {
if (mApplication.cdmaOtaScreenState.otaspResultCodePendingIntent == null) {
Log.w(LOG_TAG, "updateNonInteractiveOtaSuccessFailure: "
+ "null otaspResultCodePendingIntent!");
- // This *should* never happen, since SetupWizard always passes this
- // PendingIntent along with the ACTION_PERFORM_CDMA_PROVISIONING
- // intent.
- // (But if this happens it's not a fatal error, it just means that
- // our original caller has no way of finding out whether the OTASP
- // call ultimately failed or succeeded...)
return;
}
@@ -1122,9 +1112,12 @@ private void otaScreenInitialize() {
return;
}
- if (mInCallPanel != null) mInCallPanel.setVisibility(View.GONE);
if (mInCallTouchUi != null) mInCallTouchUi.setVisibility(View.GONE);
- if (mCallCard != null) mCallCard.hideCallCardElements();
+ if (mCallCard != null) {
+ mCallCard.setVisibility(View.GONE);
+ // TODO: try removing this.
+ mCallCard.hideCallCardElements();
+ }
mOtaWidgetData.otaTitle.setText(R.string.ota_title_activate);
mOtaWidgetData.otaTextActivate.setVisibility(View.GONE);
@@ -1178,12 +1171,12 @@ public void otaShowProperScreen() {
if ((mInCallScreen != null) && mInCallScreen.isForegroundActivity()) {
if (DBG) log("otaShowProperScreen(): InCallScreen in foreground, currentstate = "
+ mApplication.cdmaOtaScreenState.otaScreenState);
- if (mInCallPanel != null) {
- mInCallPanel.setVisibility(View.GONE);
- }
if (mInCallTouchUi != null) {
mInCallTouchUi.setVisibility(View.GONE);
}
+ if (mCallCard != null) {
+ mCallCard.setVisibility(View.GONE);
+ }
if (mApplication.cdmaOtaScreenState.otaScreenState
== CdmaOtaScreenState.OtaScreenState.OTA_STATUS_ACTIVATION) {
otaShowActivateScreen();
@@ -1458,9 +1451,11 @@ public void cleanOtaScreen(boolean disableSpeaker) {
mApplication.cdmaOtaInCallScreenUiState.state = State.UNDEFINED;
if (mInteractive && (mOtaWidgetData != null)) {
- if (mInCallPanel != null) mInCallPanel.setVisibility(View.VISIBLE);
if (mInCallTouchUi != null) mInCallTouchUi.setVisibility(View.VISIBLE);
- if (mCallCard != null) mCallCard.hideCallCardElements();
+ if (mCallCard != null) {
+ mCallCard.setVisibility(View.VISIBLE);
+ mCallCard.hideCallCardElements();
+ }
// Free resources from the DTMFTwelveKeyDialer instance we created
// in initOtaInCallScreen().
@@ -1572,16 +1567,18 @@ public CdmaOtaScreenState() {
otaScreenState = OtaScreenState.OTA_STATUS_UNDEFINED;
}
- // PendingIntent used to report an OTASP result status code back
- // to our caller.
- //
- // Our caller (presumably SetupWizard) creates this PendingIntent,
- // pointing back at itself, and passes it along as an extra with the
- // ACTION_PERFORM_CDMA_PROVISIONING intent. Then, when there's an
- // OTASP result to report, we send that PendingIntent back, adding an
- // extra called EXTRA_OTASP_RESULT_CODE to indicate the result.
- //
- // Possible result values are the OTASP_RESULT_* constants.
+ /**
+ * {@link PendingIntent} used to report an OTASP result status code
+ * back to our caller. Can be null.
+ *
+ * Our caller (presumably SetupWizard) may create this PendingIntent,
+ * pointing back at itself, and passes it along as an extra with the
+ * ACTION_PERFORM_CDMA_PROVISIONING intent. Then, when there's an
+ * OTASP result to report, we send that PendingIntent back, adding an
+ * extra called EXTRA_OTASP_RESULT_CODE to indicate the result.
+ *
+ * Possible result values are the OTASP_RESULT_* constants.
+ */
public PendingIntent otaspResultCodePendingIntent;
}
diff --git a/src/com/android/phone/OutgoingCallBroadcaster.java b/src/com/android/phone/OutgoingCallBroadcaster.java
index 0d7d1e67f..fcf502a3d 100644
--- a/src/com/android/phone/OutgoingCallBroadcaster.java
+++ b/src/com/android/phone/OutgoingCallBroadcaster.java
@@ -26,13 +26,17 @@
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
import android.os.SystemProperties;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.util.Log;
+import android.view.View;
+import android.widget.ProgressBar;
import com.android.internal.telephony.Phone;
-
+import com.android.internal.telephony.TelephonyCapabilities;
/**
* OutgoingCallBroadcaster receives CALL and CALL_PRIVILEGED Intents, and
@@ -77,11 +81,32 @@ public class OutgoingCallBroadcaster extends Activity
* TODO: Keep in sync with the string defined in TwelveKeyDialer.java in Contacts app
* until this is replaced with the ITelephony API.
*/
- public static final String EXTRA_SEND_EMPTY_FLASH = "com.android.phone.extra.SEND_EMPTY_FLASH";
+ public static final String EXTRA_SEND_EMPTY_FLASH =
+ "com.android.phone.extra.SEND_EMPTY_FLASH";
// Dialog IDs
private static final int DIALOG_NOT_VOICE_CAPABLE = 1;
+ /** Note message codes < 100 are reserved for the PhoneApp. */
+ private static final int EVENT_OUTGOING_CALL_TIMEOUT = 101;
+ private static final int OUTGOING_CALL_TIMEOUT_THRESHOLD = 2000; // msec
+ /**
+ * ProgressBar object with "spinner" style, which will be shown if we take more than
+ * {@link #EVENT_OUTGOING_CALL_TIMEOUT} msec to handle the incoming Intent.
+ */
+ private ProgressBar mWaitingSpinner;
+ private final Handler mHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ if (msg.what == EVENT_OUTGOING_CALL_TIMEOUT) {
+ Log.i(TAG, "Outgoing call takes too long. Showing the spinner.");
+ mWaitingSpinner.setVisibility(View.VISIBLE);
+ } else {
+ Log.wtf(TAG, "Unknown message id: " + msg.what);
+ }
+ }
+ };
+
/**
* OutgoingCallReceiver finishes NEW_OUTGOING_CALL broadcasts, starting
* the InCallScreen if the broadcast has not been canceled, possibly with
@@ -90,8 +115,11 @@ public class OutgoingCallBroadcaster extends Activity
public class OutgoingCallReceiver extends BroadcastReceiver {
private static final String TAG = "OutgoingCallReceiver";
+ @Override
public void onReceive(Context context, Intent intent) {
+ mHandler.removeMessages(EVENT_OUTGOING_CALL_TIMEOUT);
doReceive(context, intent);
+ if (DBG) Log.v(TAG, "OutgoingCallReceiver is going to finish the Activity itself.");
finish();
}
@@ -258,54 +286,33 @@ private void startSipCallOptionHandler(Context context, Intent intent,
selectPhoneIntent.setClass(context, SipCallOptionHandler.class);
selectPhoneIntent.putExtra(EXTRA_NEW_CALL_INTENT, newIntent);
selectPhoneIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- if (DBG) Log.v(TAG, "startSipCallOptionHandler(): " +
- "calling startActivity: " + selectPhoneIntent);
+ if (DBG) {
+ Log.v(TAG, "startSipCallOptionHandler(): " +
+ "calling startActivity: " + selectPhoneIntent);
+ }
context.startActivity(selectPhoneIntent);
// ...and see SipCallOptionHandler.onCreate() for the next step of the sequence.
}
+ /**
+ * This method is the single point of entry for the CALL intent, which is used (by built-in
+ * apps like Contacts / Dialer, as well as 3rd-party apps) to initiate an outgoing voice call.
+ *
+ *
+ */
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
-
- // This method is the single point of entry for the CALL intent,
- // which is used (by built-in apps like Contacts / Dialer, as well
- // as 3rd-party apps) to initiate an outgoing voice call.
- //
- // We also handle two related intents which are only used internally:
- // CALL_PRIVILEGED (which can come from built-in apps like contacts /
- // voice dialer / bluetooth), and CALL_EMERGENCY (from the
- // EmergencyDialer that's reachable from the lockscreen.)
- //
- // The exact behavior depends on the intent's data:
- //
- // - The most typical is a tel: URI, which we handle by starting the
- // NEW_OUTGOING_CALL broadcast. That broadcast eventually triggeres
- // the sequence OutgoingCallReceiver -> SipCallOptionHandler ->
- // InCallScreen.
- //
- // - Or, with a sip: URI we skip the NEW_OUTGOING_CALL broadcast and
- // go directly to SipCallOptionHandler, which then leads to the
- // InCallScreen.
- //
- // - voicemail: URIs take the same path as regular tel: URIs.
- //
- // Other special cases:
- //
- // - Outgoing calls are totally disallowed on non-voice-capable
- // devices (see handleNonVoiceCapable()).
- //
- // - A CALL intent with the EXTRA_SEND_EMPTY_FLASH extra (and
- // presumably no data at all) means "send an empty flash" (which
- // is only meaningful on CDMA devices while a call is already
- // active.)
+ setContentView(R.layout.outgoing_call_broadcaster);
+ mWaitingSpinner = (ProgressBar) findViewById(R.id.spinner);
Intent intent = getIntent();
- final Configuration configuration = getResources().getConfiguration();
-
- if (DBG) Log.v(TAG, "onCreate: this = " + this + ", icicle = " + icicle);
- if (DBG) Log.v(TAG, " - getIntent() = " + intent);
- if (DBG) Log.v(TAG, " - configuration = " + configuration);
+ if (DBG) {
+ final Configuration configuration = getResources().getConfiguration();
+ Log.v(TAG, "onCreate: this = " + this + ", icicle = " + icicle);
+ Log.v(TAG, " - getIntent() = " + intent);
+ Log.v(TAG, " - configuration = " + configuration);
+ }
if (icicle != null) {
// A non-null icicle means that this activity is being
@@ -334,11 +341,57 @@ protected void onCreate(Bundle icicle) {
return;
}
+ processIntent(intent);
+
+ // isFinishing() return false when 1. broadcast is still ongoing, or 2. dialog is being
+ // shown. Otherwise finish() is called inside processIntent(), is isFinishing() here will
+ // return true.
+ if (DBG) Log.v(TAG, "At the end of onCreate(). isFinishing(): " + isFinishing());
+ }
+
+ /**
+ * Interprets a given Intent and starts something relevant to the Intent.
+ *
+ * This method will handle three kinds of actions:
+ *
+ * - CALL (action for usual outgoing voice calls)
+ * - CALL_PRIVILEGED (can come from built-in apps like contacts / voice dialer / bluetooth)
+ * - CALL_EMERGENCY (from the EmergencyDialer that's reachable from the lockscreen.)
+ *
+ * The exact behavior depends on the intent's data:
+ *
+ * - The most typical is a tel: URI, which we handle by starting the
+ * NEW_OUTGOING_CALL broadcast. That broadcast eventually triggers
+ * the sequence OutgoingCallReceiver -> SipCallOptionHandler ->
+ * InCallScreen.
+ *
+ * - Or, with a sip: URI we skip the NEW_OUTGOING_CALL broadcast and
+ * go directly to SipCallOptionHandler, which then leads to the
+ * InCallScreen.
+ *
+ * - voicemail: URIs take the same path as regular tel: URIs.
+ *
+ * Other special cases:
+ *
+ * - Outgoing calls are totally disallowed on non-voice-capable
+ * devices (see handleNonVoiceCapable()).
+ *
+ * - A CALL intent with the EXTRA_SEND_EMPTY_FLASH extra (and
+ * presumably no data at all) means "send an empty flash" (which
+ * is only meaningful on CDMA devices while a call is already
+ * active.)
+ *
+ */
+ private void processIntent(Intent intent) {
+ if (DBG) {
+ Log.v(TAG, "processIntent() = " + intent + ", thread: " + Thread.currentThread());
+ }
+ final Configuration configuration = getResources().getConfiguration();
+
// Outgoing phone calls are only allowed on "voice-capable" devices.
if (!PhoneApp.sVoiceCapable) {
+ Log.i(TAG, "This device is detected as non-voice-capable device.");
handleNonVoiceCapable(intent);
- // No need to finish() here; handleNonVoiceCapable() will do
- // that if necessary.
return;
}
@@ -351,6 +404,8 @@ protected void onCreate(Bundle icicle) {
number = PhoneNumberUtils.convertKeypadLettersToDigits(number);
number = PhoneNumberUtils.stripSeparators(number);
}
+ } else {
+ Log.w(TAG, "The number obtained from Intent is null.");
}
// If true, this flag will indicate that the current call is a special kind
@@ -385,9 +440,9 @@ protected void onCreate(Bundle icicle) {
final boolean isPotentialEmergencyNumber =
(number != null) && PhoneNumberUtils.isPotentialLocalEmergencyNumber(number, this);
if (VDBG) {
- Log.v(TAG, "- Checking restrictions for number '" + number + "':");
- Log.v(TAG, " isExactEmergencyNumber = " + isExactEmergencyNumber);
- Log.v(TAG, " isPotentialEmergencyNumber = " + isPotentialEmergencyNumber);
+ Log.v(TAG, " - Checking restrictions for number '" + number + "':");
+ Log.v(TAG, " isExactEmergencyNumber = " + isExactEmergencyNumber);
+ Log.v(TAG, " isPotentialEmergencyNumber = " + isPotentialEmergencyNumber);
}
/* Change CALL_PRIVILEGED into CALL or CALL_EMERGENCY as needed. */
@@ -398,10 +453,14 @@ protected void onCreate(Bundle icicle) {
// that's *potentially* an emergency number can safely be promoted to
// CALL_EMERGENCY (since we *should* allow you to dial "91112345" from
// the dialer if you really want to.)
- action = isPotentialEmergencyNumber
- ? Intent.ACTION_CALL_EMERGENCY
- : Intent.ACTION_CALL;
- if (DBG) Log.v(TAG, "- updating action from CALL_PRIVILEGED to " + action);
+ if (isPotentialEmergencyNumber) {
+ Log.i(TAG, "ACTION_CALL_PRIVILEGED is used while the number is a potential"
+ + " emergency number. Use ACTION_CALL_EMERGENCY as an action instead.");
+ action = Intent.ACTION_CALL_EMERGENCY;
+ } else {
+ action = Intent.ACTION_CALL;
+ }
+ if (DBG) Log.v(TAG, " - updating action from CALL_PRIVILEGED to " + action);
intent.setAction(action);
}
@@ -440,13 +499,14 @@ protected void onCreate(Bundle icicle) {
// emergency number.
if (!isPotentialEmergencyNumber) {
Log.w(TAG, "Cannot call non-potential-emergency number " + number
- + " with EMERGENCY_CALL Intent " + intent + ".");
+ + " with EMERGENCY_CALL Intent " + intent + "."
+ + " Finish the Activity immediately.");
finish();
return;
}
callNow = true;
} else {
- Log.e(TAG, "Unhandled Intent " + intent + ".");
+ Log.e(TAG, "Unhandled Intent " + intent + ". Finish the Activity immediately.");
finish();
return;
}
@@ -462,10 +522,10 @@ protected void onCreate(Bundle icicle) {
// as well.
PhoneApp.getInstance().wakeUpScreen();
- /* If number is null, we're probably trying to call a non-existent voicemail number,
- * send an empty flash or something else is fishy. Whatever the problem, there's no
- * number, so there's no point in allowing apps to modify the number. */
- if (number == null || TextUtils.isEmpty(number)) {
+ // If number is null, we're probably trying to call a non-existent voicemail number,
+ // send an empty flash or something else is fishy. Whatever the problem, there's no
+ // number, so there's no point in allowing apps to modify the number.
+ if (TextUtils.isEmpty(number)) {
if (intent.getBooleanExtra(EXTRA_SEND_EMPTY_FLASH, false)) {
Log.i(TAG, "onCreate: SEND_EMPTY_FLASH...");
PhoneUtils.sendEmptyFlash(PhoneApp.getPhone());
@@ -482,7 +542,7 @@ protected void onCreate(Bundle icicle) {
// that 3rd parties aren't allowed to intercept or affect in any way.
// So initiate the outgoing call immediately.
- if (DBG) Log.v(TAG, "onCreate(): callNow case! Calling placeCall(): " + intent);
+ Log.i(TAG, "onCreate(): callNow case! Calling placeCall(): " + intent);
// Initiate the outgoing call, and simultaneously launch the
// InCallScreen to display the in-call UI:
@@ -496,6 +556,17 @@ protected void onCreate(Bundle icicle) {
// EXTRA_ALREADY_CALLED extra.)
}
+ // Remember the call origin so that users will be able to see an appropriate screen
+ // after the phone call. This should affect both phone calls and SIP calls.
+ final String callOrigin = intent.getStringExtra(PhoneApp.EXTRA_CALL_ORIGIN);
+ if (callOrigin != null) {
+ if (DBG) Log.v(TAG, " - Call origin is passed (" + callOrigin + ")");
+ PhoneApp.getInstance().setLatestActiveCallOrigin(callOrigin);
+ } else {
+ if (DBG) Log.v(TAG, " - Call origin is not passed. Reset current one.");
+ PhoneApp.getInstance().resetLatestActiveCallOrigin();
+ }
+
// For now, SIP calls will be processed directly without a
// NEW_OUTGOING_CALL broadcast.
//
@@ -508,8 +579,8 @@ protected void onCreate(Bundle icicle) {
// a plain address, whether it could be a tel: URI, etc.)
Uri uri = intent.getData();
String scheme = uri.getScheme();
- if (Constants.SCHEME_SIP.equals(scheme)
- || PhoneNumberUtils.isUriNumber(number)) {
+ if (Constants.SCHEME_SIP.equals(scheme) || PhoneNumberUtils.isUriNumber(number)) {
+ Log.i(TAG, "The requested number was detected as SIP call.");
startSipCallOptionHandler(this, intent, uri, number);
finish();
return;
@@ -519,15 +590,6 @@ protected void onCreate(Bundle icicle) {
// case here too (most likely by just doing nothing at all.)
}
- final String callOrigin = intent.getStringExtra(PhoneApp.EXTRA_CALL_ORIGIN);
- if (callOrigin != null) {
- if (DBG) Log.v(TAG, "Call origin is passed (" + callOrigin + ")");
- PhoneApp.getInstance().setLatestActiveCallOrigin(callOrigin);
- } else {
- if (DBG) Log.v(TAG, "Call origin is not passed. Reset current one.");
- PhoneApp.getInstance().setLatestActiveCallOrigin(null);
- }
-
Intent broadcastIntent = new Intent(Intent.ACTION_NEW_OUTGOING_CALL);
if (number != null) {
broadcastIntent.putExtra(Intent.EXTRA_PHONE_NUMBER, number);
@@ -535,12 +597,22 @@ protected void onCreate(Bundle icicle) {
PhoneUtils.checkAndCopyPhoneProviderExtras(intent, broadcastIntent);
broadcastIntent.putExtra(EXTRA_ALREADY_CALLED, callNow);
broadcastIntent.putExtra(EXTRA_ORIGINAL_URI, uri.toString());
- if (DBG) Log.v(TAG, "Broadcasting intent: " + broadcastIntent + ".");
+ // Need to raise foreground in-call UI as soon as possible while allowing 3rd party app
+ // to intercept the outgoing call.
+ broadcastIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+ if (DBG) Log.v(TAG, " - Broadcasting intent: " + broadcastIntent + ".");
+
+ // Set a timer so that we can prepare for unexpected delay introduced by the broadcast.
+ // If it takes too much time, the timer will show "waiting" spinner.
+ // This message will be removed when OutgoingCallReceiver#onReceive() is called before the
+ // timeout.
+ mHandler.sendEmptyMessageDelayed(EVENT_OUTGOING_CALL_TIMEOUT,
+ OUTGOING_CALL_TIMEOUT_THRESHOLD);
sendOrderedBroadcast(broadcastIntent, PERMISSION, new OutgoingCallReceiver(),
- null, // scheduler
- Activity.RESULT_OK, // initialCode
- number, // initialData: initial value for the result data
- null); // initialExtras
+ null, // scheduler
+ Activity.RESULT_OK, // initialCode
+ number, // initialData: initial value for the result data
+ null); // initialExtras
}
@Override
@@ -609,7 +681,7 @@ protected Dialog onCreateDialog(int id) {
case DIALOG_NOT_VOICE_CAPABLE:
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.not_voice_capable)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setPositiveButton(android.R.string.ok, this)
.setOnCancelListener(this)
.create();
@@ -622,23 +694,27 @@ protected Dialog onCreateDialog(int id) {
return dialog;
}
- // DialogInterface.OnClickListener implementation
+ /** DialogInterface.OnClickListener implementation */
+ @Override
public void onClick(DialogInterface dialog, int id) {
// DIALOG_NOT_VOICE_CAPABLE is the only dialog we ever use (so far
// at least), and its only button is "OK".
finish();
}
- // DialogInterface.OnCancelListener implementation
+ /** DialogInterface.OnCancelListener implementation */
+ @Override
public void onCancel(DialogInterface dialog) {
// DIALOG_NOT_VOICE_CAPABLE is the only dialog we ever use (so far
// at least), and canceling it is just like hitting "OK".
finish();
}
- // Implement onConfigurationChanged() purely for debugging purposes,
- // to make sure that the android:configChanges element in our manifest
- // is working properly.
+ /**
+ * Implement onConfigurationChanged() purely for debugging purposes,
+ * to make sure that the android:configChanges element in our manifest
+ * is working properly.
+ */
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
diff --git a/src/com/android/phone/PhoneApp.java b/src/com/android/phone/PhoneApp.java
index e5191023d..5727005aa 100644
--- a/src/com/android/phone/PhoneApp.java
+++ b/src/com/android/phone/PhoneApp.java
@@ -19,18 +19,21 @@
import android.app.Activity;
import android.app.Application;
import android.app.KeyguardManager;
+import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothHeadset;
import android.bluetooth.BluetoothProfile;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.media.AudioManager;
+import android.media.AudioSystem;
import android.net.Uri;
import android.os.AsyncResult;
import android.os.Binder;
@@ -44,6 +47,7 @@
import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.SystemProperties;
+import android.os.UpdateLock;
import android.preference.PreferenceManager;
import android.provider.Settings.System;
import android.telephony.ServiceState;
@@ -57,6 +61,7 @@
import com.android.internal.telephony.MmiCode;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.TelephonyCapabilities;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.cdma.TtyIntent;
import com.android.phone.OtaUtils.CdmaOtaScreenState;
@@ -111,6 +116,8 @@ public class PhoneApp extends Application implements AccelerometerListener.Orien
// Don't use message codes larger than 99 here; those are reserved for
// the individual Activities of the Phone UI.
+ private String mVoiceQualityParam;
+
/**
* Allowable values for the poke lock code (timeout between a user activity and the
* going to sleep), please refer to {@link com.android.server.PowerManagerService}
@@ -137,6 +144,28 @@ public enum WakeState {
FULL
}
+ /**
+ * Intent Action used for hanging up the current call from Notification bar. This will
+ * choose first ringing call, first active call, or first background call (typically in
+ * HOLDING state).
+ */
+ public static final String ACTION_HANG_UP_ONGOING_CALL =
+ "com.android.phone.ACTION_HANG_UP_ONGOING_CALL";
+
+ /**
+ * Intent Action used for making a phone call from Notification bar.
+ * This is for missed call notifications.
+ */
+ public static final String ACTION_CALL_BACK_FROM_NOTIFICATION =
+ "com.android.phone.ACTION_CALL_BACK_FROM_NOTIFICATION";
+
+ /**
+ * Intent Action used for sending a SMS from notification bar.
+ * This is for missed call notifications.
+ */
+ public static final String ACTION_SEND_SMS_FROM_NOTIFICATION =
+ "com.android.phone.ACTION_SEND_SMS_FROM_NOTIFICATION";
+
private static PhoneApp sMe;
// A few important fields we expose to the rest of the package
@@ -144,6 +173,7 @@ public enum WakeState {
Phone phone;
CallController callController;
InCallUiState inCallUiState;
+ CallerInfoCache callerInfoCache;
CallNotifier notifier;
NotificationMgr notificationMgr;
Ringer ringer;
@@ -186,12 +216,26 @@ public enum WakeState {
private boolean mBeginningCall;
// Last phone state seen by updatePhoneState()
- Phone.State mLastPhoneState = Phone.State.IDLE;
+ private Phone.State mLastPhoneState = Phone.State.IDLE;
private WakeState mWakeState = WakeState.SLEEP;
+
+ /**
+ * Timeout setting used by PokeLock.
+ *
+ * This variable won't be effective when proximity sensor is available in the device.
+ *
+ * @see ScreenTimeoutDuration
+ */
private ScreenTimeoutDuration mScreenTimeoutDuration = ScreenTimeoutDuration.DEFAULT;
+ /**
+ * Used to set/unset {@link LocalPowerManager#POKE_LOCK_IGNORE_TOUCH_EVENTS} toward PokeLock.
+ *
+ * This variable won't be effective when proximity sensor is available in the device.
+ */
private boolean mIgnoreTouchUserActivity = false;
- private IBinder mPokeLockToken = new Binder();
+ private final IBinder mPokeLockToken = new Binder();
+
private IPowerManager mPowerManagerService;
private PowerManager.WakeLock mWakeLock;
private PowerManager.WakeLock mPartialWakeLock;
@@ -200,6 +244,8 @@ public enum WakeState {
private AccelerometerListener mAccelerometerListener;
private int mOrientation = AccelerometerListener.ORIENTATION_UNKNOWN;
+ private UpdateLock mUpdateLock;
+
// Broadcast receiver for various intent broadcasts (see onCreate())
private final BroadcastReceiver mReceiver = new PhoneAppBroadcastReceiver();
@@ -429,6 +475,10 @@ public void onCreate() {
// Get the default phone
phone = PhoneFactory.getDefaultPhone();
+ // Start TelephonyDebugService After the default phone is created.
+ Intent intent = new Intent(this, TelephonyDebugService.class);
+ startService(intent);
+
mCM = CallManager.getInstance();
mCM.registerPhone(phone);
@@ -463,7 +513,8 @@ public void onCreate() {
// before registering for phone state changes
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
- | PowerManager.ACQUIRE_CAUSES_WAKEUP,
+ | PowerManager.ACQUIRE_CAUSES_WAKEUP
+ | PowerManager.ON_AFTER_RELEASE,
LOG_TAG);
// lock used to keep the processor awake, when we don't care for the display.
mPartialWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK
@@ -488,6 +539,12 @@ public void onCreate() {
mPowerManagerService = IPowerManager.Stub.asInterface(
ServiceManager.getService("power"));
+ // Get UpdateLock to suppress system-update related events (e.g. dialog show-up)
+ // during phone calls.
+ mUpdateLock = new UpdateLock("phone");
+
+ if (DBG) Log.d(LOG_TAG, "onCreate: mUpdateLock: " + mUpdateLock);
+
// Create the CallController singleton, which is the interface
// to the telephony layer for user-initiated telephony functionality
// (like making outgoing calls.)
@@ -496,6 +553,12 @@ public void onCreate() {
// keep track of some "persistent state" of the in-call UI.
inCallUiState = InCallUiState.init(this);
+ // Create the CallerInfoCache singleton, which remembers custom ring tone and
+ // send-to-voicemail settings.
+ //
+ // The asynchronous caching will start just after this call.
+ callerInfoCache = CallerInfoCache.init(this);
+
// Create the CallNotifer singleton, which handles
// asynchronous events from the telephony layer (like
// launching the incoming-call UI when an incoming call comes
@@ -518,6 +581,8 @@ public void onCreate() {
// Read platform settings for TTY feature
mTtyEnabled = getResources().getBoolean(R.bool.tty_enabled);
+ mVoiceQualityParam = getResources().getString(R.string.voice_quality_param);
+
// Register for misc other intent broadcasts.
IntentFilter intentFilter =
new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
@@ -526,11 +591,13 @@ public void onCreate() {
intentFilter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
intentFilter.addAction(Intent.ACTION_HEADSET_PLUG);
intentFilter.addAction(Intent.ACTION_DOCK_EVENT);
- intentFilter.addAction(Intent.ACTION_BATTERY_LOW);
intentFilter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
intentFilter.addAction(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
intentFilter.addAction(TelephonyIntents.ACTION_SERVICE_STATE_CHANGED);
intentFilter.addAction(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED);
+ intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
+ intentFilter.addAction(Intent.ACTION_SCREEN_ON);
+
if (mTtyEnabled) {
intentFilter.addAction(TtyIntent.TTY_PREFERRED_MODE_CHANGE_ACTION);
}
@@ -542,13 +609,18 @@ public void onCreate() {
// we get these intents *before* the media player.)
IntentFilter mediaButtonIntentFilter =
new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
- //
+ // TODO verify the independent priority doesn't need to be handled thanks to the
+ // private intent handler registration
// Make sure we're higher priority than the media player's
// MediaButtonIntentReceiver (which currently has the default
// priority of zero; see apps/Music/AndroidManifest.xml.)
mediaButtonIntentFilter.setPriority(1);
//
registerReceiver(mMediaButtonReceiver, mediaButtonIntentFilter);
+ // register the component so it gets priority for calls
+ AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ am.registerMediaButtonEventReceiverForCalls(new ComponentName(this.getPackageName(),
+ MediaButtonBroadcastReceiver.class.getName()));
//set the default values for the preferences in the phone.
PreferenceManager.setDefaultValues(this, R.xml.network_setting, false);
@@ -675,10 +747,32 @@ BluetoothHandsfree getBluetoothHandsfree() {
return intent;
}
- // TODO(InCallScreen redesign): This should be made private once
- // we fix PhoneInterfaceManager.java to *not* manually launch
- // the InCallScreen from its call() method.
- static String getCallScreenClassName() {
+ /**
+ * Returns PendingIntent for hanging up ongoing phone call. This will typically be used from
+ * Notification context.
+ */
+ /* package */ static PendingIntent createHangUpOngoingCallPendingIntent(Context context) {
+ Intent intent = new Intent(PhoneApp.ACTION_HANG_UP_ONGOING_CALL, null,
+ context, NotificationBroadcastReceiver.class);
+ return PendingIntent.getBroadcast(context, 0, intent, 0);
+ }
+
+ /* package */ static PendingIntent getCallBackPendingIntent(Context context, String number) {
+ Intent intent = new Intent(ACTION_CALL_BACK_FROM_NOTIFICATION,
+ Uri.fromParts(Constants.SCHEME_TEL, number, null),
+ context, NotificationBroadcastReceiver.class);
+ return PendingIntent.getBroadcast(context, 0, intent, 0);
+ }
+
+ /* package */ static PendingIntent getSendSmsFromNotificationPendingIntent(
+ Context context, String number) {
+ Intent intent = new Intent(ACTION_SEND_SMS_FROM_NOTIFICATION,
+ Uri.fromParts(Constants.SCHEME_SMSTO, number, null),
+ context, NotificationBroadcastReceiver.class);
+ return PendingIntent.getBroadcast(context, 0, intent, 0);
+ }
+
+ private static String getCallScreenClassName() {
return InCallScreen.class.getName();
}
@@ -740,6 +834,30 @@ boolean isShowingCallScreen() {
return mInCallScreen.isForegroundActivity();
}
+ /**
+ * @return true if the in-call UI is running as the foreground activity, or,
+ * it went to background due to screen being turned off. This might be useful
+ * to determine if the in-call screen went to background because of other
+ * activities, or its proximity sensor state or manual power-button press.
+ *
+ * Here are some examples.
+ *
+ * - If you want to know if the activity is in foreground or screen is turned off
+ * from the in-call UI (i.e. though it is not "foreground" anymore it will become
+ * so after screen being turned on), check
+ * {@link #isShowingCallScreenForProximity()} is true or not.
+ * {@link #updateProximitySensorMode(com.android.internal.telephony.Phone.State)} is
+ * doing this.
+ *
+ * - If you want to know if the activity is not in foreground just because screen
+ * is turned off (not due to other activity's interference), check
+ * {@link #isShowingCallScreen()} is false *and* {@link #isShowingCallScreenForProximity()}
+ * is true. InCallScreen#onDisconnect() is doing this check.
+ *
+ * @see #isShowingCallScreen()
+ *
+ * TODO: come up with better naming..
+ */
boolean isShowingCallScreenForProximity() {
if (mInCallScreen == null) return false;
return mInCallScreen.isForegroundActivityForProximity();
@@ -855,30 +973,29 @@ ProgressDialog getPUKEntryProgressDialog() {
/**
* Controls how quickly the screen times out.
*
+ * This is no-op when the device supports proximity sensor.
+ *
* The poke lock controls how long it takes before the screen powers
* down, and therefore has no immediate effect when the current
* WakeState (see {@link PhoneApp#requestWakeState}) is FULL.
* If we're in a state where the screen *is* allowed to turn off,
* though, the poke lock will determine the timeout interval (long or
* short).
- *
- * @param shortPokeLock tells the device the timeout duration to use
- * before going to sleep
- * {@link com.android.server.PowerManagerService#SHORT_KEYLIGHT_DELAY}.
*/
/* package */ void setScreenTimeout(ScreenTimeoutDuration duration) {
if (VDBG) Log.d(LOG_TAG, "setScreenTimeout(" + duration + ")...");
+ // stick with default timeout if we are using the proximity sensor
+ if (proximitySensorModeEnabled()) {
+ return;
+ }
+
// make sure we don't set the poke lock repeatedly so that we
// avoid triggering the userActivity calls in
// PowerManagerService.setPokeLock().
if (duration == mScreenTimeoutDuration) {
return;
}
- // stick with default timeout if we are using the proximity sensor
- if (proximitySensorModeEnabled()) {
- return;
- }
mScreenTimeoutDuration = duration;
updatePokeLock();
}
@@ -889,6 +1006,13 @@ ProgressDialog getPUKEntryProgressDialog() {
* current "ignore user activity on touch" flag.
*/
private void updatePokeLock() {
+ // Caller must take care of the check. This block is purely for safety.
+ if (proximitySensorModeEnabled()) {
+ Log.wtf(LOG_TAG, "PokeLock should not be used when proximity sensor is available on"
+ + " the device.");
+ return;
+ }
+
// This is kind of convoluted, but the basic thing to remember is
// that the poke lock just sends a message to the screen to tell
// it to stay on for a while.
@@ -1104,6 +1228,8 @@ private void updatePokeLock() {
* Sets or clears the flag that tells the PowerManager that touch
* (and cheek) events should NOT be considered "user activity".
*
+ * This method is no-op when proximity sensor is available on the device.
+ *
* Since the in-call UI is totally insensitive to touch in most
* states, we set this flag whenever the InCallScreen is in the
* foreground. (Otherwise, repeated unintentional touches could
@@ -1115,6 +1241,11 @@ private void updatePokeLock() {
*/
/* package */ void setIgnoreTouchUserActivity(boolean ignore) {
if (VDBG) Log.d(LOG_TAG, "setIgnoreTouchUserActivity(" + ignore + ")...");
+ // stick with default timeout if we are using the proximity sensor
+ if (proximitySensorModeEnabled()) {
+ return;
+ }
+
mIgnoreTouchUserActivity = ignore;
updatePokeLock();
}
@@ -1173,6 +1304,7 @@ private void updatePokeLock() {
* 2) If a wired headset is connected
* 3) if the speaker is ON
* 4) If the slider is open(i.e. the hardkeyboard is *not* hidden)
+ * 5) If it was configured to stay on on Phone > Settings > Keep proximity sensor on
*
* @param state current state of the phone (see {@link Phone#State})
*/
@@ -1182,11 +1314,13 @@ private void updatePokeLock() {
if (proximitySensorModeEnabled()) {
synchronized (mProximityWakeLock) {
// turn proximity sensor off and turn screen on immediately if
- // we are using a headset, the keyboard is open, or the device
+ // we are using a headset and is not configured to keep sensor on
+ // the keyboard is open, or the device
// is being held in a horizontal position.
- boolean screenOnImmediately = (isHeadsetPlugged()
+ boolean keepOn = PhoneUtils.PhoneSettings.keepProximitySensorOn(this);
+ boolean screenOnImmediately = ((!keepOn && isHeadsetPlugged())
|| PhoneUtils.isSpeakerOn(this)
- || ((mBtHandsfree != null) && mBtHandsfree.isAudioOn())
+ || (!keepOn && (mBtHandsfree != null) && mBtHandsfree.isAudioOn())
|| mIsHardKeyboardOpen);
// We do not keep the screen off when the user is outside in-call screen and we are
@@ -1196,6 +1330,19 @@ private void updatePokeLock() {
(mOrientation == AccelerometerListener.ORIENTATION_HORIZONTAL);
screenOnImmediately |= !isShowingCallScreenForProximity() && horizontal;
+ // We do not keep the screen off when dialpad is visible, we are horizontal, and
+ // the in-call screen is being shown.
+ // At that moment we're pretty sure users want to use it, instead of letting the
+ // proximity sensor turn off the screen by their hands.
+ boolean dialpadVisible = false;
+ if (mInCallScreen != null) {
+ dialpadVisible =
+ mInCallScreen.getUpdatedInCallControlState().dialpadEnabled
+ && mInCallScreen.getUpdatedInCallControlState().dialpadVisible
+ && isShowingCallScreen();
+ }
+ screenOnImmediately |= dialpadVisible && horizontal;
+
if (((state == Phone.State.OFFHOOK) || mBeginningCall) && !screenOnImmediately) {
// Phone is in use! Arrange for the screen to turn off
// automatically when the sensor detects a close object.
@@ -1226,6 +1373,7 @@ private void updatePokeLock() {
}
}
+ @Override
public void orientationChanged(int orientation) {
mOrientation = orientation;
updateProximitySensorMode(mCM.getState());
@@ -1233,12 +1381,41 @@ public void orientationChanged(int orientation) {
/**
* Notifies the phone app when the phone state changes.
- * Currently used only for proximity sensor support.
+ *
+ * This method will updates various states inside Phone app (e.g. proximity sensor mode,
+ * accelerometer listener state, update-lock state, etc.)
*/
/* package */ void updatePhoneState(Phone.State state) {
if (state != mLastPhoneState) {
+ String voiceQualSetting = CallFeaturesSetting.getVoiceQuality();
+ if (mVoiceQualityParam != null && voiceQualSetting != null) {
+ AudioSystem.setParameters(mVoiceQualityParam + "=" + voiceQualSetting);
+ }
mLastPhoneState = state;
updateProximitySensorMode(state);
+
+ // Try to acquire or release UpdateLock.
+ //
+ // Watch out: we don't release the lock here when the screen is still in foreground.
+ // At that time InCallScreen will release it on onPause().
+ if (state != Phone.State.IDLE) {
+ // UpdateLock is a recursive lock, while we may get "acquire" request twice and
+ // "release" request once for a single call (RINGING + OFFHOOK and IDLE).
+ // We need to manually ensure the lock is just acquired once for each (and this
+ // will prevent other possible buggy situations too).
+ if (!mUpdateLock.isHeld()) {
+ mUpdateLock.acquire();
+ }
+ } else {
+ if (!isShowingCallScreen()) {
+ if (!mUpdateLock.isHeld()) {
+ mUpdateLock.release();
+ }
+ } else {
+ // For this case InCallScreen will take care of the release() call.
+ }
+ }
+
if (mAccelerometerListener != null) {
// use accelerometer to augment proximity sensor when in call
mOrientation = AccelerometerListener.ORIENTATION_UNKNOWN;
@@ -1261,6 +1438,13 @@ public void orientationChanged(int orientation) {
return mLastPhoneState;
}
+ /**
+ * Returns UpdateLock object.
+ */
+ /* package */ UpdateLock getUpdateLock() {
+ return mUpdateLock;
+ }
+
/**
* @return true if this device supports the "proximity sensor
* auto-lock" feature while in-call (see updateProximitySensorMode()).
@@ -1468,9 +1652,6 @@ public void onReceive(Context context, Intent intent) {
if (VDBG) Log.d(LOG_TAG, " name: " + intent.getStringExtra("name"));
mIsHeadsetPlugged = (intent.getIntExtra("state", 0) == 1);
mHandler.sendMessage(mHandler.obtainMessage(EVENT_WIRED_HEADSET_PLUG, 0));
- } else if (action.equals(Intent.ACTION_BATTERY_LOW)) {
- if (VDBG) Log.d(LOG_TAG, "mReceiver: ACTION_BATTERY_LOW");
- notifier.sendBatteryLow(); // Play a warning tone if in-call
} else if ((action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) &&
(mPUKEntryActivity != null)) {
// if an attempt to un-PUK-lock the device was made, while we're
@@ -1516,6 +1697,18 @@ public void onReceive(Context context, Intent intent) {
if (ringerMode == AudioManager.RINGER_MODE_SILENT) {
notifier.silenceRinger();
}
+ } else if (action.equals(Intent.ACTION_SCREEN_OFF) ||
+ action.equals(Intent.ACTION_SCREEN_ON)) {
+ if (VDBG) Log.d(LOG_TAG, "mReceiver: ACTION_SCREEN_OFF / ACTION_SCREEN_ON");
+ /*
+ * Disable Accelerometer Listener while in-call and the screen is off.
+ * This is done to ensure that power consumption is kept to a minimum
+ * in such a scenario
+ */
+ if (mAccelerometerListener != null) {
+ mAccelerometerListener.enable(mLastPhoneState == Phone.State.OFFHOOK &&
+ action.equals(Intent.ACTION_SCREEN_ON));
+ }
}
}
}
@@ -1560,6 +1753,57 @@ public void onReceive(Context context, Intent intent) {
}
}
+ /**
+ * Accepts broadcast Intents which will be prepared by {@link NotificationMgr} and thus
+ * sent from framework's notification mechanism (which is outside Phone context).
+ * This should be visible from outside, but shouldn't be in "exported" state.
+ *
+ * TODO: If possible merge this into PhoneAppBroadcastReceiver.
+ */
+ public static class NotificationBroadcastReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ // TODO: use "if (VDBG)" here.
+ Log.d(LOG_TAG, "Broadcast from Notification: " + action);
+
+ if (action.equals(ACTION_HANG_UP_ONGOING_CALL)) {
+ PhoneUtils.hangup(PhoneApp.getInstance().mCM);
+ } else if (action.equals(ACTION_CALL_BACK_FROM_NOTIFICATION)) {
+ // Collapse the expanded notification and the notification item itself.
+ closeSystemDialogs(context);
+ clearMissedCallNotification(context);
+
+ Intent callIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED, intent.getData());
+ callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
+ | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
+ context.startActivity(callIntent);
+ } else if (action.equals(ACTION_SEND_SMS_FROM_NOTIFICATION)) {
+ // Collapse the expanded notification and the notification item itself.
+ closeSystemDialogs(context);
+ clearMissedCallNotification(context);
+
+ Intent smsIntent = new Intent(Intent.ACTION_SENDTO, intent.getData());
+ smsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(smsIntent);
+ } else {
+ Log.w(LOG_TAG, "Received hang-up request from notification,"
+ + " but there's no call the system can hang up.");
+ }
+ }
+
+ private void closeSystemDialogs(Context context) {
+ Intent intent = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
+ context.sendBroadcast(intent);
+ }
+
+ private void clearMissedCallNotification(Context context) {
+ Intent clearIntent = new Intent(context, ClearMissedCallsService.class);
+ clearIntent.setAction(ClearMissedCallsService.ACTION_CLEAR_MISSED_CALLS);
+ context.startService(clearIntent);
+ }
+ }
+
private void handleServiceStateChanged(Intent intent) {
/**
* This used to handle updating EriTextWidgetProvider this routine
@@ -1716,9 +1960,52 @@ private void handleSetTTYModeResponse(Message msg) {
private static final String DEFAULT_CALL_ORIGIN_PACKAGE = "com.android.contacts";
private static final String ALLOWED_EXTRA_CALL_ORIGIN =
"com.android.contacts.activities.DialtactsActivity";
+ /**
+ * Used to determine if the preserved call origin is fresh enough.
+ */
+ private static final long CALL_ORIGIN_EXPIRATION_MILLIS = 30 * 1000;
public void setLatestActiveCallOrigin(String callOrigin) {
inCallUiState.latestActiveCallOrigin = callOrigin;
+ if (callOrigin != null) {
+ inCallUiState.latestActiveCallOriginTimeStamp = SystemClock.elapsedRealtime();
+ } else {
+ inCallUiState.latestActiveCallOriginTimeStamp = 0;
+ }
+ }
+
+ /**
+ * Reset call origin depending on its timestamp.
+ *
+ * See if the current call origin preserved by the app is fresh enough or not. If it is,
+ * previous call origin will be used as is. If not, call origin will be reset.
+ *
+ * This will be effective especially for 3rd party apps which want to bypass phone calls with
+ * their own telephone lines. In that case Phone app may finish the phone call once and make
+ * another for the external apps, which will drop call origin information in Intent.
+ * Even in that case we are sure the second phone call should be initiated just after the first
+ * phone call, so here we restore it from the previous information iff the second call is done
+ * fairly soon.
+ */
+ public void resetLatestActiveCallOrigin() {
+ final long callOriginTimestamp = inCallUiState.latestActiveCallOriginTimeStamp;
+ final long currentTimestamp = SystemClock.elapsedRealtime();
+ if (VDBG) {
+ Log.d(LOG_TAG, "currentTimeMillis: " + currentTimestamp
+ + ", saved timestamp for call origin: " + callOriginTimestamp);
+ }
+ if (inCallUiState.latestActiveCallOriginTimeStamp > 0
+ && (currentTimestamp - callOriginTimestamp < CALL_ORIGIN_EXPIRATION_MILLIS)) {
+ if (VDBG) {
+ Log.d(LOG_TAG, "Resume previous call origin (" +
+ inCallUiState.latestActiveCallOrigin + ")");
+ }
+ // Do nothing toward call origin itself but update the timestamp just in case.
+ inCallUiState.latestActiveCallOriginTimeStamp = currentTimestamp;
+ } else {
+ if (VDBG) Log.d(LOG_TAG, "Drop previous call origin and set the current one to null");
+ setLatestActiveCallOrigin(null);
+ }
}
/**
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index ab6011c87..149f706cb 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -29,6 +29,7 @@
import android.os.Message;
import android.os.ServiceManager;
import android.telephony.NeighboringCellInfo;
+import android.telephony.CellInfo;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -57,6 +58,7 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
private static final int CMD_ANSWER_RINGING_CALL = 4;
private static final int CMD_END_CALL = 5; // not used yet
private static final int CMD_SILENCE_RINGER = 6;
+ private static final int CMD_TOGGLE_LTE = 7; // not used yet
/** The singleton instance. */
private static PhoneInterfaceManager sInstance;
@@ -253,7 +255,7 @@ public void dial(String number) {
}
// PENDING: should we just silently fail if phone is offhook or ringing?
- Phone.State state = mPhone.getState();
+ Phone.State state = mCM.getState();
if (state != Phone.State.OFFHOOK && state != Phone.State.RINGING) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -279,6 +281,27 @@ public void call(String number) {
mApp.startActivity(intent);
}
+ public void toggleLTE(boolean on) {
+ int network = -1;
+ if (getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE) {
+ if (on) {
+ network = Phone.NT_MODE_GLOBAL;
+ } else {
+ network = Phone.NT_MODE_CDMA;
+ }
+ } else if (getLteOnGsmMode() != 0) {
+ if (on) {
+ network = Phone.NT_MODE_LTE_GSM_WCDMA;
+ } else {
+ network = Phone.NT_MODE_WCDMA_PREF;
+ }
+ }
+ mPhone.setPreferredNetworkType(network,
+ mMainThreadHandler.obtainMessage(CMD_TOGGLE_LTE));
+ android.provider.Settings.Secure.putInt(mApp.getContentResolver(),
+ android.provider.Settings.Secure.PREFERRED_NETWORK_MODE, network);
+ }
+
private boolean showCallScreenInternal(boolean specifyInitialDialpadState,
boolean initialDialpadState) {
if (!PhoneApp.sVoiceCapable) {
@@ -396,7 +419,7 @@ public void silenceRinger() {
* @see silenceRinger
*/
private void silenceRingerInternal() {
- if ((mPhone.getState() == Phone.State.RINGING)
+ if ((mCM.getState() == Phone.State.RINGING)
&& mApp.notifier.isRinging()) {
// Ringer is actually playing, so silence it.
if (DBG) log("silenceRingerInternal: silencing...");
@@ -405,15 +428,15 @@ private void silenceRingerInternal() {
}
public boolean isOffhook() {
- return (mPhone.getState() == Phone.State.OFFHOOK);
+ return (mCM.getState() == Phone.State.OFFHOOK);
}
public boolean isRinging() {
- return (mPhone.getState() == Phone.State.RINGING);
+ return (mCM.getState() == Phone.State.RINGING);
}
public boolean isIdle() {
- return (mPhone.getState() == Phone.State.IDLE);
+ return (mCM.getState() == Phone.State.IDLE);
}
public boolean isSimPinEnabled() {
@@ -583,7 +606,7 @@ public void cancelMissedCallsNotification() {
}
public int getCallState() {
- return DefaultPhoneNotifier.convertCallState(mPhone.getState());
+ return DefaultPhoneNotifier.convertCallState(mCM.getState());
}
public int getDataState() {
@@ -649,6 +672,22 @@ public List getNeighboringCellInfo() {
}
+ public List getAllCellInfo() {
+ try {
+ mApp.enforceCallingOrSelfPermission(
+ android.Manifest.permission.ACCESS_FINE_LOCATION, null);
+ } catch (SecurityException e) {
+ // If we have ACCESS_FINE_LOCATION permission, skip the check for ACCESS_COARSE_LOCATION
+ // A failure should throw the SecurityException from ACCESS_COARSE_LOCATION since this
+ // is the weaker precondition
+ mApp.enforceCallingOrSelfPermission(
+ android.Manifest.permission.ACCESS_COARSE_LOCATION, null);
+ }
+
+ // TODO return cell info list got from mPhone
+ return null;
+ }
+
//
// Internal helper methods.
//
@@ -740,40 +779,7 @@ public int getVoiceMessageCount() {
* Returns the network type
*/
public int getNetworkType() {
- int radiotech = mPhone.getServiceState().getRadioTechnology();
- switch(radiotech) {
- case ServiceState.RADIO_TECHNOLOGY_GPRS:
- return TelephonyManager.NETWORK_TYPE_GPRS;
- case ServiceState.RADIO_TECHNOLOGY_EDGE:
- return TelephonyManager.NETWORK_TYPE_EDGE;
- case ServiceState.RADIO_TECHNOLOGY_UMTS:
- return TelephonyManager.NETWORK_TYPE_UMTS;
- case ServiceState.RADIO_TECHNOLOGY_HSDPA:
- return TelephonyManager.NETWORK_TYPE_HSDPA;
- case ServiceState.RADIO_TECHNOLOGY_HSUPA:
- return TelephonyManager.NETWORK_TYPE_HSUPA;
- case ServiceState.RADIO_TECHNOLOGY_HSPA:
- return TelephonyManager.NETWORK_TYPE_HSPA;
- case ServiceState.RADIO_TECHNOLOGY_IS95A:
- case ServiceState.RADIO_TECHNOLOGY_IS95B:
- return TelephonyManager.NETWORK_TYPE_CDMA;
- case ServiceState.RADIO_TECHNOLOGY_1xRTT:
- return TelephonyManager.NETWORK_TYPE_1xRTT;
- case ServiceState.RADIO_TECHNOLOGY_EVDO_0:
- return TelephonyManager.NETWORK_TYPE_EVDO_0;
- case ServiceState.RADIO_TECHNOLOGY_EVDO_A:
- return TelephonyManager.NETWORK_TYPE_EVDO_A;
- case ServiceState.RADIO_TECHNOLOGY_EVDO_B:
- return TelephonyManager.NETWORK_TYPE_EVDO_B;
- case ServiceState.RADIO_TECHNOLOGY_EHRPD:
- return TelephonyManager.NETWORK_TYPE_EHRPD;
- case ServiceState.RADIO_TECHNOLOGY_LTE:
- return TelephonyManager.NETWORK_TYPE_LTE;
- case ServiceState.RADIO_TECHNOLOGY_HSPAP:
- return TelephonyManager.NETWORK_TYPE_HSPAP;
- default:
- return TelephonyManager.NETWORK_TYPE_UNKNOWN;
- }
+ return mPhone.getServiceState().getNetworkType();
}
/**
@@ -794,4 +800,8 @@ public boolean hasIccCard() {
public int getLteOnCdmaMode() {
return mPhone.getLteOnCdmaMode();
}
+
+ public int getLteOnGsmMode() {
+ return mPhone.getLteOnGsmMode();
+ }
}
diff --git a/src/com/android/phone/PhoneToggler.java b/src/com/android/phone/PhoneToggler.java
new file mode 100755
index 000000000..39acae73e
--- /dev/null
+++ b/src/com/android/phone/PhoneToggler.java
@@ -0,0 +1,183 @@
+package com.android.phone;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.AsyncResult;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+
+public class PhoneToggler extends BroadcastReceiver {
+
+ /** Used for brodcasting network data change and receive new mode **/
+ public static final String NETWORK_MODE_CHANGED="com.android.internal.telephony.NETWORK_MODE_CHANGED";
+ public static final String REQUEST_NETWORK_MODE="com.android.internal.telephony.REQUEST_NETWORK_MODE";
+ public static final String MODIFY_NETWORK_MODE="com.android.internal.telephony.MODIFY_NETWORK_MODE";
+ public static final String MOBILE_DATA_CHANGED="com.android.internal.telephony.MOBILE_DATA_CHANGED";
+ public static final String NETWORK_MODE = "networkMode";
+
+ public static final String CHANGE_NETWORK_MODE_PERM= "com.android.phone.CHANGE_NETWORK_MODE";
+ private static final String LOG_TAG = "PhoneToggler";
+ private static final boolean DBG = true;
+
+ private Phone mPhone;
+ private MyHandler mHandler;
+
+
+ private Phone getPhone() {
+ if (mPhone==null) mPhone = PhoneFactory.getDefaultPhone();
+ return mPhone;
+ }
+
+ private MyHandler getHandler() {
+ if (mHandler==null) mHandler = new MyHandler();
+ return mHandler;
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (intent.getAction().equals(MODIFY_NETWORK_MODE)) {
+ if (DBG) Log.d(LOG_TAG,"Got modify intent");
+ if (intent.getExtras()!=null) {
+ int networkMode = intent.getExtras().getInt(NETWORK_MODE);
+ boolean networkModeOk = false;
+ int phoneType = getPhone().getPhoneType();
+ boolean isLteOnCdma = getPhone().getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE;
+
+ if (phoneType == Phone.PHONE_TYPE_GSM) {
+ if (networkMode == Phone.NT_MODE_GSM_ONLY
+ || networkMode == Phone.NT_MODE_GSM_UMTS
+ || networkMode == Phone.NT_MODE_WCDMA_PREF
+ || networkMode == Phone.NT_MODE_LTE_GSM_WCDMA
+ || networkMode == Phone.NT_MODE_WCDMA_ONLY) {
+ networkModeOk = true;
+ }
+ } else if (phoneType == Phone.PHONE_TYPE_CDMA) {
+ if (networkMode == Phone.NT_MODE_CDMA
+ || networkMode == Phone.NT_MODE_CDMA_NO_EVDO
+ || networkMode == Phone.NT_MODE_EVDO_NO_CDMA) {
+ networkModeOk = true;
+ }
+ }
+ if (context.getResources().getBoolean(R.bool.world_phone) || isLteOnCdma) {
+ if (networkMode == Phone.NT_MODE_GLOBAL) {
+ networkModeOk = true;
+ }
+ }
+
+ if (networkModeOk) {
+ if (DBG) Log.d(LOG_TAG,"Will modify it to: "+networkMode);
+ changeNetworkMode(networkMode);
+ if (DBG) Log.d(LOG_TAG,"Accepted modification of network mode to : "+networkMode);
+ } else {
+ Log.e(LOG_TAG,"Not accepted network mode: "+networkMode);
+ }
+ }
+ } else if (intent.getAction().equals(REQUEST_NETWORK_MODE)) {
+ if (DBG) Log.d(LOG_TAG,"Sending Intent with current phone network mode");
+ triggerIntent();
+ } else {
+ Log.e(LOG_TAG,"Not accepted intent: "+intent.getAction());
+ }
+ }
+
+ private void changeNetworkMode(int modemNetworkMode) {
+ getPhone().setPreferredNetworkType(modemNetworkMode, getHandler()
+ .obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE));
+
+ }
+
+ private void triggerIntent() {
+ getPhone().getPreferredNetworkType(getHandler()
+ .obtainMessage(MyHandler.MESSAGE_GET_PREFERRED_NETWORK_TYPE));
+ }
+
+ private class MyHandler extends Handler {
+
+ private static final int MESSAGE_GET_PREFERRED_NETWORK_TYPE = 0;
+ private static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 1;
+
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case MESSAGE_GET_PREFERRED_NETWORK_TYPE:
+ handleGetPreferredNetworkTypeResponse(msg);
+ break;
+
+ case MESSAGE_SET_PREFERRED_NETWORK_TYPE:
+ handleSetPreferredNetworkTypeResponse(msg);
+ break;
+ }
+ }
+
+ private void handleGetPreferredNetworkTypeResponse(Message msg) {
+ AsyncResult ar = (AsyncResult) msg.obj;
+
+ if (ar.exception == null) {
+ int modemNetworkMode = ((int[])ar.result)[0];
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeResponse: modemNetworkMode = "+modemNetworkMode);
+ int settingsNetworkMode = android.provider.Settings.Secure.getInt(
+ getPhone().getContext().getContentResolver(),
+ android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
+ MobileNetworkSettings.preferredNetworkMode);
+
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeReponse: settingsNetworkMode = "+settingsNetworkMode);
+
+ //check that modemNetworkMode is from an accepted value
+ if (modemNetworkMode == Phone.NT_MODE_WCDMA_PREF ||
+ modemNetworkMode == Phone.NT_MODE_GSM_ONLY ||
+ modemNetworkMode == Phone.NT_MODE_WCDMA_ONLY ||
+ modemNetworkMode == Phone.NT_MODE_GSM_UMTS ||
+ modemNetworkMode == Phone.NT_MODE_LTE_GSM_WCDMA ||
+ modemNetworkMode == Phone.NT_MODE_CDMA ||
+ modemNetworkMode == Phone.NT_MODE_CDMA_NO_EVDO ||
+ modemNetworkMode == Phone.NT_MODE_EVDO_NO_CDMA ||
+ //A modem might report world phone sometimes
+ //but it's not true. Double check here
+ (getPhone().getContext().getResources().getBoolean(R.bool.world_phone) == true &&
+ modemNetworkMode == Phone.NT_MODE_GLOBAL) ) {
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeResponse: if 1: modemNetworkMode = "+modemNetworkMode);
+
+ //check changes in modemNetworkMode and updates settingsNetworkMode
+ if (modemNetworkMode != settingsNetworkMode) {
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeResponse: if 2: modemNetworkMode != settingsNetworkMode");
+ settingsNetworkMode = modemNetworkMode;
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeResponse: if 2: settingsNetworkMode = "+settingsNetworkMode);
+
+ //changes the Settings.System accordingly to modemNetworkMode
+ android.provider.Settings.Secure.putInt(
+ getPhone().getContext().getContentResolver(),
+ android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
+ settingsNetworkMode );
+ }
+ Intent intent = new Intent(NETWORK_MODE_CHANGED);
+ intent.putExtra(NETWORK_MODE, settingsNetworkMode);
+ getPhone().getContext().sendBroadcast(intent,CHANGE_NETWORK_MODE_PERM);
+ } else if (modemNetworkMode == Phone.NT_MODE_LTE_ONLY) {
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeResponse: lte only: no action");
+ } else {
+ if (DBG) Log.d(LOG_TAG,"handleGetPreferredNetworkTypeResponse: else: reset to default");
+ resetNetworkModeToDefault();
+ }
+ }
+ }
+
+ private void handleSetPreferredNetworkTypeResponse(Message msg) {
+ //PSAFS - TODO: For now no status is stored, so we will always get the real status from Phone.
+ getPhone().getPreferredNetworkType(obtainMessage(MESSAGE_GET_PREFERRED_NETWORK_TYPE));
+ }
+
+ private void resetNetworkModeToDefault() {
+ android.provider.Settings.Secure.putInt(getPhone().getContext().getContentResolver(),
+ android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
+ MobileNetworkSettings.preferredNetworkMode );
+ //Set the Modem
+ getPhone().setPreferredNetworkType(MobileNetworkSettings.preferredNetworkMode,
+ this.obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE));
+ }
+ }
+}
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index 0bed83df1..319c55582 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -19,8 +19,8 @@
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
+import android.content.ActivityNotFoundException;
import android.content.ComponentName;
-import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -29,14 +29,19 @@
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
+import android.media.MediaRecorder;
import android.net.Uri;
import android.net.sip.SipManager;
import android.os.AsyncResult;
+import android.os.AsyncTask;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.os.SystemProperties;
+import android.preference.PreferenceManager;
+import android.provider.ContactsContract;
+import android.provider.Settings;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.util.Log;
@@ -48,6 +53,7 @@
import android.widget.Toast;
import com.android.internal.telephony.Call;
+import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.CallStateException;
import com.android.internal.telephony.CallerInfo;
import com.android.internal.telephony.CallerInfoAsyncQuery;
@@ -55,12 +61,16 @@
import com.android.internal.telephony.IExtendedNetworkService;
import com.android.internal.telephony.MmiCode;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyCapabilities;
import com.android.internal.telephony.TelephonyProperties;
import com.android.internal.telephony.cdma.CdmaConnection;
-import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.sip.SipPhone;
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
@@ -72,6 +82,9 @@ public class PhoneUtils {
private static final String LOG_TAG = "PhoneUtils";
private static final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
+ // Do not check in with VDBG = true, since that may write PII to the system log.
+ private static final boolean VDBG = false;
+
/** Control stack trace for Audio Mode settings */
private static final boolean DBG_SETAUDIOMODE_STACK = false;
@@ -90,9 +103,13 @@ public class PhoneUtils {
static final int AUDIO_RINGING = 1; /** audio behaviour while ringing */
static final int AUDIO_OFFHOOK = 2; /** audio behaviour while in call. */
+ private static MediaRecorder recorder = null;
+
/** Speaker state, persisting between wired headset connection events */
private static boolean sIsSpeakerEnabled = false;
+ private static boolean sIsFirstCall = true;
+
/** Hash table to store mute (Boolean) values based upon the connection.*/
private static Hashtable sConnectionMuteTable =
new Hashtable();
@@ -231,21 +248,24 @@ private PhoneUtils() {
* @return true if we answered the call, or false if there wasn't
* actually a ringing incoming call, or some other error occurred.
*
- * @see answerAndEndHolding()
- * @see answerAndEndActive()
+ * @see #answerAndEndHolding(CallManager, Call)
+ * @see #answerAndEndActive(CallManager, Call)
*/
- static boolean answerCall(Call ringing) {
+ /* package */ static boolean answerCall(Call ringing) {
log("answerCall(" + ringing + ")...");
final PhoneApp app = PhoneApp.getInstance();
// If the ringer is currently ringing and/or vibrating, stop it
- // right now (before actually answering the call.)
- app.getRinger().stopRing();
+ // right now and prevent new rings (before actually answering the call)
+ app.notifier.silenceRinger();
+ final Phone phone = ringing.getPhone();
+ final boolean phoneIsCdma = (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA);
boolean answered = false;
- Phone phone = ringing.getPhone();
- boolean phoneIsCdma = (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA);
- BluetoothHandsfree bthf = null;
+ BluetoothHandsfree bluetoothHandsfree = null;
+
+ // enable noise suppression
+ turnOnNoiseSuppression(app.getApplicationContext(), true);
if (phoneIsCdma) {
// Stop any signalInfo tone being played when a Call waiting gets answered
@@ -278,13 +298,15 @@ static boolean answerCall(Call ringing) {
// If a BluetoothHandsfree is valid we need to set the second call state
// so that the Bluetooth client can update the Call state correctly when
// a call waiting is answered from the Phone.
- bthf = app.getBluetoothHandsfree();
- if (bthf != null) {
- bthf.cdmaSetSecondCallState(true);
+ bluetoothHandsfree = app.getBluetoothHandsfree();
+ if (bluetoothHandsfree != null) {
+ bluetoothHandsfree.cdmaSetSecondCallState(true);
}
}
}
+ final boolean isRealIncomingCall = isRealIncomingCall(ringing.getState());
+
//if (DBG) log("sPhone.acceptCall");
app.mCM.acceptCall(ringing);
answered = true;
@@ -295,7 +317,22 @@ static boolean answerCall(Call ringing) {
setAudioMode();
// Check is phone in any dock, and turn on speaker accordingly
- activateSpeakerIfDocked(phone);
+ final boolean speakerActivated = activateSpeakerIfDocked(phone);
+
+ // When answering a phone call, the user will move the phone near to her/his ear
+ // and start conversation, without checking its speaker status. If some other
+ // application turned on the speaker mode before the call and didn't turn it off,
+ // Phone app would need to be responsible for the speaker phone.
+ // Here, we turn off the speaker if
+ // - the phone call is the first in-coming call,
+ // - we did not activate speaker by ourselves during the process above, and
+ // - Bluetooth headset is not in use.
+ if (isRealIncomingCall && !speakerActivated && isSpeakerOn(app)
+ && !(bluetoothHandsfree != null && bluetoothHandsfree.isAudioOn())) {
+ // This is not an error but might cause users' confusion. Add log just in case.
+ Log.i(LOG_TAG, "Forcing speaker off due to new incoming call...");
+ turnOnSpeaker(app, false, true);
+ }
} catch (CallStateException ex) {
Log.w(LOG_TAG, "answerCall: caught " + ex, ex);
@@ -303,8 +340,8 @@ static boolean answerCall(Call ringing) {
// restore the cdmaPhoneCallState and bthf.cdmaSetSecondCallState:
app.cdmaPhoneCallState.setCurrentCallState(
app.cdmaPhoneCallState.getPreviousCallState());
- if (bthf != null) {
- bthf.cdmaSetSecondCallState(false);
+ if (bluetoothHandsfree != null) {
+ bluetoothHandsfree.cdmaSetSecondCallState(false);
}
}
}
@@ -352,6 +389,62 @@ static boolean hangup(CallManager cm) {
return hungup;
}
+ static Call getCurrentCall(Phone phone) {
+ Call ringing = phone.getRingingCall();
+ Call fg = phone.getForegroundCall();
+ Call bg = phone.getBackgroundCall();
+ if (!ringing.isIdle()) {
+ return ringing;
+ }
+ if (!fg.isIdle()) {
+ return fg;
+ }
+ if (!bg.isIdle()) {
+ return bg;
+ }
+ return fg;
+ }
+
+ static Connection getConnection(Phone phone, Call call) {
+ if (call == null) {
+ return null;
+ }
+
+ if (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
+ return call.getLatestConnection();
+ }
+
+ return call.getEarliestConnection();
+ }
+
+ static class PhoneSettings {
+ static boolean vibOn45Secs(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("button_vibrate_45", false);
+ }
+ static boolean vibHangup(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("button_vibrate_hangup", false);
+ }
+ static boolean vibOutgoing(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("button_vibrate_outgoing", false);
+ }
+
+ static boolean vibCallWaiting(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("button_vibrate_call_waiting", false);
+ }
+ static boolean keepProximitySensorOn(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("keep_proximity_sensor_on", false);
+ }
+ static boolean callRecordingEnabled(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("button_call_recording", false);
+ }
+ };
+
static boolean hangupRingingCall(Call ringing) {
if (DBG) log("hangup ringing call");
int phoneType = ringing.getPhone().getPhoneType();
@@ -484,7 +577,20 @@ static boolean answerAndEndHolding(CallManager cm, Call ringing) {
}
- static boolean answerAndEndActive(CallManager cm, Call ringing) {
+ /**
+ * Answers the incoming call specified by "ringing", and ends the currently active phone call.
+ *
+ * This method is useful when's there's an incoming call which we cannot manage with the
+ * current call. e.g. when you are having a phone call with CDMA network and has received
+ * a SIP call, then we won't expect our telephony can manage those phone calls simultaneously.
+ * Note that some types of network may allow multiple phone calls at once; GSM allows to hold
+ * an ongoing phone call, so we don't need to end the active call. The caller of this method
+ * needs to check if the network allows multiple phone calls or not.
+ *
+ * @see #answerCall(Call)
+ * @see InCallScreen#internalAnswerCall()
+ */
+ /* package */ static boolean answerAndEndActive(CallManager cm, Call ringing) {
if (DBG) log("answerAndEndActive()...");
// Unlike the answerCall() method, we *don't* need to stop the
@@ -496,7 +602,7 @@ static boolean answerAndEndActive(CallManager cm, Call ringing) {
// hanging up the active call also accepts the waiting call
// while active call and waiting call are from the same phone
// i.e. both from GSM phone
- if ( !hangupActiveCall(cm.getActiveFgCall())) {
+ if (!hangupActiveCall(cm.getActiveFgCall())) {
Log.w(LOG_TAG, "end active call failed!");
return false;
}
@@ -559,7 +665,16 @@ private static void updateCdmaCallStateOnNewOutgoingCall(PhoneApp app) {
public static int placeCall(Context context, Phone phone,
String number, Uri contactRef, boolean isEmergencyCall,
Uri gatewayUri) {
- if (DBG) log("placeCall '" + number + "' GW:'" + gatewayUri + "'");
+ if (VDBG) {
+ log("placeCall()... number: '" + number + "'"
+ + ", GW:'" + gatewayUri + "'"
+ + ", contactRef:" + contactRef
+ + ", isEmergencyCall: " + isEmergencyCall);
+ } else {
+ log("placeCall()... number: " + toLogSafePhoneNumber(number)
+ + ", GW: " + (gatewayUri != null ? "non-null" : "null")
+ + ", emergency? " + isEmergencyCall);
+ }
final PhoneApp app = PhoneApp.getInstance();
boolean useGateway = false;
@@ -590,6 +705,10 @@ public static int placeCall(Context context, Phone phone,
numberToDial = number;
}
+ // Remember if the phone state was in IDLE state before this call.
+ // After calling CallManager#dial(), getState() will return different state.
+ final boolean initiallyIdle = app.mCM.getState() == Phone.State.IDLE;
+
try {
connection = app.mCM.dial(phone, numberToDial);
} catch (CallStateException ex) {
@@ -682,12 +801,41 @@ public static int placeCall(Context context, Phone phone,
if (DBG) log("about to activate speaker");
// Check is phone in any dock, and turn on speaker accordingly
- activateSpeakerIfDocked(phone);
+ final boolean speakerActivated = activateSpeakerIfDocked(phone);
+
+ // See also similar logic in answerCall().
+ final BluetoothHandsfree bluetoothHandsfree = app.getBluetoothHandsfree();
+ if (initiallyIdle && !speakerActivated && isSpeakerOn(app)
+ && !(bluetoothHandsfree != null && bluetoothHandsfree.isAudioOn())) {
+ // This is not an error but might cause users' confusion. Add log just in case.
+ Log.i(LOG_TAG, "Forcing speaker off when initiating a new outgoing call...");
+ PhoneUtils.turnOnSpeaker(app, false, true);
+ }
}
return status;
}
+ private static String toLogSafePhoneNumber(String number) {
+ if (VDBG) {
+ // When VDBG is true we emit PII.
+ return number;
+ }
+
+ // Do exactly same thing as Uri#toSafeString() does, which will enable us to compare
+ // sanitized phone numbers.
+ StringBuilder builder = new StringBuilder();
+ for (int i = 0; i < number.length(); i++) {
+ char c = number.charAt(i);
+ if (c == '-' || c == '@' || c == '.') {
+ builder.append(c);
+ } else {
+ builder.append('x');
+ }
+ }
+ return builder.toString();
+ }
+
/**
* Wrapper function to control when to send an empty Flash command to the network.
* Mainly needed for CDMA networks, such as scenarios when we need to send a blank flash
@@ -799,7 +947,7 @@ static void mergeCalls(CallManager cm) {
static void separateCall(Connection c) {
try {
- if (DBG) log("separateCall: " + c.getAddress());
+ if (DBG) log("separateCall: " + toLogSafePhoneNumber(c.getAddress()));
c.separate();
} catch (CallStateException ex) {
Log.w(LOG_TAG, "separateCall: caught " + ex, ex);
@@ -866,11 +1014,12 @@ static Dialog displayMMIInitiate(Context context,
mNwService = null;
textmsg = context.getText(R.string.ussdRunning);
}
- if (DBG) log("Extended NW displayMMIInitiate (" + textmsg+ ")");
+ if (DBG) log("Extended NW displayMMIInitiate (" + textmsg + ")");
pd.setMessage(textmsg);
pd.setCancelable(false);
pd.setIndeterminate(true);
- pd.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+ pd.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND
+ | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
pd.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
pd.show();
// trigger a 15 seconds timeout to clear this progress dialog
@@ -1171,6 +1320,54 @@ public static class VoiceMailNumberMissingException extends Exception {
}
}
+ /**
+ * Given an Intent (which is presumably the ACTION_CALL intent that
+ * initiated this outgoing call), figure out the actual phone number we
+ * should dial.
+ *
+ * Note that the returned "number" may actually be a SIP address,
+ * if the specified intent contains a sip: URI.
+ *
+ * This method is basically a wrapper around PhoneUtils.getNumberFromIntent(),
+ * except it's also aware of the EXTRA_ACTUAL_NUMBER_TO_DIAL extra.
+ * (That extra, if present, tells us the exact string to pass down to the
+ * telephony layer. It's guaranteed to be safe to dial: it's either a PSTN
+ * phone number with separators and keypad letters stripped out, or a raw
+ * unencoded SIP address.)
+ *
+ * @return the phone number corresponding to the specified Intent, or null
+ * if the Intent has no action or if the intent's data is malformed or
+ * missing.
+ *
+ * @throws VoiceMailNumberMissingException if the intent
+ * contains a "voicemail" URI, but there's no voicemail
+ * number configured on the device.
+ */
+ public static String getInitialNumber(Intent intent)
+ throws PhoneUtils.VoiceMailNumberMissingException {
+ if (DBG) log("getInitialNumber(): " + intent);
+
+ String action = intent.getAction();
+ if (TextUtils.isEmpty(action)) {
+ return null;
+ }
+
+ // If the EXTRA_ACTUAL_NUMBER_TO_DIAL extra is present, get the phone
+ // number from there. (That extra takes precedence over the actual data
+ // included in the intent.)
+ if (intent.hasExtra(OutgoingCallBroadcaster.EXTRA_ACTUAL_NUMBER_TO_DIAL)) {
+ String actualNumberToDial =
+ intent.getStringExtra(OutgoingCallBroadcaster.EXTRA_ACTUAL_NUMBER_TO_DIAL);
+ if (DBG) {
+ log("==> got EXTRA_ACTUAL_NUMBER_TO_DIAL; returning '"
+ + toLogSafePhoneNumber(actualNumberToDial) + "'");
+ }
+ return actualNumberToDial;
+ }
+
+ return getNumberFromIntent(PhoneApp.getInstance(), intent);
+ }
+
/**
* Gets the phone number to be called from an intent. Requires a Context
* to access the contacts database, and a Phone to access the voicemail
@@ -1194,7 +1391,7 @@ public static class VoiceMailNumberMissingException extends Exception {
* @return the phone number (or SIP address) that would be called by the intent,
* or null if the number cannot be found.
*/
- static String getNumberFromIntent(Context context, Intent intent)
+ private static String getNumberFromIntent(Context context, Intent intent)
throws VoiceMailNumberMissingException {
Uri uri = intent.getData();
String scheme = uri.getScheme();
@@ -1261,7 +1458,7 @@ static CallerInfo getCallerInfo(Context context, Connection c) {
// querying a new CallerInfo using the connection's phone number.
String number = c.getAddress();
- if (DBG) log("getCallerInfo: number = " + number);
+ if (DBG) log("getCallerInfo: number = " + toLogSafePhoneNumber(number));
if (!TextUtils.isEmpty(number)) {
info = CallerInfo.getCallerInfo(context, number);
@@ -1380,7 +1577,7 @@ static CallerInfoToken startGetCallerInfo(Context context, Connection c,
if (DBG) {
log("PhoneUtils.startGetCallerInfo: new query for phone number...");
- log("- number (address): " + number);
+ log("- number (address): " + toLogSafePhoneNumber(number));
log("- c: " + c);
log("- phone: " + c.getCall().getPhone());
int phoneType = c.getCall().getPhone().getPhoneType();
@@ -1405,7 +1602,7 @@ static CallerInfoToken startGetCallerInfo(Context context, Connection c,
cit.currentInfo.numberPresentation = c.getNumberPresentation();
cit.currentInfo.namePresentation = c.getCnapNamePresentation();
- if (DBG) {
+ if (VDBG) {
log("startGetCallerInfo: number = " + number);
log("startGetCallerInfo: CNAP Info from FW(1): name="
+ cit.currentInfo.cnapName
@@ -1444,7 +1641,9 @@ static CallerInfoToken startGetCallerInfo(Context context, Connection c,
c.setUserData(cit);
- if (DBG) log("startGetCallerInfo: query based on number: " + number);
+ if (DBG) {
+ log("startGetCallerInfo: query based on number: " + toLogSafePhoneNumber(number));
+ }
} else if (userDataObject instanceof CallerInfoToken) {
// State (2): query is executing, but has not completed.
@@ -1461,7 +1660,10 @@ static CallerInfoToken startGetCallerInfo(Context context, Connection c,
} else {
// handling case where number/name gets updated later on by the network
String updatedNumber = c.getAddress();
- if (DBG) log("startGetCallerInfo: updatedNumber initially = " + updatedNumber);
+ if (DBG) {
+ log("startGetCallerInfo: updatedNumber initially = "
+ + toLogSafePhoneNumber(updatedNumber));
+ }
if (!TextUtils.isEmpty(updatedNumber)) {
// Store CNAP information retrieved from the Connection
cit.currentInfo.cnapName = c.getCnapName();
@@ -1474,10 +1676,17 @@ static CallerInfoToken startGetCallerInfo(Context context, Connection c,
updatedNumber, cit.currentInfo.numberPresentation);
cit.currentInfo.phoneNumber = updatedNumber;
- if (DBG) log("startGetCallerInfo: updatedNumber=" + updatedNumber);
- if (DBG) log("startGetCallerInfo: CNAP Info from FW(2): name="
- + cit.currentInfo.cnapName
- + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
+ if (DBG) {
+ log("startGetCallerInfo: updatedNumber="
+ + toLogSafePhoneNumber(updatedNumber));
+ }
+ if (VDBG) {
+ log("startGetCallerInfo: CNAP Info from FW(2): name="
+ + cit.currentInfo.cnapName
+ + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
+ } else if (DBG) {
+ log("startGetCallerInfo: CNAP Info from FW(2)");
+ }
// For scenarios where we may receive a valid number from the network but a
// restricted/unavailable presentation, we do not want to perform a contact query
// (see note on isFinal above). So we set isFinal to true here as well.
@@ -1501,9 +1710,13 @@ static CallerInfoToken startGetCallerInfo(Context context, Connection c,
cit.currentInfo.numberPresentation = c.getNumberPresentation();
cit.currentInfo.namePresentation = c.getCnapNamePresentation();
- if (DBG) log("startGetCallerInfo: CNAP Info from FW(3): name="
- + cit.currentInfo.cnapName
- + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
+ if (VDBG) {
+ log("startGetCallerInfo: CNAP Info from FW(3): name="
+ + cit.currentInfo.cnapName
+ + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
+ } else if (DBG) {
+ log("startGetCallerInfo: CNAP Info from FW(3)");
+ }
cit.isFinal = true; // please see note on isFinal, above.
}
}
@@ -1619,7 +1832,7 @@ static String getCompactNameFromCallerInfo(CallerInfo ci, Context context) {
compactName = context.getString(R.string.unknown);
}
}
- if (DBG) log("getCompactNameFromCallerInfo: compactName=" + compactName);
+ if (VDBG) log("getCompactNameFromCallerInfo: compactName=" + compactName);
return compactName;
}
@@ -1686,14 +1899,14 @@ static boolean isConferenceCall(Call call) {
* Launch the Dialer to start a new call.
* This is just a wrapper around the ACTION_DIAL intent.
*/
- static void startNewCall(final CallManager cm) {
+ /* package */ static boolean startNewCall(final CallManager cm) {
final PhoneApp app = PhoneApp.getInstance();
// Sanity-check that this is OK given the current state of the phone.
if (!okToAddCall(cm)) {
Log.w(LOG_TAG, "startNewCall: can't add a new call in the current state");
dumpCallManager();
- return;
+ return false;
}
// if applicable, mute the call while we're showing the add call UI.
@@ -1711,11 +1924,27 @@ static void startNewCall(final CallManager cm) {
// it that we're going through the "add call" option from the
// InCallScreen / PhoneUtils.
intent.putExtra(ADD_CALL_MODE_KEY, true);
+ try {
+ app.startActivity(intent);
+ } catch (ActivityNotFoundException e) {
+ // This is rather rare but possible.
+ // Note: this method is used even when the phone is encrypted. At that moment
+ // the system may not find any Activity which can accept this Intent.
+ Log.e(LOG_TAG, "Activity for adding calls isn't found.");
+ return false;
+ }
- app.startActivity(intent);
+ return true;
}
- static void turnOnSpeaker(Context context, boolean flag, boolean store) {
+ /**
+ * Turns on/off speaker.
+ *
+ * @param context Context
+ * @param flag True when speaker should be on. False otherwise.
+ * @param store True when the settings should be stored in the device.
+ */
+ /* package */ static void turnOnSpeaker(Context context, boolean flag, boolean store) {
if (DBG) log("turnOnSpeaker(flag=" + flag + ", store=" + store + ")...");
final PhoneApp app = PhoneApp.getInstance();
@@ -1761,7 +1990,7 @@ static boolean isSpeakerOn(Context context) {
}
- static void turnOnNoiseSuppression(Context context, boolean flag, boolean store) {
+ static void turnOnNoiseSuppression(Context context, boolean flag) {
if (DBG) log("turnOnNoiseSuppression: " + flag);
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
@@ -1769,47 +1998,29 @@ static void turnOnNoiseSuppression(Context context, boolean flag, boolean store)
return;
}
- if (flag) {
- audioManager.setParameters("noise_suppression=auto");
- } else {
- audioManager.setParameters("noise_suppression=off");
- }
-
- // record the speaker-enable value
- if (store) {
- sIsNoiseSuppressionEnabled = flag;
- }
+ int nsp = android.provider.Settings.System.getInt(context.getContentResolver(),android.provider.Settings.System.NOISE_SUPPRESSION,1);
- // TODO: implement and manage ICON
+ String aParam = context.getResources().getString(R.string.in_call_noise_suppression_audioparameter);
+ String[] aPValues = aParam.split("=");
- }
-
- static void restoreNoiseSuppression(Context context) {
- if (DBG) log("restoreNoiseSuppression, restoring to: " + sIsNoiseSuppressionEnabled);
-
- if (!context.getResources().getBoolean(R.bool.has_in_call_noise_suppression)) {
- return;
+ if(aPValues[0].length() == 0) {
+ aPValues[0] = "noise_suppression";
}
- // change the mode if needed.
- if (isNoiseSuppressionOn(context) != sIsNoiseSuppressionEnabled) {
- turnOnNoiseSuppression(context, sIsNoiseSuppressionEnabled, false);
+ if(aPValues[1].length() == 0) {
+ aPValues[1] = "on";
}
- }
- static boolean isNoiseSuppressionOn(Context context) {
-
- if (!context.getResources().getBoolean(R.bool.has_in_call_noise_suppression)) {
- return false;
+ if(aPValues[2].length() == 0) {
+ aPValues[2] = "off";
}
- AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
- String noiseSuppression = audioManager.getParameters("noise_suppression");
- if (DBG) log("isNoiseSuppressionOn: " + noiseSuppression);
- if (noiseSuppression.contains("off")) {
- return false;
+ if (nsp == 1 && flag) {
+ if (DBG) log("turnOnNoiseSuppression: " + aPValues[0] + "=" + aPValues[1]);
+ audioManager.setParameters(aPValues[0] + "=" + aPValues[1]);
} else {
- return true;
+ if (DBG) log("turnOnNoiseSuppression: " + aPValues[0] + "=" + aPValues[2]);
+ audioManager.setParameters(aPValues[0] + "=" + aPValues[2]);
}
}
@@ -1845,17 +2056,19 @@ static void setMute(boolean muted) {
*/
private static void setMuteInternal(Phone phone, boolean muted) {
final PhoneApp app = PhoneApp.getInstance();
- Context context = phone.getContext();
- boolean routeToAudioManager =
- context.getResources().getBoolean(R.bool.send_mic_mute_to_AudioManager);
- if (routeToAudioManager) {
- AudioManager audioManager =
- (AudioManager) phone.getContext().getSystemService(Context.AUDIO_SERVICE);
- if (DBG) log("setMuteInternal: using setMicrophoneMute(" + muted + ")...");
- audioManager.setMicrophoneMute(muted);
- } else {
- if (DBG) log("setMuteInternal: using phone.setMute(" + muted + ")...");
- phone.setMute(muted);
+ if (phone != null) {
+ Context context = phone.getContext();
+ boolean routeToAudioManager =
+ context.getResources().getBoolean(R.bool.send_mic_mute_to_AudioManager);
+ if (routeToAudioManager) {
+ AudioManager audioManager =
+ (AudioManager) phone.getContext().getSystemService(Context.AUDIO_SERVICE);
+ if (DBG) log("setMuteInternal: using setMicrophoneMute(" + muted + ")...");
+ audioManager.setMicrophoneMute(muted);
+ } else {
+ if (DBG) log("setMuteInternal: using phone.setMute(" + muted + ")...");
+ phone.setMute(muted);
+ }
}
app.notificationMgr.updateMuteNotification();
}
@@ -1878,6 +2091,73 @@ static boolean getMute() {
}
}
+ private static File createRecordingTempFile(String path) {
+ File dir = new File(path);
+ if (!dir.exists()) {
+ try {
+ dir.mkdirs();
+ } catch (Exception e) {
+ Log.e("PhoneUtils", "unable to create directory " + dir + ": " + e);
+ return null;
+ }
+ } else if (!dir.canWrite()) {
+ Log.e("PhoneUtils", "no write permission for directory: " + dir);
+ return null;
+ }
+ try {
+ return File.createTempFile("call", ".tmp", dir);
+ } catch (IOException e) {
+ Log.e("PhoneUtils", "unable to create temp file in " + dir + ": " + e);
+ return null;
+ }
+ }
+
+ static void startRecording(String address, String inOut) {
+ String dirName = "/sdcard/CallRecordings";
+ log("startRecording");
+ if (recorder == null) {
+ log("startRecording: create new recorder");
+ File recording = null;
+ recorder = new MediaRecorder();
+ recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);
+ recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
+ recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
+ recorder.setAudioEncodingBitRate(18000);
+ recording = createRecordingTempFile(dirName);
+ if (recording == null) {
+ recorder.release();
+ recorder = null;
+ return;
+ }
+ // name recording filename based on call data
+ Calendar cl = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss-(");
+ String newRecordingName = dirName + "/" + sdf.format(cl.getTime()) +
+ address.replace("*","x") + ")-" + inOut + ".m4a";
+ recording.renameTo(new File(newRecordingName));
+ recorder.setOutputFile(newRecordingName);
+ try {
+ recorder.prepare();
+ recorder.start();
+ } catch (IOException e) {
+ Log.e("PhoneUtils", "io problems while preparing [" +
+ newRecordingName + "]: " + e.getMessage());
+ recorder.release();
+ recorder = null;
+ }
+ }
+ }
+
+ static void stopRecording() {
+ log("stopRecording");
+ if (recorder != null) {
+ log("stopRecording: release old recorder");
+ recorder.stop();
+ recorder.release();
+ recorder = null;
+ }
+ }
+
/* package */ static void setAudioMode() {
setAudioMode(PhoneApp.getInstance().mCM);
}
@@ -2173,8 +2453,11 @@ private static int checkCnapSpecialCases(String n) {
// displayed/logged after this function returns based on the presentation value.
if (ci == null || number == null) return number;
- if (DBG) log("modifyForSpecialCnapCases: initially, number=" + number
- + ", presentation=" + presentation + " ci " + ci);
+ if (DBG) {
+ log("modifyForSpecialCnapCases: initially, number="
+ + toLogSafePhoneNumber(number)
+ + ", presentation=" + presentation + " ci " + ci);
+ }
// "ABSENT NUMBER" is a possible value we could get from the network as the
// phone number, so if this happens, change it to "Unknown" in the CallerInfo
@@ -2201,12 +2484,17 @@ private static int checkCnapSpecialCases(String n) {
} else if (cnapSpecialCase == Connection.PRESENTATION_UNKNOWN) {
number = context.getString(R.string.unknown);
}
- if (DBG) log("SpecialCnap: number=" + number
- + "; presentation now=" + cnapSpecialCase);
+ if (DBG) {
+ log("SpecialCnap: number=" + toLogSafePhoneNumber(number)
+ + "; presentation now=" + cnapSpecialCase);
+ }
ci.numberPresentation = cnapSpecialCase;
}
}
- if (DBG) log("modifyForSpecialCnapCases: returning number string=" + number);
+ if (DBG) {
+ log("modifyForSpecialCnapCases: returning number string="
+ + toLogSafePhoneNumber(number));
+ }
return number;
}
@@ -2343,10 +2631,21 @@ private static int checkCnapSpecialCases(String n) {
* Check if the phone is in a car dock or desk dock.
* If yes, turn on the speaker, when no wired or BT headsets are connected.
* Otherwise do nothing.
+ * @return true if activated
*/
- private static void activateSpeakerIfDocked(Phone phone) {
+ private static boolean activateSpeakerIfDocked(Phone phone) {
if (DBG) log("activateSpeakerIfDocked()...");
+ /* TODO: hack for Defy+ libaudio on Milestone (first call is mute),
+ should be removed when a proper fix is ready */
+ if (sIsFirstCall) {
+ sIsFirstCall = false;
+ turnOnSpeaker(phone.getContext(), true, false);
+ restoreSpeakerMode(phone.getContext());
+ }
+
+ boolean activated = false;
+
if (PhoneApp.mDockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) {
if (DBG) log("activateSpeakerIfDocked(): In a dock -> may need to turn on speaker.");
PhoneApp app = PhoneApp.getInstance();
@@ -2354,8 +2653,10 @@ private static void activateSpeakerIfDocked(Phone phone) {
if (!app.isHeadsetPlugged() && !(bthf != null && bthf.isAudioOn())) {
turnOnSpeaker(phone.getContext(), true, true);
+ activated = true;
}
}
+ return activated;
}
@@ -2388,8 +2689,12 @@ private static void activateSpeakerIfDocked(Phone phone) {
*/
public static Phone pickPhoneBasedOnNumber(CallManager cm,
String scheme, String number, String primarySipUri) {
- if (DBG) log("pickPhoneBasedOnNumber: scheme " + scheme
- + ", number " + number + ", sipUri " + primarySipUri);
+ if (DBG) {
+ log("pickPhoneBasedOnNumber: scheme " + scheme
+ + ", number " + toLogSafePhoneNumber(number)
+ + ", sipUri "
+ + (primarySipUri != null ? Uri.parse(primarySipUri).toSafeString() : "null"));
+ }
if (primarySipUri != null) {
Phone phone = getSipPhoneFromUri(cm, primarySipUri);
@@ -2413,9 +2718,12 @@ public static Phone getSipPhoneFromUri(CallManager cm, String target) {
return null;
}
+ /**
+ * Returns true when the given call is in INCOMING state and there's no foreground phone call,
+ * meaning the call is the first real incoming call the phone is having.
+ */
public static boolean isRealIncomingCall(Call.State state) {
return (state == Call.State.INCOMING && !PhoneApp.getInstance().mCM.hasActiveFgCall());
-
}
private static boolean sVoipSupported = false;
@@ -2433,6 +2741,49 @@ static boolean isVoipSupported() {
return sVoipSupported;
}
+ /**
+ * On GSM devices, we never use short tones.
+ * On CDMA devices, it depends upon the settings.
+ */
+ public static boolean useShortDtmfTones(Phone phone, Context context) {
+ int phoneType = phone.getPhoneType();
+ if (phoneType == Phone.PHONE_TYPE_GSM) {
+ return false;
+ } else if (phoneType == Phone.PHONE_TYPE_CDMA) {
+ int toneType = android.provider.Settings.System.getInt(
+ context.getContentResolver(),
+ Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
+ CallFeaturesSetting.DTMF_TONE_TYPE_NORMAL);
+ if (toneType == CallFeaturesSetting.DTMF_TONE_TYPE_NORMAL) {
+ return true;
+ } else {
+ return false;
+ }
+ } else if (phoneType == Phone.PHONE_TYPE_SIP) {
+ return false;
+ } else {
+ throw new IllegalStateException("Unexpected phone type: " + phoneType);
+ }
+ }
+
+ public static String getPresentationString(Context context, int presentation) {
+ String name = context.getString(R.string.unknown);
+ if (presentation == Connection.PRESENTATION_RESTRICTED) {
+ name = context.getString(R.string.private_num);
+ } else if (presentation == Connection.PRESENTATION_PAYPHONE) {
+ name = context.getString(R.string.payphone);
+ }
+ return name;
+ }
+
+ public static void sendViewNotificationAsync(Context context, Uri contactUri) {
+ if (DBG) Log.d(LOG_TAG, "Send view notification to Contacts (uri: " + contactUri + ")");
+ Intent intent = new Intent("com.android.contacts.VIEW_NOTIFICATION", contactUri);
+ intent.setClassName("com.android.contacts",
+ "com.android.contacts.ViewNotificationService");
+ context.startService(intent);
+ }
+
//
// General phone and call state debugging/testing code
//
diff --git a/src/com/android/phone/RespondViaSmsManager.java b/src/com/android/phone/RespondViaSmsManager.java
index 451198f95..ea9e188a0 100644
--- a/src/com/android/phone/RespondViaSmsManager.java
+++ b/src/com/android/phone/RespondViaSmsManager.java
@@ -18,6 +18,7 @@
import com.android.internal.telephony.Call;
import com.android.internal.telephony.Connection;
+import com.android.internal.telephony.Phone;
import android.app.ActionBar;
import android.app.AlertDialog;
@@ -89,6 +90,8 @@ public class RespondViaSmsManager {
private static final String KEY_CANNED_RESPONSE_PREF_3 = "canned_response_pref_3";
private static final String KEY_CANNED_RESPONSE_PREF_4 = "canned_response_pref_4";
+ private static final String ACTION_SENDTO_NO_CONFIRMATION =
+ "com.android.mms.intent.action.SENDTO_NO_CONFIRMATION";
/**
* RespondViaSmsManager constructor.
@@ -98,6 +101,12 @@ public RespondViaSmsManager() {
public void setInCallScreenInstance(InCallScreen inCallScreen) {
mInCallScreen = inCallScreen;
+
+ if (mInCallScreen != null) {
+ // Prefetch shared preferences to make the first canned response lookup faster
+ // (and to prevent StrictMode violation)
+ mInCallScreen.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
+ }
}
/**
@@ -111,9 +120,6 @@ public void showRespondViaSmsPopup(Call ringingCall) {
ListView lv = new ListView(mInCallScreen);
// Refresh the array of "canned responses".
- // TODO: don't do this here in the UI thread! (This lookup is very
- // cheap, but it's still a StrictMode violation. See the TODO comment
- // following loadCannedResponses() for more info.)
mCannedResponses = loadCannedResponses();
// Build the list: start with the canned responses, but manually add
@@ -183,6 +189,10 @@ public void dismissPopup() {
}
}
+ public boolean isShowingPopup() {
+ return mPopup != null && mPopup.isShowing();
+ }
+
/**
* OnItemClickListener for the "Respond via SMS" popup.
*/
@@ -197,6 +207,7 @@ public RespondViaSmsItemClickListener(String phoneNumber) {
/**
* Handles the user selecting an item from the popup.
*/
+ @Override
public void onItemClick(AdapterView> parent, // The ListView
View view, // The TextView that was clicked
int position,
@@ -245,7 +256,17 @@ public void onItemClick(AdapterView> parent, // The ListView
// So reject the call now.
mInCallScreen.hangupRingingCall();
- PhoneApp.getInstance().dismissCallScreen();
+ dismissPopup();
+
+ final Phone.State state = PhoneApp.getInstance().mCM.getState();
+ if (state == Phone.State.IDLE) {
+ // There's no other phone call to interact. Exit the entire in-call screen.
+ PhoneApp.getInstance().dismissCallScreen();
+ } else {
+ // The user is still in the middle of other phone calls, so we should keep the
+ // in-call screen.
+ mInCallScreen.requestUpdateScreen();
+ }
}
}
@@ -260,28 +281,39 @@ public RespondViaSmsCancelListener() {
* Handles the user canceling the popup, either by touching
* outside the popup or by pressing Back.
*/
+ @Override
public void onCancel(DialogInterface dialog) {
if (DBG) log("RespondViaSmsCancelListener.onCancel()...");
- // If the user cancels the popup, this presumably means that
- // they didn't actually mean to bring up the "Respond via SMS"
- // UI in the first place (and instead want to go back to the
- // state where they can either answer or reject the call.)
- // So restart the ringer and bring back the regular incoming
- // call UI.
+ dismissPopup();
- // This will have no effect if the incoming call isn't still ringing.
- PhoneApp.getInstance().notifier.restartRinger();
+ final Phone.State state = PhoneApp.getInstance().mCM.getState();
+ if (state == Phone.State.IDLE) {
+ // This means the incoming call is already hung up when the user chooses not to
+ // use "Respond via SMS" feature. Let's just exit the whole in-call screen.
+ PhoneApp.getInstance().dismissCallScreen();
+ } else {
- // We hid the MultiWaveView widget way back in
- // InCallTouchUi.onTrigger(), when the user first selected
- // the "SMS" trigger.
- //
- // To bring it back, just force the entire InCallScreen to
- // update itself based on the current telephony state.
- // (Assuming the incoming call is still ringing, this will
- // cause the incoming call widget to reappear.)
- mInCallScreen.requestUpdateScreen();
+ // If the user cancels the popup, this presumably means that
+ // they didn't actually mean to bring up the "Respond via SMS"
+ // UI in the first place (and instead want to go back to the
+ // state where they can either answer or reject the call.)
+ // So restart the ringer and bring back the regular incoming
+ // call UI.
+
+ // This will have no effect if the incoming call isn't still ringing.
+ PhoneApp.getInstance().notifier.restartRinger();
+
+ // We hid the GlowPadView widget way back in
+ // InCallTouchUi.onTrigger(), when the user first selected
+ // the "SMS" trigger.
+ //
+ // To bring it back, just force the entire InCallScreen to
+ // update itself based on the current telephony state.
+ // (Assuming the incoming call is still ringing, this will
+ // cause the incoming call widget to reappear.)
+ mInCallScreen.requestUpdateScreen();
+ }
}
}
@@ -292,10 +324,7 @@ private void sendText(String phoneNumber, String message) {
if (VDBG) log("sendText: number "
+ phoneNumber + ", message '" + message + "'");
- Uri uri = Uri.fromParts(Constants.SCHEME_SMSTO, phoneNumber, null);
- Intent intent = new Intent("com.android.mms.intent.action.SENDTO_NO_CONFIRMATION", uri);
- intent.putExtra(Intent.EXTRA_TEXT, message);
- mInCallScreen.startService(intent);
+ mInCallScreen.startService(getInstantTextIntent(phoneNumber, message));
}
/**
@@ -304,32 +333,30 @@ private void sendText(String phoneNumber, String message) {
private void launchSmsCompose(String phoneNumber) {
if (VDBG) log("launchSmsCompose: number " + phoneNumber);
- Uri uri = Uri.fromParts(Constants.SCHEME_SMS, phoneNumber, null);
- Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+ Intent intent = getInstantTextIntent(phoneNumber, null);
if (VDBG) log("- Launching SMS compose UI: " + intent);
- mInCallScreen.startActivity(intent);
-
- // TODO: One open issue here: if the user selects "Custom message"
- // for an incoming call while the device was locked, and the user
- // does *not* have a secure keyguard set, we bring up the
- // non-secure keyguard at this point :-(
- // Instead, we should immediately go to the SMS compose UI.
- //
- // I *believe* the fix is for the SMS compose activity to set the
- // FLAG_DISMISS_KEYGUARD window flag (which will cause the
- // keyguard to be dismissed *only* if it is not a secure lock
- // keyguard.)
- //
- // But it there an equivalent way for me to accomplish that here,
- // without needing to change the SMS app?
- //
- // In any case, I'm pretty sure the SMS UI should *not* to set
- // FLAG_SHOW_WHEN_LOCKED, since we do want the force the user to
- // enter their lock pattern or PIN at this point if they have a
- // secure keyguard set.
+ mInCallScreen.startService(intent);
}
+ /**
+ * @param phoneNumber Must not be null.
+ * @param message Can be null. If message is null, the returned Intent will be configured to
+ * launch the SMS compose UI. If non-null, the returned Intent will cause the specified message
+ * to be sent with no interaction from the user.
+ * @return Service Intent for the instant response.
+ */
+ private static Intent getInstantTextIntent(String phoneNumber, String message) {
+ Uri uri = Uri.fromParts(Constants.SCHEME_SMSTO, phoneNumber, null);
+ Intent intent = new Intent(ACTION_SENDTO_NO_CONFIRMATION, uri);
+ if (message != null) {
+ intent.putExtra(Intent.EXTRA_TEXT, message);
+ } else {
+ intent.putExtra("exit_on_sent", true);
+ intent.putExtra("showUI", true);
+ }
+ return intent;
+ }
/**
* Settings activity under "Call settings" to let you manage the
@@ -382,6 +409,7 @@ protected void onCreate(Bundle icicle) {
}
// Preference.OnPreferenceChangeListener implementation
+ @Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (DBG) log("onPreferenceChange: key = " + preference.getKey());
if (VDBG) log(" preference = '" + preference + "'");
@@ -417,7 +445,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
* This method does disk I/O (reading the SharedPreferences file)
* so don't call it from the main thread.
*
- * @see RespondViaSmsManager$Settings
+ * @see RespondViaSmsManager.Settings
*/
private String[] loadCannedResponses() {
if (DBG) log("loadCannedResponses()...");
@@ -442,29 +470,6 @@ private String[] loadCannedResponses() {
res.getString(R.string.respond_via_sms_canned_response_4));
return responses;
}
- // TODO: Don't call loadCannedResponses() from the UI thread.
- //
- // We should either (1) kick off a background task when the call first
- // starts ringing (probably triggered from the InCallScreen
- // onNewRingingConnection() method) which would run loadCannedResponses()
- // and stash the result away in mCannedResponses, or (2) use an
- // OnSharedPreferenceChangeListener to listen for changes to this
- // SharedPreferences instance, and use that to kick off the background task.
- //
- // In either case:
- //
- // - Make sure we recover sanely if mCannedResponses is still null when it's
- // actually time to show the popup (i.e. if the background task was too
- // slow, or if the background task never got started for some reason)
- //
- // - Make sure that all setting and getting of mCannedResponses happens
- // inside a synchronized block
- //
- // - If we kick off the background task when the call first starts ringing,
- // consider delaying that until the incoming-call UI actually comes to the
- // foreground; this way we won't steal any CPU away from the caller-id
- // query. Maybe do it from InCallScreen.onResume()?
- // Or InCallTouchUi.showIncomingCallWidget()?
/**
* @return true if the "Respond via SMS" feature should be enabled
@@ -484,7 +489,7 @@ private String[] loadCannedResponses() {
* networks at least), so we still enable this feature even though
* SMSes to that number will silently fail.
*/
- public static boolean allowRespondViaSmsForCall(Call ringingCall) {
+ public static boolean allowRespondViaSmsForCall(Context context, Call ringingCall) {
if (DBG) log("allowRespondViaSmsForCall(" + ringingCall + ")...");
// First some basic sanity checks:
@@ -538,6 +543,12 @@ public static boolean allowRespondViaSmsForCall(Call ringingCall) {
return false;
}
+ // Allow the feature only when there's a destination for it.
+ if (context.getPackageManager().resolveService(getInstantTextIntent(number, null) , 0)
+ == null) {
+ return false;
+ }
+
// TODO: with some carriers (in certain countries) you *can* actually
// tell whether a given number is a mobile phone or not. So in that
// case we could potentially return false here if the incoming call is
diff --git a/src/com/android/phone/Ringer.java b/src/com/android/phone/Ringer.java
index a800f7eed..9122f0cc0 100644
--- a/src/com/android/phone/Ringer.java
+++ b/src/com/android/phone/Ringer.java
@@ -16,11 +16,13 @@
package com.android.phone;
+import android.content.ContentResolver;
import android.content.Context;
import android.media.AudioManager;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
+import android.provider.Settings;
import android.os.Handler;
import android.os.IPowerManager;
import android.os.Looper;
@@ -29,7 +31,9 @@
import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.SystemProperties;
+import android.os.SystemVibrator;
import android.os.Vibrator;
+import android.provider.Settings;
import android.util.Log;
import com.android.internal.telephony.Phone;
@@ -43,6 +47,7 @@ public class Ringer {
private static final int PLAY_RING_ONCE = 1;
private static final int STOP_RING = 3;
+ private static final int INCREASE_RING_VOLUME = 4;
private static final int VIBRATE_LENGTH = 1000; // ms
private static final int PAUSE_LENGTH = 1000; // ms
@@ -51,18 +56,22 @@ public class Ringer {
private static Ringer sInstance;
// Uri for the ringtone.
- Uri mCustomRingtoneUri;
+ Uri mCustomRingtoneUri = Settings.System.DEFAULT_RINGTONE_URI;
Ringtone mRingtone;
- Vibrator mVibrator = new Vibrator();
+ Vibrator mVibrator;
+ AudioManager mAudioManager;
IPowerManager mPowerManager;
volatile boolean mContinueVibrating;
VibratorThread mVibratorThread;
Context mContext;
private Worker mRingThread;
+ private Handler mHandler;
private Handler mRingHandler;
private long mFirstRingEventTime = -1;
private long mFirstRingStartTime = -1;
+ private int mRingerVolumeSetting = -1;
+ private int mRingIncreaseInterval;
/**
* Initialize the singleton Ringer instance.
@@ -82,7 +91,11 @@ public class Ringer {
/** Private constructor; @see init() */
private Ringer(Context context) {
mContext = context;
+ mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
mPowerManager = IPowerManager.Stub.asInterface(ServiceManager.getService(Context.POWER_SERVICE));
+ // We don't rely on getSystemService(Context.VIBRATOR_SERVICE) to make sure this
+ // vibrator object will be isolated from others.
+ mVibrator = new SystemVibrator();
}
/**
@@ -146,9 +159,9 @@ void ring() {
try {
if (PhoneApp.getInstance().showBluetoothIndication()) {
mPowerManager.setAttentionLight(true, 0x000000ff);
- } else {
+ } else {
mPowerManager.setAttentionLight(true, 0x00ffffff);
- }
+ }
} catch (RemoteException ex) {
// the other end of this binder call is in the system process.
}
@@ -159,16 +172,39 @@ void ring() {
if (DBG) log("- starting vibrator...");
mVibratorThread.start();
}
- AudioManager audioManager =
- (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- if (audioManager.getStreamVolume(AudioManager.STREAM_RING) == 0) {
+ int ringerVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_RING);
+ if (ringerVolume == 0 && mRingerVolumeSetting <= 0) {
if (DBG) log("skipping ring because volume is zero");
return;
}
makeLooper();
if (mFirstRingEventTime < 0) {
+ ContentResolver cr = mContext.getContentResolver();
+ boolean increasing = Settings.System.getInt(cr,
+ Settings.System.INCREASING_RING, 0) == 1;
+ int minVolume = Settings.System.getInt(cr,
+ Settings.System.INCREASING_RING_MIN_VOLUME, 1);
+
+ if (increasing && minVolume < ringerVolume) {
+ mRingIncreaseInterval = Settings.System.getInt(cr,
+ Settings.System.INCREASING_RING_INTERVAL, 0);
+
+ mRingerVolumeSetting = ringerVolume;
+ mAudioManager.setStreamVolume(AudioManager.STREAM_RING, minVolume, 0);
+ if (DBG) {
+ log("increasing ring is enabled, starting at " +
+ minVolume + "/" + ringerVolume);
+ }
+ if (mRingIncreaseInterval > 0) {
+ mHandler.sendEmptyMessageDelayed(
+ INCREASE_RING_VOLUME, mRingIncreaseInterval);
+ }
+ } else {
+ mRingerVolumeSetting = -1;
+ }
+
mFirstRingEventTime = SystemClock.elapsedRealtime();
mRingHandler.sendEmptyMessage(PLAY_RING_ONCE);
} else {
@@ -181,6 +217,9 @@ void ring() {
if (DBG) {
log("delaying ring by " + (mFirstRingStartTime - mFirstRingEventTime));
}
+ if (mRingerVolumeSetting > 0 && mRingIncreaseInterval == 0) {
+ mHandler.sendEmptyMessage(INCREASE_RING_VOLUME);
+ }
mRingHandler.sendEmptyMessageDelayed(PLAY_RING_ONCE,
mFirstRingStartTime - mFirstRingEventTime);
} else {
@@ -194,8 +233,12 @@ void ring() {
}
boolean shouldVibrate() {
- AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- return audioManager.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER);
+ int ringerMode = mAudioManager.getRingerMode();
+ if (CallFeaturesSetting.getVibrateWhenRinging(mContext)) {
+ return ringerMode != AudioManager.RINGER_MODE_SILENT;
+ } else {
+ return ringerMode == AudioManager.RINGER_MODE_VIBRATE;
+ }
}
/**
@@ -212,6 +255,15 @@ void stopRing() {
// the other end of this binder call is in the system process.
}
+ if (mHandler != null) {
+ mHandler.removeCallbacksAndMessages(null);
+ mHandler = null;
+ }
+ if (mRingerVolumeSetting >= 0) {
+ if (DBG) log("- stopRing: resetting ring volume to " + mRingerVolumeSetting);
+ mAudioManager.setStreamVolume(AudioManager.STREAM_RING, mRingerVolumeSetting, 0);
+ mRingerVolumeSetting = -1;
+ }
if (mRingHandler != null) {
mRingHandler.removeCallbacksAndMessages(null);
Message msg = mRingHandler.obtainMessage(STOP_RING);
@@ -292,6 +344,30 @@ void setCustomRingtoneUri (Uri uri) {
}
private void makeLooper() {
+ if (mHandler == null) {
+ mHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case INCREASE_RING_VOLUME:
+ int ringerVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_RING);
+ if (mRingerVolumeSetting > 0 && ringerVolume < mRingerVolumeSetting) {
+ ringerVolume++;
+ if (DBG) {
+ log("increasing ring volume to " +
+ ringerVolume + "/" + mRingerVolumeSetting);
+ }
+ mAudioManager.setStreamVolume(AudioManager.STREAM_RING, ringerVolume, 0);
+ if (mRingIncreaseInterval > 0) {
+ sendEmptyMessageDelayed(INCREASE_RING_VOLUME, mRingIncreaseInterval);
+ }
+ }
+ break;
+ }
+ }
+ };
+ }
+
if (mRingThread == null) {
mRingThread = new Worker("ringer");
mRingHandler = new Handler(mRingThread.getLooper()) {
diff --git a/src/com/android/phone/SipCallOptionHandler.java b/src/com/android/phone/SipCallOptionHandler.java
index 0734cd767..64d18c522 100644
--- a/src/com/android/phone/SipCallOptionHandler.java
+++ b/src/com/android/phone/SipCallOptionHandler.java
@@ -224,7 +224,7 @@ protected Dialog onCreateDialog(int id) {
case DIALOG_SELECT_PHONE_TYPE:
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.pick_outgoing_call_phone_type)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setSingleChoiceItems(R.array.phone_type_values, -1, this)
.setNegativeButton(android.R.string.cancel, this)
.setOnCancelListener(this)
@@ -233,7 +233,7 @@ protected Dialog onCreateDialog(int id) {
case DIALOG_SELECT_OUTGOING_SIP_PHONE:
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.pick_outgoing_sip_phone)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setSingleChoiceItems(getProfileNameArray(), -1, this)
.setNegativeButton(android.R.string.cancel, this)
.setOnCancelListener(this)
@@ -244,7 +244,7 @@ protected Dialog onCreateDialog(int id) {
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.no_sip_account_found_title)
.setMessage(R.string.no_sip_account_found)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setPositiveButton(R.string.sip_menu_add, this)
.setNegativeButton(android.R.string.cancel, this)
.setOnCancelListener(this)
@@ -257,7 +257,7 @@ protected Dialog onCreateDialog(int id) {
: R.string.no_internet_available_title)
.setMessage(wifiOnly ? R.string.no_wifi_available
: R.string.no_internet_available)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setPositiveButton(android.R.string.ok, this)
.setOnCancelListener(this)
.create();
@@ -265,7 +265,7 @@ protected Dialog onCreateDialog(int id) {
case DIALOG_NO_VOIP:
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.no_voip)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setPositiveButton(android.R.string.ok, this)
.setOnCancelListener(this)
.create();
diff --git a/src/com/android/phone/SmallerHitTargetTouchListener.java b/src/com/android/phone/SmallerHitTargetTouchListener.java
new file mode 100644
index 000000000..74f46f783
--- /dev/null
+++ b/src/com/android/phone/SmallerHitTargetTouchListener.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.view.MotionEvent;
+import android.view.View;
+
+/**
+ * OnTouchListener used to shrink the "hit target" of some onscreen buttons.
+ *
+ * We do this for a few specific buttons which are vulnerable to
+ * "false touches" because either (1) they're near the edge of the
+ * screen and might be unintentionally touched while holding the
+ * device in your hand, or (2) they're in the upper corners and might
+ * be touched by the user's ear before the prox sensor has a chance to
+ * kick in.
+ *
+ * TODO (new ICS layout): not sure which buttons need this yet.
+ * For now, use it only with the "End call" button (which extends all
+ * the way to the edges of the screen). But we can consider doing
+ * this for "Dialpad" and/or "Add call" if those turn out to be a
+ * problem too.
+ */
+public class SmallerHitTargetTouchListener implements View.OnTouchListener {
+ /**
+ * Width of the allowable "hit target" as a percentage of
+ * the total width of this button.
+ */
+ private static final int HIT_TARGET_PERCENT_X = 50;
+
+ /**
+ * Height of the allowable "hit target" as a percentage of
+ * the total height of this button.
+ *
+ * This is larger than HIT_TARGET_PERCENT_X because some of
+ * the onscreen buttons are wide but not very tall and we don't
+ * want to make the vertical hit target *too* small.
+ */
+ private static final int HIT_TARGET_PERCENT_Y = 80;
+
+ // Size (percentage-wise) of the "edge" area that's *not* touch-sensitive.
+ private static final int X_EDGE = (100 - HIT_TARGET_PERCENT_X) / 2;
+ private static final int Y_EDGE = (100 - HIT_TARGET_PERCENT_Y) / 2;
+ // Min/max values (percentage-wise) of the touch-sensitive hit target.
+ private static final int X_HIT_MIN = X_EDGE;
+ private static final int X_HIT_MAX = 100 - X_EDGE;
+ private static final int Y_HIT_MIN = Y_EDGE;
+ private static final int Y_HIT_MAX = 100 - Y_EDGE;
+
+ // True if the most recent DOWN event was a "hit".
+ boolean mDownEventHit;
+
+ /**
+ * Called when a touch event is dispatched to a view. This allows listeners to
+ * get a chance to respond before the target view.
+ *
+ * @return True if the listener has consumed the event, false otherwise.
+ * (In other words, we return true when the touch is *outside*
+ * the "smaller hit target", which will prevent the actual
+ * button from handling these events.)
+ */
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ // if (DBG) log("SmallerHitTargetTouchListener: " + v + ", event " + event);
+
+ if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ // Note that event.getX() and event.getY() are already
+ // translated into the View's coordinates. (In other words,
+ // "0,0" is a touch on the upper-left-most corner of the view.)
+ int touchX = (int) event.getX();
+ int touchY = (int) event.getY();
+
+ int viewWidth = v.getWidth();
+ int viewHeight = v.getHeight();
+
+ // Touch location as a percentage of the total button width or height.
+ int touchXPercent = (int) ((float) (touchX * 100) / (float) viewWidth);
+ int touchYPercent = (int) ((float) (touchY * 100) / (float) viewHeight);
+ // if (DBG) log("- percentage: x = " + touchXPercent + ", y = " + touchYPercent);
+
+ // TODO: user research: add event logging here of the actual
+ // hit location (and button ID), and enable it for dogfooders
+ // for a few days. That'll give us a good idea of how close
+ // to the center of the button(s) most touch events are, to
+ // help us fine-tune the HIT_TARGET_PERCENT_* constants.
+
+ if (touchXPercent < X_HIT_MIN || touchXPercent > X_HIT_MAX
+ || touchYPercent < Y_HIT_MIN || touchYPercent > Y_HIT_MAX) {
+ // Missed!
+ // if (DBG) log(" -> MISSED!");
+ mDownEventHit = false;
+ return true; // Consume this event; don't let the button see it
+ } else {
+ // Hit!
+ // if (DBG) log(" -> HIT!");
+ mDownEventHit = true;
+ return false; // Let this event through to the actual button
+ }
+ } else {
+ // This is a MOVE, UP or CANCEL event.
+ //
+ // We only do the "smaller hit target" check on DOWN events.
+ // For the subsequent MOVE/UP/CANCEL events, we let them
+ // through to the actual button IFF the previous DOWN event
+ // got through to the actual button (i.e. it was a "hit".)
+ return !mDownEventHit;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/SpecialCharSequenceMgr.java b/src/com/android/phone/SpecialCharSequenceMgr.java
index 34c0a32d4..35519a68d 100644
--- a/src/com/android/phone/SpecialCharSequenceMgr.java
+++ b/src/com/android/phone/SpecialCharSequenceMgr.java
@@ -27,6 +27,8 @@
import android.util.Log;
import android.view.WindowManager;
+import com.android.internal.telephony.TelephonyCapabilities;
+
/**
* Helper class to listen for some magic dialpad character sequences
* that are handled specially by the Phone app.
diff --git a/src/com/android/phone/TelephonyCapabilities.java b/src/com/android/phone/TelephonyCapabilities.java
deleted file mode 100644
index ebb68386c..000000000
--- a/src/com/android/phone/TelephonyCapabilities.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import com.android.internal.telephony.Phone;
-
-/**
- * TODO: This is intended as a temporary repository for behavior policy
- * functions that depend upon the type of phone or the carrier. Ultimately
- * these sorts of questions should be answered by the telephony layer.
- */
-public class TelephonyCapabilities {
- private static final String LOG_TAG = "TelephonyCapabilities";
-
- /** This class is never instantiated. */
- private TelephonyCapabilities() {
- }
-
- /**
- * On GSM devices, we never use short tones.
- * On CDMA devices, it depends upon the settings.
- * TODO: I don't think this has anything to do with GSM versus CDMA,
- * should we be looking only at the setting?
- */
- /* package */ static boolean useShortDtmfTones(Phone phone, Context context) {
- int phoneType = phone.getPhoneType();
- if (phoneType == Phone.PHONE_TYPE_GSM) {
- return false;
- } else if (phoneType == Phone.PHONE_TYPE_CDMA) {
- int toneType = android.provider.Settings.System.getInt(
- context.getContentResolver(),
- Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
- CallFeaturesSetting.DTMF_TONE_TYPE_NORMAL);
- if (toneType == CallFeaturesSetting.DTMF_TONE_TYPE_NORMAL) {
- return true;
- } else {
- return false;
- }
- } else if (phoneType == Phone.PHONE_TYPE_SIP) {
- return false;
- } else {
- throw new IllegalStateException("Unexpected phone type: " + phoneType);
- }
- }
-
- /**
- * Return true if the current phone supports ECM ("Emergency Callback
- * Mode"), which is a feature where the device goes into a special
- * state for a short period of time after making an outgoing emergency
- * call.
- *
- * (On current devices, that state lasts 5 minutes. It prevents data
- * usage by other apps, to avoid conflicts with any possible incoming
- * calls. It also puts up a notification in the status bar, showing a
- * countdown while ECM is active, and allowing the user to exit ECM.)
- *
- * Currently this is assumed to be true for CDMA phones, and false
- * otherwise.
- *
- * TODO: This capability should really be exposed by the telephony
- * layer, since it depends on the underlying telephony technology.
- * (Or, is this actually carrier-specific? Is it VZW-only?)
- */
- /* package */ static boolean supportsEcm(Phone phone) {
- return (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA);
- }
-
- /**
- * Return true if the current phone supports Over The Air Service
- * Provisioning (OTASP)
- *
- * Currently this is assumed to be true for CDMA phones, and false
- * otherwise.
- *
- * TODO: This capability should really be exposed by the telephony
- * layer, since it depends on the underlying telephony technology.
- *
- * TODO: Watch out: this is also highly carrier-specific, since the
- * OTA procedure is different from one carrier to the next, *and* the
- * different carriers may want very different onscreen UI as well.
- * The procedure may even be different for different devices with the
- * same carrier.
- *
- * So we eventually will need a much more flexible, pluggable design.
- * This method here is just a placeholder to reduce hardcoded
- * "if (CDMA)" checks sprinkled throughout the rest of the phone app.
- *
- * TODO: consider using the term "OTASP" rather "OTA" everywhere in the
- * phone app, since OTA can also mean over-the-air software updates.
- */
- /* package */ static boolean supportsOtasp(Phone phone) {
- return (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA);
- }
-
- /**
- * Return true if the current phone can retrieve the voice message count.
- *
- * Currently this is assumed to be true on CDMA phones and false otherwise.
- *
- * TODO: This capability should really be exposed by the telephony
- * layer, since it depends on the underlying telephony technology.
- */
- /* package */ static boolean supportsVoiceMessageCount(Phone phone) {
- return (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA);
- }
-
- /**
- * Return true if this phone allows the user to select which
- * network to use.
- *
- * Currently this is assumed to be true only on GSM phones.
- *
- * TODO: Should CDMA phones allow this as well?
- */
- /* package */ static boolean supportsNetworkSelection(Phone phone) {
- return (phone.getPhoneType() == Phone.PHONE_TYPE_GSM);
- }
-
- /**
- * Returns a resource ID for a label to use when displaying the
- * "device id" of the current device. (This is currently used as the
- * title of the "device id" dialog.)
- *
- * This is specific to the device's telephony technology: the device
- * id is called "IMEI" on GSM phones and "MEID" on CDMA phones.
- * TODO: ultimately this name should come directly from the
- * telephony layer.
- */
- /* package */ static int getDeviceIdLabel(Phone phone) {
- if (phone.getPhoneType() == Phone.PHONE_TYPE_GSM) {
- return R.string.imei;
- } else if (phone.getPhoneType() == Phone.PHONE_TYPE_CDMA) {
- return R.string.meid;
- } else {
- Log.w(LOG_TAG, "getDeviceIdLabel: no known label for phone "
- + phone.getPhoneName());
- return 0;
- }
- }
-
- /**
- * Return true if the current phone supports the ability to explicitly
- * manage the state of a conference call (i.e. view the participants,
- * and hangup or separate individual callers.)
- *
- * The in-call screen's "Manage conference" UI is available only on
- * devices that support this feature.
- *
- * Currently this is assumed to be true on GSM phones and false otherwise.
- * TODO: This capability should really be exposed by the telephony
- * layer, since it depends on the underlying telephony technology.
- */
- /* package */ static boolean supportsConferenceCallManagement(Phone phone) {
- return ((phone.getPhoneType() == Phone.PHONE_TYPE_GSM)
- || (phone.getPhoneType() == Phone.PHONE_TYPE_SIP));
- }
-
- /**
- * Return true if the current phone supports explicit "Hold" and
- * "Unhold" actions for an active call. (If so, the in-call UI will
- * provide onscreen "Hold" / "Unhold" buttons.)
- *
- * Currently this is assumed to be true on GSM phones and false
- * otherwise. (In particular, CDMA has no concept of "putting a call
- * on hold.")
- * TODO: This capability should really be exposed by the telephony
- * layer, since it depends on the underlying telephony technology.
- */
- /* package */ static boolean supportsHoldAndUnhold(Phone phone) {
- return ((phone.getPhoneType() == Phone.PHONE_TYPE_GSM)
- || (phone.getPhoneType() == Phone.PHONE_TYPE_SIP));
- }
-
- /**
- * Return true if the current phone supports distinct "Answer & Hold"
- * and "Answer & End" behaviors in the call-waiting scenario. If so,
- * the in-call UI may provide separate buttons or menu items for these
- * two actions.
- *
- * Currently this is assumed to be true on GSM phones and false
- * otherwise. (In particular, CDMA has no concept of explicitly
- * managing the background call, or "putting a call on hold.")
- *
- * TODO: This capability should really be exposed by the telephony
- * layer, since it depends on the underlying telephony technology.
- *
- * TODO: It might be better to expose this capability in a more
- * generic form, like maybe "supportsExplicitMultipleLineManagement()"
- * rather than focusing specifically on call-waiting behavior.
- */
- /* package */ static boolean supportsAnswerAndHold(Phone phone) {
- return ((phone.getPhoneType() == Phone.PHONE_TYPE_GSM)
- || (phone.getPhoneType() == Phone.PHONE_TYPE_SIP));
- }
-}
diff --git a/src/com/android/phone/TelephonyDebugService.java b/src/com/android/phone/TelephonyDebugService.java
new file mode 100644
index 000000000..fdfe8f516
--- /dev/null
+++ b/src/com/android/phone/TelephonyDebugService.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import com.android.internal.telephony.DebugService;
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+import android.util.Log;
+
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+
+/**
+ * A debug service for telephony.
+ */
+public class TelephonyDebugService extends Service {
+ private static String TAG = "TelephonyDebugService";
+ private DebugService mDebugService = new DebugService();
+
+ /** Constructor */
+ public TelephonyDebugService() {
+ Log.d(TAG, "TelephonyDebugService()");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public IBinder onBind(Intent intent) {
+ return null;
+ }
+
+ @Override
+ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ mDebugService.dump(fd, pw, args);
+ }
+}
+
diff --git a/src/com/android/phone/TimeConsumingPreferenceActivity.java b/src/com/android/phone/TimeConsumingPreferenceActivity.java
index 94568f2d7..89275e79d 100644
--- a/src/com/android/phone/TimeConsumingPreferenceActivity.java
+++ b/src/com/android/phone/TimeConsumingPreferenceActivity.java
@@ -21,11 +21,28 @@ interface TimeConsumingPreferenceListener {
}
public class TimeConsumingPreferenceActivity extends PreferenceActivity
- implements TimeConsumingPreferenceListener, DialogInterface.OnClickListener,
+ implements TimeConsumingPreferenceListener,
DialogInterface.OnCancelListener {
private static final String LOG_TAG = "TimeConsumingPreferenceActivity";
private final boolean DBG = (PhoneApp.DBG_LEVEL >= 2);
+ private class DismissOnClickListener implements DialogInterface.OnClickListener {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ }
+ }
+ private class DismissAndFinishOnClickListener implements DialogInterface.OnClickListener {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ finish();
+ }
+ }
+ private final DialogInterface.OnClickListener mDismiss = new DismissOnClickListener();
+ private final DialogInterface.OnClickListener mDismissAndFinish
+ = new DismissAndFinishOnClickListener();
+
private static final int BUSY_READING_DIALOG = 100;
private static final int BUSY_SAVING_DIALOG = 200;
@@ -34,7 +51,7 @@ public class TimeConsumingPreferenceActivity extends PreferenceActivity
static final int RADIO_OFF_ERROR = 500;
static final int FDN_CHECK_FAILURE = 600;
- private final ArrayList mBusyList=new ArrayList ();
+ private final ArrayList mBusyList = new ArrayList();
protected boolean mIsForeground = false;
@@ -61,7 +78,7 @@ protected Dialog onCreateDialog(int id) {
if (id == RESPONSE_ERROR || id == RADIO_OFF_ERROR || id == EXCEPTION_ERROR
|| id == FDN_CHECK_FAILURE) {
- AlertDialog.Builder b = new AlertDialog.Builder(this);
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
int msgId;
int titleId = R.string.error_updating_title;
@@ -69,33 +86,29 @@ protected Dialog onCreateDialog(int id) {
switch (id) {
case RESPONSE_ERROR:
msgId = R.string.response_error;
- // Set Button 2, tells the activity that the error is
- // recoverable on dialog exit.
- b.setNegativeButton(R.string.close_dialog, this);
+ builder.setPositiveButton(R.string.close_dialog, mDismiss);
break;
case RADIO_OFF_ERROR:
msgId = R.string.radio_off_error;
- // Set Button 3
- b.setNeutralButton(R.string.close_dialog, this);
+ // The error is not recoverable on dialog exit.
+ builder.setPositiveButton(R.string.close_dialog, mDismissAndFinish);
break;
case FDN_CHECK_FAILURE:
- msgId = R.string.fdn_only_error;
- // Set Button 2
- b.setNegativeButton(R.string.close_dialog, this);
+ msgId = R.string.fdn_check_failure;
+ builder.setPositiveButton(R.string.close_dialog, mDismiss);
break;
case EXCEPTION_ERROR:
default:
msgId = R.string.exception_error;
- // Set Button 3, tells the activity that the error is
- // not recoverable on dialog exit.
- b.setNeutralButton(R.string.close_dialog, this);
+ // The error is not recoverable on dialog exit.
+ builder.setPositiveButton(R.string.close_dialog, mDismissAndFinish);
break;
}
- b.setTitle(getText(titleId));
- b.setMessage(getText(msgId));
- b.setCancelable(false);
- AlertDialog dialog = b.create();
+ builder.setTitle(getText(titleId));
+ builder.setMessage(getText(msgId));
+ builder.setCancelable(false);
+ AlertDialog dialog = builder.create();
// make the dialog more obvious by blurring the background.
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
@@ -117,10 +130,7 @@ public void onPause() {
mIsForeground = false;
}
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
-
+ @Override
public void onStarted(Preference preference, boolean reading) {
if (DBG) dumpState();
if (DBG) Log.d(LOG_TAG, "onStarted, preference=" + preference.getKey()
@@ -137,6 +147,7 @@ public void onStarted(Preference preference, boolean reading) {
}
+ @Override
public void onFinished(Preference preference, boolean reading) {
if (DBG) dumpState();
if (DBG) Log.d(LOG_TAG, "onFinished, preference=" + preference.getKey()
@@ -150,8 +161,10 @@ public void onFinished(Preference preference, boolean reading) {
dismissDialogSafely(BUSY_SAVING_DIALOG);
}
}
+ preference.setEnabled(true);
}
+ @Override
public void onError(Preference preference, int error) {
if (DBG) dumpState();
if (DBG) Log.d(LOG_TAG, "onError, preference=" + preference.getKey() + ", error=" + error);
@@ -159,8 +172,10 @@ public void onError(Preference preference, int error) {
if (mIsForeground) {
showDialog(error);
}
+ preference.setEnabled(false);
}
+ @Override
public void onException(Preference preference, CommandException exception) {
if (exception.getCommandError() == CommandException.Error.FDN_CHECK_FAILURE) {
onError(preference, FDN_CHECK_FAILURE);
@@ -169,6 +184,8 @@ public void onException(Preference preference, CommandException exception) {
onError(preference, EXCEPTION_ERROR);
}
}
+
+ @Override
public void onCancel(DialogInterface dialog) {
if (DBG) dumpState();
finish();
@@ -184,7 +201,7 @@ private void dismissDialogSafely(int id) {
}
}
- void dumpState() {
+ /* package */ void dumpState() {
Log.d(LOG_TAG, "dumpState begin");
for (String key : mBusyList) {
Log.d(LOG_TAG, "mBusyList: key=" + key);
diff --git a/src/com/android/phone/Use2GOnlyCheckBoxPreference.java b/src/com/android/phone/Use2GOnlyCheckBoxPreference.java
index f3a3a9560..a25882eb1 100644
--- a/src/com/android/phone/Use2GOnlyCheckBoxPreference.java
+++ b/src/com/android/phone/Use2GOnlyCheckBoxPreference.java
@@ -28,7 +28,6 @@
public class Use2GOnlyCheckBoxPreference extends CheckBoxPreference {
private static final String LOG_TAG = "Use2GOnlyCheckBoxPreference";
- private static final boolean DBG = true;
private Phone mPhone;
private MyHandler mHandler;
@@ -63,8 +62,8 @@ protected void onClick() {
private class MyHandler extends Handler {
- private static final int MESSAGE_GET_PREFERRED_NETWORK_TYPE = 0;
- private static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 1;
+ static final int MESSAGE_GET_PREFERRED_NETWORK_TYPE = 0;
+ static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 1;
@Override
public void handleMessage(Message msg) {
diff --git a/src/com/android/phone/sip/SipEditor.java b/src/com/android/phone/sip/SipEditor.java
index e1bfaff16..bab46adef 100644
--- a/src/com/android/phone/sip/SipEditor.java
+++ b/src/com/android/phone/sip/SipEditor.java
@@ -68,6 +68,7 @@ public class SipEditor extends PreferenceActivity
private boolean mDisplayNameSet;
private boolean mHomeButtonClicked;
private boolean mUpdateRequired;
+ private boolean mUpdatedFieldIsEmpty;
private SipManager mSipManager;
private SipProfileDb mProfileDb;
@@ -181,12 +182,6 @@ public void onCreate(Bundle savedInstanceState) {
mPrimaryAccountSelector = new PrimaryAccountSelector(p);
loadPreferencesFromProfile(p);
-
- ActionBar actionBar = getActionBar();
- if (actionBar != null) {
- // android.R.id.home will be triggered in onOptionsItemSelected()
- actionBar.setDisplayHomeAsUpEnabled(true);
- }
}
@Override
@@ -202,10 +197,10 @@ public void onPause() {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
+ menu.add(0, MENU_DISCARD, 0, R.string.sip_menu_discard)
+ .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(0, MENU_SAVE, 0, R.string.sip_menu_save)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
- menu.add(0, MENU_DISCARD, 0, R.string.sip_menu_discard)
- .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
menu.add(0, MENU_REMOVE, 0, R.string.remove_sip_account)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
return true;
@@ -215,14 +210,13 @@ public boolean onCreateOptionsMenu(Menu menu) {
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem removeMenu = menu.findItem(MENU_REMOVE);
removeMenu.setVisible(mOldProfile != null);
+ menu.findItem(MENU_SAVE).setEnabled(mUpdateRequired);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case android.R.id.home: // See ActionBar#setDisplayHomeAsUpEnabled()
- // This time just work as "back" or "save" capability.
case MENU_SAVE:
validateAndSetResult();
return true;
@@ -298,10 +292,11 @@ private void showAlert(final String message) {
return;
}
runOnUiThread(new Runnable() {
+ @Override
public void run() {
new AlertDialog.Builder(SipEditor.this)
.setTitle(android.R.string.dialog_alert_title)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(message)
.setPositiveButton(R.string.alert_dialog_ok, null)
.show();
@@ -441,7 +436,10 @@ public boolean onPreferenceChange(Preference pref, Object newValue) {
unregisterProfile(mOldProfile.getUriString());
}
}
- if (pref instanceof CheckBoxPreference) return true;
+ if (pref instanceof CheckBoxPreference) {
+ invalidateOptionsMenu();
+ return true;
+ }
String value = (newValue == null) ? "" : newValue.toString();
if (TextUtils.isEmpty(value)) {
pref.setSummary(getPreferenceKey(pref).defaultSummary);
@@ -455,6 +453,9 @@ public boolean onPreferenceChange(Preference pref, Object newValue) {
((EditTextPreference) pref).setText(value);
checkIfDisplayNameSet();
}
+
+ // SAVE menu should be enabled once the user modified some preference.
+ invalidateOptionsMenu();
return true;
}
diff --git a/src/com/android/phone/sip/SipSettings.java b/src/com/android/phone/sip/SipSettings.java
index 226ee7a5d..ef3ba48db 100644
--- a/src/com/android/phone/sip/SipSettings.java
+++ b/src/com/android/phone/sip/SipSettings.java
@@ -46,7 +46,6 @@
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
-import android.widget.Button;
import java.io.IOException;
import java.util.Collections;
@@ -186,23 +185,25 @@ protected void onActivityResult(final int requestCode, final int resultCode,
final Intent intent) {
if (resultCode != RESULT_OK && resultCode != RESULT_FIRST_USER) return;
new Thread() {
+ @Override
public void run() {
- try {
- if (mProfile != null) {
- Log.v(TAG, "Removed Profile:" + mProfile.getProfileName());
- deleteProfile(mProfile);
- }
+ try {
+ if (mProfile != null) {
+ Log.v(TAG, "Removed Profile:" + mProfile.getProfileName());
+ deleteProfile(mProfile);
+ }
- SipProfile profile = intent.getParcelableExtra(KEY_SIP_PROFILE);
- if (resultCode == RESULT_OK) {
- Log.v(TAG, "New Profile Name:" + profile.getProfileName());
- addProfile(profile);
+ SipProfile profile = intent.getParcelableExtra(KEY_SIP_PROFILE);
+ if (resultCode == RESULT_OK) {
+ Log.v(TAG, "New Profile Name:" + profile.getProfileName());
+ addProfile(profile);
+ }
+ updateProfilesStatus();
+ } catch (IOException e) {
+ Log.v(TAG, "Can not handle the profile : " + e.getMessage());
}
- updateProfilesStatus();
- } catch (IOException e) {
- Log.v(TAG, "Can not handle the profile : " + e.getMessage());
}
- }}.start();
+ }.start();
}
private void registerForReceiveCallsCheckBox() {
@@ -265,6 +266,7 @@ private SipProfile updateAutoRegistrationFlag(
private void updateProfilesStatus() {
new Thread(new Runnable() {
+ @Override
public void run() {
try {
retrieveSipLists();
@@ -288,6 +290,7 @@ private void retrieveSipLists() {
mSipProfileList = mProfileDb.retrieveSipProfileList();
processActiveProfilesFromSipService();
Collections.sort(mSipProfileList, new Comparator() {
+ @Override
public int compare(SipProfile p1, SipProfile p2) {
return getProfileName(p1).compareTo(getProfileName(p2));
}
@@ -345,6 +348,7 @@ private void addPreferenceFor(SipProfile p) {
pref.setOnPreferenceClickListener(
new Preference.OnPreferenceClickListener() {
+ @Override
public boolean onPreferenceClick(Preference pref) {
handleProfileClick(((SipPreference) pref).mProfile);
return true;
@@ -360,9 +364,10 @@ private void handleProfileClick(final SipProfile profile) {
}
new AlertDialog.Builder(this)
.setTitle(R.string.alert_dialog_close)
- .setIcon(android.R.drawable.ic_dialog_alert)
+ .setIconAttribute(android.R.attr.alertDialogIcon)
.setPositiveButton(R.string.close_profile,
new DialogInterface.OnClickListener() {
+ @Override
public void onClick(DialogInterface dialog, int w) {
deleteProfile(profile);
unregisterProfile(profile);
@@ -375,6 +380,7 @@ public void onClick(DialogInterface dialog, int w) {
private void unregisterProfile(final SipProfile p) {
// run it on background thread for better UI response
new Thread(new Runnable() {
+ @Override
public void run() {
try {
mSipManager.close(p.getUriString());
@@ -412,6 +418,7 @@ private void startSipEditor(final SipProfile profile) {
private void showRegistrationMessage(final String profileUri,
final String message) {
runOnUiThread(new Runnable() {
+ @Override
public void run() {
SipPreference pref = mSipPreferenceMap.get(profileUri);
if (pref != null) {
@@ -423,16 +430,19 @@ public void run() {
private SipRegistrationListener createRegistrationListener() {
return new SipRegistrationListener() {
+ @Override
public void onRegistrationDone(String profileUri, long expiryTime) {
showRegistrationMessage(profileUri, getString(
R.string.registration_status_done));
}
+ @Override
public void onRegistering(String profileUri) {
showRegistrationMessage(profileUri, getString(
R.string.registration_status_registering));
}
+ @Override
public void onRegistrationFailed(String profileUri, int errorCode,
String message) {
switch (errorCode) {